基于51单片机的倒计时实现#include#defineucharunsignedchar#defineuintunsignedintuchart1,shu,shi,ge,miao1,miao2;sbitwei1=P2^0;sbitwei2=P2^1;sbitwei3=P2^2;sbitwei4=P2^3;voiddisplay(ucharshi,ucharge,ucharmiao1,ucharmiao2);ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelay(uintz)//延时{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidinit(){shu=60;t1=100;TMOD=0x01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;ET0=1;//开始计时EA=1;TR0=1;//开所有中断}voidtimer0()interrupt1//定时器0{TH0=(65536-10000)/256;TL0=(65536-10000)%256;t1--;miao1=t1/10;miao2=t1%10;if(t1==0){t1=100;shu--;shi=shu/10;ge=shu%10;if(shu==0){TH0=(65536-10000)/256;TL0=(65536-10000)%256;TR0=0;}}}voiddisplay(ucharshi,ucharge,ucharmiao1,ucharmiao2)//显示{P2=0xfe;P0=table[shi];delay(5);P2=0xfd;P0=table[ge];delay(5);P2=0xfb;P0=table[miao1];delay(5);P2=0xf7;P0=table[miao2];delay(5);}voidmain(){init();shi=5;ge=9;display(shi,ge,miao1,miao2);while(1){display(shi,ge,miao1,miao2);}}