单片机课程设计说明书题目:温度检测系统设计系部:专业:班级:学生姓名:学号:指导教师:年月日目录1 设计任务与要求 (1)1.1 设计任务 (1)1.2 设计要求 (1)2 设计方案 (1)3 硬件电路设计 (1)3.1 最小系统电路 (1)3.2 温度采集模块 (3)3.3 显示模块 (4)3.4 硬件总体仿真图 (7)4 主要参数计算与分析 (7)4.1 DS18B20的主要参数 (7)4.2 STC89C52RC的主要参数 (8)4.3 LCD1602的主要参数 (8)5 软件设计 (9)5.1 主程序流程图 (9)5.2 温度测量系统各子模块 (9)6 心得体会 (12)7 参考文献 (12)8 附录 (12)8.1 实物图 (12)8.2 元件清单 (13)8.3 C语言程序 (14)1设计任务与要求1.1设计任务设计一个温度检测系统。
1.2设计要求(1)用温度传感器18B20测环境温度,用LCD1602显示测量结果。
(2)用PROTEUS仿真。
(3)焊接电路板并调试运行。
2设计方案总体设计方案采用S T C89C52R C单片机作控制器,温度传感器选用DS18B20来设计数字温度计。
主控制器由单片机S T C89C52R C实现,测温电路由温度传感器DS18B20实现,显示电路由LCD1602液晶显示器直读显示。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。
该设计控制器使用单片机S T C89C52R C,测温传感器使用DS18B20,实现温度显示,能准确达到以上要求。
如图一所示。
图一总体设计方案3硬件电路设计3.1 最小系统电路单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统,对于51系列单片机来说,最小系统包括:单片机、时钟电路、复位电路。
如图二所示:图二最小系统电路3.1.1 时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
外部方式的时钟,RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
如图三所示:图三时钟电路3.1.2 复位及复位电路复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
RST引脚是复位信号的输入端。
复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。
若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
整个复位电路包括芯片内、外两部分。
外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。
复位操作有上电自动复位相按键手动复位两种方式。
复位电路如图四所示:图四复位电路3.2 温度采集模块3.2.1 温度传感器的选择DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
3.2.2 DS18B20管脚功能及接线方法管脚功能:GND为电源地、DQ为数字信号输入/输出端、VDD为外接供电电源输入端(在寄生电源接线方式时接地)接线方法:面对着平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁!同时,接反也是导致该传感器总是显示85℃的原因。
实际操作中将正负反接,传感器立即发热,液晶屏不能显示读数,正负接好后显示85℃。
另外,如果使用51单片机的话,那么中间那个引脚必须接上4.7K—10K的上拉电阻,否则,由于高电平不能正常输入/输出,要么通电后立即显示85℃,要么用几个月后温度在85℃与正常值上乱跳。
DS18B20管脚如图五所示。
图五 DS18B20管脚DS18B20与单片机的连接电路,如图六所示。
图六 DS18B20与单片机的连接电路3.3 显示模块3.3.1 LCD的选择LCD是一种工业型字符液晶,它能够显示32个字符(16列×2行),工作电压为3.3V或5V,对比度可自行调节,LCD的内部内部含有复位电路,用来提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。
由于LCD1602功耗低、体积小、显示多样,常用在微型仪表和低功耗应用中。
市面上字符液晶绝大多数是基于HD44780液晶芯片,LCD1602控制原理也基于HD44780。
LCD1602采用标准14脚(无背光)或16脚(有背光)接口。
3.3.2 LCD1602显示器的管脚功能LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表一所示。
表一 LCD1602显示器引脚说明图七 LCD1602管脚图第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:背光源正极。
第16脚:背光源负极。
液晶与单片机的连接电路如图八所示。
图八液晶与单片机的连接电路3.4 硬件总体仿真图本设计大体可分为三个部分,即CPU处理模块、温度采集模块、显示模块。
CPU 处理模块采用单片机STC89C52RC,包括时钟电路、复位电路;温度采集模块采用温度传感器DS18B20进行温度采集,通过P3.6管脚发送到CPU进行处理;显示模块采用16管脚的LCD1602,数据通过单片机的P2口传输到LCD1602,最终LCD1602将温度显示出来。
如图九所示。
图九硬件总体仿真图4主要参数计算与分析4.1DS18B20的主要参数(1) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2) 测温范围 -55℃~+125℃,固有测温误差(注意,不是分辨率,这里之前是错误的)1℃。
(3) 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。
(4) 工作电源: 3.0~5.5V/DC (可以数据线寄生电源)(5) 在使用中不需要任何外围元件(6) 测量结果以9~12位数字量方式串行传送(7) 不锈钢保护管直径Φ6(8) 适用于DN15~25, DN40~DN250各种介质工业管道和狭小空间设备测温(9) 标准安装螺纹 M10X1, M12X1.5, G1/2"任选(10) PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。
4.2STC89C52RC的主要参数(1) 增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051.[2]?(2) 工作电压:5.5V~3.3V(5V 单片机)/3.8V~2.0V(3V 单片机)(3) 工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作频率可达48MHz(4) 用户应用程序空间为8K 字节(5) 片上集成512 字节RAM(6) 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。
(7) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片(8) 具有EEPROM 功能(9)具有看门狗功能(10) 共3 个16 位定时器/计数器。
即定时器T0、T1、T2(11) 外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒(12) 通用异步串行口(UART),还可用定时器软件实现多个UART(13) 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)4.3LCD1602的主要参数显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm5软件设计5.1主程序流程图图十主程序流程图5.2温度测量系统各子模块5.2.1 DS18B20读取温度部分读温度值模块需要调用4个子程序,分别为:DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作DS18B20写字节子程序:对DS18B20发出命令DS18B20读字节子程序:读取DS18B20存储器的数据延时子程序:对DS18B20操作时的时序控制读温度值模块流程,如图十一所示:图十一读温度值模块流程DS18B20初始化子程序流程图,如图十二所示:图十二 DS18B20初始化子程序流程本系统中液晶显示器初始化程序流程,如图十三所示:图十三液晶显示器初始化程序流程6心得体会经过两周时间的努力,基于单片机的简易温度系统设计基本完成。