ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:15.87KB ,
资源ID:13859374      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13859374.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机编写的闹钟程序Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机编写的闹钟程序Word格式文档下载.docx

1、/0-9 十六进制数共阴 void timetune();/ 时间校正函数void delayms(uint);/ 延迟函数void keysca n();/闹钟设置函数void keysca n1();闹钟检测函数void display(uint anum,uint anum1,uint anum2,uint anum3);/ 显示函数uint num0,num,num1,num2,num3,anum,anum1,anum2,anum3,temp,temp0,temp1,temp2,temp3,temp4,s,s1,s2,s3,s4;void main()TMOD=0x01;设置定时器 0

2、 为工作方式 1 (0000 0001) TH0=(65536-45872)/256;/装初值 50毫秒中断一次TL0=(65536-45872)/256;EA= 1 ;/开总中断ET0=1;开定时器0终中断TR0=1;开定时器while(1)/ 中断后进入死循环时间永不停止计时 timetune();/ 调用时间设置函数keysca n();/调用闹钟设置函数if(num0=20)num0=0;num+;if(num=10)num1+;num=0;if(num1=6)num2+;num1=0;if(num2=10)/ 和下面 if 必须分开,否则时间到 24 小时后不会清 0 继续走 下去n

3、um3+;num2=0;if(num3=2&num2=4)/ 当时间走到 24 小时后自动清 0num3=0;if(temp0=1)/ 为了防止闹钟时间显示和正常时间显示同时显示出现数码管 显示不清晰,所以display(s1,s2,s3,s4);/写两个对立的if条件判断语句(temp=1和temp ! =1)来作为限制条件 .if(temp0!=1)display(num,num1,num2,num3);/keyscan1();void display(uint anum,uint anum1,uint anum2,uint anum3)/ 时间显示函数 P2=tableanum3;w1=

4、1;delayms(1);w1=0;P2=tableanum2;w2=1;w2=0;P2=tableanum1;w3=1;w3=0;P2=tableanum;w4=1;w4=0;void timetune()/ 时间校正程序if(k4=0)/ 当每按下第四个键后会出现 temp 不同的值,然后用 delayms(10);/ 不同 的值作为不同的条件给四个数码管加减值来校正时间 if(k4=0)temp+;while(!k4);if(temp=1)if(k2=0)delayms(10);/ 按键时由于会产生机械振动,为了准确检测到按键 if(k2=0)/ 按下所以要延时k2);if(temp=2

5、) if(num1=6) num1=0; while(!if(temp=3)if(num2=10)if(temp=4) if(num3=3) num3=0;以if(num3=2&num2=4)/ 前面由于 num2 可以加到十,但是 num2 最多只能 是 4,所 / 当 num3 加到 2 时, num2 只能最大为 4,大于 4 后要清 0num2=0;if(temp=5)temp=0;/ 为了让时间能够反复校正, temp 要清 0void keysca n1()闹钟判断程序if(s1=num&s2=nu ml &s3=num2&s4=num3&temp0=2) 闹钟判断 条件temp0

6、=0;当闹钟判断条件成立后,第一次闹钟响了后,为了能够进行第二 次闹钟的设置,所以 temp0 要清 0fm = 0 ; /蜂鸣器void keysca n()闹钟调整程序if(k3=0)(Dmpo+ whiCD(一 k3)w if(klHO) 宀de-aymsuo)八 if(klHO)S+ whiCDuklx if(sp) 宀if(k2xo)宀de-aymsus if(k2xo)s1+;if(s1=10)s1=0;if(s=2) if(k2=0) delayms(10); if(k2=0)s2+;if(s2=6)s2=0;if(s=3)s3+;if(s3=10)s3=0; if(s=4)s4+;if(s4=3)s4=0;if(s4=3&s3=5)同时间调整程序一样if(s=5)s=0;void delayms(uint xms)uint i,j;for(i=xms;i0;i-)for(j=110;jj-);void T0_time() interrupt 1/ 中断服务程序EA=0;TH0=(65536-45872)/256;num0+;EA=1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1