




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、从构思到实体出来花了我一个月的课外时间,大家支持一下我的DIY精神吧。由于只有一个数码管,只能显示0到15,所以这个定时器可以定时0到15分,0到15个小时,0到15天,0到15个星期,本来想在程序中加上定时0到15个月,但想想在实际情况中定时15个月都有一年多了,估计好少用到,就不写了。这个定时器我加上了继电器,所以可以控制220V交流电,且定时误差在几个毫秒内,还算精确吧。先来几张初期的原理图:下面是单片机的源程序:#include#define uint unsigned int#define uchar unsigned charsbit ledg=P10;/秒闪烁(一秒钟亮一秒钟灭)
2、sbit ledb=P11;/分闪烁(一分钟亮一分钟灭)sbit fmq=P33;/ 蜂鸣器sbit ledx=P34;/ 定时星期指示灯sbit ledt=P36;/ 定时天指示灯sbit ledf=P35;/ 定时分钟指示灯sbit leds=P37;/ 定时小时指示灯sbit key1=P16;/ 启动|暂停sbit key2=P15;/ 调整定时分钟sbit key3=P14;/ 调整定时小时sbit key4=P13;/ 调整定时天sbit key5=P12;/ 调整定时星期sbit jdq=P17; /继电器uint i,j,num,num1,num2,num3,num4,num5
3、,num6;uchar shi,temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8,dsf,dss,dst,dsx;uchar code shuju=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;void delayms(uint xms)for(i=xms;i0;i-)for(j=110;j0;j-);void display(shi)P2=shujushi;void keyscan()uchar i;if(key1=0) delaym
4、s(10);if(key1=0)ledb=0; /把分闪烁指示灯调用来指示启动|暂停while(i=0&P2!=0xC0)TR0=TR0;/ 启动|暂停i+;if(TR0=1)ledb=1;/把分闪烁指示灯调用来指示启动|暂停elseTR0=0;if(key2=0&TR0=0) dss=0; / 定时小时清零dst=0; / 定时天数清零dsx=0; / 定时星期清零temp1=1; /进入switch-casedelayms(10);if(key3=0&TR0=0)dsf=0;dst=0;dsx=0;temp2=1;delayms(10);if(key4=0&TR0=0)dsf=0;dss=
5、0;dsx=0;temp3=1;delayms(10);if(key5=0&TR0=0)dsf=0;dss=0;dst=0;temp4=1;delayms(10);switch (temp1)case 1:if(key2=0)leds=1; / 关闭定时小时指示灯ledt=1; / 关闭定时天指示灯ledx=1;/ 关闭定时星期指示灯 ledf=0;/ 打开定时分钟指示灯ledg=1; / 关闭秒闪烁ledb=1; / 关闭分闪烁jdq=0; /关闭继电器dsf+; / 分钟加加shi=dsf;/ 把分送去显示if(dsf=16)shi=0;dsf=0; while(!key2);temp1=
6、2;temp5=1;num2=dsf;temp6=2;temp7=2;temp8=2;break;switch (temp2)case 1:if(key3=0)ledf=1;ledt=1;ledx=1;leds=0;jdq=0;ledg=1;ledb=1;dss+;shi=dss;if(dss=16)shi=0;dss=0;while(!key3);temp2=2;temp6=1;num4=dss; temp5=2;temp7=2;temp8=2;break;switch (temp3)case 1:if(key4=0)ledf=1;leds=1;ledx=1;ledt=0;jdq=0;led
7、g=1;ledb=1;dst+;shi=dst;if(dst=16)shi=0;dst=0;while(!key4);temp3=2;temp7=1;num5=dst; temp5=2;temp6=2;temp8=2;break;switch (temp4)case 1:if(key5=0)ledf=1;leds=1;ledt=1;ledx=0;jdq=0;ledg=1;ledb=1;dsx+;shi=dsx;if(dsx=16)shi=0;dsx=0;while(!key5);temp4=2;temp8=1;num6=dsx; temp5=2;temp6=2;temp7=2;break;sw
8、itch (temp5)case 1:if(num=3686)num=0;ledg=ledg;num1+;if(num1=60)num1=0;num2-;shi=num2;if(num2=0)jdq=1;TR0=0; break;switch (temp6)case 1:if(num=3686)num=0;ledg=ledg;num1+;if(num1=60)num1=0;ledb=ledb;num3+;if(num3=60)num3=0;num4-;shi=num4; if(num4=0)jdq=1;TR0=0;break;switch (temp7)case 1:if(num=3686)n
9、um=0;ledg=ledg;num1+;if(num1=60)num1=0;ledb=ledb;num3+;if(num3=1440)num3=0;num5-;shi=num5; if(num5=0)jdq=1;TR0=0;break;switch (temp8)case 1:if(num=3686)num=0;ledg=ledg;num1+;if(num1=60)num1=0;ledb=ledb;num3+;if(num3=10080)num3=0;num6-;shi=num6; if(num6=0)jdq=1;TR0=0;break;void main() TMOD=0x02;TH0=6;TL0=6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商铺托管经营合同范本
- 学生班干部竞选模板自我介绍20
- 学生身心健康情绪管理学生营养日20
- 2025授权出版合同样本
- 沙子土地出售合同范本
- 2025网站委托建设合同模板
- 语料库语言学知到课后答案智慧树章节测试答案2025年春鲁东大学
- 2025办公写字楼租赁合同样本
- 共创绿色未来
- 高一英语学案:预习导航Workingtheland-SectionⅢ
- 2023年江苏皋开投资发展集团有限公司招聘笔试真题
- 三级综合医院评审标准(2024年版)
- DB14∕T 2163-2020 信息化项目软件运维费用测算指南
- 交换机调试报告范文
- 口服抗凝药居家管理中国专家共识(2024版)
- 【卫龙食品公司内部控制现状问题及优化的案例分析7100字(论文)】
- 遗传的分子基础(遗传学基础课件)
- DL∕T 860.10-2018 电力自动化通信网络和系统 第10部分:一致性测试
- DB52-T 1666-2022 公路瓦斯隧道技术规范
- 法律法规题库题库附答案(精练)
- 第8课《建设法治中国》第1框《科学立法严格执法公正司法全民守法》-【中职专用】《职业道德与法治》同步课堂课件
评论
0/150
提交评论