基于89C51单片机的时间温度显示系统

上传人:宝路 文档编号:21465074 上传时间:2017-11-23 格式:DOCX 页数:11 大小:149.96KB
返回 下载 相关 举报
基于89C51单片机的时间温度显示系统_第1页
第1页 / 共11页
基于89C51单片机的时间温度显示系统_第2页
第2页 / 共11页
基于89C51单片机的时间温度显示系统_第3页
第3页 / 共11页
基于89C51单片机的时间温度显示系统_第4页
第4页 / 共11页
基于89C51单片机的时间温度显示系统_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于89C51单片机的时间温度显示系统》由会员分享,可在线阅读,更多相关《基于89C51单片机的时间温度显示系统(11页珍藏版)》请在金锄头文库上搜索。

1、 信 息 工 程 学 院课 程 设 计 报 告 书题目: 基于 89c51 的时间温度实时显示系统 专 业: 电子信息科学与技术 班 级: 0308410 学 号: 030841003 学生姓名: 何苗 指导教师: 廖红华 设计时间:2011 年 9 月 1 日至 30 日 2011 年 9 月 20 日 信息工程学院课程设计任务书学 号 030841003 学生姓名 何苗 专业(班级) 电子信息科学与 技术设计题目 基于 89c51 的时间温度实时显示系统设计技术参数1. 温度精确到 1,能狗实时显示当前温度值2. 时间要能够显示年,月,日,时,分,秒,周,并且要具有闰年补偿功能,所以选择

2、ds1320 芯片。设计要求1. DS1302 包括时钟/ 日历寄存器和 8 位的数据暂存寄存器,数据通信仅通过一条串行的输入输出口,实时时钟/日历提供包括秒分时日期月份和年份的信息。时间要能够显示年,月,日,时,分,秒,周,并且要具有闰年补偿功能2年,月,日,时,分,秒,周能够正常进位 工作量查找相关资料,为本设计做好准备工作。制作好电路仿真图,编写相应的总程序和子程序工作计划第一周查找相关资料,为本设计做好准备工作。第二周在 proteus 的软件上,制作好电路仿真图第三周在 keil 软件上,编写相应的总程序和子程序第四周编译,调试,软硬件联调参考资料1.DS1302 中、英文资料 pd

3、f2.华中科技大学电气与电子工程学院实验教学中心单片机实验教程3.杨风开MCS-51 单片机原理及其应用4.范凤强,兰婵丽单片机语言 C51 应用实战集锦指导教师签字 教研室主任签字年 月 日 信息工程学院课程设计成绩评定表学生姓名:何苗 学号: 030841003 专业(班级):0308410 课程设计题目: 基于 89c51 的时间温度实时显示系统 指导教师评语:成绩: 指导教师: 年 月 日摘 要本设计多功能数字时钟系统是由中央控制器、时钟系统、报警系统、温度检测器、显示器及键盘部分组成。控制器采用单片机 STC89C52,温度检测部分采用 DS18B20 温度传感器,时钟系统用时钟芯片

4、 DS1302,用 LCD 液晶1602A 作为显示器。单片机通过时钟芯片 DS1302 获取时间数据,对数据处理后显示时间;温度传感器 DS18B20 采集温度信号送给单片机处理,单片机再把时间数据和温度数据送液晶显示器 1602 显示,结果能在 LCD 正常显示时间和温度值。关键词: 单片机; C51 语言; LCD1602 液晶显示器; DS18B20; DS1302。目 录1 任务提出与方案论证 .11.1 任务提出1.2 方案论证2 总体设计2.1 流程图2.2 仿真电路图3 详细设计3.1 软件设计3.2 硬件设计4 总结参考文献1 任务提出与方案论证1.1 任务提出:DS1302

5、 包括时钟/日历寄存器和 8 位的数据暂存寄存器,数据通信仅通过一条串行的输入输出口,实时时钟/日历提供包括秒分时日期月份和年份的信息。时间要能够显示年,月,日,时,分,秒,周,并且要具有闰年补偿功能,年,月,日,时,分,秒,周能够正常进位1.2 方案论证:方案一:利用数字电子电路的知识制作时钟,利用 74LS160 计数的简易数字控制电路,由 NE555 产生频率为 1HZ 的输入信号,经过 74LS48 译码由数码管显示。该方案实现起来有一定难度,特别是日期的显示,月份、年份信号难以选取,闹钟功能也较复杂,难以达到设计的要求,且该方案设计的时钟精度不高,灵活性较差。方案二:基于单片机来制作

6、电子时钟,其最大的好处就是可最大的调整时钟使其的准确度更高。所以根据设计要求为了得到更好的准确度且利于系统功能扩展,所以决定选择方案二作为本设计的基础方案。按照设计要求,初步确定设计系统由单片机主控模块、时钟模块、测温模块、电源及复位模块、显示模块、键盘接口模块共 6 个模块组成。各模块的选择论证如下:对于主控器件单片机的选择,如果用 8031 系列,由于它没有内部 RAM,系统又需要大量内存存储数据,因而不可用;51 系列单片机的 ROM 为 4K,对于我想要设计的系统可能有点小,这里我采用STC89C52,且与我的单片机学习板兼容,利于调试。加之它有 8K 字节在系统可编程 Flash 存

7、储器,可方便进行系统功能扩展而不必担心程序过大。时钟模块:时钟功能的实现有两种方案:一是用软件实现,直接用单片机的定时器编程以实现时钟;二是用专门的时钟芯片实现,编写程序把时间数据送入单片机,由单片机控制显示。比较两种方案,用软件实现时钟固然可以,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响计时的准确度,用专用时钟芯片可以实现准确计时。2 总体设计2.1.软件流程图图 1. 软件流程图为了是 LCD 上同时显示温度值和当前时间,程序开始先定义好引脚和数据地址等,然后初始化液晶,这时,单片机读取两芯片的数据,并经过单片机处理后送往 LCD 显示。2.2 硬件仿真图图 2. 硬件仿真

8、图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.具有

9、 64 个字节的自定义字符 RAM,可自定义 8 个 5X8 点阵字符或 4 个5X11 点阵字符。6.具有 80 个字节的 RAM。7.工作温度: 0 +60 ,存储温度: -20 +70由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。而DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912 位的数字值读数方式。DS18B20 的性能特点如下:(1) 独特的单线接口仅需要一个端口引脚进行通信;(2) 多个 DS

10、18B20 可以并联在惟一的三线上,实现多点组网功能;(3) 无须外部器件;(4) 可通过数据线供电,电压范围为 3.05.5V;(5) 零待机功耗;(6) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20 温度传感器的内部存储器还包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EERAM。高速暂存 RAM 的结构为 8 个字节的存储器我们采用 DS1302 作为主要计时芯片,主要为了提高计时精度,更重要的就是 DS1302 可以在很小的后备电源下继续计时,并可编程选择充电电流来对后备电源进行充电(这里选用 3000 微法的大电容作后备电源) ,可以保证

11、后备电源基本不耗电。单片机 STC89C52 是本系统的核心部分,它控制着数据显示、温度检测存储数据,报警控制等功能。根据以上各功能模块得到应用电路总原理图。3.2 软件系统的设计系统主程序首先对系统进行初始化,包括设置定时器、中断和端口;然后显示开机画面。由于单片机没有停止指令,所以可以设计系统程序不断地循环执行上述显示效果。由于采用了时钟芯片 DS1302,所以只需从 DS1302 各寄存器中读出小时、分钟、秒,年月日和星期再处理即可。在首次对 DS1302 进行操作之前,必须对它进行初始化,然后从 DS1302 中读取数据,再经过处理后,送给显示缓冲单元。调整时间用 3 个调整按钮,1

12、个作为功能选择用,另外两个做为加减用,分别定义控制按钮、加按钮、减按钮。在调整时间过程中,要调整的那位与别的位应该有区别,所以增加了闪烁功能,即调整的那位一直在闪烁直到调整下一位。闪烁原理就是让要调整的那一位,每隔一定时间熄灭一次,比如说50MS。利用定时器计时,当达到 50MS 溢出时,就送给该位熄灭符,在下一次溢出时,再送正常显示的值,不断交替,直到调整该位结束,此时送正常显示值给该位,再进入下一位调整闪烁程序主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量温度值,温度测量每 1s 进行一次,流程图如图 1.3.4。读出温度子程序的主要功能是读出 RAM 中的 9

13、个字节,在读出时需进行 CRC 校验,校验有错时不进行温度数据的改写。温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750 毫秒,在本程序设计中采用 1 秒显示程序延时法等待转换的完成。计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定。显示数据刷新子程序主要时对显示缓冲器中的显示数据进行刷新操作,当最高显示位为零时将符号显示位移入下一位。这个步骤完成后,就要对液晶显示屏操作了,操作之前必须对液晶显示屏进行初始化例如判断液晶显示屏的状态,进行清屏操作,然后赋初值,具体程序见相应的 C 函数。这一系列的工作完成后就可以让液晶显

14、示屏显示时间日期了。具体程序在 displaytime()中。 4 总结在 proteus 中仿真时,ds1320 和 ds18b20 能很好的工作,数据在经过单片机 89c52 的处理后,送入 lcd 进行显示,能很好的显示出来。进过这次实验,更好的理解了单片机 89c51 系列的良好性能。熟悉了 proteus 联合 keil 软件的功能参考文献1康华光,陈大钦. 电子技术基础模拟部分(第五版) M. 北京:高等教育出版社,20052皮文兵. 一种宽输入范围的 Gillbert 模拟乘法器设计J. 电子设计应用.2007.13(1):88-903 焦春生. 新型绿色能效 D 类音频放大器设计应用EB/OL.http:/ 4 张筑生. 微分半动力系统的不变集 D. 北京 : 北京大学数学系数学研究所, 19831.DS1302 中、英文资料5 DS1320 和 ds18b20 中文资料6范凤强. 单片机语言 C51 实战集锦

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

当前位置:首页 > 办公文档 > 其它办公文档

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