- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51开发板简易闹钟程序
简易可调时可定时闹钟说明:1:功能:这是一个利用51开发板制作的简易的可调时可定时闹钟,功能是在数码管上显示时钟,在时钟模式下,按矩阵键盘的0,1,2可以分别使时,分,秒自加,完成调时功能,按k3键(P3.2,它是一个外部中断)时钟停止走动,进入闹钟定时功能,然后按k1(P3.1)键可以循环选中数码管显示时钟的6个位,在选中状态时,按矩阵键盘的9个键进行闹钟的定时,定时完成后,再按k4(P3.3,它是另一个外部中断)键回到时钟,当时钟走到设定的时间后,蜂鸣器会响,时钟继续走。2:数码管的位选是通过3-8译码器(P2.2,P2.3,P2.4)控制的,段选通过P0(共阴)控制的,蜂鸣器是无源蜂鸣器,通过P1.5控制。程序源代码:#includereg52.h#define uint unsigned int#define uchar unsigned charvoid WEI(uint a);//位选函数void clock();//时钟函数void delay1ms(uint);//1ms延时函数void timermod();//定时器中断初始化void Intmod();//外部中断初始化void KeyDown();//矩阵键盘检测函数void clock_stop();//时钟停止函数void ling_sheng();//铃声函数sbit beep=P1^5;uchar code DUAN[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0~f段选sbit LED1=P2^2; sbit LED2=P2^3; sbit LED3=P2^4;sbit k1=P3^1;sbit k2=P3^0;sbit k3=P3^2;sbit k4=P3^3;uchar shi,fen,miao,miao1,fen1,shi1,m,key,p1,keystate;uint D1,D2,D3,D4,D5,D6,i,j,tsmark; void main(void){miao1=9;fen1=9;shi1=9;key=4;p1=1;timermod();Intmod(); while(1){if(p1==0)//检测是否进入闹钟定时模式{clock_stop();if(k1==0)//选择要定时的位(一共六个){delay1ms(10);if(k1==0){keystate=0;tsmark++;if(tsmark==7)tsmark=1;}while(k1==0);//松手检测}if(tsmark==1)//调时标志,检测是否调时的十位,下面以此类推{KeyDown(); if(keystate==1){ if(key2)key=2;D6=key;keystate=0;}}if(tsmark==2){KeyDown(); if(keystate==1){ if(key4)key=4;D5=key;keystate=0;}}if(tsmark==3){KeyDown(); if(keystate==1){ if(key5)key=5;D4=key;keystate=0;}}if(tsmark==4){KeyDown(); if(keystate==1){ if(key9)key=9;D3=key;keystate=0;}}if(tsmark==5){KeyDown(); if(keystate==1){ if(key5)key=5;D2=key;keystate=0;}}if(tsmark==6){KeyDown(); if(keystate==1){ if(key9)key=9;D1=key;keystate=0;}}}if(p1==1)//检测是否进入时钟模式{clock();KeyDown();if(key==0)//按矩阵键盘的0进行时的调时,下面以此类推{key=4;shi++;if(shi==24)shi=0;}if(key==1){key=4;fen++;if(fen==60)fen=0;}if(key==2){key=4;miao++;if(miao==60)miao=0;}}}}void WEI(uint a){switch(a){case 0:LED1=0;LED2=0;LED3=0;break;case 1:LED1=1;LED2=0;LED3=0;break;case 2:LED1=0;LED2=1;LED3=0;break;case 3:LED1=1;LED2=1;LED3=0;break;case 4:LED1=0;LED2=0;LED3=1;break;case 5:LED1=1;LED2
您可能关注的文档
最近下载
- 苏教版五年级上册《我们的大脑》教学设计.docx
- 贵州省2024年高三年级4月适应性考试 地理试卷.docx
- GEUPS维护及故障讲课文档.ppt VIP
- 触摸屏技术的原理及应用.docx VIP
- 路桥施工计算手册.docx
- 年产50吨瑞舒伐他汀钙、5吨匹伐他汀钙、50吨恩格列净、50吨恩格列净中间体EM1、5吨贝曲西班马来酸盐、200吨阿托伐他汀中间体B-4、200吨瑞舒伐他汀中间体D-1等产品项目环境影响报告书.pdf
- 六年级美术上册《劳动最光荣》课件.ppt
- 抖音直播间1000个违禁词(一举夺葵版).docx
- 反渗透法海水淡化产品水水质控制指标及水质调整措施.pdf VIP
- 《论语》论仁、孝、君子、教育.doc
文档评论(0)