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

更新时间:2024-03-19 23:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(论文)任务书

一、课题的主要内容和基本要求

目的:应用学过的单片机知识设计日常生活中的家用电器 要求:

1. 自动检测水的温度;

2. 当加热到设置温度停止加热,蜂鸣器报警; 3. 显示设置温度。

摘 要

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

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

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

-1-

Abstract

The thesis introducts the method of use the series of MCS-51 one-chip computer which is the control chip to control the work of kettle heat with electric energy. Through electric heated circle, the water will be heated, then sample the temperature of the water. The sampling signal will set the mimic to the system of single chip computer through ADC0809, after is processed by the computer and controlled by the keyboard, it will be showed by LED monitor, at the same time, the system can control the temperature beyond the setting, the system of alarm will run.

The hardware of the one-chip computer controls the thermos which includes 8051 chips, 8255 chips, one-chip computer control circuit that address latch ,etc. make up temperature-measure circuit , circuit is changes by A/D, light-electricity and isolation circuit, keyboard and shows circuit、temperature heated circuit .The key circuit of the whole system is a control circuit of one-chip computer, finish the input and output of the signal conversion, can measure temperature sampled signal of input circuit which will deal with after processing then set to display and show to go on to outputting through A/D converter ADC0809, and can control the temperature through the keyboard, after heating and exceeding designated temperature in water, at the same time, the buzzer is sound so as to alarm.

Key word: One-chip computer Temperature control Controller

-2-

目 录

摘 要 ??????????????????????????????????? 3 前 言 ??????????????????????????????????? 5 第一章 热水壶控制系统总体概述 ??????????????????????? 6 1.1 热水壶的工作情况 ?????????????????????????? 6 1.2 MCS-51单片机控制的总体介绍 ???????????????????? 7 第二章 电热水壶控制系统的硬件设计 ????????????????????? 8 2.1 温度检测电路和A/D转换器的电路 ??????????????????? 8 2.2 单片机8051芯片介绍和主要电路 ??????????????????? 12 2.3 8255输出口扩展 ??????????????????????????? 17 2.4 单片机的抗干扰电路 ????????????????????????? 19 2.5 键盘及显示电路 ??????????????????????????? 21 2.6 加热电路和报警装置 ????????????????????????? 26 第三章 单片机的软件设计 ?????????????????????????? 28 3.1 总的程序设计框图 ?????????????????????????? 28 3.2 8255的程序设计 ??????????????????????????? 29 3.3 键盘和显示接口电路程序设计 ????????????????????? 30 结 论 ??????????????????????????????????? 35 致 谢 ??????????????????????????????????? 36 参考文献 ?????????????????????????????????? 37

-3-

前 言

Intel公司在MCS-48系列单片微机的基础上,采用HMOS技术,研制出了8位高档的MCS-51系列产品微机。

该微机型在性能上有了很大的改进和提高:片内程序存贮器容量扩大了一倍,外部程序存贮器的寻址空间扩大到64K字节。片内数据存贮器扩大了一倍,外部数据存贮器的空间达到64K字节。并行I/O口线增加到32,且可进行位处理。MCS-51设有两个16位的定时器/计数器,且可程序设定多种工作方式。设有一个全双工串行I/O口,可程序设定4种工作方式,设有4个8位的通用工作寄存器区,可适应多级中断和子程序嵌套的情况,这样可避免寄存器内容进行栈保护操作,提高了中断响应速度,加速了子程序的调用,设有两个内部中断源和两个外部中断源,一个串行口中断源,可程序设定中断优先级,堆栈位置可允许设定,深度可在允许范围内选用。MCS-51指令系统增强了加,减,乘,除,比较,堆栈操作,因而运算功能大大加强。所设置的灵活的跳转指令,不仅能充分满足了实际应用的需要,而且可尽量减少程序存贮空间的占用,MCS-51内部设有可直接进行位寻址的存贮器、位处理指令、位处理累加和运算器等,因而为一种功能极强的位处理机。这为控制方面的应用和逻辑运算提供了很大方便。

从以上可见,MCS-51系列单片微机具有很强的功能,使用范围广,既可构成功能很强的复杂系统,也可组成较简单的应用系统。

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

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

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

经实际运行表明,该方案安全、可靠,完全能够满足实际需要。

-4-

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

1.1 热水壶的工作情况

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

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

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

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

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

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

-5-

1.2 MCS-51单片机控制的总体介绍

硬件设计的总电路连接框图如下图

键盘和显示电路 8255 加热电路 光电隔离 805报警电路 ADC0809

温度检测电路 图1-1 硬件设计的总电路连接框图

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

-6-

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

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

2.1.1 AD590温度传感器的概念

AD590是一种二端式的集成温度传感器。

图2-1-1 AD590引脚图

其主要技术参数有: 1. 测温范围为-55~+150℃。

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

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

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

-7-

2.1.2 温度检测电路

图2-1-2 电源转换电路

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

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

图2-1-3温度检测电路

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

-8-

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显示器显示温度。

2.1.3 A/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等,因此要考虑到传感器输出信号与之匹配。

本论文中采用逐次逼近法A/D转换器电路原理。其主要原理为:将一待转换的模拟输入信号U1n与一个推测信号Ur相比较,根据推测信号大于还是小于输入信号来决定增大还是减少该推测信号相等时,向D/A转换器输入的数字就是对应模拟输入量的数字量。

其“推测”值的算法如下:使二位进制计数器中(输出锁存器)的每一位从最高位起依次置1,每接一位时,都要进行测试。若模拟输入信号U1n小于推测信号U1,则比较器输出为零,并使该位清零;若模拟输入信号U1n大于推测信号U1,比较器输出为1,并使该位保持位1。无论哪种情况,均应继续比较下一位,直到最末位为止。此时,D/A转换器的数字输入即为对应模拟输入信号的数字量,将此数字输入就完成了A/D转换过程。

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

ADC0809是CMOS集成电路8位单片A/D转换器。

双列直插28引脚封装。片内有8路模拟开关、模拟开关的地址锁存与译码电路、比较器 、256R电阻T型网络、树状电子开关、逐次逼近寄存器SAR、三态输出锁存,缓冲器、控制与时序电路等。

ADC0809引脚功能说明如下:

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

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

-9-

转换。

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

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

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

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

图2-1-4 A/D转换的连接电路

由图2-1-4可以看出ADC0809时钟CLK由8051ALE信号提供,ALE信号频率为f/6。用地址线低8位A0、A1、A2(P0.0~P0.2)接0809的A、B、C三端用来对8路模拟通道进行选择。EOC经非门与8051

相接,0809与8051采用中断方式联络,外部中断1服务子

,因此启动

程序读A/D转换结果,并启动下一次转换。0809启动条件为START=

时,应用写指令(使WR=1),并且要保证地址线P2.6=0,其端口地址为DFFFH。ADC0809转换器将信号进行模数转换,再将数字信号传入8051进行微处理,通过LED显示温度。在由于A/D0809具有锁存的TTL三态输出,它的八条数据线和8051的八条数据线相连,采用线性选址法,其口地址为DFFFH。通道地址A,B,C由数据总线DB0,DB2,DB2提供。

-10-

A,B,C地址线上的信息由ALE上升沿打入地址锁存器74LS373。

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

2.2.1 MCS-51单片微机8051内部部件和接口电路

MCS-5单片微机8051内部包含如下部件: 8位CPU

振荡器和时钟电路

4K/8K 字节的程序存贮器。 128/256字节的数据存贮器。

可寻址外部程序存贮器和数据存贮器,各64K字节。 二十多个特殊功能寄存器。 32线并行I/O口。 1个全双工串行I/O口。 2/3个16位定时器/计数器。 5/6个中断源,2个优先级。

具有位寻址功能,有较强的布尔处理能力。

图2-2-1 8051的引脚图

-11-

图2-2-2 单片机的片外总线结构图

由图2-2-2可以看到,单片机的引脚除了电源、复位、时钟接入、用户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组成。

2.2.2 振荡电路和时钟电路

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

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

-12-

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

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

2.2.3 单片机的复位电路

1.复位电路的复位类型

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

2.主要复位电路

(1)上电复位和开关复位组合电路:在单片机系统设计过程中,经常会使用上电复位和手动复位,最常用的上电复位和开关复位组合电路为:

-13-

图2-2-4上电复位和开关复位组合电路

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

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

图2-2-5抗干扰上电复位

-14-

2.2.4 中断优先级

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

MCS-51的中断具有两级优先级,每一个中断源都可以通过对中断优先级寄存器IP中的相应位置或清0,编程为两级中断中的任一级——高优先级和低优先级,置1为高优先级,清0为低优先级。低优先级可以被高优先级所中断,但不能被另一个低优先级中断所中断。高优先级中断不能被任何中断所中断。为了实现这些规定,中断系统中设有两个不可寻址的优先级状态触发器,其中一个用来指出正在服务于高优先级中断,并阻止其他所有中断的响应。另一个则指出正在服务于 低优先级中断,并阻止除高优先级中断以外的其他中断的响应。

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

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

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

-15-

2.2.5 74LS373地址锁存器芯片介绍

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

通常,地址锁存器可使用带三态缓冲输出的八D锁存器74LS373或8282,也可以使用带清除端的八D锁存器74LS273,地址锁存信号为ALE。但用的最多的是74LS373。

图2-2-6 74LS373的结构图

当三态门的使能信号线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可直接与单片机的锁存控制信号端ALE相连,在ALE下降沿进行地址锁存。

2.3 8255输出口扩展

2.3.1 8255的引脚介绍

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

-16-

图2-3-1 8255的引脚图

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。

-17-

2.3.2 8255与8051的外部接口电路

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

由上图可以看出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的复位电路上。必须根据外围设备的类型选择8255的操作方式,并在初始化程序中把相应控制字写入操作口。8255的编程如下:

各端口地址是:A口地址:FF7CH B口地址:FF7DH

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

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

-18-

2.4 单片机的抗干扰电路

2.4.1 光电隔离抗干扰的简介

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

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

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

2.4.2 光电隔离器的原理电路

图2-4-1光电隔离器的原理电路

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

-19-

2.4.3 光电隔离的电路

在一般微机控制系统中,由于大都采用TTL电平,不能直接驱动发光二极管,所以通常加一个驱动区,如7406和7407等。

图2-4-2光电隔离的电路

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

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

如果从通断功能来看,光电隔离器其实是一隔离开关。利用光电隔离器也可完成电平转换,其转换后的输出电平与其供电电压值有关,而与光隔输入端无关。

-20-

图2-4-3总电路框图

2.5 键盘及显示电路

2.5.1 键盘输入特点

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

图2-5-1 键盘抖动波形图

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

-21-

按键的稳定闭合时间由操作人员的按键动作持续时间决定,一般为十分之几秒到几秒时间。

按键的闭合与否,反应在电压的上就是呈现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下没有。为了确保按键的状态,必须消除按键抖动的影响,这也是按键抗干扰的主要的一个方面。

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

消除按键抖动影响通常有硬件、软件两种方法。本论文采用双稳态消抖的硬件消抖方法。 双稳态消抖的原理:

图2-5-2双稳态消抖电路原理图

图2-5-2中用两个与非门构成一个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触发器将出现状

-22-

态的翻转,此时,OUT2端输出为1,OUT1端输出为0,OUT1又引回与非门2的一个输入端,锁住与非门2,保证其输出恒为1,这样即使按键出现抖动,也不会影响OUT2的输出,因此OUT1的输出也恒为0。同样,在松开按键的过程中,只要一接通a,输出为1,在接通a的过程中,即使产生了弹性抖动,只要按键不与按键b发生接触,RS触发器的输出将保持不变。通过以上分析,可知,如果在按键信号输入端加上一个RS触发器就可以剔除按键抖动产生的干扰。

2.5.3 矩阵键盘的概述

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

2.按键的识别方法

矩阵键盘按键的识别方法分两步进行:第一步,识别键盘有无键被按下;第二步,如果有键被按下,识别出具体的按键。识别键盘有无键按下的方法是让所有列线均置为0电平,检查各行线电平是否有变化,如果有变化,则说明有键被按下,如果没有变化,则说明无键被按下(实际编程时应考虑按键抖动的影响,通常总是采用软件延时的方法进行消抖处理)。

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

3.键盘的工作方式

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

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

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

-23-

2.5.4 LED显示原理及显示方式

1.LED显示器结构

LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是7段LED。这种显示块有共阴极和共阳极两种。

图2-5-3 LED显示器引脚图

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

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

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

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只可能显示相同的字幅。要向每位显示不同的字符,必须采用扫描显示方法。即在每一瞬间只使某一位显示相应

-24-

字符。在此瞬间,段选控制输出相应字符段选码,位选控制I/O口在该显示位送入选通电平(共阴极送低电平、共阳极送高电平)以保证该位显示相应字符。如此轮流,使每位显示该位应显示字符,并保持延时一段时间,以保存视觉暂留效果。

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

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

2.5.5 系统应用

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

-25-

图2-5-4键盘和显示器接口电路的接线图

-26-

2.6 加热电路和报警装置

2.6.1 加热电路

图2-6-1 加热电路图

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

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

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

-27-

2.6.2 报警装置

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

图2-6-2 报警装置的硬件电路图

-28-

3 单片机的软件设计

3.1 总的程序设计框图

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

开 始 初 始 化 开始加热吗? Y 加热 N 温度采样IN0 是按键按下吗? N N 温度达到设定值吗? Y 停止加热、蜂鸣器响 按键处理 Y 主程序结束

图3-1主程序流程图

-29-

3.2 8255的程序设计

3.2.1 8255的程序的初始化

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

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

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

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

3.2.2 对端口C的置位/复位

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

MOVX @DPTR,A ;控制字→控制口 ;PC5=1

如果想把C口的第6位PC5复位,相应的控制字为:00001010B=0AH。程序如下: MOV DPTR,#0FF7FH ;控制口地址→DPTR MOV A,#0AH ;控制字→A

MOVX @DPTR,A ;控制字送到控制口 ;PC5=0

-30-

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

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

8255在MCS-51单片机应用系统中广泛用于连接外部设备,如打印机、键盘、显示器

以及作为控制信息的输入、输出口。

选择下一位 N 开始 置段,位选码的初8255初始化初始化 8255位选码 PB口 查段选码表 段选码 PA口 延时1ms 指向下一显示单元 6位显示完否?

返 回 图3-2 程序框图

-31-

程序如下:

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

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

MOV R3,#7FH ;第1位LED的位选码7FH MOV A,R3

AGAIN:MOV DPTR,#7F01H ;指向PA口 MOVX @DPTR,A ;位选码送PA口 MOV A,@R0 ;取显示数据 MOV DPTR,#DSEG ;取段选码表首址 MOVC A,@A+DPTR ;取段选码 MOV DPTR,#7F02H ;指向PB口

MOVX @DPTR,A ;段选码送PB口 ACALL DL1ms ;延时1ms

INC R0 ;指向下一显示数据单元

MOV A,R3

JNB ACC.0,OUT ;6位显示完,转OUT RR A ;未完,调整为下一位选码 MOV R3,A

AJMP AGAIN ;继续显示下一位

OUT: RET ;子程序返回 DSEG: DB 3FH,06H,5BH ;显示0,1,2

DB 4FH,66H,6DH ;显示3,4,5 DB 77H,7CH,39H ;显示A,B,C DB 5EH,79H,71H ;显示D,E,F

DL1ms: MOV R7,#01H ;延时1ms子程序 DL0: MOV R6,#0FFH DL1: DJNZ R6,DL1

DLNZ R7,DL0 RET

3.3.2 键盘扫描子程序

本方案中用延时10ms子程序进行软件消抖;通过设置处理标志来区分闭合键是否已处理过。

-32-

开始

8255初始化

调显示子程序并熄灭子程序

调全列置零扫描子程序

N 有按键否?

Y

调显示子程序延时约10ms

调全列置零扫描子程序

N 确有按键? Y N Y 6列完否?

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

按键释放? N

返回

图3-3 程序流程图

-33-

在扫描键盘的过程中应兼顾显示器的显示。

程序如下:

KEYSUB: MOV A,#00000011B ;8255PA、PB口输出,PC口输入 MOV DPTR,#FF7FH ;控制字地址送DPTR MOVX @DPTR,A ;向8255输出控制字

BEGIN: ACALL DIS ;调显示子程序

ACALL CLEAR ;清零显示器,即熄灭

ACALL CCSCAN ;全列置零扫描,判有无按键按下 JNZ AJMP INK1: ACALL ACALL ACALL ACALL ACALL JNZ AJMP INK2: MOV MOV COLUM: MOV MOV MOVX INC INC MOVX POP KON: ACALL ACALL ACALL JNZ POP RET NEXT: INC MOV JNB MOV KERR: AJMP 全列置零扫描子程序,以判定键盘是否存在某一键被按下,如无按键,CCSCAN:MOV MOV MOVX INC

INK1 ;有键按下,转INK1

BEGIN

DIS ;调显示子程序,延时8~9ms DL1ms

DL1ms ;共延时约10ms去抖 CLEAR ;熄灭显示器

CCSCAN ;全列置零扫描,判是否确有按键按下 INK2 ;确有键按下,转INK2 BEGIN ;抖动引起,转回BEGIN

R2,#0FEH ;扫描第1列,置第1列为0

R4,#00H ;列号送R4 DPTR,#FF7DH ;指向PB口 A,R2 ;扫描码送A @DPTR,A ;输出扫描码 DPTR

DPTR ;指向PC口 A,@DPTR ;读出PC口 A

DIS ;调显示,等待按键释放 CLEAR ;熄灭显示

CCSCAN ;判按键是否仍按下 KON ;键未释放,继续等待 A ;恢复键号到A中 ;返回

R4 ;列号加1

A,R2 ;列扫描码送A ACC.7,KERR ;全6列扫完,无按键,为干扰,转KERR A,R2

BEGIN ;继续等待键输入

A中返回零。 DPTR,#FF7DH ;指向PB口 A, #00H

@DPTR,A ;PB口输出全零 DPTR

-34-

INC DPTR ;指向PC口 MOVX A,@DPTR ;读PC口 CPL A

ANL A,#0FH ;屏蔽高4位

RET ;返回

熄灭显示器子程序,以防扫描键盘时,影响显示器的显示,因为显示器的位扫描线与键盘列扫描线共用。方法是让段选码输出为0,则不论显示器中各位是选通还是关闭,均是熄灭显示。

CLEAR: MOV DPTR,#FF7CH ;指向PA口

MOV MOVX RET A,#00H @DPTR,A -35-

;段选码为00H ;PA口输出全0 ;返回

结 论

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

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

-36-

致 谢

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

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

-37-

参 考 文 献

1. 杨红科等.《HT46R47在电热水壶中的应用》.微计算机信息.2004年.

2. 李华等.《MCS-51系列单片机实用接口技术》.北京航空航天大学出版社.1993年8月. 3. 张迎新.《单片微型计算机原理、应用及接口技术》.北京国防工业出版社.2004年. 4. 清源计算机工作室.《PROTEL 99 SE电路设计与仿真》.机械工业出版社.2001年. 5. 王树勋等.《单片微机计算机原理与开发》.机械工业出版社.1989年8月.

6. 陈奥初等.《单片机应用系统设计与实施》.北京航空航天大学出版社.1991年10月. 7. 何立民.《单片机应用系统设计》.北京航空航天大学出版社.1990年1月. 8. 宋宏运.《单片微机计算机原理及应用》.重庆大学出版社.1990年6月. 9. 张毅刚等.《MCS-51单片机应用设计》.哈尔滨工业大学出版社.1990年. 10.周明德.《微型计算机硬件软件及应用》.清华大学出版社.1982年. 11.刘光斌等.《单片机系统实用抗干扰技术》.人民邮电出版社.2004年3月. 12.王福瑞等.《单片机测控系统设计大全》.北京航空航天大学出版社.2002年.

-38-

本文来源:https://www.bwwdw.com/article/xv58.html

Top