单片机课程设计报告基于51单片机和LCD1602的温度检测系统_第1页
单片机课程设计报告基于51单片机和LCD1602的温度检测系统_第2页
单片机课程设计报告基于51单片机和LCD1602的温度检测系统_第3页
单片机课程设计报告基于51单片机和LCD1602的温度检测系统_第4页
单片机课程设计报告基于51单片机和LCD1602的温度检测系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计报告题目: 温度检测系统设计者1: * 负责任务:硬件与部分软件 专业班级/学号: 07应用电子(4)班 * 设计者2: * 负责任务:protel画板与部分软件 专业班级/学号: 07应用电子(4)班 * 指导教师1: * 指导教师2: *答辩时间: 2010-01-11 一、选题的背景1、说明选题的来源、意义和目的1.1、来源在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。温度无时无刻不在,同样也时时刻刻都在变化,为了让人们能更直观的看出此时此刻此地的实时温度,我就利用了单片机来完成这一功能。1.2、意义温度的检测与控

2、制在现代经济与社会中有举足轻重的地位,与我们的生活息息相关,密不可分,越发占有一席之地。例如在储粮仓库、智能楼宇、空调控制及其他的工农业生产和科学研究中应用广泛。在温度的检测与控制方面,ds18b20小型温度检测系统及其数字温度传感器有许多突出的优点,其通过单总线与单片机连接,系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度检测,因此对于我们来设计并研究基于ds18b20的温度检测系统有主要的现实意义,从一方面讲这不仅对于工农业的发展,更对于国防的巩固与建设起到重要的作用;另一方面,本设计能够在一定程度上提高自己的单片机开发能力。1.3、目的(1)本实验要实现的是通过ds18b20温度

3、传感器采集温度并在lcd上显示,并学会使用单片机控制ds18b20此类单总线器件,并对数字温度传感器ds18b0进行时序分析。 (2)更进一步了解lcd1602的应用。(3)掌握单片机与pc的远程通信。2、课题承担人员及分工说明*:(1)主要负责电路板的制作、焊接与调试。(2)电路的仿真。(3)温度主要程序的编写与调试。*:(1)protel画板,材料的收集。(2)串口的调试与程序编写。(3)vb界面的设计和上位机程序的编写。二、课题总体设计说明1、说明总体开发计划和课题所达到的功能目标和技术指标1.1、总体开发计划1.1.1、基本功能(1)以数字传感器ds1820作为前端采集温度,经过单片机

4、处理后,将外部的温度显示在液晶屏上。(2)可用通过独立式按键来设定温度的上限值和下限值,当坏境温度超过上限值或低于下限值时蜂鸣器会自动报警,并在液晶屏上提示温度大于上限值或温度小于下限值。(3)当单片机检测到ds18b20存在时会在在lcd1602上显示“ds18b20 succes”,反之则显示“ds18b20 is wrong,temp is no on”。1.1.2、扩展功能以数字传感器ds1820作为前端采集温度,经过单片机处理后,再通过串口通信,把实时温度值、上限值和下限值显示在用vb语言编辑的计算机软件的界面上并显示出实时温度的变化曲线,当实时温度超过所设定的上限值和下限值时会在用

5、vb语言编辑的计算机软件的界面上提示当前温度超过上限值或下限值,模拟实现设备与计算机的通信,通过计算机对设备的温度检测以及实时监控。1.2、课题所达到的功能目标和技术指标(1)能在lcd1602上准确的显示出实时温度;(2)独立式按键能设置报警温度的上限值、下限值和查看所设定的上限值、下限值;(3)当温度大于上限值或低于下限值时蜂鸣器会报警;(4)通过串口和pc机连接,能够把实时温度值、上限值和下限值显示在用vb语言编辑的计算机软件的界面上并显示出实时温度的变化曲线,当实时温度超过所设定的上限值和下限值时会在用vb语言编辑的计算机软件的界面上提示当前温度超过上限值或下限值。总之,课题所达到的功

6、能和技术指标与前期计划的一样。2、计划课题总体设计方案,比较几个备选方案,确定最终方案(1)本系统的温度检测有两套方案方案一:采用ad590,使用ad590作为温度传感器,需要进行电流电压变换,电压放大以及a/d转换。方案二:采用ds18b20作为温度传感器进行温度测量。ds18b20可以满足从-55摄氏度到+125摄氏度测量范围,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的ram中,单片机直接从中读出数据转换成十进制就是温度,使用方便。另外采用外加电源供电对ds18b20的vdd引脚供电。它的好处是无须mosfet,而且在温度转换期间总线可自由搭载其它器件。它试用于对性能要求不高

7、,成本严格控制的应用,是经济型产品。它具有线性好、精度适中、灵敏度高、体积小和使用方便等优点,得到广泛应用。因为ad590需要模拟转数字电路,精确度低,测温点数少对线阻有要求,电路繁多,成本也较高,故本系统采用方案二。(2)本系统的显示有两套方案方案一:数码管显示方案二:液晶显示采用1602字符型lcd,它是一种专门用于显示字母、数字、符号等点阵式lcd。其有显示质量高、数字接口、功耗低、体积小等优点。因为数码管只能显示数字和简单的字母,lcd可以显示字符,图形等,并能更形象的体现出字符与图像。故本系统采用方案二。(3)按键的选择方案一:行列式按键方案二:独立式按键独立式按键电路配置灵活,硬件

8、结构简单,但每个按键必须占用一根i/o口线。在按键数量较多时,i/o口浪费较大。故只在按键数量不多时,采用这种按键。因为本系统只用到4个按键且i/o口够用,所以采用方案二。(4)单片机的选择本系统采用了51单片机,其体积小巧,携带方便,价格便宜。且usb接口通讯及供电,通讯速度快,无须外接电源。 51单片机有一个全双工的串通信口,非常适合与电脑进行通信。三、硬件设计说明1、硬件总体设计方案1.1、硬件设计目标本系统中通过温度传感器ds18b20的数据线dq与主控芯片51单片机的p3.3相连接,ds18b20将采集到的数据送给单片机,经过单片机出来后,显示在8位数据线与单片机p0口的液

9、晶lcd上。蜂鸣器经过三极管9012的驱动后接到单片机的p3.7,来实现当实时温度大于下限或高于上限的报警。4个按键k1k4接到单片机的p1.0p1.4,来实现对上限值和下限值的查看与设定。串口经过max232的电平转换后r1 out和t1 in接到单片机的rxd与txd来实现与用vb语言编辑的计算机软件的界面间的通信。液晶lcd的rs、e分别接到单片机的p2.0p2.2来实现单片机控制液晶的读写命令和数据的控制。1.2、硬件功能模块划分主控芯片显示模块控制模块温度检测模块通信模块(1)at89s51:实现对整个系统的控制。(2)ds18b20、lcd1602:温度传感器ds18b20的数据线

10、dq与主控芯片51单片机的p3.3相连接,ds18b20将采集到的数据送给单片机,经过单片机处理后,显示在8位数据线与单片机p0口的液晶lcd上。(3)按键输入:对报警温度上限值th和下限值tl的设置。(4)串口通信:实现与与用vb语言编辑的计算机软件的界面间的通信。1.3、主控芯片和关键元器件的选型、接口和连接方式定义1.3.1、主控芯片和关键元器件的选型(1)主控芯片:at89s51(2)温度采集:ds18b20 (3)按键:独立式按键(k1k4)(4)显示:lcd1602(5)串口:通过max232与单片机的10脚11脚相连(6)报警:蜂鸣器1.3.2、接口和连接方式定义(1)液晶lcd

11、1602的数据和指令选择控制端rs接到单片机的p2.0,读写控制接到单片节的p2.1,数据读写控制位e接到单片机的p2.2,8位数据线db0db7接到单片机的p0口。(2)4个按键k1k4分别接到单片机的p1.0p1.3。(3)蜂鸣器接到单片机的p3.7。(4)ds18b20的dq接到单片机的p3.3.2、硬件单元设计(1)主控电路:实现对整个系统的控制(2)串口通信电路:串口经过max232的电平转换后r1 out和t1 in接到单片机的rxd与txd来实现与用vb语言编辑的计算机软件的界面间的通信。(3)液晶lcd1602、ds18b20电路:温度传感器ds18b20的数据线dq与主控芯片

12、51单片机的p3.3相连接,ds18b20将采集到的数据送给单片机,经过单片机处理后,显示在8位数据线与单片机p0口的液晶lcd上。(4)按键、蜂鸣器电路:按键k1用来查看所设置的上限温度th、下限温度tl和设置上限温度th、下限温度tl增加或减少的切换,k2用来设置上限温度th,k3用来设置下限温度tl和查看上限温度和下限温度的退出,k4是设置好上限温度和上限温度的确定键;蜂鸣器用来当实时温度大于th或tl的报警。四、软件设计说明1、软件总体设计方案1.1、软件设计目标(1)结构合理程序应该采用结构模块化设计。这不仅有利于程序的进一步扩充,而且也有利于程序的修改和维护。在程序编程时,要尽量使

13、得程序的层次分明。易于阅读和理解,同时还可以简化程序减小程序对于内存的使用量,当程序中有经常需要加以修改或变化的参数时,应该设计成独立的参数传递群序,避免程序的频繁修改。(2)操作性能好操作性能好是指使用方便。这点是、对数据采集系统来说是很重要的。在开发程序时,应该考虑如何降低对操作人员专业知识的要求。(3)系统应设计一定的检测程序例如状态检测利于诊断程序,以便系统发生故障时容易确定故障部位,对于重要的参数要定时存储,以防止因掉电而丢失数据。(4)提高程序的执行速度。1.2、软件功能模块划分子程序名标号参数读取温度子程序re_temp累加器a温度数据处理子程序set_data无按键扫描子程序p

14、_key无设定报警值th、tl子程序set_alarmr5菜单显示子程序lcd_print无显示信息区子程序look_alarm累加器alcd的第二行显示高温度子程序show_line2h30hlcd的第二行显示低温度子程序show_line2l30h温度值比较子程序temp_comp无显示高、温度及加热标记子程序temp_bj3r0、r1报警上下限写入暂存器子程序wr_thl无报警值拷贝到eerom子程序write_e2无报警值拷贝回暂存器子程序re_thl无处理温度bcd码子程序con_tempr4显示区bcd码温b度刷新子程序disp_bcd70h、71h、72h、73hds18b20复

15、位初始化子程序reset_1820无写入ds18b20子程序write_1820a读出ds18b20子程序read_182025h、26h、27h、28hlcd1602显示子程序set_lcd无lcd初始化子程序init_lcd无lcd显示子程序conv无写指令子程序wr_comm无写数据子程序wr_data无清楚lcd字符子程序clr_line无鸣响子程序spk_b2无延时子程序delay无显示“ok”信息子程序xs_s无显示“error”信息子程序xs_wrong无显示温度标记“c”子程序temp_bj无自定义字符子程序sect_datar3串口发送子程序send1无2、软件设计2.1、主

16、程序主程序首先设置堆栈为5fh,设置定时器工作方式t1为方式2,设置串口方式。接着开始启动定时器,调用lcd初始化子程序,调用ds18b20复位子程序去判断ds18b20是否存在,如果存在调用显示“success”子程序,接着调用上下限写入暂存器子程序,把eerom里的温度报警值拷贝回暂存器,调用读取温度子程序,调用处理显示子程序,调用实际温度值与标记温度值比较子程序,调用按键扫描子程序后返回到调用读取温度子程序;如果ds18b20不存在,则调用显示“wrong”信息子程序后返回到调用ds18b20复位子程序。(1)流程图(2)重要代码2.2、键扫描子程序按键扫描子程序首先判断按键k1是否按下

17、,如果按下就掉用鸣响子程序,接着判断k1是否放开,直到k1放开,存m-alax表,调用显示字符子程序,然后去判断k3是否按下,直到k3按下,调用鸣响子程序,调用显示“ok”信息子程序,最后放回;如果k1没有按下去判断k2是否按下,如果没按下就跳到返回,如果有按下就调用鸣响子程序,然后去判断k3是否放开直到k3放开才存ta1表,接着调用显示字符子程序,调用设定报警th、tl子程序,调用报警上下限写入暂存器子程序,调用报警值拷贝eerom子程序,最后跳到调用显示“ok”信息子程序。(1)流程图(2)重要代码2.3、lcd显示子程序lcd显示子程序开始先让lcd初始化,接着光标定位,显示字符,最后放

18、回。(1)流程图开 始lcd 初始化光标定位显示字符结 束(2)重要代码五、软硬件调试说明1、硬件性能测试(1)lcd 测试:通过单片机小系统将所需要的字符送给lcd,lcd能正常显示出所送内容,且lcd的亮度可调。(2)按键与蜂鸣器:通过单片机小系统使蜂鸣器受按键的控制,即按下按键蜂鸣器响,放开即停。(3)串口:先用串口调试助手,让单片机发出简单的字符,串口调试助手能正常接收到数据即可。再将串口与vb相连接。注意:串口硬件电路图的连接关键所在,首先串口是通过max232再与单片机连,在这max232的外围电路就相当重要,其外围要连接4个电解电容最好都用10uf的注意极性不要连反了。其次串口的

19、发送、接收要与max232的相对应。当然单片机的发送、接收也同样要与max232的相对应。最关键的是波特率的设置,单片机的波特率一定要与计算机的串口一样。(4)硬件调试时存在的问题:串口的pc_rxd与pc_txd接反,芯片mxa232的16脚没有接+5v的电源,15脚没有接地。(5)解决办法:查阅串口原理图连接的相关资料,修改电路板。(6)硬件的最终调试结果如下图1、图2、图3、图4所示。图1、当实时温度超大于限值时的报警图2、用串口与用vb语言编的界面相连接时当实时温度大于上限温度的报警图3、当实时温度超小于限值时的报警图4、用串口与用vb语言编的界面相连接时当实时温度小于上限温度的报警2

20、、软件性能测试(1)软件性能测试时用proteus将画好的仿真图调人用keil编译后的temp.hex文件,开始仿真,测试每个按键的功能是否以及实时温度和上下限报警是否与预期计划的一致。(2)软件性能测试结果如下图:(3)软件性能测试存在的问题:实时温度的百位数字一致闪烁。(4)解决办法:由于考虑平时的室温根本不会超过100摄氏度,做一将软件中的百位地址73h直接赋0。六、课题开发总结1、总结整个课题的任务完成情况,是否与预期规划的相符合,设计出来的作品性能如何、优缺点本系统完成的与预期计划相吻合,预期所有功能基本实现,作品性能好,突出的优点是本作品的硬件电路做的相当美观,且电路相当稳定,不仅

21、实现了lcd的显示同样也很好的在vb6.0人机界面上绘制出温度变化曲线,根据我们设定的上限报警温度和下线报警温度,判断当前温度有无高温报警或低温报警,如果温度超限,则给出相应的报警信息。并达到了远程功能。2、硬件宏观上的设计要点,达到的性能指标,存在的问题硬件的设计要点,达到的性能指标与计划预期的一样,没有存在什么问题,可以说此硬件做的相当完美。3、软件宏观上的设计要点,达到的性能指标、开发编译工具和方法、存在的问题(1)软件设计要点,达到的性能指标几乎达到计划预期的,在设计这个系统的过程还学会了串口调试工具。(2)整个电路的设计仿真过程中除了运用了单片机相关软件外还利用了以下软件multisim8:用于电路的设计与仿真串口调试助手与模拟串口:用于串口的调试与仿真vb6.0:用于数据的显示与显示温度变化的曲线protel:电路板的设计七、用户操作说明第一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论