多功能万年历

上传人:jin****ng 文档编号:169670323 上传时间:2022-11-16 格式:DOCX 页数:33 大小:32.52KB
收藏 版权申诉 举报 下载
多功能万年历_第1页
第1页 / 共33页
多功能万年历_第2页
第2页 / 共33页
多功能万年历_第3页
第3页 / 共33页
资源描述:

《多功能万年历》由会员分享,可在线阅读,更多相关《多功能万年历(33页珍藏版)》请在装配图网上搜索。

1、能 证 证 证 证精选公文范文多功能万年历各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢篇一:多功能万年历毕业设计(终稿) 目录引1系统功能与方案论证2系 统 功2系统基本方案选择和论2单片机芯片的选择方案和论2显示模块选择方案和论3时钟芯片的选择方案和论3温度传感器的选择方案与论证3电路设计最终方案决定42系统的硬件设计与实现4电路设计框图4系统硬件概述4各系统电路及工作原理5AT89S52单片机最小系统设计5时钟电路模块的设计6温度采集电路的设计8LCD1602液晶显示模块设计8电 源 电路10闹 钟 电 路 设精选公文范文2计路计11图12理集描放历语10键 盘 输 入 电113

2、 软 件 设DS1302时间处12环 境温度采15键盘扫.15音乐播.15公历转农.15结束程 序 框17 丄 /精选公文范文参 考 文献.18附录19序 .附录A程19附 录B原 理图.41致谢41多功能万年历的设计摘 要:本设计采用了以广泛使用的 单片机技术为核心,软硬件结合,使硬 件部分大为简化,提高了系统稳定性, 并米用LCD显示电路、键盘电路,使人 机交互简便易行,此外还结合音乐闹铃 电路、温度采集电路和供电电路。本方 案设计出的万年历可以显示日期、时间、 精选公文范文4精选公文范文 温度、农历,并且设置了音乐闹铃功能。 该万年历可以应用于一般的生活和工作 中,也可以通过改装,提高性

3、能,增添 新功能,从而给人们的生活和工作带来 方便。关键词:万年历;AT89S52 ; LCD1602;时钟日历芯片DS1302 ;音乐 闹钟The Multi-functional Calendar Designna Abstract: This design has adopted by the extensive use of single chip microcomputer as the core. Hardware and software combination make the hardware parts greatly simplified and improve the

4、stability of the use of LCD display circuit, keyboard circuit makes the information exchange simple. In addition, the design is combined with music alarm circuit, temperature acquisition circuit and power supply circuit. It can show a calendar date, time, temperature, the lunar 精选公文范文5精选公文范文 and set

5、 up music alarm function. On one hang the calendar can be applied to general life and work, on the other hang, it can improve performance by modification to add new functions, so that it can bring more convenience to peoples life and work.Keywords:calendar;AT89S52;LCD1602; clock calendar chip DS 130

6、2; music alarm clock.引言电子万年历是实现对年、月、日、 时、分、秒数字显示的计时装置,广泛 用于个人、家庭、车站、码头、办公室、 银行大厅等场所,成为人们日常生活中 的必需品。数字集成电路的发展和石英晶体振荡器的 广泛应用,使得数字钟的精度远远超过 老式钟表。钟表的数字化给人们生产生 活带来了极大的方便,在此基础上完成 的电子万年历精度高,功能易于扩展, 可扩展成为诸如定时自动报警、按时自 动打铃、时间程序自动控制、定时广播、 精选公文范文6精选公文范文 自动启闭路灯等电路。因此,研究电子 万年历及扩大其应用有着非常现实的意 义。1系统功能与方案论证系统功能LCD显示年、

7、月、日、时、分、秒、 星期、温度、农历等信息手动调整年、月、日、时、分、星 期、温度上限、闹铃时间温度报警闹铃播放音乐日历时间掉电保护公历与农历自动关联闹铃可选择关闭、每天循环或只响 应一次三种模式可选用USB、直流12V或5V电源 或交流9V电源对电路进行供电系统基本方案选择和论证由于现在市面上的电子万年历的种 类比较多,因此到底选择什么样的方案 在设计中是至关重要的。正确地选择方 案就可以使产品更加人性化,并且可以 精选公文范文7精选公文范文 减小开发的难度,缩短开发的周期,降 低产品的成本等等,因此就会被人们普 遍接受,并且能够更快地将产品推向市 场实现其自身的价值。单片机芯片的选择方案

8、和论证方案一:采用89C51芯片作为硬件核心,采 用Flash ROM,内部具有4KB ROM 存 储空间,能于3V的超低压工作,而且与 MCS-51系列单片机完全兼容,但是运用 于电路设计中时由于不具备ISP在线编 程技术,在烧写程序时需要专门的下载 器。方案二:一采用AT89S52,片内ROM全都采 用Flash ROM;能以3V的超底压工作; 同时也与MCS-51系列单片机完全该芯片内部存储器 为8KB ROM存储空间,同样具有 89C51的功能,且具有在线编程可擦除 技术,当在对电路进行调试时,由于程 序的错误修改或对程序的新增功能时,精选公文范文 烧写程序方面,再加上本系统程序较大,

9、 需要较大的存储空间,因此选择采用 AT89S52作为主控制系统。显示模块选择方案和论证方案一:采用LED数码管动态扫描,LED数 码管价格适中,对于显示数字最合适, 而且米用动态扫描法与单片机连接时, 占用的单片机口线少。但所需数码管太 多,布线和焊接困难极易出错,因此不 采用LED数码管作为显示。方案二:采用点阵式数码管显示,点阵式数 码管是由八行八列的发光二极管组成, 对于显示文字比较适合,如采用在显示 数字显得太浪费,且价格也相对较高, 所以也不用此种作为显示。方案三:采用LCD液晶显示屏,液晶显示屏 的显示功能强大,可显示大量字符,显 示多样,清晰可见,但是价格贵,需要 的接口线多,

10、本设计所需显示的内容较 精选公文范文9精选公文范文 多。所以在此设计中采用LCD1602液晶 显示屏。时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒 信号,使用程序实现年、月、日、星期、 时、分、秒计数。采用此种方案虽然减 少芯片的使用,节约成本,但是,实现 的时间误差较大,所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟, DS1302芯片是一种高性能的时钟芯片, 可自动对秒、分、时、日、周、月、年 以及闰年补偿的年进行计数,而且精度 高,31x8位的RAM做为数据暂存区, 工作电压范围内,时耗电小于300nA。温度传感器的选择方案与论证方案一:使用热敏电阻作为传感

11、器,用热敏 电阻与一个相应阻值电阻相串联分压, 利用热敏电阻阻值随温度变化而变化的 特性,采集这两个电阻变化的分压值, 精选公文范文10精选公文范文 并进行A/D转换。此设计方案需用A/D转换电路,增 加硬件成本而且热敏电阻的感温特性曲 线并不是严格线性的,会产生较大的测 量误差。方案二:采用数字式温度传感器DS18B20, 此类传感器为数字式传感器而且仅需要 一条数据线进行数据传输,易于与单片 机连接,可以去除A/D模块,降低硬件 成本,简化系统电路。另外,数字式温 度传感器还具有测量精度高、测量范围 广等优点。电路设计最终方案决定综上各方案所述,对此次作品的方 案选定:采用AT89S52作

12、为主控制系统; DS1302实现时钟;数字式温度传感器; LCD1602字符液晶显示屏作为显示。2系统的硬件设计与实现电路设计框图图1系统框图系统硬件概述精选公文范文11精选公文范文本设计以AT89S52单片机为核心, 构成单片机控制电路,结合DS1302时钟 芯片显示公历的年、月、日、星期、时、 分、秒和农历的月、日,同时完成对它 们的自动调整和掉电保护,全部信息用 液晶显示器显示出来。键盘输入由四个 按键来实现,用这四个按键可以对日期、 时间、星期、温度报警上限进行调整, 并可以对闹铃的开关和闹铃的篇二:多功能电子万年历开题报告) 西北民族大学毕业论文(设计)开题报告论文(设计)名称多功能

13、电子万年 历论文(设计)起止时间一月日姓 名丁永亮学号学院电气工程 学院 专业班级09自动化(2)班 指导 教师王涛说明:1. 本报告必须由承担毕业论文(设 计)课程任务的学生在正式开始做论文 (设计)前独立撰写完成,交指导教师 审阅、学院审查。精选公文范文12精选公文范文2. 每篇毕业论文(设计)课题撰写 本报告一份,作为指导教师、学院审查 学生能否承担该毕业论文(设计)课题 任务的依据,并接受学校的抽查。篇三:下面是一个多功能的电子万 年历的程序下面是一个多功能的电子万年历的 程序。主要功能:1、显示当前的日期及标准北京时间2、实时检测当前温度并通过1602 显示出来3、具有可调的闹钟功能

14、,通过按键 调整闹钟的起闹时间4、通过按键实现画面的切换*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 /f#include#include#define uchar unsigned char#define uint unsigned intuchar code digit=“0123456789”; 定义字符数组显示数字uchar code Error=“Error!Check!”; 说明没有检测到DS18B20uchar code table=“Alarm Clock”;uchar code tablel=“0123456789”;uchar code

15、 table2=“WEEK”;uchar code table3=“Today is fine!”;uchar code table4=“HELLO!”;uchar code table5=“Made by xiaoyou”;uchar code table6=“Happy new year!”;/uchar code table7=“Valentines Day”;/*uchar code table8=“Qing Ming jie!”;uchar code table9=“Happy Labor 精选公文范文14Day!”;/uchar code tablelO=“Duan Wu jie!

16、”; uchar code tablell=“Army day!”;/ uchar code tablel2=“Teachers Day!”;/uchar code tablel3=“National Day!”;/!*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1以下是对液晶模块的操作程序*1 *1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1

17、*1*1*1*1*1*1*1*1*1*1*1*1*1 *1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1TTTTTTTTTTTTTsbit RS=P0A; 寄存器选择位,将RS位定义为引脚sbit RW=P0入;读写选择位,将RW3;sbit ACC0=ACC ;sbit ACC7=ACCA;精选公文范文精选公文范文uchar time;/设置全局变量,专门用 于严格延时static uchar x=OxO8,y=3O;uchar t_sec,secl,sec2;uchar t_min,min1,min2;uch

18、ar t_hour,hourl,hour2;uchar t_mon,mon1,mon2;uchar t_day,day1,day2;uchar t_year,year1,year2;uchar week,weekl;uchar com,inf;void tixing(unsigned char mm,unsigned dd);void show();void delayl(uchar t)uchar a,b;for(a=t;a0;a-)for(b=110;b0;b-);精选公文范文*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1T T T T T T T T函数功能:延时1ms

19、(3j+2)*i=(3x33+2)xl0=1010(微秒), 可以认为是1毫秒*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1T*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 /T T T T T T T T T T T T T T T T T fvoid delay1ms()uchar i,j;for(i=0;ivl0;i+)for(j=O;jv33;j+)/ *1 *1 *1 *1 *

20、1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 !T T T T T T T T T T T T T T T T T T T T T T T T T T*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1T T T T T T T T T T T T T T T T T T T函数功能:延时若干毫秒入口参数:n*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *

21、1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1T T T T T T T T T T T T T T T T T T T T T T T T T T T*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 /T T T T T T T T T T T T T T T T T f精选公文范文void delaynms(uchar n)uchar i;for(i=0;ivn;i+) delaylms();函数功能:判断液晶模块的忙碌状 态返回值:result o result=1, 忙 碌;r

22、esult=0,不忙*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 /fbit BusyTest(void)bit result;RS=0; 根据规定,RS为低电平,RW为高电平时,可以读状态RW=1;精选公文范文精选公文范文E=l; E=1,才允许读写 _nop_();空操作 _nop_();_nop_();_nop_();空操作四个机器周期,

23、给 硬件反应时间将忙碌标志电平赋给resultE=0;将E恢复低电平 return result;函数功能:将模式设置指令或显示 地址写入液晶模块入口参数:dictate*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 /fvoid Writeinstruction (uchar dictate) while(BusyTest()=1); 如果忙就等RS=O;根据规定,RS和R/W同时 为低电平时,可以写入指令RW=0;E=0; /E置低

24、电平(根据表8-6,写指 令时,E为高脉冲,_nop_();_nop_();_nop_(); /就是让E从0到1发生 正跳变,所以应先置”0”_nop_();_nop_();空操作两个机器周期,给 硬件反应时间 P2=dictate;将数据送入 P0 口,即写入指令或地址 _nop_(); _nop_();_nop_();_nop_(); 空操作四个机器周期,给硬件反应时间E=1; /E 置高电平 _nop_();_nop_();_nop_();_nop_();空操作四个机器周期,给硬件 反应时间E=0;当E由高电平跳变成低 电平时,液晶模块开始执行命令函数功能:指定字符显示的实际地入口参数:

25、x*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1T T T T T T T T T T T T T T T Tvoid WriteAddress(unsigned char x) _Writelnstruction(xl0x80); 显示位置的确定方法规定为”80H+地址码x”*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1函数功能:将数据(字符的标准ASCII码)写入液晶模块入口参数:y(为字符常量)*1 *1 *1 *1 *1

26、 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 /fvoid WriteData(uchar y)while(BusyTest()=l);精选公文范文RS=1; /RS为高电平,RW为低电 平时,可以写入数据RW=0;E=O;/E置低电平(根据表8-6,写指 令时,E为高脉冲,/就是让E从0到1发生正跳变, 所以应先置”0”P2=y; 将数据送入P0 口,即将数 据写

27、入液晶模块_nop_();_nop_();_nop_();_nop_(); /空操作四个机器周期,给 硬件反应时间E=1; /E置高电平_nop_();_nop_();_nop_();_nop_(); 空操作四个机器周期, 给硬件反应时间E=0;/当E由高电平跳变成低电平 时,液晶模块开始执行命令 精选公文范文22*1 *1 *1 *1 *1 *1 *1 *1 *1 *1T T T T T T T T T函数功能:对LCD的显示模式进行 初始化设置*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1

28、 *1 *1 *1 *1 *1 *1 *1 *1 *1T T T T T T T T T T T T T T T T T T T T*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 /T T T T T T T T T T T T T T T T T fvoid Lcdlnitiate(void)delaynms(15);延时 15ms,首次写指 令时应给LCD 一段较长的反应时间Writelnstruction(0x38); / 显示模式 设置:16x2显示,5x7点阵,8位数据 接口 delaynms(5); _nop_();_nop_(

29、);_nop_();延时5ms,给硬件一点反应时间 延时5ms,给硬件一点反应时间Writelnstruction(OxOc); / 显示模式 设置:显示开,无光标,光标不闪烁 delaynms(5);延时5ms,给硬件一点反 精选公文范文23精选公文范文应时间一Writelnstruction(0x06); / 显示模式 设置:光标右移,字符不移delaynms(5);_nop_(); _nop_();_nop_(); 延时5ms ,给硬件一点反 应时间Writelnstruction(OxOl); _nop_(); _nop_();_nop_();清屏幕指令,将以前的显 示内容清除dela

30、ynms(5); 延时 5ms ,给硬件一 点反应时间void write_com(uchar com)/ 向 1602 写指令RS=0;RW=0;P2=com;delaynms(lO);E=1;精选公文范文delaynms(lO);E=0;*1 *1 *1函数功能:将DS18B20传感器初始 化,读取应答信号出口参数:flag*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1*1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *1 *

31、1 *1 *1 *1 *1 *1 /T T T T T T T T T T T fbit Init_DS18B20(void)bit flag;/储存DS18B20是否存在的 标志,flag=0,表示存在;flag=1,表示 不存在DQ = 1; 先将数据线拉高for(time=0;timev2;time+) / 略微延 时约6微秒DQ = 0; 再将数据线从高拉低,精选公文范文 要求保持480960usfor(time=0;timev200;time+) / 略 微延时约600微秒;/以向DS18B20发出一持续 480960us的低电平复位脉冲DQ = 1; 释放数据线(将数据线 拉高)for(time=0;time10;time+);延时约30us (释放总线后需等 待1560us让DS18B20输出存在脉冲) flag=DQ; /让单片机检测是否输出了存 在脉冲(DQ=0表示存在) for(time=0;time200;time+) / 延时足 够长时间,等待存在脉冲输出完毕return (flag); 返回检测成功标志多功能万年历各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!