基于单片机的电热水壶控制系统的设计_第1页
基于单片机的电热水壶控制系统的设计_第2页
基于单片机的电热水壶控制系统的设计_第3页
基于单片机的电热水壶控制系统的设计_第4页
基于单片机的电热水壶控制系统的设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——基于单片机的电热水壶控制系统的设计

基于单片机的电热水壶控制系统的设计

摘要

本论文设计介绍了MCS-51系列单片机为控制芯片,对电热水壶工作进行控制的方法。通过电加热电路对水进行加热,并对水的温度进行采样,采样信号通过ADC0809将数字量送入单片机系统,经微机处理后,结合键盘控制实现LED显示,并可实现对水的温度的控制和超过水温的报警系统。

单片机控制热水壶的硬件构成包括8051芯片、8255芯片、地址锁存器等组成的单片机控制电路、温度检测电路、A/D转换电路、光电隔离电路、键盘及显示电路和温度加热电路。整个系统的关键电路是单片机控制电路,完成信号的输入和输出的转换,即可将温度检测电路采样的输入信号通过A/D转换器ADC0809进行处理加工后输出到显示器进行显示,并可以通过控制器控制温度,同时当水加热超过指定的温度以后,蜂鸣器工作报警。

关键字:单片机;温度控制;控制器

I

Basedonthesinglechipmicrocomputercontrolsystemdesignofelectricheatingkettle

Abstract

ThethesisintroductsthemethodofusetheseriesofMCS-51one-chipcomputerwhichisthecontrolchiptocontroltheworkofkettleheatwithelectricenergy.Throughelectricheatedcircle,thewaterwillbeheated,thensamplethetemperatureofthewater.ThesamplingsignalwillsetthemimictothesystemofsinglechipcomputerthroughADC0809,afterisprocessedbythecomputerandcontrolledbythekeyboard,itwillbeshowedbyLEDmonitor,atthesametime,thesystemcancontrolthetemperaturebeyondthesetting,thesystemofalarmwillrun.

Thehardwareoftheone-chipcomputercontrolsthethermoswhichincludes8051chips,8255chips,one-chipcomputercontrolcircuitthataddresslatch,etc.makeuptemperature-measurecircuit,circuitischangesbyA/D,light-electricityandisolationcircuit,keyboardandshowscircuit、temperatureheatedcircuit.Thekeycircuitofthewholesystemisacontrolcircuitofone-chipcomputer,finishtheinputandoutputofthesignalconversion,canmeasuretemperaturesampledsignalofinputcircuitwhichwilldealwithafterprocessingthensettodisplayandshowtogoontooutputtingthroughA/DconverterADC0809,andcancontrolthetemperaturethroughthekeyboard,afterheatingandexceedingdesignatedtemperatureinwater,atthesametime,thebuzzerissoundsoastoalarm.

Keywords:one-chipcomputer;temperaturecontrol;controller

II

目录

摘要IAbstractII1绪论11.1电热水壶选题目的11.2电热水壶的研究意义11.3电热水壶的发浮现状11.4电热水壶的设计方法22热水壶控制系统总体概述32.1热水壶的设计方案32.2MCS-51单片机控制系统的总体介绍32.3总体方案论证43电热水壶控制系统的硬件设计53.1温度检测电路和A/D转换器的电路53.1.1AD590温度传感器概述53.1.2温度检测电路63.1.3A/D转换器电路原理和电路接口图73.2单片机8051芯片介绍和主要电路93.2.1MCS-51单片微机8051引脚介绍和接口电路93.2.2振荡电路和时钟电路113.2.3单片机的复位电路123.2.4中断优先级133.2.574LS373地址锁存器芯片介绍143.38255输出口扩展153.3.18255的引脚介绍15

III

3.3.28255与8051的外部接口电路163.4单片机的抗干扰电路173.4.1光电隔离抗干扰的简介173.4.2光电隔离器的原理电路183.4.3光电隔离的电路183.5键盘及显示电路193.5.1键盘输入特点193.5.2按键接口电路的消抖措施203.5.3矩阵键盘的概述213.5.4LED显示原理及显示方式223.5.5系统应用243.6加热电路和报警装置243.6.1加热电路243.6.2报警装置254单片机的软件设计264.1总的程序设计框图264.28255的程序设计264.2.18255的程序的初始化264.2.2对端口C的置位/复位274.3键盘和显示接口电路程序设计274.3.1键盘和显示器的程序设计27结论29致谢30

使用便利性也进一步提高。由于需求旺盛,电热水壶产品也出现了好多新的型式,例如壶身和电源底座可以相互分开,壶身可360度旋转,可以从任意方向取放的无线水壶;无线水壶中又有发热管为隐蔽式,加热方式为电磁涡流式,以及功能上更加贴近喝茶使用的泡茶壶等新型产品。近些年,电水壶厂家将自己列为水家电产品厂家,之所以在行业中有这样的转变,不仅由于电水壶厂家生产的产品切切实实与水有关的产品,还有一个重要原因是,电水壶厂家不单单将水加热,还有将水进行过滤。之所以把这个功能加进来,是由于考虑到现在的水污染问题比较严重,自来水里存在着除不掉的重金属、农药等残留物,及漂白粉本身的味道。还有北方地下比较硬,简单结水垢,带有;净水功能的电水壶是在里面加了一个滤芯,可将其中的重金属,农药残留物滤掉,让消费者能够饮用到更加健康的水。从功能上来看,带有净水功能的电水壶可以避免饮水机最为头痛的二次污染司题。

1.4电热水壶的设计方法

MCS-51系列单片微机具有很强的功能,使用范围广,既可构成功能很强的繁杂系统,也可组成较简单的应用系统[3]。

目前,单片机在家电,工业生产等领域的应用十分广泛,为了适应不同产品对单片机的不同要求,半导体生产厂家生产出了各种规格的单片机。本文介绍了一种以MCS-51系列单片机为控制芯片,对电热水壶工作进行控制的方法。

温度检测电路由热电偶、运算放大器,温度传感器AD590等组成,直接输出电流(1μA/K)经运算放大器LM358进行I/V转化后,可得到电压输出,输出电压为100mV/℃,经A/D转换通道送到微处理器中。

A/D转换一般都设置在前向通道中,它将外界输入的模拟信号转换成计算机数据总线能接受的数字量。工程上常用的隔离方法有光电隔离器、变压器、继电器和集成组件等,而光电隔离器有独特优点得到广泛应用[4]。由于该器件是通过电——光——电这种转换来实现对输出设备进行控制的,彼此之间没有电气连接,因而起到隔离作用,隔离电压与光电隔离器的结构有关。

2

2热水壶控制系统总体概述

2.1热水壶的设计方案

对于常规的电热水壶,只要接通电源,就开始加热,直到水沸腾后通过蒸汽来产生声音报警[5]。这种设计有下面几个方面的不足:

(1)如水壶中没水,电源误接通时也会一直加热,简单引起事故。(2)当只需要加热到沸点以下某一温度时,不能及时给出声音报警信号。(3)当水加热沸腾后不能自动中止工作。

针对以上不足,在本设计方案中,用MC-51单片机作为控制芯片,管理整个电热水壶的工作状况,构成了一个闭环控制系统,而且增加了三个按键和六位数码管显示。它的工作状况和常规的热水壶相比,有下面几个方面的特点[6]:

(1)有三个按键,可用来设置希望加热到的温度即报警的温度。上电复位后,设置温度初值为20度,每按一下按键,温度设置值就会增加1度,整个温度设置值在20—100度之间循环。

(2)这个按键还具有启动电热水壶开始工作的作用。当每次电源接通后,只有按键按下过之后,电热水壶才开始加热,这样,可以防止电源误接通时电热水壶一直加热,引发事故。

(3)当加热到设置温度时,单片机遇控制中止加热,并通过蜂鸣器给出声音提醒。(4)三位数码管在设置温度操作时显示当前设置的温度,另三位数码管其余时间实时显示电热水壶中水的实际温度。

2.2MCS-51单片机控制系统的总体介绍

单片机控制热水壶的硬件构成包括8051芯片、8255芯片、地址锁存器等组成的单片机控制电路、温度检测电路、A/D转换电路、光电隔离电路、键盘及显示电路和温度加热电路。整个系统的关键电路是单片机控制电路,是整个控制的核心,完成信号的输入和输出的转换,即可将温度检测电路采样的输入的信号通过A/D转换器ADC0809进行处理加工后输出到显示器进行显示,并可以通过键盘对温度进行控制,如此同时当水加热超过指定的温度以后,蜂鸣器工作报警,并对其中部分电路编制子程序,以及相应的软件设计,硬件设计的总电路连接框图如下图2-1所示。

3

图2-1硬件设计的总电路连接框图

2.3总体方案论证

此题目是设计制作一个水温控制系统,要求能在20℃--100℃范围内设定控制水温,并具有较好的快速性和较小的超调,以及LED显示等功能。根据题目的要求,我们提出了以下的两种方案:

方案1:此方案是采用传统的二位模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度值比较后,决定加热或者不加热。由于采用模拟控制方式,系统受环境的影响大,不能实现繁杂的控制算法使控制精度做得教高,而且不能用数码显示和键盘设定。

方案2:采用单片机8051为核心。采用了温度传感器AD590采集温度变化信号,A/D采样芯片将其转换成数字信号并通过单片机处理后去控制温度,使其达到稳定。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。

比较上述两种方案,方案2明显的改善了方案1缺点,并具有控制简单、控制温度精度高的特点,因此本设计电路采用方案2。

4

3电热水壶控制系统的硬件设计

3.1温度检测电路和A/D转换器的电路

3.1.1AD590温度传感器概述

AD590是一种二端式的集成温度传感器,引脚图如图3-1所示。

图3-1AD590引脚图

其主要技术参数有[7]:

(1)测温范围为-55~+150℃。

(2)工作电压为+4~+30V,由于AD590是一种恒流源形式的温度传感器,只需在其二端加上一定工作电压则其输出电流随温度变化而变化,其线性电流输出为1μA/℃,即温度每变化1℃,其输出电流变化1μA;它以热力学温标零点作为零输出点,因此在25℃时,其输出电流为298.2μA。

(3)精度:经过激光平衡调整,AD590的校准精度可达+和-0.5℃,全温区范围线性度可达+和-0.3℃(AD590M)当其在10℃温区范围内校正后测量,精度可达+和-0.1℃,在全温区范围内(-55~+145℃)使用,精度也可高达+-1℃。

由于AD590是一种电流型的温度传感器,因此具有较强的抗干扰能力,适用于计算机进行远距离温度测量和控制,远距离信号传递时,可采用一般的双绞线来完成,其电阻比较大,因此不需要缜密电源对其供电,长导线上的压降一般不影响测量精度;不需要温度补偿和专门的线性电路。

5

3.1.2温度检测电路

在介绍温度检测电路之前,首先要说明一下电源转换电路。电压经过四个二极管两两导通整流滤波后,再经过电压转换芯片7805就可以将原来交流220V的电压转换成直流电压为+5V,即可以得到报警电路和温度检测电路所需要的电压值,电源转换电路如图3-2所示[5]。

图3-2电源转换电路

温度检测电路由温度传感器AD590等组成,直接输出电流1μA/K,输出电压为100mV/℃,经运算放大器LM358进行I/V转化后,再经A/D转换通道送到微处理器中,R6、R5、R2用于相互协同调理温度测量的满刻度值,温度检测电路如图3-3所示。

图3-3温度检测电路

6

当传感器AD590所处温区发生1℃的温度变化时,流过其所在回路的电流即产生1μA的变化,则其输出电压的变化为:

ΔV0=1μA/℃*100KΩ=100mV/℃(3-1)

AD590的输出电流值说明如下:

其输出电流是以绝对温度零度(-273℃)为基准,每增加1℃,它会增加1μA输出电流,因此在室温25℃时,其输出电流Io=(273+25)=298μA。Vo的值为Io乘上10K,以室温25℃而言,输出值为2.98V(10K×298μA)。量测Vo时,不可分出任何电流,否则量测值会不准。AD590的输出电流I=(273+T)μA(T为摄氏温度),因此量测的电压V为(273+T)μA×10K=(2.73+T/100)V[8]。

在本论文中通过温度集成器AD590对外部-55~+150℃范围内的温度进行采样,在AD590的两端分别接地和接电源,得到一定的压差,因此会得到相应的工作电压,其输出电流会随温度变化而变化。电流1μA/K其输出电压为100mV/℃,经运算放大器LM358进行I/V转化后,再送入A/D转换电路中进行模数转换,经过微处理器处理即可送到LED显示器显示温度。

3.1.3A/D转换器电路原理和电路接口图

A/D转换一般都设置在前向通道中,它将外界输入的模拟信号转换成计算机数据总线能接受的数字量。在前向通道必需配置A/D转换电路时,首先考虑的是能否选用带有A/D的单片机,本论文中无法选择单片机片内有A/D部件,则必需在前向通道中配置A/D接口。要选择好的A/D转换器芯片,选择A/D转换芯片的原则从转换精度、转换速度、模拟信号输入通道数以及成本、供货来源等全面考虑。选择不同的A/D转换芯片,与单片机的接口电路要求不同,必需依芯片对控制电路的要求设置,接口电路必需满足这些要求。一般来说,A/D转换芯片输入的模拟电压都有规定的要求,如0~+5V,0~+10V,0~+2V等,因此要考虑到传感器输出信号与之匹配[9]。

(1)A/D转换器的引脚说明:

ADC0809是CMOS集成电路8位单片A/D转换器,其引脚图如图3-4所示。双列直插28引脚封装。片内有8路模拟开关、模拟开关的地址锁存与译码电路、比较器、256R电阻T型网络、树状电子开关、逐次迫近寄放器SAR、三态输出锁存,缓冲器、控制与时序电路等。

7

图3-4ADC0809引脚图

IN0——IN7:8路输入通道的模拟量输入端。

A、B、C口:8路模拟开关的三位地址输入端,用来选择8路模拟输入的一路进行A/D转换。

ALE:地址锁存允许。ALE有效将三位地址A、B、C锁存到地址锁存器中。START:为启动控制输入端。它与ALE可以接在一起,当通过程序加上一个正脉冲便马上开始A/D转换。

EOC:转换终止信号输出端,高电平有效。在此输出端供给一个有效信号则开启三态输出锁存缓冲器,把转换后的结果送至外部数据线。

COLCK:时钟输入端。CLOCK为600kHZ时,转换时间位100us。D0——D7:8位数字输出段。Vcc:电源输入端。GND:接地端。

(2)A/D转换的连接电路及应用

由图3-5所示,可以看出ADC0809时钟CLK由8051ALE信号提供,ALE信号频率为f/6。用地址线低8位A0、A1、A2(P0.0~P0.2)接0809的A、B、C三端用来对8路

8

模拟通道进行选择。EOC经非门与8051INT1相接,0809与8051采用中断方式联络,外部中断1服务子程序读A/D转换结果,并启动下一次转换。0809启动条件为

START?WR?P2.6,因此启动时,应用写指令(使WR=1),并且要保证地址线P2.6=0,

其端口地址为DFFFH。ADC0809转换器将信号进行模数转换,再将数字信号传入8051进行微处理,通过LED显示温度。在由于A/D0809具有锁存的TTL三态输出,它的八条数据线和8051的八条数据线相连,采用线性选址法,其口地址为DFFFH。通道地址A,B,C由数据总线DB0,DB2,DB2提供。A,B,C地址线上的信息由ALE上升沿打入地址锁存器74LS373。

图3-5A/D转换的连接电路

3.2单片机8051芯片介绍和主要电路

3.2.1MCS-51单片机引脚介绍和接口电路

单片机引脚图及引脚功能如图3-6所示。

单片机的40个引脚大致可分为4类:电源、时钟、控制、和I/O引脚[10]。电源:(1)VCC–芯片电源,接+5v;(2)VSS–接地端;时钟:XTAL1、XTAL2–晶体振荡电路反相输入端和输出端。控制线:控制线共有4根

(1)ALE/PROG:地址锁存允许/片内EPROM编程脉冲

9

ALE功能:用来锁存P0口送出的低98位地址

PROG功能:片内有EPROM芯片,在EPROM编程期间,此引脚输入编程脉冲(2)PSEN:外ROM读选通信号(3)RST/VPD:复位/备用电源

RST(Reset)功能:复位信号输入端VPD功能:在Vcc掉电状况下,接备用电源

图3-651单片机引脚图及引脚功能

(4)EA/Vpp:内外ROM选择/片内EPROM编程电源

EA功能:内外ROM选择端

Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源VppI/O线

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚,P3口还具

有其次功能,用于特别信号输入输出和控制信号(属控制总线)。

10

单片机的片外总线结构图如图3-7所示。

图3-7单片机的片外总线结构图

由上图可以看到,单片机的引脚除了电源、复位、时钟接入、用户I/O口外,其余管脚都是为了实现系统扩展而设置的。这些引脚构成了MCS-51单片机片外三总线结构:

(1)地址总线(AB):地址总线宽度为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供低8位地址(A0~A7);P0口直接提供高8位地址(A8~A15)。

(2)数据总线(DB):数据总线宽度为8位,由P0口提供。控制总线(CB):由四根独立控制线RESET、EA、ALE、PSEN组成。

3.2.2振荡电路和时钟电路

振荡电路和单片机内部的时钟电路一起构成了单片机的时钟方式,根据硬件不同,连接方式分为内部时钟方式和外部时钟方式。

MCS-51单片机芯片内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器,这是MCS-51单片机的内部时钟方式[11]。本论文中重点讲到的是外部时钟方式,外部时钟方式电路图如图3-8所示。

11

图3-8外部时钟方式电路图

由上图我们可以看到引脚XTAL2就是内部时钟发生器的输入端。因此,只需将外部振荡器的信号接至引脚XTAL2,而把内部反相放大器的输入端XTAL1引脚接地。寻常接的外部信号一般为频率低于12MHZ的方波信号。另外,由于XTAL2端的规律电平不是TTL的,故还需要接一个上拉电阻。

3.2.3单片机的复位电路

(1)复位电路的复位类型

寻常单片机复位操作有上电复位、信号复位、运行监视复位。在本论文里主要用到的是上电复位和开关复位的组合。

(2)主要复位电路

上电复位和开关复位组合电路:在单片机系统设计过程中,经常会使用上电复位和手动复位,最常用的上电复位和开关复位组合电路如图3-9所示:

在这两种简单复位电路中,干扰简单串人复位端,在大多数状况下,不会造成单片机错误复位,但会引起内部某些寄放器错误复位。这时可在复位引脚上接一个去耦电容。假使应用现场干扰严重,或整个系统干扰严重,引起单片机复位,可采用屏蔽的方法解决,如加屏蔽网或移动位置等。

12

图3-9上电复位和开关复位组合电路

在实际应用系统中,为了保证复位电路可靠地工作,常将RC电路接施密特电路后再接入单片机复位端,特别适合于应用系统现场干扰大,电压波动大的工作环境,抗干扰上电复位如图3-10所示。

图3-10抗干扰上电复位

3.2.4中断优先级

8051单片机提供了5个中断源,其中两个中断源,由INT0、INT1输入;I/O设置中断请求信号,或掉电故障等异常事件中断请求信号都可作为外部中断源连INT0、INT1。两个为片内的定时器/计数器溢出时产生的中断请求(用TF0、TF1做标志);另外一个为片内串行口产生的中断请求(TI或RI)。这些中断请求源分别由MCS-51的特别功能寄放器TCON和SCON的相应位锁存[12]。

MCS-51的中断具有两级优先级,每一个中断源都可以通过对中断优先级寄放器IP中的相应位置或清0,编程为两级中断中的任一级——高优先级和低优先级,置1为高优先级,清0为低优先级。低优先级可以被高优先级所中断,但不能被另一个低优先级中断所

13

中断。高优先级中断不能被任何中断所中断。为了实现这些规定,中断系统中设有两个不可寻址的优先级状态触发器,其中一个用来指出正在服务于高优先级中断,并阻止其他所有中断的响应。另一个则指出正在服务于低优先级中断,并阻止除高优先级中断以外的其他中断的响应。

当同时接受到几个优先级一致的中断请求时,则由内部查询次序来确定响应哪一个中断请求。因此,在每一个中断级中又有其次类查询次序的中断优先级结构。处理器响应中断时,先置相应的优先级状态触发器(该触发器指出CPU开始处理的中断优先级别)然后执行一个硬件子程序的调用使控制转移查询次序如下:

(1)IE0(外中断INT0)最高优先级0003H(2)TF0(定时器0溢出中断)000BH(3)IE1(外中断INT1)0013H(4)TF1(定时器1溢出中断)001BH(5)RI+TI(串行口中断)0023H(6)TF2+EXF2(定时器2溢出中断)最低优先级002BH

这种“同级内的优先级〞,仅用来解决一致优先级中断源同时请求中断的状况,而不能中断正在执行的同优先级的中断。

3.2.574LS373地址锁存器芯片介绍

由于MCS-51单片机的P0口是分时复用的地址/数据总线,因此在进行程序存储器扩展时,必需利用地址锁存器将地址信号从地址/数据总线中分开开来。

寻常,地址锁存器可使用带三态缓冲输出的八D锁存器74LS373或8282,也可以使用带清除端的八D锁存器74LS273,地址锁存信号为ALE。但用的最多的是74LS373,其结构图如图3-11所示:

当三态门的使能信号线OE为低电平日,三态门处于导通状态,允许1Q~8Q输出到OUT1~OUT8,当OE端为高电平日,输出三态门断开,输出线OUT1~OUT8处于浮空状态.G称为数据打入线,当74LS373用作地址锁存器时,首先应使三态门的使能信号OE为低电平,这时,当G输入端为高电平日,锁存器输出(1Q~8Q)状态和输入端(1D~8D)状态一致,当G端从高电平返回到低电平(下降沿)时,输入端(1D~8D)的数据锁入1Q~8Q的8位锁存器中。

当用74LS373作为地址锁存器时,它们的锁存控制端G和STB可直接与单片机的锁存

14

控制信号端ALE相连,在ALE下降沿进行地址锁存。

图3-1174LS373的结构图

3.38255输出口扩展

3.3.18255的引脚介绍

8255是可编程RAM/IO扩展器,片内有256*8位静态RAM,2个8位和1个6位可编程并行I/O接口,以及1个14位可编程定时器/计数器。还有地址锁存器和多路转换的地址/数据总线,可直接与MCS-51单片微机相连接[13]。因此还是MCS-51应用系统最适用的扩展器件,8255引脚图如3-12所示。

图3-128255的引脚图

15

AD0—AD7:三态地址/数据总线。连接CPU的底8位地址/数据总线。IO/M:RAM/IO口选择信号输入端。

CS:片选信号输入端,8255为CS,低电平有效。RD:读选通信号输入端。低电平有效。WR:写选通信号输入段。低电平有效。

RESET:复位信号输入段。高电平有效,并初始化3个I/O口为输入方式。PA0—PA7:A口的I/O线、I/O方向由命令字编程设定。PB0—PB7:B口的I/O线、I/O方向由命令字编程设定。

PC0—PC7:C口的I/O线,或A口和B口的状态控制信号线。由命令字编程设定。Vcc:+5V电源线。Vss:接地线。

8255片内256*8位静态RAM,在速度上与MCS-51完全匹配。当IO/M=0时,CPU对8255的RAM进行读写,寻址范围为00H—0FFH。

3.3.28255与8051的外部接口电路

8255与8051的外部接口电路如图3-13所示。

由下图可以看出8051通过地址锁存器与8255相连,8255的片选信号CS及口地址选择线A0、A1分别由8051的P0.7、P0.0、P0.1经地址锁存器74LS373后提供。故8255的A、B、C口及控制口地址分别为FF7CH、FF7DH、FF7EH、FF7FH。8255的复位端与8051的复位端相连,都接到8051的复位电路上[14]。必需根据外围设备的类型选择8255的操作方式,并在初始化程序中把相应控制字写入操作口。8255的编程如下:各端口地址是:A口地址:FF7CHB口地址:FF7DH

C口地址:FF7EH控制口地址:FF7FH

8255的工作方式可由CPU写入一个控制字到8255控制字寄放器来选择。方式控制字共有八位,D7位为置方式标志,有效为1,假设要求8255工作方式0,且A口作为输出,B口作为输出,C口作为输入,则可得控制字为81H。

16

图3-138255与8051的外部接口电路

3.4单片机的抗干扰电路

3.4.1光电隔离抗干扰的简介

单片机测控系统的开关信号,往往是通过芯片给出的低压电流如TTL电平信号,这种电平信号一般不能直接驱动外设,而需经接口转换等手段处理后才能用于驱动设备开启或关闭,如不加隔离可能会串到测控系统中造成系统误动作或损坏:因此在接口处理中亦应包括隔离技术。

在开关量输出通道中,为防止现场强电磁干扰或工频电压会通过输出通道反串到测控系统,一般需采取通道隔离技术。最常见的隔离器件是光电隔离器。由于光信号的传送不受电场、磁场的干扰,可以有效地隔离电信号。工程上常用的隔离方法有光电隔离器、变压器、继电器和集成组件等,而光电隔离器有独特优点得到广泛应用。

光电隔离器的种类繁多,常用的有发光二极管/光敏三极管、发光二极管/光敏复合晶

17

体管、发光二极管/光敏电阻,发光二极管/光触发可控硅等,但从其隔离方法这一角度来看,都是一样的,即都通过电——光——电这种转换,利用“光〞这一环节完成隔离功能。

3.4.2光电隔离器的原理电路光电隔离器的原理电路如图3-14所示:

图3-14光电隔离器的原理电路

在上图所示的电路中,它是GaAs红外发光二极管和光敏三极管组成。当发光二极管有正向电流通过时,即产生人眼看不见的红外光,其光谱范围为700—1000nm。光敏三极管接收光以后便导通。而当该电流撤去时,发光二极管熄灭,三极管截止。利用这种特性即可达到开关控制的目的。由于该器件是通过电——光——电这种转换来实现对输出设备进行控制的,彼此之间没有电气连接,因而起到隔离作用,隔离电压与光电隔离器的结构有关。

3.4.3光电隔离的电路

在一般微机控制系统中,由于大都采用TTL电平,不能直接驱动发光二极管,所以寻常加一个驱动区,如7406和7407等。光电隔离的电路如图3-15所示:

图3-15光电隔离的电路

当输出TTL电平为低电平日,7406输出为高电平,发光二极管截止,光电隔离器处

18

于截止状态,VO端输出高电平;而当输出控制电平为高电平日,7406输出为低电平,发光二极管导通,光电隔离器处于导通状态,VO端输出低电平。

需要注意的是光电隔离器的输入输出端两个电源必需单独供电,即用于驱动发光管的电源与驱动光敏管的电源不应是共地的电源,对于隔离后的输出通道必需单独供电,如上图所示;否则,假使使用同一电源(或共地的两个电源)外部干扰信号可能通过电源串到系统中来,当然,这里讲的单独供电,可以是单独使用不同的电源,也可用DC-DC变换的方法往输出端提供一个与光电输入端隔离的电源。

假使从通断功能来看,光电隔离器其实是一隔离开关。利用光电隔离器也可完成电平转换,其转换后的输出电平与其供电电压值有关,而与光隔输入端无关,总电路框图如图3-16所示。

图3-16总电路框图

3.5键盘及显示电路

3.5.1键盘输入特点

按键所用开关为机械弹性开关,均利用了机械触点的合、断。一个电压信号通过机械的断开、闭合过程。

由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下断开。因而,在闭合和断开的瞬间均伴随着一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5~10ms,这是一个很重要的时间参数,在好多场合都要用到。

按键的稳定闭合时间由操作人员的按键动作持续时间决定,一般为十分之几秒到几秒时间。按键的闭合与否,反应在电压的上就是浮现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下没有。为了确保按键的状态,必需消除按键抖动的影响,这也是按键抗干扰的主要的一个方面,键盘抖动波形图如图3-17所示。

19

图3-17键盘抖动波形图

3.5.2按键接口电路的消抖措施

消除按键抖动影响寻常有硬件、软件两种方法。本论文采用双稳态消抖的硬件消抖方法,双稳态消抖的电路原理图如3-18所示。

图3-18双稳态消抖电路原理图

20

上图中用两个与非门构成一个RS触发器,当按键为按下时,输出为1,当按键按下时,输出为0。此时即使由于按键的机械性能使按键因弹性抖动而产生瞬间不闭合,只要按键不返回原始状态,双稳态电路的状态不会发生改变,输出保持为0,不会产生抖动的波形。这一点很简单通过分析RS触发器的工作过程得到验证。

设按键首先处于a位置,此时RS触发器的与非门输出端OUT1为高电平1,与非门2的输出端OUT2为0,此输出引入到与非门1的一个输入端,会把与非门1锁住,使其固定输出为1。假使此时按下按键,即使按键在a位置因弹性而产生瞬间抖动,形成一连串的抖动波形,即与非门1输入端出现了一连串的高和低电平,由于与非门2的输入端在按键没有到达b位置时始终是0,所以无论与非门1输入端的信号电平怎么变化,与非门1输出端OUT1的输出恒为1。当按键到达b时,一旦与非门2的输出端浮现低电平日,RS触发器将出现状态的翻转,此时,OUT2端输出为1,OUT1端输出为0,OUT1又引回与非门2的一个输入端,锁住与非门2,保证其输出恒为1,这样即使按键出现抖动,也不会影响OUT2的输出,因此OUT1的输出也恒为0。同样,在松开按键的过程中,只要一接通a,输出为1,在接通a的过程中,即使产生了弹性抖动,只要按键不与按键b发生接触,RS触发器的输出将保持不变。通过以上分析,可知,假使在按键信号输入端加上一个RS触发器就可以剔除按键抖动产生的干扰。

3.5.3矩阵键盘的概述

(1)矩阵键盘的工作原理

按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。平日无按键动作时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。列线电平假使为低,则行线电平为低,列线电平假使为高,则行线电平亦为高。这一点是识别矩阵键盘按键是否被按下的关键所在.由于矩阵键盘中行、列线为多用键共用,各按键均影响该键所在行和列的电平。因此个按键彼此将相互发生影响,所以必需将、列线信号协同起来并作适当的处理,才能确定闭合键的位置。

(2)按键的识别方法

矩阵键盘按键的识别方法分两步进行:第一步,识别键盘有无键被按下;其次步,假使有键被按下,识别出具体的按键。识别键盘有无键按下的方法是让所有列线均置为0电平,检查各行线电平是否有变化,假使有变化,则说明有键被按下,假使没有变化,则说

21

明无键被按下(实际编程时应考虑按键抖动的影响,寻常总是采用软件延时的方法进行消抖处理)。

识别具体按键的方法是(亦称为扫描法):逐行置零电平,其余各列置为高电平,检查各行线电平的变化,假使某行电平由高电平变为零电平,则可确定此行此列交织点处的按键被按下。

(3)键盘的工作方式

单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。键盘的工作方式的选取应根据实际应用系统中CPU工作的忙,闲状况而定.其原则是既要保证能及时响应按键操作,又要不过多占用CPU的工作时间。寻常,键盘工作方式有三种,即:编程扫描、定时扫描和中断扫描。

CPU对键盘的扫描采用程序控制方式,一旦进入键扫描状态,则反复地扫描键盘,等待用户从键盘上输入命令或数据。而在执行键入命令或处理输入数据过程中,CPU将不再响应键入要求,直到CPU返回重新扫描键盘为止。

附录一可见键盘采用编程扫描方式工作,PB口输出逐行扫描信号,PA口输入8位列信号,均为低电平有效。8255A的A0、A1上,CS与P2.7相接,WR、RD分别与8051的WR、RD相连。

3.5.4LED显示原理及显示方式

(1)LED显示器结构

LED显示块是由发光二极管显示字段的显示器件,在单片机应用系统中寻常使用的是7段LED,这种显示块有共阴极和共阳极两种,LED显示器引脚如图3-19所示。

共阴极LED显示块的发光二极管阴极共地。当某个发光二极管的阳极为高电平日,发光二极管点亮;共阳极LED显示块的发光二极管阳极并接。

寻常的7段LED显示块中有8个发光二极管,故也有人叫做8段显示器。其中7个发光二极管构成7笔字型“8〞。

7段显示块与单片机接口十分简单,只要将一个8位并行输出口语显示块的发光二极管因交相联即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,寻常将控制发光二极管的8位字节数据成为段选码,共阳极于共阴极的段选码互为补数。

22

图3-19LED显示器引脚图

(2)LED显示器的显示方式

在单片机应用系统中使用LED显示块构成N位LED显示器。N根LED显示器由N根位选线和8*N根段选线。根据显示方式不同,为选线与段选线的连接方法不同。段选线控制字符选择,为选线控制显示位的亮、暗。

LED显示器由静态现实与动态显示两种方式。(3)LED动态显示方式的原理

在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在疫区,由一个8位I/O口控制,形成段选线的多路复用,而共阴极点火抚养几点分别由相应的I/O口线控制,实现各位的分时选通。

8位LED动态显示电路只需要两个8位I/O口。其中一个控制段选码,另一个控制位选。由于所有位的段选码皆由一个I/O控制,因此,在每个瞬间,8位LED只可能显示一致的字幅。要向每位显示不同的字符,必需采用扫描显示方法。即在每一瞬间只使某一位显示相应字符。在此瞬间,段选控制输出相应字符段选码,位选控制I/O口在该显示位送入选通电平(共阴极送低电平、共阳极送高电平)以保证该位显示相应字符。如此轮番,使每位显示该位应显示字符,并保持延时一段时间,以保存视觉暂留效果。

动态显示方式需要较大的驱动电流,所以一般都是通过驱动器来驱动LED的。现实的亮度同驱动电流大小、电亮时间和关断时间有关,调整电流大小和时间参数(扫描频率),可以控制LED显示亮度并稳定显示。

23

当LED选定后,要实测它工作点的正向压降,以便正确的选用限流电阻;同时,电流密度影响LED的寿命,电流密度越大,发光亮度越高,对寿命的影响就越大,因此,LED的驱动电流要有所限值,最大值不能超过最大正向电流。在实际运用中,假使直接驱动LED或者LED驱动器的输出没有加限流电阻,一般应当串联一个100的限流电阻。

3.5.5系统应用

对于显示部分,从8255输出的显示信息经74LS373锁存缓冲,用来对LED的各段进行段选,各位LED显示器采用共阴极接法,通过控制阴极的电位来实现各位的选通。通过8255的扫描输出经2023来实现位选,用来显示设定的温度值和当前的温度值,以便进行调理。键盘部分采用1×3键盘矩阵,列回复信号送至8255的PC0口,连接后仍作为列选择线;行选择线则是与显示部分的位选线共用。初始时,将列选择线置为高电平,当有按键按下时,列选择线的电位取决于列选择线,通过相应行的电平状态判断有无按键按下,可以通过键盘的协同来调理温度的设定值。

3.6加热电路和报警装置

3.6.1加热电路

电热器件由双向可控硅KS控制,KS由光电耦合器4N25和晶体管9013触发,加热电路图如图3-20所示。

单片机8051的P2.0端输出的触发信号,经7407后,送到光电耦合器4N25。P2.0端输出高电平日,4N25没有电流输入,晶体管T截止,双向晶闸管KS关断,电热器不加热。当P2.0端输出低电平日,7407输出低电平,4N25的输入电流约为18mА,输出端的电流大3.6mА,经晶体管9013放大后,双向可控硅门极的电流可达200mА,双向可控硅导通,电热器加热。电阻R3的作用是限制触发电流,当双向可控硅KS的功率较小时,R3的值可由30Ω改为100Ω。

过零检测电路由变压器B的其中一个绕组L3和电容器C2组成。L3产生2.5V的交流电压,通过C2交连到INT0和INT1端。INT0是过零检测端,它可对过零的上升信号检测而产生中断;INT1也是过零检测端,它可对过零的下降信号检测而产生中断。把INTO和INT1产生的中断综合处理,即可得到电源电压过零的时刻。

选用不同的电热器件,启动的过程也不一样。对于电阻率不随温度变化的电热器件,可以直接启动,即在电压过零时触发双向可控硅KS。对于电阻率随温度变化的电热器件,寻常使用降压启动方式,即开始通电时,电压逐渐上升,使电热器的工作电流在KS允许

24

的范围以内。过一定的时间后,电热器件的工作电压才达到额定电压。

图3-20加热电路图

3.6.2报警装置

首先通过按键对要达到的温度进行设定,通过加热装置对水进行加热,当加热温度达到或超过设定值时,将加热信号送到8051中,通过微处理器处理后,输出到P1口报警,并通过三极管驱动扬声器或蜂鸣器报警,报警装置的硬件电路图如图3-21所示。

图3-21报警装置的硬件电路图

25

4单片机的软件设计

4.1总的程序设计框图

本系统的软件实现没有高难度的技巧和算法,但作为一个实用系统,对其可靠性有较高的要求。单片机的I/O口方向是可编程的,在程序中应正确设置其方向,保证单片机的正常工作。关于详细程序清单在此省略,图4-1给出了主程序流程图,显示部分控制是通过定时器中断来实现的[15]。

图4-1主程序流程图

4.28255的程序设计

4.2.18255的程序的初始化

8255的编程如下:由第四章可得8255各端口地址是:A口地址:FF7CHB口地址:FF7DHC口地址:FF7EH控制口地址:FF7FH

26

假设要求8255工作方式0,且A口作为输出,B口作为输出,C口作为输入,则工作程序如下:

MOVA,#81H;方式0,A口、B口输出,C口输入MOVDPTR,#0FF7FH;控制寄放器地址→DPTRMO@DPTR,A;方式控制字→控制寄放器MOVDPTR,#0FF7CH;A口地址→DPTRMOA,@DPTR;从A口读数据MOVDPTR,#0FF7DH;B口地址→DPTRMOVA,DATA1;要输出的数据DATA1→AMO@DPTR,A;将DATA1送B口输出MOVDPTR,#0FF7EH;C口地址→DPTRMOVA,DATA2;DATA2→A

MO@DPTR,A;将DATA2送C口输出

4.2.2对端口C的置位/复位

8255的C口8位中的任一位,均可用指令来置位或复位。例如,假使想把C口的第6位PC5置1,相应的控制字为:00001011B=0BH,程序如下:MOVDPTR,#0FF7FH:控制口地址→DPTRMOVA,#0BH;控制字→AMO@DPTR,A;控制字→控制口;PC5=1

假使想把C口的第6位PC5复位,相应的控制字为:00001010B=0AH。程序如下:MOVDPTR,#0FF7FH;控制口地址→DPTRMOVA,#0AH;控制字→AMO@DPTR,A;控制字送到控制口;PC5=0

4.3键盘和显示接口电路程序设计

4.3.1键盘和显示器的程序设计

8255在MCS-51单片机应用系统中广泛用于连接外部设备,如打印机、键盘、显示器以及作为控制信息的输入、输出口,程序框图如图4-2所示,显示器程序见附录二、键盘

27

扫描程序流程图见附录三、键盘扫描程序见附录四。选择下一位N

开始置段,位选码的初值8255初始化初始化8255位选码PB口查段选码表段选码PA口延时1ms指向下一显示单元6位显示完否?返回图4-2程序框图

28

结论

本设计完成了单片机对电热水壶的控制。整个系统的关键电路是单片机控制电路,该电路是整个控制的核心,完成信号的输入和输出的转换。另一个重要电路是温度检测和加热控制电路,该电路完成了温度信号的采样和温度的控制,并通过A/D转换电路的模数转换将信号送到单片机的控制电路中。还要通过程序的设计实现各功能,设计安全、可靠,完全能够满足实际需要。

没有水温控制系统的电热水壶加热开水时水加热沸腾后不能自动中止工作,需要人的看管,使用起来很不便利。一旦忘掉就有发生水壶烧干烧坏的可能,严重的话还有可能发生火灾造成严重的经济损失。使人们用起来很不便利,近几年带温控系统的电热水壶发展很快,我们所研究的就是带水温控制系统的电热水壶。

在本次设计中,本人把握了一定的单片机硬件结构知识,设计出硬件电路,并通过编程使部分硬件功能得到了实现,使书本上的知识得到了应用。由于条件有限,只编制部分子程序,希望日后可以进行总体调试,以对系统做进一步的改进。

29

致谢

本文是在我的导师的精心指导下完成的,从论文的选题,修改,到最终的成文,无不倾注了刘老师的心血。老师在教学和科研的繁忙的工作中为我指导论文,认真批阅和精心校改全稿,本文的完成凝聚了导师的辛勤汗水和无私的奉献。在此,我特向他表示衷心的感谢并致以崇高的敬意!

在学院学习的这段时间里,我要感谢这么多指导,关心我的老师,使我的知识视野和学习能力有了极大的开阔和提高。还有同班的十几位同学,在学习生活中,他们给予了我极大的关心和帮助,在此向他们表示我最真诚的感谢。

四年的大学生活中,我也同样得到了大量老师们和同学们的无私支持和帮助,给予了我好多宝贵的看法,在此一并致以诚挚的谢意。感谢所有关心帮助过我的良师益友。

最终,向在百忙中抽出时间对本文进行评审并提出宝贵看法的各位老师表示衷心地感谢!

30

附录

附录一键盘和显示器接口电路的接线图

32

附录二显示器程序

DIS:MOVA,#00000011B;8255PA、PA、PB口为输出,PC口为输入MOVDPTR,#FF7CH;8255命令口地址送DPTRMO@DPTR,A;写命令

MOVR0,#50H;50~55H单元存6个显示数据

MOVR3,#7FH;第1位LED的位选码7FHMOVA,R3

AGAIN:MOVDPTR,#7F01HMO@DPTR,AMOVA,@R0MOVDPTR,#DSEGMOVCA,@A+DPTRMOVDPTR,#7F02HMO@DPTR,AACALLDL1msINCR0JNBACC.0,OUTRRAMOVR3,AAJMPAGAINOUT:RETDSEG:DB3FH,06H,5BHDB4FH,66H,6DHDB77H,7CH,39HDB5EH,79H,71HDL1ms:MOVR7,#01HDL0:MOVR6,#0FFHDL1:DJNZR6,DL1

DLNZR7,DL0RET

;指向PA口;位选码送PA口;取显示数据;取段选码表首址;取段选码;指向PB口;段选码送PB口;延时1ms

;指向下一显示数据单元

;6位显示完,转OUT;未完,调整为下一位选码

;继续显示下一位

;子程序返回;显示0,1,2

;显示3,4,5;显示A,B,C;显示D,E,F

;延时1ms子程序33

附录三键盘扫描程序流程图

开始

8255初始化

调显示子程序并熄灭子程序调全列置零扫描子程序

有按键否?

N

Y调显示子程序延时约10ms

调全列置零扫描子程序

确有按键?

NYNY6列完否?

Y

定位键号调显示子程序并熄灭显示器调全列置零扫描子程序N按键释放?

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论