- 帖子
- 41
- 主题
- 10
- 精华
- 0
- 积分
- 21
- 在线时间
- 20 小时
- 注册时间
- 2010-10-6
|
40楼
发表于 2010-10-31 20:35
| 只看该作者
本帖最后由 panfeng881112 于 2010-10-31 20:43 编辑
下面是数码管的相关宏定义(未调试)
/*数码管亮灭使能 */
#define CHOICE1_1_ON GPIO_ResetBits(GPIOD, GPIO_Pin_3)
#define CHOICE1_2_ON GPIO_ResetBits(GPIOD, GPIO_Pin_4)
#define CHOICE1_3_ON GPIO_ResetBits(GPIOD, GPIO_Pin_5)
#define CHOICE1_4_ON GPIO_ResetBits(GPIOD, GPIO_Pin_6)
#define CHOICE1_5_ON GPIO_ResetBits(GPIOD, GPIO_Pin_7)
#define CHOICE1_6_ON GPIO_ResetBits(GPIOB, GPIO_Pin_5)
#define CHOICE1_7_ON GPIO_ResetBits(GPIOB, GPIO_Pin_9)
#define CHOICE1_8_ON GPIO_ResetBits(GPIOE, GPIO_Pin_0)
#define CHOICE2_1_ON GPIO_ResetBits(GPIOE, GPIO_Pin_4)
#define CHOICE2_2_ON GPIO_ResetBits(GPIOE, GPIO_Pin_3)
#define CHOICE2_3_ON GPIO_ResetBits(GPIOE, GPIO_Pin_2)
#define CHOICE2_4_ON GPIO_ResetBits(GPIOE, GPIO_Pin_1)
#define CHOICE2_5_ON GPIO_ResetBits(GPIOC, GPIO_Pin_1)
#define CHOICE2_6_ON GPIO_ResetBits(GPIOC, GPIO_Pin_0)
#define CHOICE2_7_ON GPIO_ResetBits(GPIOE, GPIO_Pin_6)
#define CHOICE2_8_ON GPIO_ResetBits(GPIOE, GPIO_Pin_5)
#define CHOICE1_1_OFF GPIO_SetBits(GPIOD, GPIO_Pin_3)
#define CHOICE1_2_OFF GPIO_SetBits(GPIOD, GPIO_Pin_4)
#define CHOICE1_3_OFF GPIO_SetBits(GPIOD, GPIO_Pin_5)
#define CHOICE1_4_OFF GPIO_SetBits(GPIOD, GPIO_Pin_6)
#define CHOICE1_5_OFF GPIO_SetBits(GPIOD, GPIO_Pin_7)
#define CHOICE1_6_OFF GPIO_SetBits(GPIOB, GPIO_Pin_5)
#define CHOICE1_7_OFF GPIO_SetBits(GPIOB, GPIO_Pin_9)
#define CHOICE1_8_OFF GPIO_SetBits(GPIOE, GPIO_Pin_0)
#define CHOICE2_1_OFF GPIO_SetBits(GPIOE, GPIO_Pin_4)
#define CHOICE2_2_OFF GPIO_SetBits(GPIOE, GPIO_Pin_3)
#define CHOICE2_3_OFF GPIO_SetBits(GPIOE, GPIO_Pin_2)
#define CHOICE2_4_OFF GPIO_SetBits(GPIOE, GPIO_Pin_1)
#define CHOICE2_5_OFF GPIO_SetBits(GPIOC, GPIO_Pin_1)
#define CHOICE2_6_OFF GPIO_SetBits(GPIOC, GPIO_Pin_0)
#define CHOICE2_7_OFF GPIO_SetBits(GPIOE, GPIO_Pin_6)
#define CHOICE2_8_OFF GPIO_SetBits(GPIOE, GPIO_Pin_5)
/*分别的控制点亮那一个数码管或是全亮全灭使能*/
#define CHOICE1_1 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_1_ON ;} //选择上排的第一个数码管亮,其他的都不亮。
#define CHOICE1_2 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_2_ON ;}//选择上排的第二个数码管亮,其他的都不亮。
#define CHOICE1_3 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_3_ON ;}//选择上排的第三个数码管亮,其他的都不亮。
#define CHOICE1_4 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_4_ON ;}//选择上排的第四个数码管亮,其他的都不亮。
#define CHOICE1_5 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_5_ON ;}//选择上排的第五个数码管亮,其他的都不亮。
#define CHOICE1_6 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_6_ON ;}//选择上排的第六个数码管亮,其他的都不亮。
#define CHOICE1_7 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_7_ON ;}//选择上排的第七个数码管亮,其他的都不亮。
#define CHOICE1_8 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_8_ON ;}//选择上排的第八个数码管亮,其他的都不亮。
#define CHOICE2_1 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_1_ON ;}//选择下排的第一个数码管亮,其他的都不亮。
#define CHOICE2_2 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_2_ON ;}//选择下排的第二个数码管亮,其他的都不亮。
#define CHOICE2_3 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_3_ON ;}//
#define CHOICE2_4 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_4_ON ;}//
#define CHOICE2_5 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_5_ON ;}//
#define CHOICE2_6 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_6_ON ;}//
#define CHOICE2_7 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_7_ON ;}//
#define CHOICE2_8 {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_8_ON ;}//
/*数码管每段亮灭宏定义*/
#define D12_ON GPIO_ResetBits(GPIOD, GPIO_Pin_12)
#define C6_ON GPIO_ResetBits(GPIOC, GPIO_Pin_6)
#define D15_ON GPIO_ResetBits(GPIOD, GPIO_Pin_15) //这一位是数码管中的小数点
#define D11_ON GPIO_ResetBits(GPIOD, GPIO_Pin_11)
#define D10_ON GPIO_ResetBits(GPIOD, GPIO_Pin_10)
#define D14_ON GPIO_ResetBits(GPIOD, GPIO_Pin_14)
#define D13_ON GPIO_ResetBits(GPIOD, GPIO_Pin_13)
#define C7_ON GPIO_ResetBits(GPIOC, GPIO_Pin_7)
#define D12_OFF GPIO_SetBits(GPIOD, GPIO_Pin_12)
#define C6_OFF GPIO_SetBits(GPIOC, GPIO_Pin_6)
#define D15_OFF GPIO_SetBits(GPIOD, GPIO_Pin_15)
#define D11_OFF GPIO_SetBits(GPIOD, GPIO_Pin_11)
#define D10_OFF GPIO_SetBits(GPIOD, GPIO_Pin_10)
#define D14_OFF GPIO_SetBits(GPIOD, GPIO_Pin_14)
#define D13_OFF GPIO_SetBits(GPIOD, GPIO_Pin_13)
#define C7_OFF GPIO_SetBits(GPIOC, GPIO_Pin_7)
/***************************
_________
| PD10 |
PD11 | | PD12
| |
|_________|
| PC7 |
PD13 | | PC6
| |
|_________| O PD15
PD14
**************************/
/*数码管显示不同的字符*/
#define ALLON {D12_ON; C6_ON; D15_ON; D11_ON; D10_ON; D14_ON; D13_ON; C7_ON;}
#define ALLOFF {D12_OFF; C6_OFF; D15_OFF; D11_OFF; D10_OFF; D14_OFF; D13_OFF; C7_OFF;}
#define SET_0 {D12_ON; C6_ON; D15_OFF; D11_ON; D10_ON; D14_ON; D13_ON; C7_OFF;} //数码管显示0
#define SET_1 {D12_ON; C6_ON; D15_OFF; D11_OFF; D10_OFF; D14_OFF; D13_OFF; C7_OFF;}
#define SET_2 {D12_ON; C6_OFF; D15_OFF; D11_OFF; D10_ON; D14_ON; D13_ON; C7_ON;}
#define SET_3 {D12_ON; C6_ON; D15_OFF; D11_OFF; D10_ON; D14_ON; D13_OFF; C7_ON;}
#define SET_4 {D12_ON; C6_ON; D15_OFF; D11_ON; D10_OFF; D14_OFF; D13_OFF; C7_ON;}
#define SET_5 {D12_OFF; C6_ON; D15_OFF; D11_ON; D10_ON; D14_ON; D13_OFF; C7_ON;}
#define SET_6 {D12_OFF; C6_ON; D15_OFF; D11_ON; D10_ON; D14_ON; D13_ON; C7_ON;}
#define SET_7 {D12_ON; C6_ON; D15_OFF; D11_OFF; D10_ON; D14_OFF; D13_OFF; C7_OFF;}
#define SET_8 {D12_ON; C6_ON; D15_OFF; D11_ON; D10_ON; D14_ON; D13_ON; C7_ON;}
#define SET_9 {D12_ON; C6_ON; D15_OFF; D11_ON; D10_ON; D14_ON; D13_OFF; C7_ON;}
#define SET_A {D12_ON; C6_ON; D15_OFF; D11_ON; D10_ON; D14_OFF; D13_ON; C7_ON;}//数码管显示A
#define SET_B {D12_OFF; C6_ON; D15_OFF; D11_ON; D10_OFF; D14_ON; D13_ON; C7_ON;}
#define SET_C {D12_OFF; C6_OFF; D15_OFF; D11_ON; D10_ON; D14_ON; D13_ON; C7_OFF;}
#define SET_D {D12_ON; C6_ON; D15_OFF; D11_OFF; D10_OFF; D14_ON; D13_ON; C7_ON;}
#define SET_E {D12_OFF; C6_OFF; D15_OFF; D11_ON; D10_ON; D14_ON; D13_ON; C7_ON;}
#define SET_F {D12_OFF; C6_OFF; D15_OFF; D11_ON; D10_ON; D14_OFF; D13_ON; C7_ON;}
#define SET_G {D12_OFF; C6_ON; D15_OFF; D11_ON; D10_ON; D14_ON; D13_ON; C7_OFF;}
#define SET_H {D12_ON; C6_ON; D15_OFF; D11_ON; D10_OFF; D14_OFF; D13_ON; C7_ON;}
#define SET_L {D12_OFF; C6_OFF; D15_OFF; D11_ON; D10_OFF; D14_ON; D13_ON; C7_OFF;}
#define SET_U {D12_ON; C6_ON; D15_OFF; D11_ON; D10_OFF; D14_ON; D13_ON; C7_OFF;}
#define SET_Y {D12_ON; C6_ON; D15_OFF; D11_ON; D10_OFF; D14_ON; D13_OFF; C7_ON;}
#define SET_J {D12_ON; C6_ON; D15_OFF; D11_OFF; D10_OFF; D14_ON; D13_ON; C7_OFF;}
#define SET_P {D12_ON; C6_OFF; D15_OFF; D11_ON; D10_ON; D14_OFF; D13_ON; C7_ON;} |
|