51单片机定时器数码管30秒倒计时(三个按键控制开始暂停复位).docxVIP

  • 188
  • 0
  • 约1.19千字
  • 约 4页
  • 2020-11-16 发布于天津
  • 举报

51单片机定时器数码管30秒倒计时(三个按键控制开始暂停复位).docx

} } 51 单片机定时器数码管 30 秒倒计时(带三 个按键控制开始,暂停,复位) 程序: #include unsigned char code led[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char code addr[2]={0xef,0xdf}; unsigned char xx[2]; unsigned char time=30; unsigned char flag=0; void delay(void); void sys(void) { TMOD=0x01; TH0=(65536 - 50000) / 256; TL0=(65536 - 50000) % 256; ET0=1; TR0=1; EA=1; EX0=1; IT0=1; } void ftimer0(void) interrupt 1 { static unsigned char cnt; TH0=(65536-50000)/256; TL0=(65536-50000)%256; cnt++; if(cnt20) { if(flag==1) { time--; cnt=0; if(time==0) { ET0=0; TR0=0; } } } } void int0(void) interrupt 0 { if(P2_0==0) { flag=1; ET0=1; } else if(P2_1==0) { ET0=0; else if(P2_2==0) { time=30; ET0=0; TR0=1; } } void main() { unsigned char a; sys(); for(;;) { for(a=0;a2;a++) { xx[0]=time/10; xx[1]=time%10; P0=led[xx[a]]; P1=addr[a]; delay(); P1=0xff; } } } void delay(void) long t=100; while (t--); } 电路图及结果: RP1 屮 XTjHJ ? XTM2 ro OJMO PO UAOt P0 2/W P0 3JAC9 阿零《4 PO职心 POB/M50 阿卉如 ■? ■豺 12 -W 43 !}- ■39 4* (■ fw d5 ?■ (-33 6* ].翁 前 Mi P5EW ALE Ea P2.DJS 阳i*g P?^A1O F2 4*12 昭右慣為 P2JQM14 FI7WIW IHD P3IML3D Fl 1 F3 1/Tiqp P2 阳 JZ/lMTn Fl 3 n 3AvTi P1.-I F3.VTO P15 ras/rn FJ?MR P17 P3 7W 11王 U2

文档评论(0)

1亿VIP精品文档

相关文档