基于单片机的万年历的设计..pdf
《基于单片机的万年历的设计..pdf》由会员分享,可在线阅读,更多相关《基于单片机的万年历的设计..pdf(26页珍藏版)》请在三一文库上搜索。
1、辽宁工业 大 学 单片机原理及接口技术课程设计(论文) 题目:电子万年历(含农历) 院(系) :电气工程学院 专业班级:自动化 123 学号: 120302073 学生姓名:郑新欣 指导教师:(签字) 起止时间: 2015.6.22-2015.7.3 本科生课程设计(论文) I 课程设计(论文)任务及评语 院(系) :电气工程学院教研室:自动化 注:成绩:平时20% 论文质量 60% 答辩 20% 以百分制计算 学 号120302073 学生姓名郑新欣专业班级123 课程设计 (论 文)题目 电子万年历(含农历) 课 程 设 计 ( 论 文 ) 任 务 课题完成的功能、设计任务及要求、技术参数
2、 实现功能 电子万年历能显示阳历年、月、日、星期、时、分、秒和阴历的月、日,并能显示 温度。硬件设计包括CPU 选型、最小系统电路、 时钟电路、 温度、 通信电路、 按键及 LCD 显示电路等。软件采用汇编语言或C 语言实现。 设计任务及要求 1、确定设计方案,画出方案框图。 2、进行硬件电路的设计,包括元器件选择。 3、绘制原理图。 4、绘出程序流程图,并编写以太网初始化、收发程序、温度检测程序等。 5、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。 6、按学校规定的格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。 技术参数 1、显示阳历年、月、日、农历; 2、
3、温度保留一位小数,精度为1。 进 度 计 划 1、布置任务,查阅资料,确定系统设计方案(2 天) 2、系统硬件设计及模块选择(3 天) 3、系统软件设计及编写功能程序及调试(3 天) 4、撰写、打印设计说明书(1 天) 5、验收及答辩。 ( 1天) 指 导 教 师 评 语 及 成 绩 平时:论文质量:答辩: 总成绩:指导教师签字: 年月日 本科生课程设计(论文) II 摘 要 电子万年历是一种应用非常广泛日常计时工具,对现代社会越来越重要,电 子钟主要是利用现代电子技术将时钟电子化、数字化。与传统的机械钟相比,具 有时钟精确、显示直观、无机械传动装置等优点,因而得到广泛应用,根据人们 的不同要
4、求, 本设计主要为实现一款可正常显示时钟/ 日历、测量环境温度的多功 能电子时。 该系统以AT89C51单片机微处理芯片为核心,使用DS3231时钟芯片及 DS18B20温度采集芯片,采用软硬件结合的技术,使硬件部分大为简化,提高了 系统的稳定性,并采用LED显示电路、键盘电路,使人机交互简便易行,持外结 合供电电路。 DS3231它可以对年、月、日、星期、时、分、秒进行计时,还具有 闰年补偿等多种功能,而且DS3231 的使用寿命长,误差小;对于数字电子万年 历采用直观的数字显示,数字显示是采用的LCD19264 液晶显示屏来显示,可以 同时显示年、月、日、星期、时、分、秒等信息。此外,该电
5、子万年历还具有时 间校准等功能,还可以准确的显示当前的室温的功能,具有体积小,读取方便, 显示直观,电路简单明了,成本低廉等诸多优点。 关键词: 单片机;时钟芯片;温度采集芯片;LED显示 本科生课程设计(论文) III 目 录 第 1 章 绪论 . 1 第 2 章 课程设计的方案 . 2 2.1 概述 2 2.2 系统组成总体结构 2 第 3 章 硬件设计 . 3 3.1 单片机及单片机最小系统设计 3 3.2DS3231时钟芯片 . 6 3.3DS18B20 温度传感器 8 3.4 LCD19264 显示电路 9 3.5 独立按键 11 3.6 总体电路图 12 第 4 章 软件设计 13
6、 4.1 主程序流程图 13 4.2DS3231时钟芯片的程序设计 . 14 4.3DS18B20 程序的设计 14 4.4 阳历与阴历的转换 15 第 5 章 课程设计总结 16 参考文献 17 附录 18 本科生课程设计(论文) 1 第1章 绪论 从古至今,人们的日常生活和工作都离不开对时间的准确把握。而随着科技 的发展,电子万年历成为了日渐流行的日常计时工具。目前市场上的万年历功能 强大,简单直观,给人们带来很大的方便。 机械式钟表虽然也可以告知人们时间,也可以定时,显示日历。但是由于受 到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟 相比。电子钟是采用电子电路实
7、现对时、分、秒进行数字显示的计时装置,广泛 应用于个人家庭,室外广场,汽车站和火车站等公共场所,成为人们日常生活中 不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得 数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的 方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、0 按时自动 打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时 电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,更为先进的 电子钟的研究有着良好的发展前景和市场潜力由于数字集成电路技术的发展和采 用了先进的石英技术,现代电子钟具有走时准确、性能稳
8、定、制作维修简单等优 点,弥补了传统钟表的许多不足之处。我们利用单片机技术设计制作的电子万年 历,可以很方便的由编程进行功能的调整和改进,使其在能够准确显示公历和农 历年、月、日、时间、星期的同时,还能具有很多其他的功能。如设定闹钟、语 音报时、二十四节气的显示等,有一定的新颖性和实用性,同时体积小、携带方 便,使用也更为方便,具有技术更新周期短、成本低、开放灵活等优点,具备一 定的市场前景。这里要介绍的就是一款可满足使用者特殊要求,输出方式灵活、 计时准确、性能稳定、维护方便的实用电子万年历。 电子万年历在家庭居室、 学校、车站和广场使用越来越广泛, 给人们的生活、 学习、工作带来极大的方便
9、。针对以往的电子万年历断电后需要重新调整时间与 日期,且计时误差大的现象。 本设计采用 AT89C51 作为主控制器, 为了提高电路 的实用性加入温度测量电路。 本系统程序有主程序、中断服务函数和多个子函数构成。主函数只要完成各 子函数和中断函数的初始化。定时中断函数主要完成时钟芯片的定式扫描及键盘 扫描。时钟芯片的读写函数只要是将时间、日历信息读出来,并把要修改具体值 写入时钟芯片内部。 本科生课程设计(论文) 2 第 2 章 课程设计的方案 2.1 概述 本系统以 AT89C51 单片机为核心,结合 DS3231时钟芯片及 DS18B20 温度采集 芯片等外围器件,实现了万年历的显示公历和
10、农历年、月、日、时、分、秒和星 期,还可以准确的显示当前的室温的功能,并通过液晶屏和按键控制完成人机交 互功能。本系统具有体积小,读取方便,显示只直观,电路简单明了,成本低廉 等诸多优点。 2.2 系统组成总体结构 万年历系统由AT89C51 作为控制中心,用LCD19264 作为显示模块,用 DS3231 作为时钟模块,用DS18B20 作为温度模块,系统组成结构图如图。 图 1.2 系统组成结构图 AT89C51 DS3231 DS18B20 LCD 液晶显示 按键电路 驱动电路 本科生课程设计(论文) 3 第 3 章 硬件设计 3.1 单片机及单片机最小系统设计 单片机是一种集成芯片,是
11、采用超大规模集成电路技术把具有数据处理能力 的中央处理器 CPU、只读存储器 ROM、多种I/O口和中断系统、 定时器 /计数器等功 能集成到一块硅片上构成的小而完善的微型计算机系统,在工业控制领域广泛应 用。 本文应用的是 89C51单片机, 89C51单片机具有如下等特性,面向控制的8位 CPU,一个片内振荡器和时钟产生电路,震荡频率为024MHz,片内 4KB的片内数 据存储器, 128B的片内数据存储器,可寻址 64KB的片外程序存储器和片外数据存 储器控制电路, 2个16位I/O口,共 32条可单独编程的 I/O口现, 5个中断源, 2个中 断优先级, 1个全双工的异步串行口,21个
12、特殊功能寄存器,具有节电工作方式, 即休闲方式和掉电保护方式。89C51单片机有 40个引脚。其中 2条主电源引脚, 2条 外接晶体引脚, 4条控制或与其他电源复用的引脚,32条I/O口引脚。 VSS(20脚): 接地端。 VCC(40脚) :电源端。正常操作及对Flash ROM的编程和验证时接 +5V 电源。 XTAL1 (19) :J接外部晶体和微调电容的一端。 在89C51片内,它是震荡电路反向放大器的输入端及内部时钟发生器的输入 端,振荡电路的频率就是晶体的固有频率。当采用外部震荡器时,此引脚输入外 部时钟脉冲。 XTAL2 (18脚) :接外部晶体和微调电容的另一端。在89C51片
13、内, 它是震荡电路反向放大器的输出端。采用外部震荡器时,此引脚应悬浮。RST(9 脚) :复位信号输入端,高电平有效。当振荡器工作时,在此引脚上出现两个周期 以上的高电平,就可以使单片机复位。ALE(30脚):地址锁存允许信号。当89C51 上电正常工作后, ALE端不断向外输出正脉冲信号,此信号频率为振荡器的1/6.通 过用示波器查看 ALE端是否有脉冲信号输出,可以确认89C51芯片的好坏。 89C51 在并行扩展外部存储器时,P0口用于分时传送低 8位地址和数据信号,当 ALE信号 有效时, P0口传送低 8位地址信号; ALE信号无效时, P0口传送的是 8位数据信号。 在ALE信号的
14、下降沿,锁定 P0口传送的低 8位地址信号,可以实现低8位地址与数 据的分离。 晶振并不能独立的使用,必须配合合适的负载电容,否则会产生频率偏差, 或者是使晶振不能工作。负载电容的选择可以根据单片机的技术文档上的说明来 选择。对于 51单片机一般选择不大于 40pf的瓷片电容。 本科生课程设计(论文) 4 复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作 用一样,以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是, 复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在 必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。复位电 路都是比
15、较简单的大都是只有电阻和电容组合就可以办到了。再复杂点就有三极 管等等配合程序来进行了。为确保微机系统中电路稳定可靠工作,复位电路是必 不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要 供电电源为 5V5%,即4.755.25V。由于微机电路是时序数字电路,它需要稳定 的时钟信号,因此在电源上电时,只有当VCC超过 4.75V低于5.25V以及晶体振荡 器稳定工作时,复位信号才会撤除,微机电路开始正常工作。 复位引脚当有连续两个以上机器周期(2us以上)的高电平,这个单片机就会 复位。而我们的电路设计是,电容充电瞬间,电流通过电容器,然后向电阻方向 放电,此时,电容的“
16、-”端就能有一个很高的电势,在高于3V的情况下,均可以 认为是高电平。 单片机里虽然集成了很多电路,但仍然不能独立运行,必须要外连一些电路, 才能使单片机运行起来。这种能使单片机工作的最简电路,我们叫做单片机最小 系统。本设计最小系统由复位电路,晶振电路和单片机组成。 在提及单片机的最小系统后,现对单片机的另一重要应用系统即中断系统做 一个比较详细的介绍。在CPU 与外设交换信息时,存在着一个快速CPU与慢速的 外设之间的矛盾。为解决这个问题,发展了中断的概念。单片机在某一时刻只能 处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢? 通过中断可以实现多个任务的资源共享。所谓
17、的中断就是,当CPU正在处理某项 事务的时候,如果外界或者内部发生了紧急事件,要求CPU暂停正在处理工作而 去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中 断的程序,这个过程称作中断。从中断的定义我们可以看到中断应具备中断源、 中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进 行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被 中断的程序。 MCS-51单片机的中断源共有两类,它们分别是:外部中断和内部中 断。外部中断 0(INT0)来自P3.2引脚,通过外部中断 0触发方式控制位 IT0(TCON.0), 来决定中断输入信号是
18、低电平有效还是负跳变有效。一旦输入信号有效,便使IE0 标志置一,向 CPU申请中断;外部中断 1(INT1) 来自P3.3引脚,通过外部中断 1触发 方式控制位 IT1(TCON.2),来决定中断输入信号是低电平有效还是负跳变有效。一 旦输入信号有效,便使 IE0标志置一,向CPU申请中断。内部中断有三个:TF0,TF1,RI 或TI。TF0(TCON.5) ,片内定时 /计数器 T0溢出中断请求标志。当定时/计数器 T0 本科生课程设计(论文) 5 发生溢出时,置位 TF0,并向CPU申请中断; TF1(TCON.7) ,片内定时 /计数器 T1 溢出中断请求标志。当定时/计数器 T1发生
19、溢出时,置位 TF1,并向CPU申请中断; RI(SCON.0)或TI(SCON.1) ,串行口中断请求标志。当串行口接收完一帧串行 数据时置位RI或当串行口发送完一帧串行数据时置位TI ,向 CPU申请中断。 MCS-51单片机为用户提供了四个专用寄存器,来控制单片机的中断系统。定时器 控制寄存器( TCON) ,该寄存器用于保存外部中断请求以及定时器的计数溢出。 进行字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H8FH,当 CPU采样到 INT0(或INT1)端出现有效中断请求时,IE0(IE1)位由硬件置“ 1” 。 当中断响应完成转向中断服务程序时,由硬件把IE0(或I
20、E1)清零,当计数器产 生计数溢出时,相应的溢出标志位由硬件置“1” 。当转向中断服务时,再由硬件 自动清“ 0” 。计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求 标志位来使用;采用查询方式时,作查询状态位来使用;串行口控制寄存器 (SCON) ,进行字节操作时,寄存器地址为98H。按位操作时,各位的地址为 98H9FH,当发送完一帧串行数据后,由硬件置“1” ;在转向中断服务程序后, 用软件清“ 0” ,当接收完一帧串行数据后,由硬件置“1” ;在转向中断服务程序 后,用软件清“ 0” 。串行中断请求由 TI和RI的逻辑或得到。就是说,无论是发送 标志还是接收标志,都会产生串行
21、中断请求;中断允许控制寄存器(IE) ,进行字 节操作时,寄存器地址为0A8H。按位操作时,各位的地址为0A8H0AFH ,可见, MCS-51单片机通过中断允许控制寄存器对中断的允许(开放)实行两级控制。即 以EA位作为总控制位,以各中断源的中断允许位作为分控制位。当总控制位为禁 止时,关闭整个中断系统,不管分控制为状态如何,整个中断系统为禁止状态; 当总控制位为允许时,开放中断系统,这时才能由各分控制位设置各自中断的允 许与禁止。 MCS-51单片机复位后( IE)00H,因此中断系统处于禁止状态。单 片机在中断响应后不会自动关闭中断。因此在转中断服务程序后,应根据需要使 用有关指令禁止中
22、断, 即以软件方式关闭中断。 中断优先级控制寄存器(IP) MCS-51 单片机的中断优先级控制比较简单,因为系统只定义了高、低2个优先级。高优先 级用“ 1”表示,低优先级用“0”表示。各中断源的优先级由中断优先级寄存器 (IP)进行设定。 IP寄存器地址 0B8H,位地址为 0BFH0B8H。 当我们通过PC 端给 AT89C51 下载程序时,采用的是计算机串口(RS-232 电平:高-12V 低+12V)通信,所以计算机与单片机之间进行通信时需要电平 转换芯片 MAX232 。 MAX232 含有两个 RS-232 发送驱动器和接收驱动器,其中发送器的输入为 TTL/CMOS 电平,输出
23、为 RS-232电平。 MAX232 接收器的输入为 RS-232 电平, 输出为 TTL/CMOS 电平。不使用的输入输出端可以悬空。MAX232 的工作温度 本科生课程设计(论文) 6 范围为 0至 70。MAX232 的 Pin14(T1OUT)引脚与串行口的2 引脚连接, Pin13 (R1IN)引脚与串行口的3 引脚连接。Pin12 (R1OUT)引脚和 Pin11 (T1IN) 引脚分别与单片机的P3.0 /RXD(串行输入口)、P3.1 /TXD(串行输出口 )连接。 这样单片机所需要的程序就可以从计算机下载了。 图3.1 单片机最小系统结构图 3.2 DS3231 时钟芯片 M
24、axim Integrated新型实时时钟 (RTC) DS3231,内部集成了TCXO、 RTC和 32.768kHz晶体,并采用低成本、标准型、16引脚SOIC封装。在 -40至+85温度 范围内,计时精度为2分钟/年。这一出色性能使 DS3231成为当前要求高计时精 度应用的最佳解决方案。 而RTC的其它集成功能也扩展了系统应用领域,适合那些 对计时精度要求极高的应用。应用包括:服务器、电表、安防及门禁控制系统、 车队管理、远程信息处理系统、GPS导航装置、 POS终端以及 ATM。DS3231是低 成本、高精度 I2C实时时钟 (RTC),具有集成的温补晶振 (TCXO)和晶体。该器件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 万年历 设计
链接地址:https://www.31doc.com/p-5215645.html