【精美排版】基于单片机C的万年历电子综合设计论文.doc
《【精美排版】基于单片机C的万年历电子综合设计论文.doc》由会员分享,可在线阅读,更多相关《【精美排版】基于单片机C的万年历电子综合设计论文.doc(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机C的万年历电子综合设计论文 作者: 日期:2 目 录1 绪论 22 总体设计方案32.1设计思路32.2设计方案32.3 方案比较论证32.4 总体设计方框图43 设计原理与分析53.1硬件电路主要芯片的功能介绍53.1.1单片机主控制器53.1.2 温度传感器芯片63.1.3 时钟芯片DS1302103.1.4 16*2LCD液晶显示1602134 硬件电路164.1 单片机主控制模块的设计164.2 时钟电路模块的设计164.3 温度采集模块设计174.4 功能按钮设计174.5 16*2 LCD1602液晶显示电路设计184.6总体电路图185 系统软件设计195.1 系统模块
2、的功能分划分195.2 总体程序流程框图195.3 时钟调整时间的流程图215.4 修改键“UP”的功能流程图225.5温度转换流程图236 系统仿真测试246.1 KEIL的使用246.2 Protues软件仿真29致 谢32参考文献33附录一 总体电路的PCB板图34附录二 设计电路的仿真电路图35附录二 万年历源程序361 绪论随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。其中电子万年历就是一个典型的例子。而且在万年历的基础上还可以扩展其它的实用功能,比如温度计。万年历是采用数字电路实现对.时,分,秒.数字
3、显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。市场上有许多电子钟的专用芯片如:LM8363、LM8365等,但它们功能单一,电路连接复杂,不便于调试制作。但是考
4、虑到用单片机配合时钟芯片,可制成功能任意的电子钟,而且可以做到硬件简单、成本低廉。所以本系统采用了以广泛使用的单片机AT89S52技术为核心,配合时钟芯片DS1302。软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LCD显示电路、键盘电路,使人机交互简便易行,此外结合音乐闹铃电路、看门狗和供电电路。本方案设计出的数字钟可以显示时间、设置闹铃功能之外。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。本文编写的主导思想
5、是软硬件相结合,以硬件为基础,来进行各功能模块的编写。本设计中我重点研究实现了单片机+时钟芯片这种模式的万年历,从原理上对单片机和时钟芯片有了深一步的认识,这些基本功能完成后,在软件基础上实现时间显示。2 总体设计方案2.1设计思路用AT89S52处理产生内部时钟数据或者读取外部时钟数据和采集外部传感器的信息进行处理,并暂时寄存在其内部的储存器中,再通过单片机调用内部RAM的数据并送到LCD或者LED数码管上显示出来。2.2设计方案方案1:单片机一般的工作频率在12MHz左右,而且内部还有定时、计数器,可以产生精确的1S定时,由次可以用定时中断的方式产生精确的1S时间,秒位不断的加1,再设计分
6、、时、星期、日、月、年之间的进制,使产生进位。本方案只需要单片机最小系统加上显示电路,再设计简单的程序算法就可以实现。对于测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理。在显示电路上,采用数码管就可以将年月日星期时分秒和室内温度显示出来方案2:万年历时钟采用单片机控制DS1302实时时钟芯片,能达到走时准确且掉电不丢失数据的。DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES( 复位)2 I/O (数据线)3 SCLK(串行时钟)。温度计要灵敏反映室温的变化这样可采用
7、单片机与数字式温度传感器DS18B20通讯,采集温度数字信号进行处理。DS18B20通过一个单线接口发送或接受信息,因此在单片机与DS18B20之间仅需一条连接(加上地线)。在显示电路上,采用16*2的LCD显示。2.3 方案比较论证对于方案1,单片机虽然可以产生精确的秒信号,但是单片机在处理闰年上会比较麻烦,加之一旦单片机断电后,所有的时间都要重新调整。对于测温电路,采用热敏电阻的输出电压-温度特性,要加上A/D转换,温度传感信息才能被单片机所接受,这种设计需要用到A/D转换电路,感温电路比较麻烦。在显示电路上,采用LED数码的话要用到单片机的许多I/O口,甚至I/O不够用,还需要接上其它芯
8、片大量扩展I/O口,这是一个弊处。对于方案2:单片机不用去产生时钟的数据,时钟的数据由DS1302独立产生,并寄存在其内部的寄存器上,单片机可以通过三总线与它通讯,不仅可以对它进行读取实时时钟数据,还可以对它进行编程,设置它的工作模式。单片机只是处理从DS1302读出来的数据并送显示,大大减少了单片机的负担。而且DS1302可以通过后备电池继续工作,内部的时钟还在走,下次启动后不用去调整时钟,方便使用。基于同样的原理,DS18B20也是一个独立的传感器,只要单片机配置它的工作状态后它就可以独立工作,内部已经把模拟信号转换成数字信号,并把数字信号储存在其内部的寄存中。同样,单片机通过单总线与它通
9、讯,可以处理912位的温度数字数据。在显示电路上,采用16*2 LCD液晶显示器,能容纳年月日星期时分秒温度等信息的显示。LCD显示器只需占用11个I/O口就可以工作了,不用其它扩展芯片,总体上使电路简单化。2.4 总体设计方框图AT89S52主控制器DS1302时钟芯片DS18B20温度传感复位按键LCD显示器键盘12MHz晶振振荡 总体的方框图如图2.1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,用16*2的LCD液晶显示屏实现年、月、日、星期、时、分、秒、温度的显示。图2.1总体设计方框图3 设计原理与分析3.1硬件电路主要芯片的功能介绍 本次设计的万年历系统主要
10、包括单片机主控制器、温度传感器芯片、时钟芯片DS1302芯片、16*2LCD显示芯片。3.1.1单片机主控制器AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,
11、2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。(1)AT89S52的简介AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP (In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易
12、失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU
13、暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。(2)AT89S52的内部结构图AT89S52的内部结构图如图3.1所示:图3.1 AT89S52内部结构图3.1.2 温度传感器芯片(1)单线温度传感器DS18B20介绍DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18
14、B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以9或12位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; 图3.2 DSl8B20的引脚图DSl8B20数字温度计提供9位(二进制)温度读数,指示器件的温度。信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线(和地线)。DSl8B20的电源可以由数据线本身提供而不需要外部电源。因为每一个DSl8B20在出厂时已经给定
15、了唯一的序号,因此任意多个DSl8B20可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。DSl8B20的测量范围从-55摄式度到+125摄式度,增量值为0.5摄式度,可在l s(典型值)内把温度变换成数字。每一个DSl8B20包括一个唯一的64位长的序号,该序号值存放在DSl8B20内部的ROM(只读存贮器)中。开始8位是产品类型编码(DSl8B20编码均为10H)。接着的48位是每个器件唯一的序号。最后8位是前面56位的CRC(循环冗余校验)码。DSl8B20中还有用于存储测得的温度值的两个8位存贮器RAM,编号为0号和1号。1号存贮器存放温度值的符号,如果温度为负(摄式
16、度),则1号存贮器8位全为1,否则全为0。0号存贮器用于存放温度值的补码,LSB(最低位)的1表示0.5摄式度。将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-55摄式度-125摄式度)。DSl8B20的引脚如图3.2所示。每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线,但完成温度测量的时间较长:采取外部供电方式则多用一根导线,但测量速度较快 。(2) DS18B20的测温原理器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改
17、变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的
18、数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。DS18B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如图3.3所示。图3.3 DS18B20的内部结构图64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18
19、B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。(3)温度计算1、DS18B20用9位存贮温值度,最高位为符号位,如表3.1为DS18B20的温度存储方式,负温度S=1,正温度S=0。如:00AAH为+85摄式度,0032H为25摄式度,FF92H为55摄式度 表3.1 18B20用9位的温度存储方式2、DS18B20用12位存贮温值度,最高位为符号位,如表3.2为DS18B20的温度存储方式,负温度S=1,正温度S=0。如:0550H为+85摄式度,0191H为25.0625摄式度,FC90H为-55摄式度。 表3.2 18B20用12位的温度存储方式DS18
20、B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EEROM。高速暂存RAM的结构为8字节的存储器,结构如图3.4所示。头2个字节包含测得的温度信息,第3和第4字节和的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。图3.4 DS18B20存储器结构DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3.2所示。低5位一直为,是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率
21、。由表3.3可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。表3.3 DS18B20温度转换时间表 高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S0时,表示测得的温度值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精美排版 精美 排版 基于 单片机 万年历 电子 综合 设计 论文
限制150内