简易万年历的设计

上传人:鲁** 文档编号:431198855 上传时间:2023-02-13 格式:DOC 页数:44 大小:4.49MB
返回 下载 相关 举报
简易万年历的设计_第1页
第1页 / 共44页
简易万年历的设计_第2页
第2页 / 共44页
简易万年历的设计_第3页
第3页 / 共44页
简易万年历的设计_第4页
第4页 / 共44页
简易万年历的设计_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《简易万年历的设计》由会员分享,可在线阅读,更多相关《简易万年历的设计(44页珍藏版)》请在金锄头文库上搜索。

1、漳州师范学院 简易万年历的设计 姓 名: 学 号: 系 别: 物理与电子信息工程系 专 业: 电子信息科学与技术 年 级: 10级 指导教师: 白炳良 2013年 6月 目录1. 设计任务51.1 设计任务51.2 设计要求62.设计方案62.1设计思路62.2方案比较与论证62.2.1 数码管显示模块62.2.2 温度传感器的选择62.2.3 时钟计时的选择72.3系统结构框图73.各功能模块设计83.1显示模块原理83.2 参数计算93.3 独立式按键模块93.4 时钟模块103.4.1 DS1302特性介绍103.4.2 DS1302引脚介绍103.4.3 DS1302有关日历、时间的寄

2、存器103.4.4 DS1302控制字介绍113.4.5 DS1302单字节读写时序介绍113.4.6 DS1302操作指令介绍123.4.7 DS1302与单片机接口电路133.5 温测模块133.5.1 单总线介绍133.5.2 DS18B20特性介绍133.5.3 DS18B20管脚介绍143.5.4 DS18B20内部结构143.5.5 DS18B20温度转化示例143.5.6 DS18B20时序介绍153.5.7 DS18B20操作步骤163.5.8 DS18B20与单片机的接口电路173.6 总系统原理图174.软件设计184.1 I/O口分配184.2 按键扫描185.流程图19

3、5.1主程序流程图195.2 work0模块流程图195.3 work1模块流程图205.4 work2模块流程图205.5 获取温度子程序流程图215.6 按键扫描225.7 中断服务子程序225.8 显示方式1225.9 初始化DS1302子程序流图235.10 温显模块子程序流图245.11 读取时间模块子程序流图246.程序代码256.1 主程序部分256.2 包含文件部分336.3 包含文件部分357.调试要点437.1 硬件调试437.2 软件调试437.3 结果分析及设计工作总结438.参考文献及附件438.1 参考文献438.2 元器件清单448.3 PCB版图448.4 实物

4、图 正面458.5 实物图 背面45摘要:单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历,该电子万年历包括两大功能:可显示年、月、日、时、分;实时监测环境温度(具有超低温的报警功能,且报警的上下限值可由用户自定义设置),。关键字:单片机,DS18B20,DS1302,共阳数码管. 1. 设计任务1.1 设计任务 利用单片机、时钟芯片DS1302、温度传感器DS18B20、数码管等 实

5、现日期、时间、温度的显示,即一个简单的万年历。1.2 设计要求1. 通过DS1302计时,时间可调并在数码管上显示出来。2. 通过DS18B20检测当前环境温度,精读为0.5。3. 具有超温报警功能2.设计方案2.1设计思路本设计由DS18B20作为温度检测的核心,检测一次当前温度所耗费的时间大约在100ms750ms之间,随着检测精度的增加,耗费时间在方位内逐渐增加,所以利用软件延时的方法来实现温检,并且具有超温和低温的报警功能,其温度报警的上下限值可根据用户喜好进行更改;时钟部分使用专用计时芯片DS1302,可精确显示年、月、日、时、分、秒;2.2方案比较与论证2.2.1 数码管显示模块方

6、案一:单片机输出数据经译码芯片CD4511进行译码后直接驱动数码管,数码管公共端接9012三极管扩流,并通过单片机I/O口控制三极管的选通,实现动态显示。方案二:有单片机的I/O口直接驱动数码管的段码,数码管的公共端接9012三极管,通过灌电流的方式点亮数码管,也需通过单片机I/O口控制三极管的选通,实现动态显示。由于所需I/O口由AT98S52可直接提供,无须因为I/O口不够而用CD4511来节省I/O口,方案二又较方案一更容易实惠,所以,我选择方案二。2.2.2 温度传感器的选择 方案一:采用热敏电阻作为检测温度的核心元件,由于热敏电阻会随温度变化而变化,进而其阻值发生变化,再经555振荡

7、器变化的脉冲数传递给单片机进行处理。 方案二:采用数字式的集成温度传感器DS18B20作为温度检测的核心元件,由其检测并直接输出数字温度信号给单片机进行处理。 对于方案一,采用热敏电阻作为温度检测元件,有价格便宜,元件易购的优点,但热敏电阻对温度的细微变化不太敏感,并且由于热敏电阻的R-T关系的非线性,其自身电阻对温度的变化存在较大误差,而且在人体所处环境温度变化过程中难以检测到小的温度变化。但作为本次设计虽已能满足基本要求,但为了更深入的学习,所以放弃该方案。 对于方案二,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且由于其

8、检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其温度分辨力极高。温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力强,虽然芯片原理复杂,但是可以对时序的理解更深入一步,所以选择此方案。2.2.3 时钟计时的选择 方案一:AT89S52单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用11.0592的晶振就能实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计时功能要实现“万年历”的功能需要较复杂的程序,而且如果单片机掉电无法继续进行计时,所以

9、使用不便。方案二:DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。利用单片机强大的控制功能就可实现实时计时的功能,而且消耗的系统资源少,程序简单。综合上述两种方案,宜采用方案二实现实时计时功能。2.3系统结构框图 AT89S52单片机

10、在模式键、设置键的控制下,由P0口输出数据,通 过P2.0 、P2.1、P2.2、P2.3进行选通,用数码管显示信息。 系统框图:AT89S52键盘18B20DS1302晶振数码管蜂鸣器LED电源 图2-3系统总框图3.各功能模块设计 3.1显示模块原理 由单片机(AT89S52)的引脚P0口输出温度、时间等数据信息,通过片选信号P2.0 、P2.1、P2.2、P2.3就可在相应的数码管进行显示。当位选信号P2.0为低电平时,P1口送出数据也为低电平就点亮数码管,电流灌进单片机。多位LED显示,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制。而共阳极公共端分别接一个

11、9012,由相应的I/O口线控制9012,实现各位数码管的分时选通。段选码,位选码每送入一次后延时5MS,因人的视觉暂留时间为0.1S(100MS),所以每位显示的时间不能超过20MS,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮。电路如(图3-1)所示。 由于采用的是共阳极数码管,所以要让段码点亮需把I/O口置0,例如:段码a到h对应的I/O口是P0.0到P0.7,则要让数码管显示0到9对应的16进值如图3-2所示图3-1显示电路hgfedcba16进制0110000000XC0H1111110010XF9H2101001000XA4H3101100000XB0H410

12、0110010X99H5100100100X92H6100000100X82H7111110000XF8H8100000000X80H9100100000X90Hc110001100XC6H-101111110XBFHL110001110XC7HH100010010X89H图3-2码表3.2 参数计算 由于I/O口高电平约等于5V,使用灌电流的方式驱动数码管,故选用PNP型三极管9012;数码管能正常工作的段电流为3mA-10 mA,压降为1.7V,三极管发射极和集电极的压降为0.3V,因此限流电阻的压 降为3.0V, 所以选用限流电阻的阻值R=470欧.3.3 独立式按键模块 独立式按键是直

13、接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如(图3-3)所示。 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,但本设计只用到四个按键,顾采用独立式按键电路。图3-3独立式按键电路3.4 时钟模块DS1302通过三根口线实现与单片机的通信,因DS1302功耗很小,即使电源掉电后通过3V的纽扣电池仍能维持DS1302精确走时。3.4.1 DS1302特性介绍 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号