DS18B20数字式温度计设计1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务书
———温度自动报警装置
二、技术指标
1、测温范围0—99.9℃
2、温度传感器可采用AD590,铂热敏电阻,DS18B20等,根据所选用的传感器,设计合理的测温电路。
3、3位数码显示,实时显示当前温度值。
4、键盘设置温度上、下限报警值,当温度到达设定值,蜂鸣器鸣叫报警。
三、要求:
1、绘制系统框图及电路原理图各一份
(1):表明所用集成电路的型号、引脚序号、功能
(2):标明所用集成电路的电源电压
(3):标明所有元器件的数值或取值范围
2、叙述整个系统工作原理
3、详细记录事实所遇到的问题及问题产生的原因,是如何解决的
4设计温度测试方案,记录测量结果,
开题报告
1 前言
单片机技术的成熟与发展,为仓储管理自动化提供了强有力的技术支持。
但目前的仓储管理系统一般技术比较落后、性能较差且很不完备,人工干涉多,操作使用不方便,有的还故障率高而不实用。
随着社会信息交流的日益加强和信息量的集聚增加,仓储管理部门越来越需要一套低成本、高性能、方便使用的仓库监控管理系统。
要求它具有立即捕捉警情并提供警情发生地的有关信息,系统马上对警情做出反应,迅速通知相关部门,可能的话还可立即对警情发生地实施控制。
本温度自动报警系统可以广泛应用于温度需要实时监控的场合。
由单片机巡回监视温度信号,当温度超过一定门限值时出现报警信号(LED 数码管显示当前温度值和报警点,蜂鸣器发出报警信号)。
2方案设计
2.1 功能描述
本温度自动报警系统主要有以下功能: ① 实时采集温度信号并显示
② 单片机对温度信号能够实时监控 ③ 能够设置报警温度上下限 ④ 能够自动实现鸣叫报警
2.2 系统组成
本温度自动报警系统主要由四部分组成:主控模块,采集模块,显示模块和报警模块。
其中:主控模块实现巡回监视温度信号的功能,采集模块实现温度信号的采集,显示模块实现温度值和报警点的显示,报警模块实现报警的功能。
系统框图如下所示:
2.4 芯片选择 2.4.1 主控模块
主控模块采用ATMEL 公司生产的AT89C51。
AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4K 的可反复擦写的FLASH 只读存储器和128 BYTES 的随机存取数据存储器,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。
AT89C51可以按照常规方法进行编程,也可以在线编程。
器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51
指
令系统,片内置通用8位中央处理器和Flash存储单元,其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
内置功能强
大的微型计算机的AT89C51提供了高性价比的解决方案。
⑴
2.4.2 采集模块
采集模块采用DALLAS半导体公司生产的数字化温度传感器DS18B20。
DS1820是世界上第一片支持"一线总线"接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
DS18B20也支持"一线总线"接口,测量温度范围为-55~125度,在-10~85度范围内, 精度为0.5度。
现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
其管脚排列如下: DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
可选更小的封装方式,更宽的电压适用范围。
DS18B20可以程序设定9~12位的分辨率,分辨率设定及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!⑶
2.4.3键盘模块
键盘模块用于设置温度的报警上下限。
键盘模块采用独立按键方式。
分别由单片机的三个接口驱动。
三个按键分别代表不同作用。
按键1用于状态切换(温度监控和上下限设定界面切换),按键2用于上下限设定时的增,按键3用于上下限设定时的减。
考虑到系统要求并不高,所以采用独立键盘,简单实用,降低了软件的要求,并且硬件电路复杂度也降低,安全可靠。
2.4.4 显示模块
显示模块采用直接用单片机接口P0.0~P0.7直接外界LED数码管显示。
因为考虑到系统简单,及程序的简单化,我们使用单片机接口驱动,灵活方便,减少了成本和硬件电路的复杂程度,易于修改和调试。
2.4.5 报警模块
报警模块为单片机P2.0驱动蜂鸣器,用于温度上限到达时,单片机驱动,提供报警。
蜂鸣器驱动,成本低,效率高,反映直观,易于工业级运用。
3 硬件电路设计
3.1 主控模块
单片机AT89C51是该模块也是整个电路的核心器件。
实现巡回监视温度信号。
当温度超过给定的门限值时出现报警信号(液晶显示器显示当前温度值和报警点,蜂鸣器和发光二极管发出报警信号)。
其中:P0口连显示模块,P1.7连蜂鸣器,P2.6连二极管。
单片机采用12M的晶振,并由电解电容和电阻构成上电复位电路。
其电路图如下:
3.2 采集模块
采集模块主要由温度传感器DS18B20实现温度信号的采集及A/D转换,可以将检测到的温度直接显示在数码管上。
其电路图如下:
单片机与传感器相连
3.3键盘模块
键盘模块用于设置温度的报警上下限。
键盘模块采用独立按键方式。
分别由单片机的三个接口驱动。
三个按键分别代表不同作用。
按键1用于状态切换(温度监控和上下限设定界面切换),按键2用于上下限设定时的增,按键3用于上下限设定时的减。
考虑到系统要求并不高,所以采用独立键盘,简单实用,降低了软件的要求,并且硬件电路复杂度也降低。
其电路图如下:
按键电路
3.4显示模块
显示模块采用直接用单片机接口P0.0~P0.7直接外界LED数码管,三极管驱动显示。
因为考虑到系统简单,及程序的简单化,我们使用单片机接口驱动,灵活方便,减少了成本和硬件电路的复杂程度,易于修改和调试。
其电路图如下:
3.5报警模块
报警模块为单片机P2.0驱动蜂鸣器,用于温度上限到达时,单片机驱动,提供报警。
蜂鸣器驱动,成本低,效率高,反映直观。
其电路图如下:
4 系统程序设计
4.1 软件任务分析
软件部分主要包括以下任务:
①温度传感器DS18B20的驱动,读写及温度转换程序
②温度显示程序(包括温度采样周期的设定)
③单片机巡回监视温度信号,将温度信号与限定值比较,判断是否报警
④单片机巡回扫描单片机按键1接口,判断是否进入界面更换,进入温限调制界面时按键1按键2分别控制增减
1)程序流程图如下:主程序流程图
2)读出温度子程序流程图
3)显示数据刷新子程序流程图
5)温度转换命令子程序流程图
5 调试及性能分析
5.1 硬件调试
由于经验不足,在电路板的调试过程中,有以下改动:
③在电路调试的过程中发现三极管不工作,用万用表测其引脚,发现自己把常闭和常开的引脚弄错了,于是割线重连。
5.2 软件调试
软件调试的过程比较麻烦,需要反复地烧写芯片,直到硬件设备和程序兼容为止。
首先我用显示小程序(让数码管直接显示321)测试电路,数码管可正常显示,说明电路是
通的。
接着我们把温度显示模块单独测试,数码管不能正常显示,不是黑屏就是只能显示个位。
反复测试过程中发现是显示部分时序有问题,因为温度传感器读写温度并进行AD 转换需要一定的时间。
于是我们在显示子程序中加长了延时时间,并加长了温度采样时间,问题从而得到解决。
最后测试报警模块,检测到超温后蜂鸣器报警,数码管可显示报警点和现场温度。
5.3 操作控制
本温度自动报警装置可以成功地实现现场温度采集并通过数码管显示,一位数码管显示状态(正常状态和报警状态),两位数码管显示当前温度(显示温度范围为00~99,温度采样周期设定为9秒)。
当温度超过给定的限定值时(设定为40度,可通过按键改动)会发出报警信号(蜂鸣器报警且数码管显示报警点)。
按键操作如下:按键1按下后,由实时监控的温度界面切换为上下限界面;在上下限设置界面下,按下按键1为设定温度增,按下按键2为设定温度减;再次按下按键1,温限设定完毕,回到监控界面。
5.4 数据测试
5.5性能分析
本温度自动报警装置可以成功地实现现场温度采集并通过数码管显示。
满足项目要求:
1、测温范围0—99.9℃
2、温度传感器采用DS18B20,根据所选用的传感器,设计合理的测温电路。
3、3位数码显示,实时显示当前温度值。
4、键盘设置温度上、下限报警值,当温度到达设定值,蜂鸣器鸣叫报警。
6 小结
在整个课程设计的过程中,让我成长了很多。
另外在软件反复地调试过程中,对自己编程的技能有了很大的提高。
但由于时间和人力的限制,该设计方案比较简易,功能方面也还不够完善。
因此在现有的基础上,还可以进行以下方面的改进:
(一)硬件部分的改进
在现有硬件的基础上可增设键盘和非易失性存储电路等,将装置改装成可编码型自动报警装置。
这样就给用户提供了很好的人机界面,可人为设置、更改温度报警值和报警号码。
(二)软件部分的改进
在单片机监控温度信号上采用的是查询方式。
查询方式使电路较为简单,但占用CPU资源,当CPU任务繁重时,该方案不可取,可采取中断方式以提高了CPU效率。
另外在温度采集周期设定上采用的是延时的方法,当对采样周期有精确要求时该方案不可取,应采取定时中断的方法。
本温度自动报警系统,虽然目前有些功能和性能还有待于进一步的完善和求精,但系统具有很好的可维护性和可扩展性。
随着时间的推移和软件设计工具、支撑环境的不断发展,系统性能也会随之进一步加强和完善,最终达到一个较理想的水平。
参考文献
⑴李朝青,单片机原理及接口技术,北京航空航天大学出版社,2003年,P11
⑵李刚等, 51系列单片机系统与应用技巧,北京航空航天大学出版社, 2003年, P47
⑶何希才,传感器及其应用实例,机械工业出版社,2004年, P9
⑷丁洪珍,通信电子电路,清华大学出版社,2005年, P12
⑸张蓬等,PROTEL DXP电路设计入门与应用,机械工业出版社,2005年, P3。