热度 17
2011-11-9 11:34
2883 次阅读|
0 个评论
0-99按键扫描计数器 目的:通过IO口扫描对按键的次数进行计数,范围为0到99. 电路图:段选P0^0 ~P0^6口控制a,b,c,d,e,f,g,h 位选P1^0 ~P1^1口控制两位数码管的位选 按键P3^7 代码: #include reg52.h unsigned char code Tab = {0xfe,0xfd,0xfb,0xf7,}; //数码管位选 sbit K1=P3^7; // 位定义按键 void delay(unsigned int z) //delay延时函数1ms { unsigned x,y; for(x=z;x0;x--) for(y=110;y0;y--); } void main() //主函数 { unsigned char num1; while(1) { if(K1==0) { delay(10); //按键去抖 if(K1==0) num1++; if(num1==100) num1=0; delay(150); //稍微延时防止主程序执行过快显示不对 } P0=Tab ; P1=Dis ; // 显示个位 delay(10); P0=Tab ; // 显示十位数据 P1=Dis ; delay(10); } }