1、sbit key3=P35;sbit wela1=P13; / 位选信号,即当此位为0时,左边第一个被选中sbit wela2=P12; / 位选信号,即当此位为0时,左边第二个被选中sbit wela3=P11; / 位选信号,即当此位为0时,左边第三个被选中sbit wela4=P10; / 位选信号,即当此位为0时,左边第四个被选中int num,num1,flag=1; /按键标志位uchar code table= /共阴数码管0x3F, /0 0x06, /1 0x5B, /2 0x4F, /3 0x66, /4 0x6D, /5 0x7B, /6 0x07, /7 0x7E, /
2、8 0x6F, /9;void delay(uint z) /延时函数uint x,y;for(x=z;x0;x-)for(y=110;yy-);void display() /数码管显示函数wela1=0;wela2=1;P2=tablenum;delay(60);if(flag=2) wela2=0; wela1=1; P2=tablenum1; delay(60); void keyscan() /键盘扫描函数 if(key1=0)/加delay(50);if(key1=0) /延时消抖while(!key1); /松手检测num+;if(num=10&flagnum=0;num1+;else if(num=10)num=0;if(key2=0)/减if(key2=0) /延时消抖key2);num-;if(num0&if(num1=0)num1=9;else num1-;num=9;if(key3=0)/减if(key3=0) /延时消抖key3);flag+;void main()/主函数num=0;num1=0;wela3=1;wela4=1;while(1) keyscan(); display();