很简单的数字时钟仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg51.h>
- char code digital[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- unsigned char sec=58,min=58,hour=23;
- unsigned char a=0xFF;
- void main()
- {
- SCON=0x00;
- TMOD=0X01;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- EA=1;
- ET0=1;
- EX0=0;
- TR0=1;
- while(1);
- }
- void time0() interrupt 1
- {
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- ++a;
- if(a==10)
- {
- sec++;
- if(sec==60)
- {
- sec=0;
- min++;
- if(min==60)
- {min=0;
- hour++;
- }
- if(hour==24)
- {hour=0;}
- }
- SBUF=digital[sec%10];
- SBUF=digital[sec/10];
- SBUF=digital[min%10];
- SBUF=digital[min/10];
- SBUF=digital[hour%10];
- SBUF=digital[hour/10];
- do {} while(!TI);
- TI=0;
- a=0x00;
- }
- }
复制代码
所有资料51hei提供下载:
单片机串行口-方式0数字时钟.rar
(75.16 KB, 下载次数: 18)
|