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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

多功能电子时钟说明文档文档格式.docx

1、能将环境的温度显示出来,精确度为0.1;6.能自动提示人体对环境温度的感知程度,分别为“Cold”、“Warm”、“Hot”,即“冷”、“暖和”、“热”; 7.能自动显示当前闹钟所处的状态,即为开还是关闭状态;8.当前时间与设定的闹钟时间一致时,闹钟闹响。并能够通过两个按键或者遥控器止闹; 9.整点报时功能; 10.通过短响一下来判断按键是否按下; 11.将星期作为一个单独的显示,并能通过按键或者遥控器调节;12.看门狗功能,能够在程序跑飞的情况下将系统自动复位,且从程序跑飞到复位不超过1S钟,与I2C配合,最大程度保证了程序跑飞后 时间的准确性; 二、状态显示转换图: 状态1: 当前时间(1

2、6:38); 备注:秒显示每秒变动一次; 状态2: 显示日期(09 07 09); 状态3: 显示闹钟(06:28 ); 状态4: 显示秒 ( :30);秒前面的“: 状态5: 交替显示时间和日期;每秒切换显示 状态6: 同状态4;状态7: 调年 (09 );其它内容(如温度、星期、红外解码等)照常显示状态8: 调月 ( 09 );状态9: 调日 ( 09);状态10:调星期 (1); 为了区别,调星期的时候星期会每秒闪一次状态11:调闹钟时(06 );状态12:调闹钟分( 28 );状态13:调小时 (07 ); 状态14:调分钟 ( 30 );其它内容(如温度、星期、红外解码等)照常显示,

3、这时,秒清零,时间暂停 状态15:显示停 (16:显示一个停止的时间,这时时间不走了;三、按键转换图 按键A转换图(红外键A):1)、1.当前时间 - 5.交替显示时间和日期 - 7.调年 - 8.调月 - 9.调日 - 10.调星期 - 11.调闹钟时 - 12.调闹钟分 - 13.调小时 - 14.调分(停表) - 15.显示停 - 1.当前时间;2)、4(或6).显示秒 - 7.调年; 按键B转换图(红外键B): 2.显示日期 - 3.显示脑钟 - 4.显示秒 - 1.显示时间;2)、5.交替显示时间和日期 - 6.显示秒 - 5.交替显示时间和日期;3)、7.调年 - 年加一;4)、8

4、.调月 - 月加一;5)、9.调日 - 日加一;6)、10.调星期 - 星期加一;7)、11.调闹钟时 - 闹钟时加一;8)、12.调闹钟分 - 闹钟分加一;9)、13.调小时 - 小时加一;10)、14.调分(停表) - 分加一,并将秒清零,停表;四、硬件电路图五、实际显示效果图1、硬件组成2、显示效果3、遥控调试时间状态下4、LED用二进制显示当前红外编码状态;六、主程序:(程序比较长,整个代码的CODE为4866Byte,是通过多个C文件来实现,通过调用头文件的方式来调用函数,可以再打开Keil工程文件看)#include Initial.hDisplay.hKey and Speake

5、r.h/*程序说明:主函数入口: 无返回值: 主循环里面的执行时间过长,有一秒一上了,主要是因为LCD只能用延时的方法来跳过查忙,想办法将里面的时间缩短。*/void main(void) Init_MCU(); /初始化MCU Init_I2C(); /初始化I2C Init_LCD(); /初始化LCD1602 Init_Time(); /先初始化时间和先读I2C有区别。先初始化时间:以后开机的时间是从I2C读出,初始化失效。 /先读I2C:第一次读出的是乱码,因为I2C里面没有写入想要的数据。故第一次下载程序到MCU要后初始化MCU /然后在把顺序改过来,即先初始化MCU,然后读I2C。

6、 /将I2C里面的时间、日期、星期、闹钟等信息先读出来 Second = RandomRead_I2C(0x00); Delay_Nms(1); Minute = RandomRead_I2C(0x01); Hour = RandomRead_I2C(0x02); Day = RandomRead_I2C(0x03); Mounth = RandomRead_I2C(0x04); Year = RandomRead_I2C(0x05); Alarm_Hour = RandomRead_I2C(0x06); Alarm_Minute = RandomRead_I2C(0x07); Week =

7、RandomRead_I2C(0x08); /Init_Time(); /主循环 while(1) WDTRST=0x3c; /由于在按键调节 分钟 的时候要停定时器2,这时不能在定时器喂狗,故到主程序里喂狗; SpitTime(); /拆分时间数据 SpitDate(); /拆分日期数据 SpitAlarm(); /拆分闹钟数据 KeyAFunc(); /按键A检测函数 KeyBFunc(); /按键B检测函数 Display(); /显示函数 tmpchange(); /温度转换函数,将其与温度读取函数隔远,让其有充足时间转换; LCD_WriteNChar(13,1,2,D:); /在星

8、期前面写入 ,以方便辨认; /LCD_WriteOneChar(15,1,Week+0 /闹钟模块 if(Alarm_Hour = Hour) & (Alarm_Minute = Minute) if(AlarmStopFlag=0) LCD_WriteNChar(5,1,6,AR:On /智能显示当前闹钟状态 Alarm_SP_Fun(); /闹响 /闹钟功能 else LCD_WriteNChar(5,1,6,Off AlarmStopFlag = 0; /整点报时模块; if(Minute = 00) & (Second 25) LCD_WriteNChar(3,0,4,Hot else if(TempValue=15) & (TempValue 4; IrOK=0; if(show10x09) show1 = A+show1-0x0a; else show1 += if(Im2 = 0x01) IrFlag1 = 1; else if(Im2 = 0x02) IrFlag2 = 1;

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

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