各位大佬這個程序我想能弄成百位計數,試了各種方法都不行,謝各位大佬能來指點
單片機源程序
#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放入并顯示 } }
|