电子闹钟(沈).doc

上传人:cl****1 文档编号:558029785 上传时间:2022-11-08 格式:DOC 页数:8 大小:53.51KB
返回 下载 相关 举报
电子闹钟(沈).doc_第1页
第1页 / 共8页
电子闹钟(沈).doc_第2页
第2页 / 共8页
电子闹钟(沈).doc_第3页
第3页 / 共8页
电子闹钟(沈).doc_第4页
第4页 / 共8页
电子闹钟(沈).doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《电子闹钟(沈).doc》由会员分享,可在线阅读,更多相关《电子闹钟(沈).doc(8页珍藏版)》请在金锄头文库上搜索。

1、#include reg51.h#include#define uint unsigned char#define uchar unsigned char#define THCO 0xee#define TLCO 0x0uchar i,n;uint H,L;void delay(uint);uchar code table=0xfd,0x09,0x04,0xfd,0x09,0x04, 0xfd,0x34,0x04,0xfd,0x83,0x04,0xfd,0x83,0x04,0xfd,0x34,0x04,0xfd,0x09,0x04,0xfc,0xad,0x04,0xfc,0x44,0x04,0

2、xfc,0x44,0x04,0xfc,0xad,0x04,0xfd,0x09,0x04,0xfd,0x09,0x04,0xfc,0xad,0x04,0xfc,0xad,0x08,0xfd,0x09,0x04,0xfd,0x09,0x04, 0xfd,0x34,0x04,0xfd,0x83,0x04,0xfd,0x83,0x04,0xfd,0x34,0x04,0xfd,0x09,0x04,0xfc,0xad,0x04,0xfc,0x44,0x04,0xfc,0x44,0x04,0xfc,0xad,0x04,0xfd,0x09,0x04,0xfc,0xad,0x04,0xfc,0x44,0x04,

3、0xfc,0x44,0x08;unsigned char code Duan=0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/共阴极数码管,0-9段码表unsigned char Data_Buffer10=0,1,2,3,4,5,6,7,8,9;/四个数码管显示数值,数组变量定义 static unsigned char Bit=0;/静态变量,退出程序后,值保留 static unsigned char Bit1=0; static unsigned char Bit2=0; static unsigned char Bit3=0;

4、static unsigned char Bit4=0; static unsigned char Bit5=0; static unsigned char Bit6=0; static unsigned char Trouch=0; sbit P10=P10; /四个数码管的位码口定义 sbit P27=P27; sbit P26=P26; sbit P25=P25; sbit P24=P24; sbit P23=P23;sbit P20=P20;sbit P21=P21; sbit P3_2=P32;sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P

5、14=P14;/四个数码管的位码口定义sbit P15=P15;sbit P16=P16;sbit P17=P17;void delay(int i)unsigned int a,b;for(a=i;a0;a-);for(b=100;b0;b-); void change6() P26=0;P25=0; delay(150000) ;doif(P21=0)Bit6+;if(Bit6=2)Bit6=0;P0=DuanData_BufferBit1; /开段码 P1=0xdf;delay(50); P0=DuanData_BufferBit2; P1=0xef;delay(50);/先关位码 P0

6、=DuanData_BufferBit3; /开段码 P1=0xf7;delay(50); P0=DuanData_BufferBit4; P1=0xfb;delay(50);/先关位码 P0=DuanData_BufferBit5; /开段码 P1=0xfd;delay(50); P0=DuanData_BufferBit6; P1=0xfe;delay(50); while(P20=1);P26=1;P25=1;delay(25000);void change5() P24=0; P26=0; delay(150000) ;doif(P21=0)Bit5+;if(Bit5=4)Bit5=0

7、;P0=DuanData_BufferBit1; /开段码 P1=0xdf;delay(50); P0=DuanData_BufferBit2; P1=0xef;delay(50);/先关位码 P0=DuanData_BufferBit3; /开段码 P1=0xf7;delay(50); P0=DuanData_BufferBit4; P1=0xfb;delay(50);/先关位码 P0=DuanData_BufferBit5; /开段码 P1=0xfd;delay(50); P0=DuanData_BufferBit6; P1=0xfe;delay(50); while(P20=1);P24

8、=1; P26=1;delay(25000);change6(); void change4() P24=0; delay(150000) ;doif(P21=0)Bit4+;if(Bit4=6)Bit4=0;P0=DuanData_BufferBit1; /开段码 P1=0xdf;delay(50); P0=DuanData_BufferBit2; P1=0xef;delay(50);/先关位码 P0=DuanData_BufferBit3; /开段码 P1=0xf7;delay(50); P0=DuanData_BufferBit4; P1=0xfb;delay(50);/先关位码 P0=

9、DuanData_BufferBit5; /开段码 P1=0xfd;delay(50); P0=DuanData_BufferBit6; P1=0xfe;delay(50); while(P20=1);P24=1;delay(25000); change5();void change3() P25=0;P26=0; delay(150000) ;doif(P21=0)Bit3+;if(Bit3=10)Bit3=0;P0=DuanData_BufferBit1; /开段码 P1=0xdf;delay(50); P0=DuanData_BufferBit2; P1=0xef;delay(50);/

10、先关位码 P0=DuanData_BufferBit3; /开段码 P1=0xf7;delay(50); P0=DuanData_BufferBit4; P1=0xfb;delay(50);/先关位码 P0=DuanData_BufferBit5; /开段码 P1=0xfd;delay(50); P0=DuanData_BufferBit6; P1=0xfe;delay(50); while(P20=1);P25=1;P26=1; ;delay(25000); change4(); void change2() P25=0; delay(150000) ;doif(P21=0)Bit2+;if

11、(Bit2=6)Bit2=0;P0=DuanData_BufferBit1; /开段码 P1=0xdf;delay(50); P0=DuanData_BufferBit2; P1=0xef;delay(50);/先关位码 P0=DuanData_BufferBit3; /开段码 P1=0xf7;delay(50); P0=DuanData_BufferBit4; P1=0xfb;delay(50);/先关位码 P0=DuanData_BufferBit5; /开段码 P1=0xfd;delay(50); P0=DuanData_BufferBit6; P1=0xfe;delay(50);P2=

12、0xdf; while(P20=1);P25=1;delay(25000); change3();void change1() P26=0; delay(150000) ;doif(P21=0)Bit1+;if(Bit1=10)Bit1=0;P0=DuanData_BufferBit1; /开段码 P1=0xdf;delay(50); P0=DuanData_BufferBit2; P1=0xef;delay(50);/先关位码 P0=DuanData_BufferBit3; /开段码 P1=0xf7;delay(50); P0=DuanData_BufferBit4; P1=0xfb;delay(50);/先关位码 P0=DuanData_BufferBit5; /开段码 P1=0xfd;delay(50); P0=DuanData_BufferBit6; P1=0xfe;delay(50); while(P20=1);P26=1; delay(25000); change2();void main()PX0=1;EX0=1;/沿触发方式IT0=1; TMOD=0x01;/定时器0初始化 TH0=THCO; TL0=TLCO; TR0=1; ET0=1; EA=1;TMOD=0x10;EA=1;/开总中断ET1=1;/开T1中断for(i=0;i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号