数字温度计设计报告毕业设计论文.docx
- 文档编号:9247668
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:44
- 大小:338KB
数字温度计设计报告毕业设计论文.docx
《数字温度计设计报告毕业设计论文.docx》由会员分享,可在线阅读,更多相关《数字温度计设计报告毕业设计论文.docx(44页珍藏版)》请在冰豆网上搜索。
数字温度计设计报告毕业设计论文
数字温度计设计报告
学校:
常州大学
院系:
信息与电子工程系
班级:
自动化141
姓名:
肖磊蒋金林
指导老师:
郑剑锋
时间:
2016年12月1日
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研 、各 个领域,已经成为一种比较成熟的技术 , 本文主要介绍了一个基于 89S51 单片机 的测温系统,详细描述了利用数字温度传感器 DS18B20和时钟芯片DS1302 开发测温系统和时间系统的过程 ,并且通过芯片AT24C02进行数据掉电保存。
重点对传感器在单片机下的硬件连接 ,软件编程以及各模块系统流程进行了详尽分 析,特别是数字温度传感器 DS18B20和时钟芯片DS1302 的数据采集过程 。
对各部分的电路也一一进 行了介绍,该系统可以方便的实现实现温度采集和时间显示,并可根据需要任意设定 上下限报警温度 ,更改当前时间。
它们使用起来相当方便 ,具有精度高、量程宽、灵敏度高、体积 小、功耗低等优点 ,适合于我们日常生活和工 、农业生产中的温度测量 ,也可以 当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20 、DS1302与 AT89C51 结合实现最简温度,时间检测系统 ,该系统结构简单 ,抗干扰能力强 ,适合于 恶劣环境下进行现场温度时间测量,有广泛的应用前景。
关键词:
单片机DS18B20 温度传感器 时钟芯片DS1302AT24C02AT89S52
目录
1 概述...................................................................................................................4
1.1 课程设计的意义 ..................................................................................4
1.2 设计的任务和要求 ..............................................................................4
2 系统总体方案及硬件设计 ..............................................................................5
2.1 数字温度计设计方案论证 ...................................................................5
2.1.1 方案一.........................................................................................5
2.1.2 方案二........................................................................................5
2.2 系统总体设计 ........................................................................................6
2.3 系统模块................................................................................................7
2.3.1 主控制器...................................................................................7
2.3.2 显示电路...................................................................................8
2.3.3 温度传感器................................................................................8
2.3.4时钟芯片 ..................................................................................
2.3.5掉电数据保存电路……………………………………………………………..
2.3.6报警温度调整按键 ....................................................................9
3 系统软件算法分析 .........................................................................................10
3.1 主程序流程图 .....................................................................................10
3.2 读出温度子程序 .................................................................................10
3.3 温度转换命令子程序 .........................................................................11
3.4 计算温度子程序 ................................................................................11
3.5 显示数据刷新子程序 ........................................................................11
3.6 按键扫描处理子程序 .........................................................................12
4 实验仿真.......................................................................................................13
5 总结与体会....................................................................................................14
参考文献 ..........................................................................................................15
附 1 源程序代码 ...............................................................................................16
1概述
1.1数字温度计基本功能
1、能数字显示被测温度,测量温度范围0℃~100℃;
2、分辨率不低于0.5℃
3、带有计时和时间显示功能;
4、至少有高、低两路限温控制输出接口控制外部电路,实际制作时可以发光二极管模拟显示其控制状态输出;
5、高、低两路限温控制点可在0℃~100℃范围内任意独立设置;
6、当温度达到高、低限温控制点发出声光报警。
扩展部分
1、提高温度测量精度,使分辨率不低于0.1℃;
2、自动顺时测量(测量间隔时间可调)并保存温度值和测量时间;
3、可以查询、回显存储器中自动测量的温度值和测量时刻;
4、多路温度巡检(至少两路)和多路温度、时间保存。
数字温度计框图
2 理论分析与计算
2.1 数字温度计设计方案论证
2.1单片机的选择:
方案1:
采用传统的STC89C52RC作为电机的控制核心。
单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。
方案2:
采用STM32F103ZET6微控制器(ARMcortexM3内核),还带有非易失性512kFlash程序存储器。
它是一种高性能、低功耗的32位CMOS微处理芯片,市场应用最多。
其主要特点如下:
512KBFlashROM,72M的主频,片内集成AD、DA,以及具有DMA、SPI总线。
方案3:
采用MSP430单片机,MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。
这些特点保证了可编制出高效率的源程序。
由于本系统对CPU运算速度要求不高,不需要执行很复杂的运算,加上成本上和队员各自的技术特点考虑,综合起来选STC89C52RC较适合本系统的要求。
2.2.温度传感器的选择
2.21. 方案一
由于本设计是测温电路 ,可以使用热敏电阻之类的器件利用其感温效应 ,在将随被测温 度变化的电压或电流采集过来 ,进行 A/D 转换后,就可以用单片机进行数据的处理 ,在显示 电路上,就可以将被测温度显示出来 ,这种设计需要用到 A/D 转换电路,其中还涉及到电阻 与温度的对应值的计算,感温电路比较麻烦 。
而且在对采集的信号进行放大时容易受温度的 影响出现较大的偏差。
2.2 2 .方案二
进而考虑到用温度传感器 ,在单片机电路设计中 ,大多都是使用传感器 ,所以这是非常 容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测 温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统 的再扩展,满足设计要求。
2.2方案选择
从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设 计也比较简单,故采用了方案二。
2.3温度时间显示模块:
2.31.方案1:
使用液晶显示屏显示时间温度数字。
液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点,但是液晶显示屏使用的温度范围很窄,正常工作温度范围为0℃~+55℃,存储温度范围-20℃~60℃。
2.32.方案2:
使用传统的LED数码管显示。
数码管具有:
低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度比较高,称重轻,精确可靠,操作简单。
但显示效果很差。
方案3:
使用彩屏(TFT)显示时间温度数字,彩屏显示屏幕较大,所需代码冗长,处理不方便。
由于试题上说明显示只能采用数码管显示,故采用传统的LED数码管显示。
三键盘模块:
方案1:
使用独立式键盘。
独立式键盘是指直接用I/O口线构成的单个按键电路。
独立式按键电路配置灵活,软件结构简单。
方案2:
使用矩阵式键盘。
矩阵式键盘是由行线和列线组成,按键位于行、列的交叉点上,行线、列线分别连接到按键开关的两端。
其特点是简单且不增加成本,这种键盘适合按键数量较多的场合。
由于考虑到本系统所需的按键的不多,并且为了简化程序,选择独立式按键。
电路与程序设计
主控制器STC89C52RC
STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟、机器周期和6时钟、机器周期可以任意选择。
主要特性如下:
●增强型8051单片机,6时钟、机器周期和12时钟、机器周期可以任意选择,指令代码完全兼容传统8051单片机。
●工作电压:
5.5V~3.3V
●工作频率范围:
0~44MHz。
●用户应用程序空间为8K字节
●片上集成512字节RAM
●通用I/O口32个,复位后为:
P1/P2/P3/P4是准双向口/弱上位,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
●ISP(在系统可编程)/IAP(再应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片。
●具有EEPROM功能
●具有看门狗功能
●共3个16位定时器/计数器。
及定时器T0、T1、T2
●外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
●通用异步串行口(UART),还可用定时器实现多个UART
●工作温度范围:
-40℃~+85℃(工业级)/0℃~75℃(商业级)
●PDIP封装
主控制器STC89C52RC电路图
温度探测单元:
DALLAS 最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。
DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
温度测量范围为-55~+125 摄氏度,可编程为9位~12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。
被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20 的性能特点如下:
●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
●DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
●DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
●适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电
●测温范围-55℃~+125℃,精度为±0.5℃
●零待机功耗
●测量结果直接输出数字信号,以“一线总线”穿行传送给CPU,同时可传送CRC校验位,具有极强的抗干扰纠错能力
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 以上特点使DS18B20非常适用与多点、远距离温度检测系统。
以上特点使DS18B20非常适用与多点、远距离温度检测系统。
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列、各种封装形式如图 4.2 所示,DQ 为数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
2
DS18B20温度传感器接线图
外部时钟电路:
系统采用DS1302时钟芯片,DS1302是美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小;数字显示是采用的液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒和温度等信息。
此外,该电子时钟还具有时间校准等功能。
DS1302的性能特性:
●实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较;
●用于高速数据暂存的31*8位RAM;
●最少引脚的串行I/O;
●2.5~5.5V电压工作范围;
●2.5V时耗小于300nA;
●用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;
●简单的三线接口。
时钟芯片DS1302与外围电路的连接:
与MCS-51单片机的接口是由3条线来完成的,MCS-51单片机的P1.0与时钟芯片的数据传输端I/O相连,P1.1用来作为DS1302输入时钟SCLK控制端,P1.2控制DS1302的复位输入端RST。
DS1302的X1和X2管脚外接标DS1302的复位引脚通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中置RST为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。
上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
外部DS1302时钟电路接线图
外部存储电路:
系统兼有时间温度显示功能,对工作数据要进行掉电保护,并需要再硬件上增加掉电检测电路,但存在电池不可靠及拓展存储芯片占用单片机过多口线的缺点。
采用具有I2C总线接口的串行EEPROM器件可很好的解决掉电数据保护问题。
系统采用AT24C01数据存储芯片。
AT24C01性能特征:
1、与400KHzI2C总线兼容;
2、1.8到6.0伏工作电压范围;
3、低功耗CMOS技术;
4、写保护功能当WP为高电平时进入写保护状态;
5、页写缓冲器;
6、自定时擦写周期;
7、1,000,000编程/擦除周期;
8、可保存数据100年;
外部AT24C01存储电路接线图
显示电路
设计主要使用数码管功能实现,显示部分硬件用8只数码管为显示管。
前四个显示温度,后四个显示温度。
这些数码管的共阴相连在一起通过在数码管的阳极加+5V电压或0V电压数码管形成不同的数字。
数码管性能特征:
1、低功耗CMOS技术;
2、a~p数码管段选;
3、A~D数码管位选;
4、低功耗CMOS技术;
数码管连线图
声光报警电路接线图:
按键功能:
A:
温度,高温报警,低温报警切换。
B:
报警值加一;
C:
报警值减一;
D:
返回到当前温度;
E:
时分之间切换;
F:
时分加一;
G:
时分减一;
系统软件设计
数字温度计的测量温度程序主要包括5个方面的内容:
一是单片机从DS1302中读取数据进行计数,二是利用按键进行时间温度上下限的调整,三是单片机中读取DS1302,EEPROM中的和DS18B20采集的数据在数码管上显示时间温度。
主程序流程图
主程序的主要功能是负责温度,时间的实时显示 、读出并处理 DS18B20 的测量的当前温度值,DS1302的时间。
初始化
读取温度,时间
读出温度值温度,时钟
时间,计算处理显示数
据刷新
发温度,时间转换开始
命令
调试显示子程序
结束
主程序流程图
3.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其流程图如图所示
发DS18B20的复位命令
发跳过ROM命令
发读取温度命令
读取操作,CRC校验
Y
9字节完N
Y
CRCN
校验正
移入温度暂存器
结束
读温度流程图
温度超出报警
读出温度超过上限值时,发出警报,读出温度低于下限值时,发出警报,通过按键更改温度上下限。
开始
报警
温度上限设置
温度超出
温度正常
温度下限设置
温度正常
温度超出
报警
读出DS1302时钟芯片的时间,在数码管上显示出来
4.测试方案与测试结果
4.1测试仪器
数字万用表、秒表、电吹风。
数字万用表主要用来测试分立元件的电阻、压降、漏电流、截止、导通状态等参数。
秒表用来测试时间的准确度。
电吹风用来测试温度的变化。
4.2测试方法:
先是硬件调试,温度传感器DS18B20能否正常工作,读出温度;时钟芯片能否正常计时,接着软件调试,最后是软硬件调试。
调试时可以采用逐个调试,先调试温度传感器,接着是时钟芯片,最后在整体调试。
4.3测试数据及结果分析
测试温度(ºC)
实际温度(ºC)
25
24.3
30
30.8
40
41.2
60
61.3
测试时间(t)
实际时间(t)
60
60
120
120
180
180
240
240
结果分析:
测试温度与实际温度存在着一定误差,误差不是很大。
猜测是周围环境对测得温度产生了影响,但是影响不是很大,可以忽略不计。
测试时间与实际时间之间不存在误差,达到了我们的要求。
5问题分析与解决方法
1问题:
进行硬件调试时,数码管显示的数字基本错误。
解决方法:
用万用表检查接线,发现数码管的8个段选,接错4位,重新焊接后显示无误。
2问题:
测温度时,数码管上显示乱码。
解决方法:
先用万用表检查接线,检查无误;接着检查程序,发现DS18B20管脚定义错误,经过改正后,能够正常显示温度。
3问题:
整体调试时,两个数码管虽能准确显示温度和时间,但是数码管不停的闪烁,在逐个调试时没有这个问题。
解决方法:
先是检查软件有没有弄错,检查无误,查阅资料才弄清原因。
因为数码管显示是通过人眼视觉暂留效果,得不停的刷新人眼才无法辨别出来,闪烁是因为刷新的速度比较慢,说明程序在一个周期里面执行的代码时间过长。
经过一些调整,只能进行优化,而不能彻底解决这个问题。
5 心得体会
通过本次设计,使我们对单片机的了解有了更加深一步,我发现只有动手做才会孰能技巧,还有对材料的整理和理解。
这次设计运用到的知识很多方面,尤其是单片机,像AT89C52,引脚多,硬件内部线路接通,所以用起来很方便,还有ds1302芯片与单片机之间的连接,以及如入使用ds1302,ds12b20芯片。
当然也要对这些元器件作相应调查。
主要就是电路原理图,还有对引脚的作用熟悉。
对于软件方面则是灵活运用单片机有关的程序语言,还有很多扩展功能,由于知识匮乏,但是理论知识还是比较详细的。
我们最大的成功之处是在这整个过程,动脑寻求解决一个一个问题的办法,对程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温度计 设计 报告 毕业设计 论文