电子系统设计与实践课程设计——多点温度测量(汇编语言+C语言版)
- 格式:docx
- 大小:299.73 KB
- 文档页数:33
单片机应用系统设计课题:多点温度测量系统的设计姓名:班级:学号:指导老师:日期:单片机复位报警点按键调时钟振荡时钟振荡主控制器显示温度传感一、设计的背景和意义温度测控技术在各个领域应用越来越广泛,同时温度测量也被人们所关注,人们对测试温度的仪器要求越来越高,要为人类工、科研、生活提供更好的设施,那就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
二、系统总体方案设计因为要用到温度传感器,所以在单片机电路设计中,大多都是使用传感,我们使用的是DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,可以满足设计的要求。
1、原理:(1)将 AD590 作为室温度传感器,当温度变化时,AD590 会产生电流的变化,经 OPA1 将电流转换为电压,由 OPA2 作为零为调整,最后由 OPA3 反相放大 10 倍。
(2)ADCO804 输出最大转换值=FFH(255)。
OPA3 为放大10 倍时。
则本电路最大测量温度为;最大显示温度为 5.1/10V=0.51V,即51°C(10 为放大倍数)。
255X=51,知 X=0.2,即先乘 2 再除 10。
FF→255→255ⅹ2→510,R4=0.5R3=10。
即D4=0,D3=5,D2=1,D1=0,本电路显示器只取D3、D2两位数。
(3)按下P2.1按钮,放开后立即进入温度设定模式,显示设定最高温度为34°C (建立在 TABLE 内)每按一次设定温度将减少 1°C,直至最低温度 20°C,再按一次回到 34°C。
(4)当室温高于设定温度,压缩机(P3.0)运转,使室温降低,当室温低于设定值时,压缩机停止运行。
(5)当进入设定温度模式,如末按下设定按钮(P2.1)经数秒后自动解除设定模式,回到室温显示模式。
(6)本程序以计时中断,每 50ms 中断一次,比较室温一次,而令压缩机运转和停止。
第一章 系统方案设计1.1 概述科学储粮是粮食生产的一个重要环节,若管理不当,粮食发霉或生虫会造成极大浪费。
粮库管理中最重要的问题是监测粮堆中的温度变化。
粮库一般由几十个甚至上百个由水泥或钢板构成的圆型仓组成,仓高20—30m 。
现在,我国在粮仓建设上已经实现规范化,但是监测手段一直未能实现同步现代化。
我国许多储备粮库每年都因测控设备的不完善而导致部分粮食霉变,许多大型储备粮库的测控设备仍需高价进口,因此国家准备在未来的几年内对全国所有的粮库进行翻新和改造工作,要求规范粮库管理,实现粮库管理现代化。
利用单片机技术对粮仓进行检控,用户可以方便地够造自己所需要的数据采集系统,在任何时候把粮仓现场的信息实时地传到控制室,管理人员不进入现场就可以按照所需的温度要求对粮仓内的温度情况进行控制,提高了生产效率,增强了粮仓内存储安全,获得了粮仓的实时管理,实现自动化,智能化。
1.2 系统方案框图该方案使用了AT89S52单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,采用多个温度传感器对多点温度进行检测,通过键盘模块对温度上限设置,超过其温度值就报警。
显示电路采用LCD1602模块,使用单片机直接驱动蜂鸣器构成报警电路。
它直接输入数字量,精度高,电路简单,只需要模拟DS18B20的读写时序,根据DS18B20的协议读取转换的温度。
此方案硬件电路简单,但程序设计复杂。
如图1.1所示:图1.1温度测量系统方案框图 温度传感温度传感温度传感温度传感键盘 单片机 LCD 液晶 报警电第二章工作原理2.1 检测原理本温度计大体分三个工作过程。
首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机。
然后,通过AT89S52单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。
最后,SMC1602A芯片将送来的值显示于显示屏上。
本电路主要由DSl8B20温度传感器芯片、SMCl602A液晶显示模块芯片和AT89S52单片机芯片组成。
设计一:多点温度报警系统一设计要求和目的1.集成温度传感器的介绍和了解,比较;2.A/D转换器工作原理的介绍和应用;3.AT89C51微处理器的介绍和使用方法;4.多点温度报警的实现原理;目的:根据新系统的逻辑模型建立模型,详细地确定新系统的结构和具体实施方案的过程,即解决“怎么干”。
通过实践,提高自己发现问题,分析问题,解决问题的能力。
能够用仿真软件对设计的系统进行仿真。
掌握多点温度报警的实现原理,A/D转换器工作原理。
二设计原理1各单元模块功能介绍及电路设计;单片机模块:控制整个系统的运行。
传感器模块:第一点:可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路。
第二点:可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
显示模块:显示电路采用2位共阳LED数码管,从P0口输出段码。
P2.6 P2.7输出位码。
控制数码管显示温度。
电路图如下所示:2.特殊器件的介绍;DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
TO-92封装的DS18B20的引脚排列见下图,其引脚功能描述见表1。
表1 DS18B20详细引脚功能描述1.独特的单线接口仅需要一个端口引脚进行通信;2.多个DS18B20可以并联在惟一的三线上,实现多点组网功能;3.无须外部器件;4.可通过数据线供电,电压范围为3.0~5.5V;5.零待机功耗;6.温度以9或12位数字;7.用户可定义报警设置;8.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9.负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
姓名:班级:学号:指导老师:日期:引言在粮库测温系统、冷库测温系统、智能化建筑控制系统、中央空调系统等多种系统中都需要多点温度测量系统。
因此,多点温度测量技术实现尤为重要。
美国Dallas公司推出的数字温度传感器DSl8B20,电源供电范围在3.0~5.5V;温度测量范围为-55~+125℃;具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在-10~+85℃温度范围内具有±0.5℃精度;用户可编程设定9~12位的分辨率。
以上特性使得DSl8B20非常适用于构建高精度、多点温度测量系统。
DS18B20简介DSl8B20是美国Dallas半导体公司推出的一种智能数字温度传感器。
与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过编程实现9~12位的数字值读数方式;可以分别在93.75ms和750 ms内完成9位和12位的数字量;从DS18B20读出信息或写入DS18B20信息仅需要1根口线(单线接口);温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
使用DS18B20可使系统结构更趋简单,可靠性更高。
1系统硬件设计由DS18B20和Atmel公司推出的单片机AT89C51以及相关外围电路组成的高精度、多点温度测量系统的结构框图如图1所示。
系统采用8片DS18B20构成小型温度传感器网络[3],通过并行连接方式连接至单片机的通用I/O端口。
单片机获得温度信息后,通过特定的算法,将处理后的温度信息通过LED显示出来,同时通过串行口送上位机处理。
DS18B20内部均有一个独立的64位序列号,单片机通过序列号可以对一条总线上的多支DS18B20进行控制,读取它们的温度。
但是,要完成这个操作,软件设计比较复杂,同时存在一个缺点——速度太慢。
无法适用于一些实时性要求高的测温场合。
所以本次设计采取一种利用单片机的并口,同步快速读取8支DS18B20的方法。
热电⼚多点温度检测系统设计与实现南昌⼯程学院毕业设计(论⽂)机械与电⽓⼯程学院系(院)电⽓⼯程及其⾃动化专业毕业设计(论⽂)题⽬热电⼚多点温度检测系统设计与实现(硬)学⽣姓名班级 09电⽓⼯程及其⾃动化(2)班学号指导教师完成⽇期2013 年 5 ⽉20 ⽇多点温度采集系统设计与实现(硬)Culti-point temperature gathering system design and realization forthe hardware总计毕业设计 (论⽂) 23 页表格 3 个插图 14 幅摘要本设计采⽤铂热电阻PT100温度传感器和单⽚机组成可靠性⾼、稳定性好和功耗低的热电⼚多点温度检测系统。
单⽚机采⽤AT89C51,由单⽚机和多个功能模块组成的系统对多点的温度进⾏实时检测。
本设计包括电源模块、单⽚机模块、温度采集模块、按键输⼊与显⽰模块和报警模块。
数据采集部分采⽤多路开关⽅式进⾏,利⽤热电阻设计了温度采集电路,为了满⾜⽣产中多通道的要求,设计了允许扩展的多路模拟数据采集通道。
单⽚机部分是进⾏数据采集的核⼼部分,⾸先它将选择某⼀通道模拟量数据再将其进⾏A/D转换,在得到A/D转换的结果后进⾏数据转换,进⽽将数据送⾄LED进⾏显⽰。
若温度超过报警上限则进⾏报警。
关键词: 多路温度采集温度传感器单⽚机AbstractThe design uses a platinum RTD PT100 temperature sensor and single-chip component, high reliability, good stability and low power consumption Cogeneration multi-point temperature measurement system. SCM AT89C51, by a microcontroller and a system composed of multiple functional modules for multi-point temperature in real time. This design includes a power module, microcontroller module, the temperature acquisition module, the key input and display and alarm modules. Data acquisition part of a multi-way switch manner, using the thermal resistance of the temperature acquisition circuit design, in order to meet the requirements of the production of multi-channel designed to allow expansion of multi-channel analog data acquisition channels. Microcontroller part is the core part of the data collection, it will first select a channel analog data and then it performs A / D conversion, the resulting A / D conversion result after data conversion, and then the data is sent to the LED display . If the temperature exceeds the alarm limit alarm.Key words:M ultiple temperature gathering;The temperature sensor;SCM⽬录摘要................................................................................................................. I ABSTRACT........................................................................................................ I I 第⼀章引⾔.. (1)1.1 选题背景 (1)第⼆章系统⽅案分析 (1)2.1 系统⽅案的分析和确定 (2)2.2 系统部分简介 (2)第三章系统硬件部分设计 (4)3.1 AT89C51简介 (4)3.1.1 AT89C51单⽚机的结构及特点 (4)3.1.2 I/O⼝的内部结构: (6)3.2 系统各部分电路的设计 (7)3.2.1 系统主控制模块电路设计 (7)3.2.2 电源模块电路设计 (8)3.2.3 测温传感电路 (9)3.2.4 模数转换电路 (13)3.2.5数码显⽰和按键输⼊电路 (17)3.2.6 系统报警电路 (18)3.2.7 8255A简介及⼯作⽅式 (18)3.3系统抗⼲扰设计 (19)3.3.1 接地⽅案 (19)3.3.2 电源去耦 (20)结语 (21)参考⽂献 (22)致谢 (23)附录南昌⼯程学院本科毕业设计(论⽂)第⼀章引⾔1.1选题背景温度是⼀个对⽣产和⽣活都⾄关重要的⼀个物理量,它会对影响燃烧、化学反应、烘焙、锻造、压强、密度、挤压成形、结晶和空⽓流通等物理及化学过程,对温度的控制⼀旦出现偏差就可能导致⽣产安全、产品质量、⽣产故障中断等⼀些连锁问题,故⽽对温度的的检测在⽣产中扮演越来越重要的⾓⾊。
单片机课程设计之多点温度测量系统的设计单片机应用系统设计课题:多点温度测量系统的设计姓名:班级:学号:指导老师:日期:单片机复位报警点按键调时钟振荡时钟振荡主控制器显示温度传感一、设计的背景和意义温度测控技术在各个领域应用越来越广泛,同时温度测量也被人们所关注,人们对测试温度的仪器要求越来越高,要为人类工、科研、生活提供更好的设施,那就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
二、系统总体方案设计因为要用到温度传感器,所以在单片机电路设计中,大多都是使用传感,我们使用的是DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,可以满足设计的要求。
1、原理:(1)将 AD590 作为室温度传感器,当温度变化时,AD590 会产生电流的变化,经OPA1 将电流转换为电压,由 OPA2 作为零为调整,最后由 OPA3 反相放大 10 倍。
(2)ADCO804 输出最大转换值=FFH(255)。
OPA3 为放大 10 倍时。
则本电路最大测量温度为;最大显示温度为 5.1/10V=0.51V,即51°C(10 为放大倍数)。
255X=51,知 X=0.2,即先乘 2 再除 10。
FF→255→255ⅹ2→510,R4=0.5R3=10。
即D4=0,D3=5,D2=1,D1=0,本电路显示器只取D3、D2两位数。
(3)按下P2.1按钮,放开后立即进入温度设定模式,显示设定最高温度为34°C (建立在 TABLE 内)每按一次设定温度将减少 1°C,直至最低温度 20°C,再按一次回到 34°C。
(4)当室温高于设定温度,压缩机(P3.0)运转,使室温降低,当室温低于设定值时,压缩机停止运行。
(5)当进入设定温度模式,如末按下设定按钮(P2.1)经数秒后自动解除设定模式,回到室温显示模式。
(6)本程序以计时中断,每 50ms 中断一次,比较室温一次,而令压缩机运转和停止。
中南大学微机应用系统设计与综合实验设计报告设计题目多路温度采集系统编程设计指导老师设计者学号专业班级设计日期目录第一章微机应用系统课程设计的目的意义1.1 设计目的1.2 课程在教学计划中的地位和作用第二章温度采集系统软硬件设计任务2.1 设计内容及要求2.2 实验设备2.3 课程设计的内容及要求第三章总体设计方案3.1 设计思想3.2 总体设计流程图第四章硬件设计4.1 硬件设计概要4.2硬件设计接线图4.3 所用到的芯片及其各自功能说明4.3.1 芯片列表4.3.2 8086的功能简介4.3.3 8254的功能简介4.3.4 AD0809的功能简介第五章实验结果5.1 汇编程序结果5.2 C语言程序结果第六章源程序代码6.1 汇编程序代码6.2 C语言程序代码第七章系统的调试与使用第八章收获、体会参考文献第一章微机应用系统课程设计的目的意义1.1设计目的《微机原理与接口技术》是一门实践性和实用性都很强的课程,学习的目的在于应用。
本课程设计是配合课堂教学的一个重要的实践教学环节,它能起到巩固课堂和书本上的知识,加强综合能力,提高系统设计水平,启发创新思想的效果。
通过本课程设计希望达到以下目地:培养资料搜集和汇总的能力。
培养总体设计和方案论证的意识。
提高硬件,软件设计与开发的综合能力。
提高软件和硬件联合调试的能力。
熟练掌握相关测量仪器的使用方法。
掌握相关开发软件,仿真软件的使用方法。
1.2课程在教学计划中的地位和作用现在计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧跟实际连接。
掌握这方面的知识更重要强调解决实际问题的能力。
该课程设计给我们提供了一个很好的机会,它要求我们结合课堂上和书本中学到的知识去独立设计一个硬件系统,它是我们迈向实践和应用的桥梁,我们学习书本上的知识是一个不断积累的过程,而该课程设计却使得我们能够尽情发挥他们,让我们更了解计算机的结构,工作原理以及软硬件的结合使用,虽然课程设计的时间比较短,但它却在整个教学计划中占据了及其重要的位置。
基于51单片机的多点温度测量系统设计
- 2 - 目录 第一章 摘
要…………………………………………………………………2 第二章 引言…………………………………………………………………2 第三章 DS18B20温度传感器相关介绍……………………………………3 3.1 DS18B20的特点………………………………………………3 3.2 DS18B20工作过程及时序……………………………………3 3.3 DS18B20结构图………………………………………………5 第四章 LED数码管介绍………………………………………
- 3 - ……………8 第五章 硬件的设计 …………………………………………………… 10 5.1温度采集模块………………………………………………11 5.2温度显示模块………………………………………………11 第六章 软件的设计…………………………………………………………12 6.1读18B20的ROM系列号程序………………….……..……12 6.2温度的转换与读取程序………………………………………17 6.3温度在数码管显示的程
- 4 - 序……………………………………23 第七章 心得体会……………………………………………………………26 参考资料……………………………………………………………27
第一章 摘要 本次课程设通过基于MCS-51系列单片
机SST80C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,
- 5 - LED数码管的使用,汇编语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技来掌握相关知识。
第二章 引言 在人类的生活环境中,温度扮演着极
其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。 在工农业生产中,温度检测及其控制
课程设计报告( 2010 —2011 年度第 2学期)题目:基于DS18B20的多点温度测量系统院系:姓名:学号:专业:指导老师:2011年 5 月 22 日目录1设计要求…………………………………………………………………………2设计的作用、目的………………………………………………………………3设计的具体实现…………………………………………………………………. 系统概述…………………………………………………………………….单元电路设计与分析………………………………………………………电路的安装与调试…………………………………………………………4心得体会及建议…………………………………………………………………心得体会……………………………………………………………………建议…………………………………………………………………………5附录………………………………………………………………………………6参考文献…………………………………………………………………………基于DS12B20的多点温度测量系统设计报告1设计要求运用DS12B20温度测量芯片实现一个多点温度测量系统,要求如下:(1).测量点为两点。
(2).测量的温度为-40~+40°C(3).温度测量的精度为±°C(4).测量系统的响应时间要小于1S。
(5).温度数据的传输方式采用串行数据传送的方式。
2 设计的作用、目的通过本设计可以进一步了解熟悉单片机的控制原理以及外设与单片机的数据通信方法,尤其是串行通信方法以及单片机与外设间的接口问题。
本设计旨在提高学生的实际应用系统开发能力,增长学生动手实践经验,激起学生学以致用的兴趣。
3设计的具体实现系统概述本系统分为温度采集模块、核心处理模块、控制模块和显示模块。
温度采集模块由DS18B20温度测量芯片构成,它负责测量温度后将温度量转化为数字信号,传输到数据处理模块;核心处理模块由AT89S52单片机组成,它负责与温度采集模块进行数据通信、对数据进行操作处理已经对各种外设的响应与控制;控制模块由几个按键组成,实现对测量点的选择以及电路复位的操作;显示模块由一块四位的八段译码显示管和驱动芯片组成,它的作用是显示测量的温度值。
多点温度检测系统设计目录摘要 (2)ABSTRACT (3)第一章绪论 (4)§1.1系统背景 (4)§1.2系统概述 (4)第二章方案论证 (4)§2.1传感器部分 (5)§2.2主控制部分 (6)§2.3系统方案 (6)第三章硬件电路设计 (7)§3.1电源以及看门狗电路 (7)§3.2键盘以及显示电路 (9)§3.2温度测试电路 (11)§3.3串口通讯电路 (15)§3.4整体电路 (16)第四章软件设计 (16)§4.1概述 (16)§4.2主程序方案 (16)§4.3各模块子程序设计 (18)第五章系统调试 (20)§5.1分步调试 (20)§5.2统一调试 (20)结束语 (21)参考文献 (22)附录一:软件流程图 (24)附录二:电路原理图 (25)致谢 (27)第1页共27 页多点温度检测系统设计多点温度检测系统摘要DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。
本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。
该系统由上位机和下位机两大部分组成。
下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89C51单片机和DALLAS公司的DS18B20数字温度传感器。
上位机部分使用了通用PC。
该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。
关键字:温度测量;单总线;数字温度传感器;单片机第2页共27 页多点温度检测系统设计AbstractAs a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's special 1-wire interface .This paper introduces the application of DS18B20 with single chip processor.The system is constituted by two parts the temperature measured part and displayed part. The temperature measured part has a RS232 interface. It used AT89C51 of ATMEL company and DS18B20 of DALLAS company .The displayed part uses PC .This system is applied in such domains as warehouse detecting temperature;air-conditioner controlling system in building and supervisory productive process etc.Key words:temperature measure;single bus;digital thermometer;single chip processor;第3页共27 页多点温度检测系统设计第一章绪论§1.1系统背景在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。
《电子系统设计与实践》课程设计报告课程设计题目:多点温度测量系统设计专业班级:2012级电子信息科学与技术学生姓名:罗滨志(120802010051)张倩(120802010020)冯礼哲(120802010001)吴道林(120802010006)朱栖安(120802010039)指导老师:刘万松老师成绩:2015 年6 月27日目录摘要 (4)1 总体设计 (4)1.1 功能要求 (5)1.2 总体方案及工作原理 (5)2 系统硬件设计 (6)2.1 器件选择 (6)2.1.1主要器件的型号 (6)2.1.2 AT89C51 (7)2.1.3智能温度传感器DS18B20 (9)2.1.4晶振电路方案 (9)2.1.5 LED液晶显示器 (10)2.1.6复位电路方案 (10)2.2 硬件原理图 (11)3 系统软件设计 (11)3.1基本原理 (11)3.1.1主程序 (11)3.1.2读ROM地址程序 (12)3.1.3显示ROM地址程序 (13)3.1.4读选中DS18B20温度的程序 (13)3.1.5显示温度程序 (14)3.2软件清单 (15)3.2.1汇编语言程序 (15)3.2.2 C语言程序 (24)4实验步骤 (29)4.1汇编语言程序调试 (29)4.2 C语言程序调试 (30)4.3实验仿真 (31)5设计总结 (32)6参考文献: (33)摘要温度是我们生活中非常重要的物理量。
随着科学技术的不断进步与发展,温度测量在工业控制、电子测温计、医疗仪器,家用电器等各种控制系统中广泛应用。
温度测量通常可以使用两种方式来实现:一种是用热敏电阻之类的器件,由于感温效应,热敏电阻的阻值能够随温度发生变化,当热敏电阻接入电路时,则流过它的电流或其两端的电压就会随温度发生相应的变化,再将随温度变化的电压或者电流采集过来,进行A/D转换后,发送到单片机进行数据处理,通过显示电路,就可以将被测温度显示出来。
这种设计需要用到A/D转换电路,其测温电路比较麻烦。
第二种方法是用温度传感器芯片,温度传感器芯片能把温度信号转换成数字信号,直接发送给单片机,转换后通过显示电路显示即可。
这种方法电路比较简单,设计方便,现在使用非常广泛。
关键词:多点温度测量单片机温度传感器1 总体设计多路温度测量系统的总体结构如图1所示,根据要求,整个系统包含以下几个部分:51单片机、时钟电路、复位电路组成的51单片机小系统;多块测温模块;显示温度值的显示模块和按键模块。
测温模块由温度传感器组成,温度传感器采用美国Dallas半导体公司推出的智能温度传感器DS18B20,温度测量范围为-55 -- +125,可编程为9到12位的A/D转换精度,测温分辨率可达0.0625C,完全能够满足系统要求。
DS18B20采用单总线结构,只需要一根数据线DQ即可与单片机通信,多个DS18B20可同时连接在一根数据线上与单片机通信。
显示器可采用LCD液晶显示器,显示信息量大、效果好、使用方便。
图1 多路温度测量系统的总体结构系统处理时,由51单片机控制从各个测温模块测量出温度数字量,存入缓冲区;然后通过按键控制,从缓冲区取出,根据数字量和温度的关系计算出温度值,依次送LCD显示器显示。
1.1 功能要求多点温度测量系统的功能要求如下:(1)能够测量多点温度;(2)精度0.1C;(3)能够通过显示器显示测量点编号和温度值;(4)可轮流显示各测量点或指定显示某个测量点。
1.2 总体方案及工作原理单片机系统由AT89C51单片机,复位电路和时钟电路组成,时钟采用12MHZ 的晶振,温度模块由4块温度传感器DS18B20组成,单总线结构,所有的DS18B20的DQ连接在一起与单片机的P3.0相连,通过上拉电阻连接电源,每一个DS18B20都有一个唯一的64位ROM地址,只要发送相应的ROM地址,就能够访问该器件,要访问某个DS18B20,就必须知道它的64位ROM地址,可以通过程序读出它的ROM地址,由于读ROM地址时,一次只能接入一个DS18B20,因此,4个DS18B20的数据线DQ通过开关连接到AT89C51的P3.0.另外,所有DS18B20的VDD引脚接+5V电源,GND接地;显示器采用LCD1602(LM016L),其数据线与AT89C51的P2口相连,RS与P1.7相连,R/W与P1,6相连,E端与P1.5相连。
设定了两个按键,K0为功能键,与AT89C51的P1.0相连,当K0输入低电平时,读入DS18B20的ROM地址,当K0键输入高电平时,显示选中DS18B20的温度值;K1为测量点选中键,与AT89C51的P1.1相连,用于测量点选择,每按一次,测量点号加1,读入下一个DS18B20的ROM地址或显示下一个DS18B20的相应温度值。
2 系统硬件设计2.1 器件选择2.1.1主要器件的型号2.1.2 AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-FALSH PROGRAMMABLE AND ERASABLE READ ONLY MEORY)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机,单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
其基本结构如图2图 2 AT89C51单片机的基本结构AT89C51 是一个低电压,高性能CMOS 8 位单片机,片内含8kB 的可反复擦写的Flash 只读程序存储器和256B 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51 指令系统及8052 产品引脚兼容,片内置有通用8 位中央处理器(CPU)和Flash 存储单元。
图3 AT89C51单片机的引脚VCC/GND:供电电源。
P0口:可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:标准输入输出I/O口,P1口管脚写入1后,被内部上拉为高,可用作输入。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口,管脚备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.1.3智能温度传感器DS18B20电路四个DS18B20分别接一个按钮开关,便于分别控制温度,DS18B20的VCC接口接入同一总线且与显示器VDD接口相连,DQ接口与AT89C51的P3.0接口相连,GND接地,如图4;图4 智能温度传感器原理图2.1.4晶振电路方案晶振电路的功能在于给单片机提供振荡时钟信号,使单片机正常工作。
本设计中采用了常用的晶振电路组成方案,具体如图5所示。
图5 晶振电路2.1.5 LED液晶显示器图6 液晶显示器2.1.6复位电路方案复位电路的功能在于对单片机进行复位从而达到对整个电路复位的功能。
要达到目的则要求在复位按键按下后在RST引脚上要出现一个维持2个机器周期高电平[4]。
考虑到可以利用电容的电压不能突变(需要一定的充放电时间),于是采用如下复位电路。
图7 复位电路2.2 硬件原理图图8 硬件原理图3 系统软件设计3.1基本原理多路温度测量系统的软件程序主要由主程序、读DS18B20模块ROM地址程序、显示DS18B20模块ROM地址、读DS18B20模块温度值程序、显示DS18B20模块温度值程序和LCD、DS18B20模块驱动程序等组成。
3.1.1主程序主程序的流程图如图9所示。
图9 主程序流程图在主程序中,首先对LCD初始化,其次通过检测按键,判断是读DS18B20模块的ROM地址还是读DS18B20模块的温度值,如果是读ROM地址,则依次调用读ROM程序和显示ROM程序;如果是读温度,则调用测量温度程序和显示温度程序,注意测量某个DS18B20模块之前,一定要读出该模块的ROM并保存到相应的存储单元。
3.1.2读ROM地址程序读ROM地址程序的流程如图10所示。
读ROM地址时,一次只能把一片DS18B20模块连接到单总线上,读ROM程序实现把当前连接到总线上的DS18B20的ROM 地址读出。
读ROM地址程序处理过程如下,先计算存放当前DS18B20模块ROM 地址的存储单元的偏移地址,然后依次是DS18B20初始化、发读ROM命令和读ROM地址到存储单元。
如图10 读ROM地址程序的流程3.1.3显示ROM地址程序显示ROM地址程序实现依次从当前存放ROM地址的缓冲区中取出地址显示,显示ROM地址程序的流程图如图11所示。
如图11 显示ROM地址程序的流程图3.1.4读选中DS18B20温度的程序读选中DS18B20温度的程序的流程图如图12所示。
读选中DS18B20模块温度值的处理过程分3个步骤,第一是向总线放启动温度转换命令,启动连接总线上的DS18B20模块温度转换,由于12位DS18B20温度转换时间比较长,所以启动转换后一定要调用延时程序等待转换完成后才能去读温度值;第二根据当前器件号取当前DS18B20器件的64位ROM地址,发送到总线匹配对应的DS18B20模块;第三向总线发读暂存器命令读匹配的DS18B20模块转换的温度值。