各位大佬这个程序我想能弄成百位计数,试了各种方法都不行,谢各位大佬能来指点
单片机源程序
#include<reg52.h> sbit t1=P3^3; sbit t2=P3^4; sbit t3=P3^5; int a=000; unsigned charled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管断码显示0-9 void delay(int i)//延迟函数 { int j,x; for(x=i;x>0;x--) for(j=11;j>0;j--); } void anjian() //按键程序 { if(t1==0) { delay(5); if(t1==0) { while(!t1); a++; if(a>99) a=1; } } if(t2==0) { delay(5); if(t2==0) { while(!t2); a=a-1; if(a<0) a=0; } } if(t3==0) { delay(5); if(t3==0) { while(!t3); a=0; } } } void look(int k) { int l=k/10; P2=0xfe; P0=0x88; delay(50);P2=0xff;//第一位数码管显示A P2=0xfd; P0=0x88; delay(50);P2=0xff;//第二位数码管显示A P2=0xfb; P0=led[l]; delay(50); P2=0xff;//第三位显示十位 P2=0xf7; P0=led[k%10]; delay(50); P2=0xff;//第四位显示个位 }main() { while(1) { anjian();//调用按键函数 look(a);//调用显示函数,把a放入并显示 } }
|