您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 基于89C51单片机的时间温度显示系统
信息工程学院课程设计报告书题目:基于89c51的时间温度实时显示系统专业:电子信息科学与技术班级:0308410学号:030841003学生姓名:何苗指导教师:廖红华设计时间:2011年9月1日至30日2011年9月20日信息工程学院课程设计任务书学号030841003学生姓名何苗专业(班级)电子信息科学与技术设计题目基于89c51的时间温度实时显示系统设计技术参数1.温度精确到1°,能狗实时显示当前温度值2.时间要能够显示年,月,日,时,分,秒,周,并且要具有闰年补偿功能,所以选择ds1320芯片。设计要求1.DS1302包括时钟/日历寄存器和8位的数据暂存寄存器,数据通信仅通过一条串行的输入输出口,实时时钟/日历提供包括秒分时日期月份和年份的信息。时间要能够显示年,月,日,时,分,秒,周,并且要具有闰年补偿功能2.年,月,日,时,分,秒,周能够正常进位工作量查找相关资料,为本设计做好准备工作。制作好电路仿真图,编写相应的总程序和子程序工作计划第一周查找相关资料,为本设计做好准备工作。第二周在proteus的软件上,制作好电路仿真图第三周在keil软件上,编写相应的总程序和子程序第四周编译,调试,软硬件联调参考资料1.DS1302中、英文资料pdf2.华中科技大学电气与电子工程学院实验教学中心——单片机实验教程3.杨风开——MCS-51单片机原理及其应用4.范凤强,兰婵丽——单片机语言C51应用实战集锦指导教师签字教研室主任签字年月日信息工程学院课程设计成绩评定表学生姓名:何苗学号:030841003专业(班级):0308410课程设计题目:基于89c51的时间温度实时显示系统指导教师评语:成绩:指导教师:年月日摘要本设计多功能数字时钟系统是由中央控制器、时钟系统、报警系统、温度检测器、显示器及键盘部分组成。控制器采用单片机STC89C52,温度检测部分采用DS18B20温度传感器,时钟系统用时钟芯片DS1302,用LCD液晶1602A作为显示器。单片机通过时钟芯片DS1302获取时间数据,对数据处理后显示时间;温度传感器DS18B20采集温度信号送给单片机处理,单片机再把时间数据和温度数据送液晶显示器1602显示,结果能在LCD正常显示时间和温度值。关键词:单片机;C51语言;LCD1602液晶显示器;DS18B20;DS1302。目录1任务提出与方案论证................................错误!未定义书签。1.1任务提出1.2方案论证2总体设计2.1流程图2.2仿真电路图3详细设计3.1软件设计3.2硬件设计4总结参考文献1任务提出与方案论证1.1任务提出:DS1302包括时钟/日历寄存器和8位的数据暂存寄存器,数据通信仅通过一条串行的输入输出口,实时时钟/日历提供包括秒分时日期月份和年份的信息。时间要能够显示年,月,日,时,分,秒,周,并且要具有闰年补偿功能,年,月,日,时,分,秒,周能够正常进位……1.2方案论证:方案一:利用数字电子电路的知识制作时钟,利用74LS160计数的简易数字控制电路,由NE555产生频率为1HZ的输入信号,经过74LS48译码由数码管显示。该方案实现起来有一定难度,特别是日期的显示,月份、年份信号难以选取,闹钟功能也较复杂,难以达到设计的要求,且该方案设计的时钟精度不高,灵活性较差。方案二:基于单片机来制作电子时钟,其最大的好处就是可最大的调整时钟使其的准确度更高。所以根据设计要求为了得到更好的准确度且利于系统功能扩展,所以决定选择方案二作为本设计的基础方案。按照设计要求,初步确定设计系统由单片机主控模块、时钟模块、测温模块、电源及复位模块、显示模块、键盘接口模块共6个模块组成。各模块的选择论证如下:对于主控器件——单片机的选择,如果用8031系列,由于它没有内部RAM,系统又需要大量内存存储数据,因而不可用;51系列单片机的ROM为4K,对于我想要设计的系统可能有点小,这里我采用STC89C52,且与我的单片机学习板兼容,利于调试。加之它有8K字节在系统可编程Flash存储器,可方便进行系统功能扩展而不必担心程序过大。时钟模块:时钟功能的实现有两种方案:一是用软件实现,直接用单片机的定时器编程以实现时钟;二是用专门的时钟芯片实现,编写程序把时间数据送入单片机,由单片机控制显示。比较两种方案,用软件实现时钟固然可以,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响计时的准确度,用专用时钟芯片可以实现准确计时。2总体设计2.1.软件流程图图1.软件流程图为了是LCD上同时显示温度值和当前时间,程序开始先定义好引脚和数据地址等,然后初始化液晶,这时,单片机读取两芯片的数据,并经过单片机处理后送往LCD显示。2.2硬件仿真图图2.硬件仿真图LCD经过P0口控制数据位,并对P0口通过上拉电阻连接,ds18b20的数据位与P2.3口连接。DS1320的控制位分别于P1.5,1.6,1.7连接,三端口同时控制1320的数据操作。3详细设计3.1.硬件电路设计显示电路采用1602A液晶显示器。LCD1602A是以若干个5X8或5X11点阵块组成的显示字符群。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。主要技术参数和性能:1.单+5V电源供电,低功耗,长寿命,可靠性高。2.显示内容:16(列)×2(行)点。3.全屏幕点阵。4.具有字符发生器ROM可显示192种字符。5.具有64个字节的自定义字符RAM,可自定义8个5X8点阵字符或4个5X11点阵字符。6.具有80个字节的RAM。7.工作温度:0℃∽+60℃,存储温度:-20℃∽+70℃由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。而DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:(1)独特的单线接口仅需要一个端口引脚进行通信;(2)多个DS18B20可以并联在惟一的三线上,实现多点组网功能;(3)无须外部器件;(4)可通过数据线供电,电压范围为3.0~5.5V;(5)零待机功耗;(6)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8个字节的存储器我们采用DS1302作为主要计时芯片,主要为了提高计时精度,更重要的就是DS1302可以在很小的后备电源下继续计时,并可编程选择充电电流来对后备电源进行充电(这里选用3000微法的大电容作后备电源),可以保证后备电源基本不耗电。单片机STC89C52是本系统的核心部分,它控制着数据显示、温度检测存储数据,报警控制等功能。根据以上各功能模块得到应用电路总原理图。3.2软件系统的设计系统主程序首先对系统进行初始化,包括设置定时器、中断和端口;然后显示开机画面。由于单片机没有停止指令,所以可以设计系统程序不断地循环执行上述显示效果。由于采用了时钟芯片DS1302,所以只需从DS1302各寄存器中读出小时、分钟、秒,年月日和星期再处理即可。在首次对DS1302进行操作之前,必须对它进行初始化,然后从DS1302中读取数据,再经过处理后,送给显示缓冲单元。调整时间用3个调整按钮,1个作为功能选择用,另外两个做为加减用,分别定义控制按钮、加按钮、减按钮。在调整时间过程中,要调整的那位与别的位应该有区别,所以增加了闪烁功能,即调整的那位一直在闪烁直到调整下一位。闪烁原理就是让要调整的那一位,每隔一定时间熄灭一次,比如说50MS。利用定时器计时,当达到50MS溢出时,就送给该位熄灭符,在下一次溢出时,再送正常显示的值,不断交替,直到调整该位结束,此时送正常显示值给该位,再进入下一位调整闪烁程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次,流程图如图1.3.4。读出温度子程序的主要功能是读出RAM中的9个字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750毫秒,在本程序设计中采用1秒显示程序延时法等待转换的完成。计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。显示数据刷新子程序主要时对显示缓冲器中的显示数据进行刷新操作,当最高显示位为零时将符号显示位移入下一位。这个步骤完成后,就要对液晶显示屏操作了,操作之前必须对液晶显示屏进行初始化例如判断液晶显示屏的状态,进行清屏操作,然后赋初值,具体程序见相应的C函数。这一系列的工作完成后就可以让液晶显示屏显示时间日期了。具体程序在displaytime()中。4总结在proteus中仿真时,ds1320和ds18b20能很好的工作,数据在经过单片机89c52的处理后,送入lcd进行显示,能很好的显示出来。进过这次实验,更好的理解了单片机89c51系列的良好性能。熟悉了proteus联合keil软件的功能参考文献[1]康华光,陈大钦.电子技术基础—模拟部分(第五版)[M].北京:高等教育出版社,2005[2]皮文兵.一种宽输入范围的Gillbert模拟乘法器设计[J].电子设计应用.2007.13(1):88-90[3]焦春生.新型绿色能效D类音频放大器设计应用[EB/OL].[4]张筑生.微分半动力系统的不变集[D].北京:北京大学数学系数学研究所,19831.DS1302中、英文资料[5]DS1320和ds18b20中文资料[6]范凤强.单片机语言C51实战集锦
本文标题:基于89C51单片机的时间温度显示系统
链接地址:https://www.777doc.com/doc-2568066 .html