51单片机数码管显示0000到9999.docxVIP

  • 169
  • 0
  • 约小于1千字
  • 约 2页
  • 2020-08-30 发布于江苏
  • 举报
基于 51 单片机共阳极数码管显示0000 到 9999!注意布线 ? ? #include reg52.h #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE[]= { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; void delayms(uint); void display(uchar,uchar,uchar,uchar); uint num,num1,num2,num3,num4,qian,bai,shi,ge; void main() { TMOD=0X01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; while(1) { display(qian,bai,shi,ge); } } void display(uchar qian,uchar bai,uchar shi,uchar ge) { P2=0xfe; P0=DSY_CODE[ge]; delayms(1); P2=0xfd; P0=DSY_CODE[shi]; delayms(1); P2=0xfb; P0=DSY_CODE[bai]; delayms(1); P2=0xf7; P0=DSY_CODE[qian]; delayms(1); } void delayms(uint xms) { uint i,j; for(i=xms;i0;i--) for(j=110;j0;j--); } void T0_time()interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; num1++; if(num1==2) { num1=0; num++; qian=num/1000; bai=num%1000/100; shi=num%100/10; ge=num%10; } }

文档评论(0)

1亿VIP精品文档

相关文档