
1.课题的意义
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。单片机由于其微小的体积和极低的成本,而广泛的应用于家用电器、工业控制等领域中。多路温度采集系统是利用温度传感器DS18B20检测温度,并由单片机处理显示。
本设计利用ATC51单片机为处理器,结合温度采集电路、键盘电路、显示电路、报警电路等实现对多路温度的实时检测与显示。通过设计实物并调试,对系统存在的问题进行了分析和总结,并提出了改进措施。
2.课题的目的
多路温度采集报警系统设计,要求具有多路温度的采集、显示温度、上下限报警等功能。
课程设计目的:通过设计和实践,培养学生综合运用所学的理论知识、实践操作及解决实际问题的能力。使学生牢固掌握课堂中学到的电子线路的工作原理、分析方法和设计方法。学会电路的一般设计方法和设计流程,并应用这些方法进行一个实际的电子线路的系统设计。
3.技术要求:
(1)利用温度传感器(DS18B20)测量某三路的环境温度。
(2)测量范围为0℃~+100℃,精度为±0.1℃。
(3)用液晶进行实际温度值显示。
(4)当达到报警温度后,能够自动发出报警声。
4.要解决的问题:
(1)精确的测量温度,提高上下限报警的范围。
(2)当LCD液晶显示器接收到来自ATC51单片机传送来的温度信息后,分别显示了当前的温度。
一、实验方案的拟定
根据系统的设计要求,当温度传感器DS18B20把所测得的温度发送到ATC51单片机上,经ATC51处理,将把温度在显示电路上显示。当开机后,显示屏和计时器进行初始化设置。同时,本系统能够设置报警温度,在到达报警时间后能够通过LED发光二极管以及发音器提示报警。
利用ATC51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度。
系统框图如图1:
图1 系统框图
选择DS18B20作为本系统的温度传感器,选择单片机ATC51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。
当LCD液晶显示器接收到来自ATC51单片机传送来的温度信息后,分别显示了当前的温度。
二、基本概念和理论基础
(一)、器件的选用
1、单片机ATC51
ATC51作为温度测试系统设计的核心器件。该器件是INTEL公司生产的MCS—5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术。具有高性能的8位单片机,属于标准的MCS-51的CMOS产品。片内含8Kbytes的可擦写的只读程序存储器(EPROM)和256bytes的随机存取数据存储器(RAM),器件兼容标准的MCS-51指令系统。片内置通用8位处理器(CPU)和Flash存储单元。结合了HMOS的高速和高密度技术及CHMOS的低功耗特征。
其具有如下性质:
(1)与MCS-51 产品指令系统完全兼容
(2)4K字节可重擦写Flash闪烁存储器。
(3)寿命:1000写/擦循环。
(4)数据保留时间:10年。
(5)全静态工作:0Hz-24Hz。
(6)三级程序存储器锁定。
(7)128*8位内部RAM。
(8)32可编程I/O线。
(9)两个16位定时器/计数器。
(10)8个中断源。
(11)可编程串行通道。
(12)低功耗的闲置和掉电模式。
(13)片内振荡器和时钟电路。
ATC51单片机提供以下标准功能:4k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,ATC51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2、温度传感器DS18B20
DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
其具有9条特点:
(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。
(2)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(3)零待机功耗。
(4)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(5)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(6)用户可定义报警设置。
(7)报警搜索命令识别并标志超过程序限定温度的器件。
(8)结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
DS18B20作为新型的一线器件,能够方便的和中心处理器进行连接,并具有很大的扩展空间。温度范围较广,使得整体的测温范围能大幅度的上升,零待机消耗更是起到了节能的作用。利用用户能自定义报警设置这一特点,能够在实现报警功能上得到很大的便利,同时极强的抗干扰性能使得温度的检测更加准确,作为温度计最基本的要求,准确必须满足。这些好处使得DS18B20最终被选择。
3、1602LCD显示屏
由于设计中要求显示测试温度,因此显示屏首先要能够一次性容纳这些字符。工作电压不能太高,与单片机的连接方式需要简单,显示准确。本设计中采用的是1602型LCD液晶屏能够很好的满足这些要求。
此液晶属于工业字符型液晶,能够同时显示16x02即32个字符。LCD液晶显示器是一种低压、微功耗的显示器件,只要2~3伏就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示大量信息,除数字外,还可以显示文字、曲线,比传统的数码LED显示器显示的界面有了质的提高。在仪表和低功耗应用系统中得到了广泛的应用。
1602拥有很多出色的优点:
(1)显示质量高,由于液晶显示器的每一个点收到信号后就一直保持那种色彩和亮度恒定发光,因此液晶显示器的画质高而且不会闪烁。
(2)数字式接口,液晶显示器都是数字式的,和单片机的接口简单操作也很方便。
(3)功率消耗小,相比而言液晶显示器的主要功耗在内部电极和驱动IC上,因而耗电量比其他器件要小很多。
(二)、模块的设计
1、温度采集电路
温度控制电路主要运用到了DS18B20和ATC51。如何使两者连接实现功能是温度控制电路的主要设计目的。
在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。内部寄生电源I/O口线要接5KΩ左右的上拉电阻。这里采用的是第一种连接方法,如图2所示:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。
图2 温度采集电路
传感器数据采集电路主要指DS18B20温度传感器与单片机的接口电路。DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式考虑到实际应用中寄生电源供电方式适应能力差且易损坏,此处采用电源供电方式,I/O口接单片机的P2.4口。
2、显示电路
液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器件装配在一起的组件。
在显示电路中,VSS接地,VDD接5V正电源,VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,为了获得最佳对比度,VEE接地。
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
RS和R/W选用不同的高低电平,将影响寄存器的选择。
| RS | R/W | 操作说明 | 
| 0 | 0 | 写入指令寄存器(清除屏等) | 
| 0 | 1 | 读busy flag(DB7),以及读取位址计数器(DB0~DB6)值 | 
| 1 | 0 | 写入数据寄存器(显示各字型等) | 
| 1 | 1 | 从数据寄存器读取数据 | 
由于液晶显示器的功能是显示各字符,所以RS置高电平,R/W接地。8位双向数据线D0-D7与双向I/O口相连。
3、报警系统
利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过获高于所预设的温度时,数据口相应拉高电平,报警输出。而两个发光二极管直接和单片机的P3.6和P3.7相接,当温度大于100度时D1发亮,蜂鸣器报警,反之黄灯D2发亮。
至于报警电路,连接方式图3所示。
图3报警电路
4、总体电路
如图4为总体电路图:
图4 总体电路图
三、结论
在本次课程设计中,本人就采用了这种已经相当普及的方法设计了一个基于单片机和温度传感器的多路温度采集系统,并通过了软件仿真,最后得出了设计结果的可行性,设计过程中,首先,要对DS18B20做一个详细的了解,作为设计中一个重要的元件,要知道它的一般流程:初始化—ROM操作指令—存储器操作指令—数据传输。然后必须掌握它的每个端口的作用,并用单片机通过高低电平来控制它的工作过程,不一样的模块它的工作时序是不同,这里要通过软件正确的编写出读写时序,才能确保在测量温度的环节中不出问题。一个完整的系统同样也需要一个人机界面才能便于使用者读出数据,所以这里用到了lcd1602液晶屏,这个液晶屏的优点在于自带字库,且易于控制显示位置,基本上达到了设计的要求。
同时,在做整个课程设计的过程中,也遇到了诸多问题:
第一,液晶无法正常显示,会出现“鬼影”,通过改变3脚连接的电位器,和检查RS、RW、E三根引脚,解决了液晶显示问题。
第二,温度上下限报警范围在0℃~+50℃,难以继续扩大。
参考文献
[1] 李光飞.单片机课程设计实例指导.北京:北京航空航天大学出版社,2004:105-106.
[2] 余永权.ATMEL系列单片机应用技术.北京:北京航空航天大学出版社,2002:25-26.
[3] 张毅刚.单片机原理及应用.北京:高等教育出版社,2004:31-33.
[4] 李玉峰.MCS-51系列单片机原理与接口技术.北京:人民邮电出版社,2004:26-27.
[5] 陈明荧.8051单片机课程设计实训教材.北京:清华大学出版社,2004:28-30.
[6] 李全利.单片计原理及接口技术.北京:高等教育出版社,2004:117-149.
[7] 康华光.电子技术基础(模拟部分).北京:高等教育出版社,1999:444、446、455.
[8] 周航慈.单片机程序设计基础.北京:北京航空航天大学出版社,2003.
[9] 胡健.单片机原理及接口技术实践教程.北京:机械工业出版社,2004.
