基于89C51温度报警器的设计.doc

上传人:wj 文档编号:4883635 上传时间:2023-05-07 格式:DOC 页数:23 大小:382KB
下载 相关 举报
基于89C51温度报警器的设计.doc_第1页
第1页 / 共23页
基于89C51温度报警器的设计.doc_第2页
第2页 / 共23页
基于89C51温度报警器的设计.doc_第3页
第3页 / 共23页
基于89C51温度报警器的设计.doc_第4页
第4页 / 共23页
基于89C51温度报警器的设计.doc_第5页
第5页 / 共23页
基于89C51温度报警器的设计.doc_第6页
第6页 / 共23页
基于89C51温度报警器的设计.doc_第7页
第7页 / 共23页
基于89C51温度报警器的设计.doc_第8页
第8页 / 共23页
基于89C51温度报警器的设计.doc_第9页
第9页 / 共23页
基于89C51温度报警器的设计.doc_第10页
第10页 / 共23页
基于89C51温度报警器的设计.doc_第11页
第11页 / 共23页
基于89C51温度报警器的设计.doc_第12页
第12页 / 共23页
基于89C51温度报警器的设计.doc_第13页
第13页 / 共23页
基于89C51温度报警器的设计.doc_第14页
第14页 / 共23页
基于89C51温度报警器的设计.doc_第15页
第15页 / 共23页
基于89C51温度报警器的设计.doc_第16页
第16页 / 共23页
基于89C51温度报警器的设计.doc_第17页
第17页 / 共23页
基于89C51温度报警器的设计.doc_第18页
第18页 / 共23页
基于89C51温度报警器的设计.doc_第19页
第19页 / 共23页
基于89C51温度报警器的设计.doc_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于89C51温度报警器的设计.doc

《基于89C51温度报警器的设计.doc》由会员分享,可在线阅读,更多相关《基于89C51温度报警器的设计.doc(23页珍藏版)》请在冰点文库上搜索。

基于89C51温度报警器的设计.doc

目录

1概述 4

1.1研究背景 4

1.2发展方向 4

1.3设计思想及基本功能 5

2总体方案设计 5

2.1方案选取 5

2.2系统框图 5

2.3总体方案设计 6

3硬件电路设计 6

3.1晶振电路 7

3.2复位电路 8

3.3键盘电路 9

3.4温度检测电路 9

3.5显示电路 11

3.6报警电路 12

4系统软件设计 13

4.1主程序软件设计 13

4.2键盘程序设计 14

4.3显示程序设计 16

5总结 20

参考文献 20

附录系统原理图 21

1.概述

1.1研究背景

温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。

随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。

 温度控制电路在工农业生产中有着广泛的应用。

日常生活中也可以见到,如电冰箱的自动制冷,空调器的自动控制等等。

1.2发展方向

现代信息技术的三大基础是信息采集控制(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。

温度控制器属于信息技术的前沿尖端产品,尤其是温度控制器被广泛用于工农业生产、科学研究和生活等领域,数量日渐上升。

进入21世纪后,温度控制器正朝着智能化、高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟温度控制器和网络温度控制器、研制单片测温控温系统等高科技的方向迅速发展。

在20世纪90年代中期最早推出的智能温度控制器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到2℃。

目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625℃。

为了提高多通道智能温控器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。

新型温度控制器的测试功能也在不断增强。

另外,温度控制器正从单通道向多通道的方向发展,这就为研制和开发多路温度测控系统创造了良好条件。

单片机系统是21世纪一项高新科技产品。

它是在芯片上集成一个系统或子系统,其集成度将高达108~109元件/片,这将给IC产业及IC应用带来划时代的进步。

目前,国际上一些著名的IC厂家已开始研制单片机测温系统,所以单片机控制下的温度控制器具有很好的发展空间。

随着电子技术的发展,特别是大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。

目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。

特别是其中的C51系列单片机的出现,由于它具有极好的稳定性,更快和更准确的运算精度。

以往,在实际测控系统中,多采用热敏电阻器或热电偶测量温度。

这种温度采集电路有时需要冷端补偿电路,这样就增加了电路的复杂性;而且电路易受干扰,使采集到的数据不准确。

把单片机应用于温度控制中,采用单片机做主控单元,无触点控制,可完成对温度的采集和控制的要求。

可以应用到电子仪表、家用电器和节能装置等诸多领域,使产品小型化、智能化、多功能化。

1.3设计思想及基本功能

本设计采用AT89C51单片机为主控制器、晶振电路、4*4矩阵键盘和DS18B20、LED数码管组成一个系统。

以实现对环境温度的实时检测(报警温度可以设置上下限)当温度高于或低于预设温度时可通过蜂鸣器进行报警。

2.总体方案设计

2.1方案选取

2.1.1方案一

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。

而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。

 

2.1.2 方案二

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。

 

从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。

2.2系统框图

2.3总体方案选取

温度计电路设计总体设计方框图如图  所示,控制器采用单片机AT89C51,温度传感器采用 DS18B20,用 4位 LED 数码管以串口传送数据实现温度显示。

3.硬件电路

3.1晶振电路

电路中的晶振即石英晶体震荡器。

由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。

通过基准频率来控制电路中的频率的准确性。

同时,它还可以产生振荡电流,向单片机发出时钟信号。

图3.1是单片机的晶振电路。

片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。

片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~24MHz之间选取。

C1、C2是反馈电容,其值在20pF~100pF之间选取,典型值为30pF。

本电路选用的电容为30pF,晶振频率为12MHz。

振荡周期=1us;

机器周期=12us

指令周期=24us。

XTAL1接外部晶体的一个引脚,XTAL2接外晶体的另一端。

在单片机内部,接至上述振荡器的反相放大器的输出端。

采用外部振荡器时,对HMOS单片机,该引脚接外部振。

在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。

一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。

但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。

这一特定频率就是石英晶体的固有频率,也称谐振频率。

石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。

通常,OSC的输出时钟频率fOSC为0.5MHz-16MHz,典型值为12MHz或者11.0592MHz。

电容C1和C2可以帮助起振,典型值为30pF,调节它们可以达到微调fOSC的目的。

图3-1晶振电路

3.2复位电路

复位操作是为了完成单片机内部电路的初始化,使单片机从一种确定的状态开始运行。

当AT89C51单片机的复位引脚RST出现2个机器周期以上,单片机就完成了复位操作。

如果RST持续为高电平,单片机就处于循环复位状态[1]。

 

复位通常有2种基本形式:

上电复位和开关复位。

上电复位要求要求接通电源后,自动实现复位操作。

开关复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。

本次采用的是常用的上电且开关复位电路,电路如3-2所示:

图3-2复位电路

上电后,由于电容充电,使RST持续一段高电平时间。

当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。

通常选择C=10~30μF,R=10~1000Ω。

复位操作使单片机进入初始化过程,其中包括使程序计数器PC=0000H,P0~P3=FFH,SP=07H,其它寄存器处于零。

3.3键盘电路

键盘在由单片机控制的温度报警器系统中的主要作用是通过按键向单片机输入指令,其中主要是输入控制温度的上下限,是人工控制单片机的主要手段。

在此温度报警系统设计中的键盘采用的是4×4矩阵键盘。

由于按键比较多,单独设置按键会增加总体设计的复杂性,而且为了减少所占用的端口,可以将按键组成一个矩阵,如图3-3所示。

图3-3键盘电路

3.4DS18B20温度检测电路

使用美国Dallas半导体公司的数字化温度传感器DS1820,支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。

全部传感元件及转换电路集成在形如一只三极管的集成电路内。

“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

现在,新一代的DS18B20体积更小、更经济、更灵活。

使你可以充分发挥“一线总线”的优点。

同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:

环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小

DS18B20产品的特点:

(1)、只要求一个端口即可实现通信。

(2)、在DS18B20中的每个器件上都有独一无二的序列号。

(3)、实际应用中不需要外部任何元器件即可实现测温。

(4)、测量温度范围在-55。

C到+125。

C之间。

(5)、数字温度计的分辨率用户可以从9位到12位选择。

(6)、内部有温度上、下限告警设置。

DS18B20内部结构[2]如图3所示:

存储和控制逻辑

高速暂存器

温度传感器

高温触发器TH

低温触发器TL

配置寄存器

8位CRC生成器

64位ROM和一线端口

供电方式

图3DS18B20内部结构

表1DS18B20功能命令表

命令

功能描述

代码

CONVERT

启动温度转换

44H

READSCRATCHPAD

读取温度寄存器

BEH

READROM

读DS18B20的序列号

33H

WRITESCRATPAD

将数据写入暂存器的第2、3字节中

4EH

MATCHROM

匹配ROM

55H

SEARCHROM

搜索ROM

F0H

ALARMSEARCH

报警搜索

ECH

SKIPROM

跳过读序列号的操作

CCH

READPOWERSUPPLY

读电源供给方式,0寄生,1外部电源

B4H

由于DS18B20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。

系统对DS18B20的各种操作必须按协议进行。

操作协议为:

初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

其电路简图如3-4。

图3-4温度检测电路

3.5显示电路

显示电路主要是用于显示时间。

采用LED数码管进行显示是因为LED数码管具有以下几个优点:

(1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。

(2)发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高。

(3)体积小,重量轻,抗冲击性能好。

数码管有共阴极和共阳极两种类型,其公共端主要进行位控制,笔画端则是进行字符控制,数码管有静态显示和动态显示两种方法,说明如下:

(1)静态显示驱动:

静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O进行驱动,或者使用如BCD码二—十进位器进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O多,如驱动5个数码管静态显示则需要5×8=40根I/O来驱动,要知道一个89C51单片机可用的I/O才32个。

故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。

(2)动态显示驱动:

数码管动态显示是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a、b、c、d、e、f、g、dp"的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。

透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。

本设计采用的是4位LED数码管的串行驱动电路来达到显示的目的。

驱动采用三极管驱动。

显示电路图如3-5所示。

图3-5显示电路

3.6报警电路

报警电路在用蜂鸣器报警,当P3.1口输出低电平时,蜂鸣器发出声响报警。

其电路图如3-6所示。

图3-6报警电路

4.系统软件设计

4.1总体流程图

4.2LED显示模块框图

显示程序就电路上电开始工作,数码管就显示当前所测到的温度值。

他的工作原理是,首先把单片机的百位送到数码管显示,P2.0口置位,在把十位送到数码管显示,P2.1口置位,在那个为送到数码管显示,P2.2口置位,最后把个位送到数码管显示,P2.3口置位,就一直这样工作。

4.3温度检测模块框图

DSl8B20必须严格按照单总线通信协议,以保证数据的完整性。

该协议定义了几种时隙类型:

初始化、应答、写1、写0、读1、读0。

除了应答时隙所有这些时隙都是有主机发出。

总线上所传输的所有命令和数据都是字节的低位在前。

(1)初始化时隙

复位时隙和应答时隙。

在初始化过程中,主机发送复位脉冲(最短为480μs的低电平信号)接着,释放总线并进入接收状态。

当总线被释放后上拉电阻将总线拉高。

DSl8B20在检测到总线的上升沿之后等待15-60us接着发出应答脉冲(低电平持续60-240μs)。

(2)读和写时隙

在写时隙期间,主机向DS18B20写入数据;而在读时隙期间,主机读入来自DS18B20的数据。

在每一个时隙,总线只能传输一位数据。

存在两种写时隙,即写1和写0。

主机在写1时隙向DS18B20写入逻辑1。

而在写0时隙向DS18B20写入逻辑0。

所有写时隙至少需要60μS,而且两次写l时隙之间至少需要lμS的恢复时间。

两种写时隙均以主机拉低总线开始。

产生写1时隙:

主机拉低总线后,必须在15uS内释放总线。

然后由上拉电阻将总线拉至高电平。

产生写0时隙:

主机拉低总线后,必须在整个时隙期间保持低电平(至少60μS)。

在写时隙开始后的15~60μS期间,DSl8B20采样总线的状态。

如果总线为高电,则逻辑1被写入DSl8B20;如果总线为低电平,则0逻辑被写入DSl8B20。

读时隙:

DSl8B20只能在主机发出读时隙时才能向主机传送数据。

所以主机在发出读数据命令后,必须马上产生读时隙,以便DSl8B20能够传送数据。

所有读时隙至少60μs,且在两次独立的读时隙之间至少需要1μS的恢复时间。

每次读时隙由主机发起,拉低总线至少1μS。

在主机发起读时隙之后,DSl8B20开始在总线上传送1或0。

若DS18B20发送1,则保持总线为高电平;若发送O,则拉低总线。

当传送0时,DSl8B20在该时隙结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。

DS18B20发出的数据在读时隙下降沿起始后的15μS内有效,因此主机必须在读时隙开始后的15μS内释放总线,并且采样总线状态。

4.4键盘扫描流程图

在操作按键时,无论是按下还是松开,触点在闭合和断开时均会产生抖动,此时逻辑电平是不稳的,如果得不到正确处理,可能会引起单片机对按键命令的错误执行。

解决这个问题的简单方法是利用软件延时。

在单片机处理按键操作后都延时5ms,如果确定是按键后再延时12ms,这样基本可以避免键盘的抖动。

然后由单片机进行键码分析,并执行相应的命令,显示并且返回。

按键设置采用了扫描法,要判断键盘中有无键按下时将全部行线Y0-Y3置低电平,列线置高电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

判断闭合键所在的位置时,在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:

依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

例如将单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。

列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线P1.0-P1.3设置为输入线,行线P1.4-P.17设置为输出线。

4根行线和4根列线形成16个相交点,这些交点即为键盘按键。

在单片机应用系统设计中,系统有两性能很大一部分取决于键盘处理程序。

在按键时按得快了没有反应,按慢了一连响应几次,总给人迟钝感,不能使人满意。

在该设计中用以下思路设计的键处理程序。

首先要判断有没有键值,若有键值,再判断是否为首次按下:

(1)若首次按下:

判断是否与上次按下的键值相同

a.若相同再判断:

是否已经按下了300ms?

1).若已经按下300ms则将此键做为连键处理。

2).若不是连键则判断:

是否按下20ms?

1>.若确认按下20ms,得到有效键值等待弹起

2>.若不是按下20ms直接结束处理(ret)。

b.若不相同则将标志清零结束处理(ret)。

(2)若不是首次按下:

将键值暂存起来,标志置位结束处理。

如果无键值,则判断是否有键值已被确认

(1)若有键已被确认:

判断按键是否首次抬起

a.若首次抬起:

判断抬起延时时间(20ms)是否到达

1>.若延时到则将标志处理结束处理。

2>.若延时未到直接结束处理(ret)。

b.若非首次抬起:

直接结束处理(ret)。

(2)若没有键被确认:

直接结束处理(ret)。

5总结

经过一周的资料查找和设计,我已完成了计算机控制的课程设计。

本文设计了温度报警系统,介绍了温度检测等控制器的硬件电路设计到软件设计的一系列步骤。

本设计采用89C51单片机作为控制芯片,辅助键盘和显示,实现了温度检测和报警的功能。

纵观整个设计系统,单片机使用了常用的AT89C51单片机,从而使整个控制芯片了如指掌。

熟悉的控制芯片设计起来也是得心应手。

所用芯片简单实用,减少了开发和硬件开销。

传感器部分使用的是DS18B20,直接检测温度的输入,不用模数转换,既方便又简单。

同时,由于设计的时间和能力有限,还有许多功能和技术没有充。

但是,一个完整的课程设计过程,让我掌握了单片机系统和电子操作软件等方面的知识,尤其是熟悉了用protel画电路原理图和用visio画程序流程图。

这使我在动手能力方面有很大的提升,也给今后更成功、完善的设计打下坚实的基础。

参考文献

[1]李建民.单片机在温度控制系统中的应用[N].湖北:

江汉大学学报,1996:

9.

[2]胡汉才.单片机原理及接口技术[M].北京:

清华大学出版社,1996:

5.

[3]邵敏权.单片机原理实验及应用[M].吉林:

吉林科学技术出版社,1995:

3.

[4]付家才.单片机控制工程实践技术[M].北京:

化学工业出版社,2004:

12.

[5]彭伟.单片机C语言程序设计实训100例[M].北京:

北京航空航天大学出版社,2010:

5.

[6]郭天祥.新概念51单片机C语言教程[M].北京:

电子工业出版社,2009:

1.

[7]谢光忠.温湿度只能数据采集控制系统的研制[M].北京:

人民教育出版社,2001:

8-9.

[8]周润景.基于PROTEUS的电路及单片机设计与仿真[M].北京:

北京航空航天大学出版社,2010:

1.

[9]宋启超.基于AT89S52的温度控制器的设计[R].黑龙江:

黑龙江工程学院学报,2007:

3.

附录系统原理图

课程程序

#include

#defineucharunsignedchar

#defineuintunsignedint

#definejump_ROM0xCC

#definestart0x44

#defineread_EEROM0xBE

sbitDQ=P2^4;//DS18B20数据口

sbitP20=P2^0;

sbitP21=P2^1;

sbitP22=P2^2;

sbitP31=P3^1;

unsignedcharTMPH,TMPL;

inti,TEMP_Result,temp_a,temp_b,temp_c,temp,h=300,l=200;

unsignedchartable_1[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};

unsignedchartable_2[]={0x02,0x9e,0x24,0x0c,0x98,0x48,0x40,0x1e,0x00,0x08};

/********************************************************************

*名称:

delay()

*功能:

延时函数

*输入:

*输出:

************************************************************

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2