这是数字钟的程序和图
任务要求:利用单片机的定时计数器,采用6位LED数码显示器,实现具有小时,分,秒功能的数字钟
单片机源程序如下:
- #include<reg51.h>
- int buffer[6]={1,1,1,3,0,0};
- int h=11;
- int m=13;
- int s=0;
- void main()
- {
- TMOD=0x11;
- TH0=0x4c;
- TL0=0xb0;
- TR0=1;
- TH1=0x3c;
- TL1=0xb0;
- TR1=1;
- ET0=1;
- ET1=1;
- EA=1;
- while(1);
- }
- void clock()
- {
- s++;
- if(s==60)
- {
- s=0;
- m++;
- if(m==60)
- {
- m=0;
- h++;
- if(h==24)
- {
- h=0;
- }
- }
- }
- buffer[0]=h/10;
- buffer[1]=h%10;
- buffer[2]=m/10;
- buffer[3]=m%10;
- buffer[4]=s/10;
- buffer[5]=s%10;
- }
- void flash_display(){
- static int i=0;
- unsigned char bit_table[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
- unsigned char seg_table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
-
- P2=0xff;
- P1=seg_table[buffer[i]];
- P2=bit_table[i];
- i++;
- if(i==6){
- i=0;
- }
- }
- void timer0() interrupt 1{
- TH0=0xe0;
- TL0=0x00;
- flash_display();
- }
- void timer1() interrupt 3{
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
Desktop.rar
(27.92 KB, 下载次数: 24)
|