单片机设计太阳能热水器_第1页
单片机设计太阳能热水器_第2页
单片机设计太阳能热水器_第3页
单片机设计太阳能热水器_第4页
单片机设计太阳能热水器_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机设计太阳能热水器第一章 系统总体设计方案1.1 设计思路本次设计的目的是设计一个太阳能热水器单片机控制系统。现在一般的太 阳能热水器虽然有着不少优点,如节能、无污染、安全方便等,但在实际应用 中也存在着一些缺点,如阴雨天无法使用、无自动上水功能、不显示水温水位 等等。为了解决上述存在的问题,比较理想的方案就是采用单片机作为应用系 统的主控芯片,利用其强大的控制能力和丰富的资源,通过连接各种功能外设, 使系统能正确、有效地完成服务。 在此,我将系统的设计分为两大部分,即硬件设计部分和软件设计部分。在硬 件部分中,主要解决系统的硬件连接与各功能的分配,各部分的地址分配也被 分到硬件部分里。在

2、软件部分中,则具体分析系统的工作流程,编出部分子程 序和中断服务程序。1.2 设计总框图系统总体设计框图如下:图 1-1 系统总体框图由图可知,本系统采用 MCS-51 系列 单片机 8051 作为系统的主要控制芯片。根 据本应用系统的设计任务,输入通道部分 需由传感器采样温度和水位信号,经 A/D 转换器转换,将模拟量信号转换为数字量 信号后送入 8051,再由 8051 外接的 8255 送 LED 数码管显示。键盘有四个按键来设 置水温和水位,当 8051 扫描到有按键按下 时,就输出控制信号驱动相应的执行机构, 或控制加热器改变水温,或控制上水阀改 变水位。系统相应的功能由编程来具体实

3、 现。第二章 系统硬件部分设计2.1 数据采集2.1.1 温度传感器 AD590 1温度传感器 AD590 的工作原理AD590 集成温度传感器,内部含有放大电路,是一种两端器件。其工作电 压为+4+30V,测温范围是 -55150摄氏度,对应于热力学温度 T 每变化 1K, 输出电流就变化 1A。在 298.15K(对应于 25.15 摄氏度)时输出电流恰好等于 298.15 。A这表明,其输出电流 I( A)与热力学温度 T( K)严格成正比。 AD590 的电路符号为:AD590 作为一种高阻电流源,不存在反馈线上的电压信号损失和噪声干扰问题, 其等效于一个高阻抗的恒流源,其输出阻抗大于

4、 10M ,能大大减小因电源电 压波动而产生的测温误差。例如,当电源电压从 5V 变化到 10V 时,所引起的 电流最大变化量仅为 1A,等价于 1 摄氏度的测温误差。2AD590 在本系统设计中的应用由 AD590 构成的温度检测电路如图 2-1 所示:从图中可知,由 MC1403 型带隙基准电压源输出的 +2.5V 基准电压,经可 调电阻 R1 接 AD590 的正极,并且还经过 CD4051 型八选一模拟开关接 LM324 型四运放中的一个运算放大器反向输入端。 AD590 的负极接 -5V 电源。设通过 R1、R2 的电流分别为 I0、I1,则 AD590 的电流表达式为I O=I0+

5、I1(2-1)因为 LM324 的电压增益 AVO1,所以图 2-1 中的 M 点为虚地,即 UM 为零 伏。只要在 0以下调整 R1,使 I0等于 AD590 在该温度下的工作电流值(此 时 I1=0,I O=I0),I0即为恒定值,在测温过程中 I1仅随 IO 变化。显然,温度上 升 t 时,I1 必须增加到 t1A,使 LM324 的输出电压 UO(V)为U0 R2 ?I1 R2 ?t ?1 A 10 6 ?R2 ?t(2-2)由于 U 0与被测温度 t 成正比,从而实现了 t/U 转换,这就是利用 AD590 测量摄 氏温度的原理。 R1,R2 分别用于校准 0和 100。硅二极管 V

6、D(1N4001)可 防止 LM324 进入饱和状态。多路模拟开关 CD4051 的通断状态受单片微机的控 制。2.1.2 水位传感器1压差式液位传感器的工作原理 压差式液位传感器是根据液面的高度与液压成比例的原理制成的。如果液 体的密度恒定,则液体加在测量基准面上的压力与液面到基准面的高度成正比, 因此通过压力的测定便可得知液面的高度。如图 2-2 所示,其基准面上的压力由下式确定,即p ? h ? h1 h2( 2-3)式 2-3 中, p 为测量基准面的压力; 为液体的密度; h 为液面距测量基准面 的高度; h1为所控最高液面与最小液面之间的高度; h2 为最小液面距测量基准 面的高度

7、。由于需要测定的是 h1 高度,因此移动压力传感器的零点,把零点提高h2,就可以得到压力与液面高度成比例的输出当储液罐为密封型时(见图 2-3)压差、液位高度及零点的移动关系如下:高压侧的压力 p1 为p1 p0? h1 h2(2-4)低压侧的压力 p2 为p2p00 ? h2 h32-5)压力差 p 为2-pp1 p26)式 2-4 至 2-6 中, 为液体的密度; h1为所控最高液面与最低液面之间的高度; h2 为最小控制液面距测量基准面的高度; 0 为填充液体密度; p0为罐内压力; h3 为填充液面距最小液位的高度。同样,只要移动压差式传感器的零点,就可以得到压差与液面高度 h1 成比

8、 例的输出。图 2-4 是压差式液位传感器的结构原理图。它由压差传感器和电路两部分 组成。压差传感器实际上是一个差动电容式压力传感器,它由动电极感压膜片、 固定电极隔液膜片等组成。当被测的压力差加在高压侧和低压侧的输入口时, 该压力差经隔液膜片的传递作用于感压膜片上,感压膜片便产生位移,从而使 动电极与固定电极之间的电容量发生变化。用电路将这种变化进行转换及放大, 便可获得与压力差成比例的直流电压输出。这种传感器具有可靠性高、性能稳定、体积小和重量轻等特点,因此,广 泛应用于液面测量和液面自动控制 2液位变送器 CB900 本系统采用液位变送器 CB900 作为采样水位信号的传感器,现简单介绍

9、一 下 CB900。CB900系列液位变送器是采用高性能扩散硅膜片差压传感技术,将液位压 差转换为 420mA 或 15V 标准直流信号,可作液位传感器。其工作电压为 12V。CB900 的工作原理:加于变送器的压力(或差压)使变送器内膜片变形,从变 形的扩散硅膜片上检出与差压或成线形变化的电信号,并转换为标准信号输出。 具体工作原理见上一节,这里不再累述。2.1.3 采样保持器在对模拟信号进行 A/D 转换时,从启动变换到变换结束,需要一定的时间, 即 AD 转换器的孔径时间。当输入信号频率较高时,由于孔径时间的存在,会 造成较大的孔径误差。要防止这种误差的产生,必须在 A/D 转换开始时将

10、信号 电平保持不变,而在 A/D 转换结束后又能跟踪输入信号的变化,即输入信号处 于取样状态 。能完成上述功能的器件称为取样保持器。由上述分析可知,取样 保持器在保持阶段相当于一个“模拟信号存储器”。在 A/D 转换过程中,取样 保持对保证 A/D 转换的精确度具有重要作用。 取样保持电路的基本原理如图 2-1 所示。主要由保持电容 C,输入、输出缓冲 放大器以及控制开关 S 组成。图中,两个放大器均接成跟随形式,取样期间, 开关闭合,输入跟随器的输出给电容器 C 快速充电;保持期间,开关断开,由 于输出缓冲放大器的输入阻抗极高,电容器上存储的电荷基本维持不变,保持 充电时的最终值供 A/D

11、转换取样保持器工作状态由外部控制信号控制,由于开关状态的切换需要一定 的时间,因此实际保持的信号电压会存在一定的误差,这个误差必须远小于 A/D 的转换时间,同时也必须远小于信号的变化时间。2.2 数据转换2.2.1 AD转换器概述由于单片微机面向测控领域的应用,常需将连续变化的模拟量转换成离散 的数字量,才能送计算机进行数值处理。反之,由计算机数值处理的数字量也 必须经转换成模拟量,以实现连续变化的模拟量控制。前者称为模 /数转换(简 称 A/D),后者称为数/模转换(简称 D/A )。本系统仅用A/D 转换器。 A/D 转换器按其转换的原理,可分为四种:计数式、双积分式、逐次逼近式和 并行

12、式。目前最常用的是双积分式和逐次逼近式。双积分式 A/D 转换器的主要 优点是,抗干扰能力强,价格便宜。逐次逼近式 A/D 转换器的优点是,速度高, 其转换时间在几微秒到几百微秒之间。常用的逐次逼近式 A/D 转换器主要有: 美国国家半导体公司生产的 ADC0801ADC0805 ,ADC0808/0809,精度都是 8 位,转换时间约为 100。s其中, ADC0808/0809增加了 8 路模拟开关,可对 8 路模拟信号进行分时采样。本设计需分别采样温度与水位信号,故采用 ADC0809 作为转换器来实现模数转换。2.2.2 ADC08091ADC0809 的主要特性分辨率为 8 位;转换

13、时间为 100s; 无零度和满刻度调整; 单一 +5V 供电,模拟输入电压为 05V,正负 5V,正负 10V; 8 路通道转换,带锁存控制逻辑;具有锁存的三态输出,输出与 TTL 兼容;功耗为 15mW。2ADC0809 的工作原理ADC0809 是最常用的 8位 A/D 转换器,属 CMOS 工艺逐次逼近型。 ADC0809 由单一+5V 电源供电,片内带有锁存功能的 8路模拟电子开关,可对 05V8 路的输入模拟电压信号分时进行转换,完成一次转换约需 100,s输出 具有 TTL 三态锁存缓冲器,可直接与 MCS-51 数据总线相接,通过适当的外接 电路,还可对 05V 的双极性模拟信号

14、进行 A/D 转换。ADC0809 的工作时钟为 10kHz1.2MHz。在进行 A/D 转换时,路地址先送 到 AC 地址输入端。然后在 ALE 输入端加一个正跳变脉冲,将路地址锁存到 ADC0809 内部的路地址寄存器中。这样,对应路的模拟电压就和内部变换电路 接通。为了启动变换工作序列,必须在 START 端加一个负跳变信号。此时变 换工作开始进行,标志 ADC0809 正在工作的状态信号是 EOC由高电平(闲状 态)变成为低电平(工作状态)。一旦变换结束, EOC 信号就又由低电平变成 高电平。此时,只要在 OE 端加一高电平,即可打开数据线的三态缓冲器从 D0D7 数据线读得一次变换

15、后的数据。3ADC0809 的外特性ADC0809片内集成了 8路模拟多路开关、地址锁存与译码、 8位 A/D 转换 器以及 8 位三态输出锁存器四部分组成。了解芯片的外特性是设计系统的基础, ADC0809 各引脚的功能含义如下:D0D7:8 位二进制数字量输出端口。N0IN 7:8 路模拟量开关输入端口。Vcc:+5V 工作电源。GND:接地端。V REF(+)、 VREF(-):参考电压( +)、(- )连接端。START:A/D 转换启动信号输入端口,高电平有效。ALE :地址锁存允许信号输入端口, ALE 的下降沿将地址输入锁存器。EOC:A/D 转换结束信号输出端口,开始转换时为低

16、电平,一旦转换结束 时输出高电平。OE:完成转换后数字量输出允许控制信号输入端口,高电平有效,用以打开三态数据锁存器的输出CLK :时钟信号输入端。A、B、C:地址输入端口。用三位编码组成 3:8 译码输出,选通 8路模 拟电子开关,实现 IN 0IN78路选 1。A、B、C三位地址的输入 与 8 路通道的对应关系如下:4ADC0809 在系统设计方案中的应用AD 转换硬件原理图如下:根据对 ADC0809 的转换结束信号 EOC 的不同处理方法, 8051(将在下一 节介绍)配置 ADC0809 可分为:查询方式和中断方式。本系统采用的是中断方 式,由系统的硬件电路图可知,当 ADC0809

17、 的转换工作结束时, EOC 送出高 电平,经一非门后成低电平,送入 8051的INT0 引脚,提出中断请求, 8051响 应该中断读入转换后的数据,完成一次 A/D 转换。ADC0809 需要外接变换时钟和参考电压,在实际应用中变换时钟常将 MCS-51 单片机的时钟经分频得到。而参考电压常用现成的由厂家提供的高精 度电源集成块。在本设计中,借用主机 8051的 ALE 作为 ADC0809 的 CLK。本设计中有两个模拟输入信号:水温信号和水位信号,所以需要两路模数 转换,故采用 IN0 和 IN1 来分别作为水位和水温模拟量的输入通道,由 AC 地 址译码选通。利用 8051的低三位地址

18、线 A0A2 输出路地址,分别与地址输入端 口 AC 连接。采用地址线选方式,用 8051的 P2.6引脚与读、写信号组合作为 ADC0809 的 START、ALE 和 OE 信号。即 P2.6低电平有效。所以,在软件编 程时 ADC0809 的地址为: P2.6即 A14=0,由 A0A 2 给出通道( IN0IN7)的选 通地址码,由此可知, ADC0809 的口地址为 0B000H。AD 转换硬件原理图如 下:2.3 MCS-51系列单片机 80512.3.1 单片机概述随着大规模集成技术的进一步发展,为满足实时应用领域的急切需要,要 求进一步缩小体积和降低成本,实现了把组成计算机的五

19、大部分集成在一块芯 片上,既在一块芯片上集成了: CPU、振荡器电路、 ROM 和 RAM 存储器、定 时 /计数器和并行 /串行接口等,一块芯片就构成一台具有一定功能的计算机,称 为单片微型计算机。单片机是在一块大规模集成电路( LSI)或大规模集成电路( VLSI )芯片 上集成的一台微型计算机,它具有许多独特优点,体积小、低功耗、低电压、 低成本、面向控制、可以满足工业控制的不同要求,已进入人类生活的各个领 域,如家用电器中的冰箱、彩电等,由于是用单片机控制系统,使系统功能更 多,使用更方便,更加智能化。单片微机的应用特点是“面向测控”。因此,它 总是以其强有力的信息处理、检测、控制以及

20、指挥中心,成为整个应用系统的 首脑,从而对单片微机的功能要求、规模大小和复杂程度等随应用系统的不同 而不同。 MCS-51单片微机正是以其外部功能扩展简单、灵活、方便的特点,满足了广泛的各种不同应用系统的要求,成为应用最广的单片机系列,既可构 成最简单系统,也可设计成相当复杂的系统。 8 位单片机是目前广泛应用的主 要机型。 32.3.2 MCS-51系列单片机 805118051内部的功能部件8 位 CPU ; 振荡器和时钟电路;4K 字节的程序存储器 ROM ;128数据存储器 RAM ;可寻址外部程序存储器和数据存储器各 64K 字节;20 多个特殊功能寄存器;32线并行 I/O 口;1

21、 个全双工串行 I/O 口;2 个 16 位定时 / 计数器;5 个中断源,有 2 个优先级,同级中断则按优先顺序查询; 具有较强功能的位处理(布尔)能力。28051的主要外部功能引脚说明Vss:电路低电平;Vcc :正常运行时为 +5V 电源;RST:复位信号输入端;ALE :允许地址锁存信号输出。当访问外部存储器时, ALE 信号的负跳变 将 P0 口上的低 8 位地址送入锁存器。在非访问外部存储器期间, ALE 仍以 1/6 振荡频率固定不变的速率输出,因而它能作外部时钟 或定时信号用。当访问外部数据存储器时,将以 1/12 振荡频率输出PSEN:访问外部程序存储器选通信号,低电平有效;

22、EA:访问内部或外部程序存储器选择信号。高电平为访问内部程序存储器, 低电平只访问内部程序存储器;P0口: 8位漏极开路双向并行 I/O 端口,当访问外部存储器时,它是地址 总线(低 8 位)和数据总线复用,外部不扩展而单片应用时,则 作双向 I/O 口用 ;P1口:8位准双向并行 I/O 端口;P2口:8位准双向并行 I/O 端口,当访问外部存储器时作高 8位地址用, 不做外部功能扩展(单片应用)时,则作准双向 I/O 口用;P3口:具有内部上拉电路的 8位准双向并行 I/O 端口,它还提供特殊的第 二功能,它的每一位均可独立定义为第一功能的 I/O 口和第二特殊 功能,其具体含义为如下P3

23、.0 RXD ,串行数据接收端P3.1TXD ,串行数据发送端P3.2INT0 ,外部中断 0 请求端,低电平有效P3.3INT1 ,外部中断 1 请求端,低电平有效P3.4 T0,定时/计数器 0 外部事件计数输入端P3.5 T1,定时/计数器 1 外部事件计数输入端P3.6WR,外部数据存储器写选通,低电平有效P3.7RD,外部数据存储器读选通,低电平有效38051的具体应用 8051作为系统的主要控制芯片起着指挥中心的作用,是系统输入部分和 输出部分建立联系的桥梁。由于本设计是小型应用系统, 8051 内部的程序存储器和数据存储器已够用, 所以不需要外扩 ROM 和 RAM关于 8051

24、与 ADC0809 的硬件接口设计思路已经在上一节介绍过了,在这 里就不再重复。如图 2-7,8051 控制着整个系统的运行。在运行过程中, 8051 不断输出信号控制温度传感器 AD590 和水位传感器 CB900,使它们自动检测水 温、水位,采集信号,当 8051启动 ADC0809 实行转换时,传感器的信号经处 理后送入 ADC0809,转换后的数据经 8051 读入处理后送 LED 显示。同时,根 据事先编好的程序,如果温度或水位没有达到要求(如本系统要求水位不可低 于 30L ,水温如果未达到设定值而又长时间无变化就自动加热,达到设定值后 自动保温)则 8051 就驱动执行机构进行相

25、应的操作,直到系统满足设定的条件, 达到自控的目的。当 8051 扫描到有按键按下时,便转去执行相应的中断服务, 即调节水温或者水位,在调整 LED 数码显示的同时去驱动相应的执行机构来加 热或者上水来实现使用者的设置。2.4 LED数码显示和键盘2.4.1 可编程并行接口 8255由于主机的 I/O 口数量有限,在大多数应用系统中均需外扩 I/O 接口部件 Intel 配套外围接口器件的种类齐全,并与 MCS-51 单片微机外部接口配置逻辑 电路极为简单、方便,这也是 MCS-51 单片微机应用广泛的原因之一。 8255是 Intel 公司生产的可编程并行 I/O 接口芯片,它具有 3 个

26、8 位的并行 I/O 口,分 别成为 PA、PB、PC 口,其中 PC 口又分为高 4 位口和低 4 位口两部分。它们 都可通过软件编程来设置各 I/O 口的工作方式。 8255I/O 口多功能强,与 8051 配置接口设计简单。如果全用单片机本身的并行口作键盘和显示器接口,会占 用过多的端口而影响其他控制任务的实现,因此本系统采用 8255 作为 LED 数 码显示和键盘的并行接口。18255的外特性D0D7:双向数据总线;CS:片选信号端,低电平有效;RD/WR :读/写选通信号端,低电平有效;A 0、A1:通道选择信号,它与 CS、WR、 RD 的信号端组合,用来控制 PA、PB、PC

27、三个通道口和控制字端口及其功能选择。它通常与地 址总线的最低位 A1A2 相连;RESET:复位信号输入端,高电平有效,复位后全部内部寄存器,包括控制 字寄存器均清“ 0”,所有通道均置为输入方式, 24 条 I/O 引脚均呈 高阻状态;PA口( PA07):一个 8 位数据输出锁存 /缓冲而输入锁存功能的输入 /输出通 道口;PB 口(PB07):一个 8 位数据输出锁存 /缓冲而输入缓冲功能的输入 /输出通 道口;PC 口(PC07):一个 8 位数据输出锁存 /缓冲而输入缓冲功能的输入 /输出通 道口;Vcc:+5V 电源;GND:接地端。28255的应用8255 有三种工作方式,其操作

28、方式是通过软件编程将方式控制字写入8255的控制字寄存器进行选择的。因此在使用 8255 之前必须要先对其初始化编程 由系统的硬件设计图可知, 8255的CS与 8051的 P2.7相连,即 P2.7=0,由此 可知,分配给 8255的地址空间为 7FFC7FFFH,其中, PA口地址为 7FFCH,PB口地址为 7FFDH,PC 口地址为 7FFEH,控制口地址为 7FFFH。 在本设计中,键盘由 8255的 A 端口 PA0和 PA1作列扫描,由 C 端口的 PC0和 PC1作行输入口。显示器为 6位 LED 数码显示,共阴极接法。数位的扫描信号 也由 8255的 A 端口 PA0PA5提

29、供,字段信号由 8255的 B端口 PB0PB7输出。 采用 7406和 7407进行驱动。 8255的端口 A 和端口 B均作为输出口,控制字 PA位和 PB 位均为 1,端口 C作输入口,控制字 PC2,PC1为 0,其他位不用为 0,控制字为 3H。8051 输出的数据是通过锁存器 74LS373送入 8255的, 74LS373的作用是暂存 8051输出的 8 位数据。2.4.2 6 位 LED数码显示和键盘本设计根据系统的设计要求,用了 6位LED 数码管,其中, 3位显示温度, 其它三位显示水位,显示值精确到个位。且根据程序的编写来分时显示设定值 以及实际值。当使用者有按键要求时,

30、 6 位数码管显示使用者设定的温度和水 位,设定结束后及其它工作时间, 6位LED 显示热水器当前的实际温度和水位 值。用四个 2*2 按键作为热水器的功能键,即 1 号按键:水位设定键(按一下 加 1L 水),2 号按键:开始加水键, 3 号按键:水温设定键(按一下升 1 摄氏度, 在 0 摄氏度与 100 摄氏度之间循环),以及 4 号按键:开始加热键。按 1 号键对 水位进行设置,设置结束后按 2号键即启动进水装置;按 3 号键可对水温进行 设置,设定结束后按 4 号键即启动加热装置。2.5 输出驱动与执行机构2.5.1 加热器的电路连接与分析电热型功率接口通常用继电器或可控硅控制,本设

31、计采用的是双向可控硅 控制的电热型功率接口。电路图见图 2-9。电热器件由双向可控硅 KS 控制,KS 由光电耦合器 4N25和晶体管 9013触 发采用直流脉冲触发,触发电压由变压器的其中一个绕组 L2 提供,经整流滤波 后,产生触发电流。单片机 8051 的 P1.7端输出的触发信号,经 7407后,送到光电耦合器 4N25。P1.7端输出高电平时, 4N25没有电流输入,晶体管 T 截止,双向晶闸 管 KS 关,电热器不加热。当 P1.7输出低电平时, 7404输出低电平, 4N25 输 出的电流经晶体管 9013 放大后流向双向可控硅门极,双向可控硅导通,电热器 加热。过零检测电路由变

32、压器 B 的其中一个绕组 L3和电容器 C2组成。 L3产生 2.5V 的交流电压,通过 C2交连到 T0 和 T1 端。T0 是过零检测端,它可对过零的 上升信号检测而发生中断; T1也是过零检测端,它可对过零的下降信号检测而 发生中断。把 T0和 T1产生的中断综合处理,即可得到电源电压过零的时刻。 其中,T0和 T1采用溢出中断方式。2.5.2 达林顿管的原理与应用由 8051 输出的控制信号要经过光电隔离后去控制上水阀进行工作,但由于 控制信号太小,需要接驱动电路将信号适当放大,在这里,我采用的是达林顿 管。达林顿管采用复合连接方式,将两只或更多只晶体管的集电极连在一起, 而将第一只晶

33、体管的发射极直接耦合到第二只晶体管的基极,依次级连而成。 达林顿管具有增益高、开关速度快、能简化设计电路等优点。本系统采用的是 由两只 NPN 型晶体管构成的达林顿管,其基本电路如下所示:图 2-10 达林顿管基本电路2.5.3 上水阀的驱动电路及分析单片机 8051的 P1.6利用 OC 门与光电耦合器 4N25 相连, 4N25的输出接达林顿管作为上水阀的驱动电路。 P1.6为低电平时, 4N25 有电流流入,达林顿2.6 系统的硬件抗干扰设计2.6.1 按键消抖1键盘输入的特点 键盘实质上是一组按键开关的集合。通常,按键所用开关为机械弹性开关, 均利用了机械触电的合、断。由于机械触点的弹

34、性作用,一个按键开关在闭合 时不会马上稳定地接通,在断开时也不会一下断开。因而,在闭合和断开的瞬 间均伴随着一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为 510ms。按键的稳定闭合时间由操作人员的按键动作持续时间决定,一般为十分之几秒到几秒时间按键的闭合与否,反映在电压上就是出现高电平或低电平,所以通过电平 的高低状态的检测,便可确认按键按下没有。为了确保按键的状态,必须消除 按键抖动的影响,这也是按键抗干扰的主要的一个方面,同时,由于按键一般 与系统是通过传输线相连的,传输线很容易受到电磁干扰的影响,因此键盘传 输线的抗干扰问题也是按键接口电路应该解决的问题。2按键接口电路的消抖

35、措施消除按键抖动影响通常有硬件、软件两种方法,本系统采用的是硬件方法: 双稳态消抖。其电路原理如图 2-1 所示:设按键首先处于 a位置,此时 RS触发器的与非门输出端 OUT1 为高电平 1,与非门 2的输出端 OUT2 为0,此输出引入到与非门 1的一个输入端,会把 与非门 1 锁住,使其固定输出为 1。如果此时按下此键,即使按键在 a 位置因 弹性而产生瞬间抖动,形成一连串的抖动波形,即与非门 1 输入端出现了一连 串的高和低电平,由于与非门 2的输入端在按键没有到达 b 位置时始终是 0, 所以无论与非门 1输入端的信号电平怎么变化,与非门 1输出端 OUT1 的输出 恒为 1。当按键

36、到达 b时,一旦与非门 2 的输入端呈现低电平时, RS触发器将出现状态的翻转,此时, OUT2 端输出为 1,OUT1 端输出为 0图 2-12 双稳态消抖电路OUT1 又引回与非门 2 的一个输入端,锁住与非门 2,保证其输出恒为 1,这样即使按键出现抖动,也不会影响 OUT2 的输出,因此 OUT1 的输出也恒 为 0 。同样,在松开按键的过程中,只要接通 a,输出为 1 ,在接通 a 的过程中, 即使产生了弹性抖动,只要按键不与按键 b发生接触, RS触发器的输出将保持 不变。由以上分析可知,如果在按键信号输入端加上一个 RS 触发器就可以消除按键抖动产生的干扰。2.6.2 光电隔离

37、光电隔离器主要用于电信号的隔离和传输,它通常把发光器件和受光器件 置于同一壳体内,在发光器件端口加入控制电信号,使得发光器件发光,受光 器件受光,产生光电效应,输出电信号,从而可以实现电光电的信号传输 和控制。本设计采用的光电隔离器是 4N25。4N25 由发光二极管和光敏三极管组成。当发光二极管流有一定电流时,发 光二极管就发光,发出的光照射到光敏三极管上,就会产生一定的基极电流, 使光敏三极管导通。若没有电流(或电流非常小)流过发光二极管,则其不发 光,光敏三极管就处于截止状态。图 2-13光电隔离器 4N25第三章 系统软件部分设计3.1 主程序流程图本设计属于小型应用系统,系统并不复杂

38、,但要求一定的可靠性和抗干扰 性。单片机的主频为 12kHz,显示部分由定时器中断控制。总的来说,软件的 实现没有高难度的算法,在这里省略了详细的程序。下图为主程序流程图:图 3-1 主程序流程图3.2 部分中断服务程序3.2.1 8255 初始化8255的初始化程序为:PI8255:MOVDPTR,#7FFFHMOVA,#3HMOVXDPTR,A;8255 控制寄存器地址送 A;控制字送 A;方式控制写入 8255 控制寄存 器3.2.2 A/D 转换程序1A/D 转换中断子程序流程图图 3-2 AD 转换中断服务程序流程图2A/D 转换程序在主程序中要对 INT0 外部中断进行预置,然后启

39、动 ADC0809进行 A/D 转 换。设由 IN 0路开始, IN 0和 IN 1轮流输入。转换结束后,转入中断服务子程序, 把转换结果读入 8051 的累加器,并存入相应缓冲存储单元 50H51H,再由主 程序对这些数据进行处理。转换程序如下:预置外部中断 0SETBIT0;置 INT0 为下降沿触发SETBEA;总中断开放SETREX0;开放 INT0 中断启动 ADC0809MOVDPTR,#0D000H;ADC0809 口地址MOVR0,#50;R0作存数缓冲器指针MOVR1,#00H;R1 作通道数指针MOVA,R1;从 IN0 开始MOVXDPTR,A;启动转换;继续主程序,等待中断中断子程序ORG0003H; INT0 中断向量地址AJMPRDDAT;转移至读入数据处RDDA T: MOVX A,DPTR;读入数据MOVR0,A;存入缓冲器INCR0;增量缓冲器指针INCR1;指向下一通道REP: MOVA,R1MOVX DPTR,A;启动对下一路的转换CJNE A,#01H,RMP0;两路都转换过了吗?MOV R1,#00H;是,重新从 IN0 开始RMP0: RETISJMP REP;否,返回主程序等待3.2.3 LED数码显示程序设显示缓冲区为 58H5FH 共 8个存储单元,显示子程序从地

温馨提示

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

最新文档

评论

0/150

提交评论