侯宪君
(天津工程职业技术学院,天津 300280)
基于单片机温度监测报警装置的设计实现
侯宪君
(天津工程职业技术学院,天津 300280)
温度是工业生产的重要参数,也是人们日常生活中的非常关注的问题。本文主要介绍基于AT89C51的温度监测及报警系统。此系统利用单片机芯片烧录程序,利用LCD显示器显示温度,以便实时监视温度,当超过设定的温度上限时会通过蜂鸣器发出报警信号。
单片机;AT89C51;传感器;蜂鸣器;LCD显示器
伴随着温度检测的理论和技术的不断发展,温度传感器的种类也越来多样化,在计算机系统中使用传感器,是能够将非电量转化成电量的传感器,目前在生活和工业生产中常用的有热电传感器、热电阻传感器以及半导体集成传感器等,每种传感器都有其自身特性,都有它自己的应用领域。随着单片机技术的迅速兴起与发展,它的稳定性、安全性、高效性、经济性等优点都十分突出,所以它的应用也十分广泛。
温度监测报警装置是把程序烧录到单片机芯片中,用才C语言设计的程序来设计并实现的。根据C51单片机的外围接口特点扩展成相应的硬件电路,以单片机的指令设计出温度监测相应的软件,再利用软件来执行一定的程序实现温度监测以及报警的功能。
本设计是利用AT89C51单片机为主控芯片,由LCD液晶显示屏、晶振、电阻、电容、开关等元件组成硬件电路,通过编写软件程序来实现和控制的温度监测报警装置。在本装置中具有更为先进的LCD液晶显示屏。
1.主控芯片AT89C51设计
本装置的主控芯片采用了目前较为流行的AT89C51芯片,AT89C51芯片主要由微处理器,存储器,I/O接口电路以及一些特殊功能的寄存器等部分组成。AT89C51的存储器在设计上分为程序存储器,数据存储器两个独立存储器,两个独立的存储空间,内部的程序存储器容量为4KB,内部的数据存储器为128个字节。AT89C51单片机的接口由四部分组成,都为8位的并行口,分别是P1口,P2口,P3口,P4口。并且单片机的每个接口都由输入驱动器,输出驱动器,接口锁存器,输入缓冲器,输出缓冲器。四个接口当中,只有P1口的功能比较单一,它只用做数据的输入输出接口。
在此单片机芯片中,它的接口共为32位,但是此单片机芯片的管脚共有40个,除了作为接口的管脚之外,剩下8个也都有各自的功能。例如:RST管脚是负责复位输入的管脚,与复位电路相连接,如果作为振荡器复位器件时,一定要保持RST管脚的两个机器周期高电平。XTAL1管脚负责反向震荡放大器的输入,也负责内部时钟工作电路的输入。XTAL2管脚负责反向震荡放大器的输出。上两个管脚与单片机的晶振电路相连接。在此芯片中,管脚标志为VCC的表示该管脚接电源正极,管脚标志为GND的表示该管脚接电源负极。
2.显示装置LCD1602
为了获得更好的效果本设计并没有采用常见的LED,而是采用了型号为LCD1602的液晶显示屏。LCD有LED数码显示更好的更的直观效果,也更加经久耐用。液晶显示模块体积小功耗低、显示内容丰富,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件之一了。本LCD是2行16列液晶 可显示2行16列英文字符,有8位数据总线D0-D7,RS,R/W,EN三个控制端口(共16线),工作电压为5V。
LCD1602的管脚说明如下:VCC:此为接电源正极;通常情况下采用5V电压。VL此为LCD的背光对比度调节。通常情况下会连接一个滑动变阻器,通过调节滑动变阻器的大小来调节LCD的背光。RS: MCU写入数据或者指令选择端。MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平。R/W:读写控制端。R/W为高电平时读取数据;R/W为低电平时写入数据。E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。D0-D7:8位数据总线,三态双向。如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4-D7接口传送数据。
采用C语言对单片机进行编程,控制外围器件,首先根据1602和18B20的芯片手册初始化相应寄存器,然后利用单片机内部定时器隔一定时间段读取一下温度,比较实时温度值与设定温度值,若超过设定温度上限值,则驱动蜂鸣器报警,同时LED灯闪烁,当温度下降到小于设定阀值之后,停止蜂鸣器报警和LED闪烁。
1.系统初始化
系统开启电源时,必须对AT89C51芯片和周围的各个模块对其初始化。首先应该从系统的主芯片入手,对AT89C51芯片进行初始化。根据系统原理,89系列的单片机接通电源时要启动复位,让主芯片和其他部件都能从初始化状态开始工作。这些都是硬件系统必须的初始化,同时也必须对软件进行一些初始化。
2.LCD1602程序设计
在编写代码时要根据LCD1602的时序图,按照单片机C语言的编写语法,就可以进行对LCD1602程序的编写。为1602写时序图对1602进行写操作驱动变成,1602写操作分为写指令和写数据,用RS信号进行控制,RS=0时,是写指令操作;RS=1时,是写数据操作。在系统启动并且需要LCD1602进行显示的时候,需要对LCD1602进行相应的初始化, LCD1602初始化程序如下图void init1602()所示。
图1 程序设计代码
在进行了LCD1602的初始化之后,就可以对LCD1602进行数据传输,继而进行显示。首先要进行的是写指令。在进行写指令之前,需要把LCD1602的数据传输口打开和关闭,需要把LCD1602的使能端打开和关闭。按照它的时序图编写,代码如图void write_con()所示。
3.DS18B20程序设计
DS18B20在设计上把温度监测和数字数据的输出集成到了一块芯片上,这样芯片的抗干扰性能就变得非常强。DS18B20在每一次进行温度的读取之前都会进行非常严密精确的处理,但它的硬件又比较简单,所以就需要控制器对其进行严格的控制,DS18B20也以控制器对其严格的控制为标准,才进行正常的数据输入,数据输出。
DS18B20在进行工作的时候,首先对DS18B20进行复位,其实叫做复位,但实际上就是由控制器给DS18B20一个低电平信号。在其接到低电平信号后会返回给控制器一个存在脉冲。此时,DS18B20与控制器达成了一个基本的协议,可以进行通信。然后双方就可以进行通信,首先控制器会发送一个ROM指令。ROM指令共有五条,在每一个机器周期会发送一条ROM指令。ROM指令的长度为8位。接下来,控制器会发送存储器操作指令,存储器操作指令为六条,每条依然为8位,同样是一个机器周期发送一条。实现代码如图void init18b20()所示。
本系统设计是基于单片机的芯片进行烧录程序,介绍了对温度的显示、控制及报警,实现了温度的实时显示及控制。控制部分,提出了用DS18S20、89C51单片机及LED的硬件电路完成对水温的实时检测及显示,利用DS18S20与单片机连接由软件与硬件电路配合来实现对加热电阻丝的实时控制及超出设定的上限温度的报警系统。
[1]汪文,陈林.单片机原理及应用[M].湖北:华中科技大学出版社,2007.
[2]宋礼国.温度报警器的硬件设计[J]. 中国科技博览,2009,(01).
[3]马庆勇,吴中明.基于单片机的电子温度计控制电路[J].电子科技,2009,(03).
[4]邢小杰.单片机温度报警器设计[J].中国科技博览,2009,(04).
[5]康华光.电子技术基础数字部分[M].北京:高等教育出版社,2008.
The Design and Implementation of the Device Using the Temperature of the Single-Chip Microcomputer(SCM) to Monitor and Alarm
HOU Xian-jun
(TianjinEngineeringVocationalandTechnicalCollege,Tianjin, 300280)
Temperature is an important parameter of industrial production and also of great concern in people’s daily life. This paper mainly talked about the monitoring and alarm system based on the temperature of AT89C51. This system used the chip record program of the single- chip microcomputer(SCM) and the temperature on the LCD display so as to monitor the temperature in time, when it exceeds the set limit the alarm signal will be sent through the buzzer.
single-chip microcomputer(SCM); AT89C51; sensor; buzzer; LCD display
2014-07-04
侯宪君(1977-),男,天津市人,天津工程职业技术学院,讲师,学士,软件技术专业教师。
TP399
A
1673-582X(2015)02-0044-03