程序代码 #include<msp430x14x.h> char anjian1(void); char anjian2(void); unsigned char seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};// 共阳数码管字型码数组 unsigned char table[10]; unsigned int i=0,k=0; //声明数据类型 void main(){ WDTCTL = WDTPW + WDTHOLD; //关看门狗 P1DIR &= ~BIT0; //P1.0引脚设置成输入,该引脚连接的按键按下时,按键输出低电平 P1DIR &= ~BIT1;//P1.1 P4DIR =0x0f; //P4口设置为输出,连接共阳数码管 P2DIR =0xff;//P2口设置为输出,连接前8个档位 P3DIR =0xff;//P3口设置为输出,连接后2个档位 /* P1IE |= BIT0+BIT1; // P1.0-P1.1 IO口中断使能 P1IES |= 0x07; // P1.0-P1.2 IO口边沿触发中断方式设置 P1IFG &= ~(BIT0+BIT1); // P1.0-P1.2 IO口中断标志位清除 _EINT(); //中断允许 */ //LPM4; // 进入低功耗LPM4,此时单片机功耗最低 while(1){
if(anjian1()){ P4OUT=seg[i++]; k=i; if(seg[i++]!=0x80 && seg[i++]!=0x90)//不等于第9和第10输出用P2 P2OUT=0x80>>i; else P3OUT=0x80>>(i-8); //等于第9和第10输出用P3 } else if(anjian2()){ P4OUT=seg[k--]; if(seg[i++]!=0x80 &&seg[i++]!=0x90)//不等于第9和第10输出用P2 P2OUT=(0x80>>i)<<1;