智能遥控窗帘系统设计_第1页
智能遥控窗帘系统设计_第2页
智能遥控窗帘系统设计_第3页
智能遥控窗帘系统设计_第4页
智能遥控窗帘系统设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、智能遥控窗帘系统设计摘要随着电子技术和自动化技术的发展,人们对生活质量的要求越来越高。家用电器产品也 在不断的更新换代。从始初的晶体管、到电子管;由模拟到数字;由分立元件到集成电路; 从普通向高性能、多功能型;由手动控制向红外线遥控、向智能化发展。此次要设计的就 是红外遥控窗帘。它是采用 89C2051 单片机的最小系统设计,控制一个 220V 的可逆、直 流电动机控制窗帘的拉开和关闭。关键词: 遥控,红外线,编码 ,抗干扰,智能,串行口11引言当今,计算机技术带来了科研和生产的许多重大飞跃, 微型计算机的应用已渗透到生产、 生活的各个方面。 其中单片机问世不久, 然而体积小、 廉价、功能强,

2、 其销售额每年近 80% 的速度增长。它的性能不断提高,适用范围越来越宽,在计算机应用领域已占有日益重要 的地位【 1】。近几年来,随着科学技术的发展和人民生活水平的日益提高,城市建设步伐的加快,一 栋栋居民楼、写字楼、宾馆拔地而起。进入寻常百姓的家用电器品种与数量愈来愈多,这 些家用电器有的能减轻人们的家务、有的能丰富人们的文娱生活,有的则能提高人们的生 活质量,为了进一步满足人们高水准生活的需要,家用电器产品性能也在不断的更新挽代,从始 初的晶体管、到电子管;由模拟到数字;由分立元件到集成电路;从普通向高性能、多功 能型;由手动控制向红外线遥控、向智能化发展。与此同时,窗帘作为装修业不可缺

3、少的 一部分,也日益火爆起来,目前,常用的窗帘轨道都是钢丝绳手拉式或滑轮式,只有一部 分高收入的家庭采用是电动遥控轨道。但价格相当昂贵,不能普及。所以设计的目标就是 实现功能全、造价省。能够进入大众生活。一款使用微电脑管理的、红外遥控器控制的多 功能窗帘,控制器符合当今的发展趋势。该窗帘控制器采用89C2051 单片机的最小系统设计,控制一个 220V 的可逆、直流电动机控制窗帘的拉开和关闭。窗帘控制器可以使用红外遥控器进行远程手动开、手动关和手动停控制;可以执行事先 输入的开启时间和关闭时间进行时间控制;还可以根据室外环境亮度实现环境亮度光控。 三种工作方式可以方便地进行选择,当选择时间控制

4、的方案时,数码管还能显示当时小时 和分钟时间,不过时间数据只能顺序显示,显示一遍后,略等片刻再显示下一遍时间。另 外、电机拉动窗帘的工作的时间长度,电机工作的时候是否有鸣响提示,以及光控状态下 环境亮度的控制参数的调整等等都可以通过遥控器进行设置【 16】。22 概述随着电子科学技术的发展,遥控技术在高科技研究、工农业生产、通讯技术、军事 技术、家用电器等诸多领域得到了广泛地应用,特别是随着各类遥控专用集成电路的不 断问世,使得各类遥控设备的性能也更加优越可靠,功能更加完善【3】。遥控种类繁多,有声控、无线电控制、红外线控制等。其中还包含着各种不同类型 的控制。我在本次设计中主要研究的是利用单

5、片机的智能红外线遥控电路的设计。2.1 选题背景随着科学的发展,社会的进步,人民生活水平的提高,工作压力也越来越大,人人 都希望回到家或是在办公室都有一个舒适的环境。能得到很好的休息,这就使得自动化 技术快速发展。当今,遥控已经很普遍。但不是说就没有他的研究价值,为了进一步满 足人们高水准生活的需要,家用电器产品性能也在不断的更新挽代,从始初的晶体管、 到电子管;由模拟到数字;由分立元件到集成电路;从普通向高性能、多功能型;由手 动控制向红外线遥控、向智能化发展。红外线遥控是目前应用最广泛的一种通信和遥控 手段。由于红外线遥控器具有体积小、功耗低、功能强、成本低等特点。因此,彩电、 录像机、音

6、响设备、空调、玩具、门铃以及遥控汽车路牌等其它小型装置上也纷纷采用 红外线遥控。与此同时,窗帘作为装修业不可缺少的一部分,也日益火爆起来,目前, 常用的窗帘轨道都是钢丝绳手拉式或滑轮式,只有一部分高收入的家庭采用是电动遥控 轨道。但价格相当昂贵,不能普及。所以,现在的重点是如何研制出功能全、造价省的 家用自动控制装置【 13】。同时,单片机也有它突出的优点。从 1974 年开始,单片机就以它的体积小、质量轻、 耗电省、可靠性高、价格低等特点, 开始不断发展,并广泛应用于仪器仪表、 家电电器、 医用设备、航天航空、专用设备的智能化管理及过程控制等领域。单片机的发展经历了 四个阶段。可预见单片机的

7、发展趋势将是向大容量、高性能话、外围电路内装化等方面发展, 也就是对CPU存储器、片内I/O的改进,低功耗,特别是系统的单片机是目前单片机 发展的重要趋势。而从目前国内对单片机的需求来看:在未来几年里, 8位、 16位单片 机将是单片机的发展主流,它的新发展表现在:(1) CPU功能的增加 (2)内部资源的增多 (3)引脚的多功能化 (4)低电压、低功耗。正因为单片机有着如此多的优点, 单片机在工业控制中和家用电器等上的应用中 独占鳌头,故又称为微控制器( Microcontroller )( 1) 因为它具有“小、轻、廉、省”的特点,尤其耗电少,又可使供电电源的体积 小、重量轻,所以特别适用

8、于“电脑型产品” ,在家电、玩具、游戏机、声像设备、电子秤、收银机、办公设备、厨房设备等许多产品上得到应用( 2) 适用于仪器仪表,不仅能完成测量,还具有处理、监控等功能,易于实现数字 化和智能化。( 3) 广泛应用于打印机、绘图仪等许多计算机外围设备,特别是用于智能终端,可 大大减轻主机负担。( 4) 用于各种工业控制,如温度控制、液面控制、生产线顺序控制等【2】。上述的归纳还不够完整,但已知单片机的应用已渗透到国民经济的各个领域,极 大地推动了计算机技术的普及,而且可以预见,随着单片机性能的进一步提高,它的 应用将更趋广泛。它对我国许多产品的升级换代、工厂企业的设备更新都将起着十分 巨大的

9、作用。所以利用单片机可以实现较多的功能的前提下降低设计、生产成本。2.2 设计思路2.1.1 主要任务课题设计的主要任务就是实现红外信号的发射和接收。保证发射出的信号要有足够的 强度,在传播过程中要能有防止其他无线电信号的干扰能力。同时接收机要能够在足够远 的距离上接收到准确的控制信号,起到控制电路工作的作用。2.1.2 工作原理和用电磁波用作无线电遥控的信号传播媒介一样,在红外遥控电路中用红外线作为红 外线遥控的信号传播媒介。借助于红外线具有直线传播的特性,利用专用的红外传感器具 有灵敏度高,响应快和光谱范围窄的性能,制成灵敏度高,抗干扰性能良好的红外遥控装 置。利用单片机控制的红外遥控电路

10、,它是利用单片机的异步通讯口,用红外发射口和红 外接收来实现发射和接收点信号功能。2.1.3 设计方案单通道遥控开关电路的红外线发射控制电路是利用脉冲发生器产生的高频脉冲方波驱 动红外发光管,使其发射出一系列等幅的红外方波脉冲。方波的占空比用1:1 或 1 比几。其目的是在一定的电源电压下,达到尽可能高的脉冲峰值,提高发射机的效率,以增大控 制距离,而且节省电源。例如:一个峰值电流为 3A 的脉冲,占空比为 1:3,它的平均消耗 电流只有1A。这对于使用干电池作电源的发射机是很有实用价值的。在接收机方面,由光电二极管或光电三极管将接收到的红外脉冲信号转换成微弱的脉 冲电信号,由电压放大级将这个

11、微弱的信号加以放大,使其能够可靠地出发双稳态电路的 翻转,有的电路还加以限幅放大,以削去干扰尖脉冲。最后将双稳态电路输出的控制信号 进行功率放大并驱动继电器,达到控制开关的目的。其结构如图 2.1图2.1红外遥控的基本原理由于一般的遥控电路,其控制距离都不超过 10米。这不仅是由于发射机的发射功率一 般都小的原因,而更重要的是因为红外线具有可见光的散射特性,在经过一段距离后它的 发射面积增大,使控制信号的能量分散,单位面积上的能量强度减弱,因而失去控制功能。 如果在增大发射机发射功率的同时,又将发射光或接收光聚焦,则控制距离可大大增加。 本次设计的要求是控制距离为 40-50米,所以,一般的遥

12、控电路不能满足要求。所以就要 求我们能设计出能适用于中远距离遥控的电路。3红外遥控电路原理及编码解码3.1电路原理3.1.1基本电路原理通常红外遥控系统由发射和接收两部分组成,应用编/解码电路专用集成电路芯片来进行控制操作,如图3.1所示,发射部分包括键盘矩阵、编码调制、红外发送器。接收部分 包括光电转换放大器、解调、解码电路。红外发送每次编码的发送是一个键值,即一个十 六进制的数据。为了达到一次能发送一组数据(如车次号,通常为三位十进制数),我们可以采用89C2051的软件编码/解码的方法,先一次性输入一组车号,按下发送键后,全部发 送出;同时在接收时,用连续接收方法,一次性解码所有数据【6

13、】。遥控发射器遥控接收器图3.1控制系框图3.1.2遥控发射器及其编码现在专用的发射与接收器件越来越多,在这就不做过多的介绍。下面介绍一款用 AT89C2051单片机来实现的遥控装置。6工作原理:图3.2为红外线发射电路原理图,K0至K7为遥控按钮,单片机P3.4端口控制 红外线的发射。T1作为发射时间控制器,TO作为红外线发射频率控制器。当有按键按下时, 控制软件启动定时器TO、T1,TO定时溢出,中断程序使 P3.4端口状态反转一次,写入定 时器的初值不同,在输出端口就可得到不同的发射频率。T1定时溢出,中断程序关闭TO定 时器,停止红外线发射。程序见清单。软件设计参数为:T1定时时间为1

14、00ms K0至K7按钮所对应的红外线发射频率分别为 300、600、900、1200、1500、1800、2100、2400 Hz【21】。4.7K1-tOVCCnriR2J4.7K1y456 亍RETPITP3.0Pl.6P3.1Pl.5XTAL2PL 4XTAL2Pl.3P3.2(TNT0jP1.2PS.3(LNT1)P1.1P3.4(T0)P1.0P3.5(T1)?3.7S?AT89C2051R4vcccc10K丄9T81 51311rOVCCC310uFGND图3.2红外线发射电路原理图#根据编码格式可以分成脉冲宽度调制和脉冲相位调制两大下面介绍一种编码方法: 遥控发射器专用芯片很多

15、, 类。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码 具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“ 0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的T,其波形如图3.3所示bit10.56ms IWj 0.56ws1*2.25ms图3.3波形图#上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率, 达 到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图图3.4所示。L“三蚊墨鼻顷咚.I图3.5发射波形

16、图UPD6121产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别 不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制 01H; 后16位为8位操作码(功能码)及其反码。UPD612K最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为100ms 一组码本身的持续时间随它包含的二进制“ 0”和“ T的个数不同而不同,大约在 4563ms之间,图 3.5为发射波形图。当一个键按下超过36ms振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射 代码由一个起始码(9mS , 一个结果码(4.5m

17、s),低8位地址码(9ms18m),高8位地址 码(9ms18ms ,8位数据码(9ms18m和这8位数据的反码(9ms18m组成。如果键 按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码( 9ms和结束码(2.5ms)组成。代码格式(以接收代码为准,接收代码与发射代码反向) 位定义0 J&lLf I?dotap 红w 世 2 24ms)单发代码格式连发代码格式注:代码宽度算法:16位地址码的最短宽度:1.12 x 16=18ms 16位地址码的最长宽度:2.24msX 16=36ms易知8位数据代码及其8位反代码的宽度和不变:(1.12ms+2.24ms)x 8=27ms

18、 32 位代码的宽度为(18ms+27m) (36ms+27ms)1. 解码的关键是如何识别“ 0”和“T,从位的定义我们可以发现“ 0”、“1 ”均以 0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms, “ 1”为1.68ms, 所以必须根据高电平的宽度区别“ 0”和“ 1”。如果从0.56ms低电平过后,开始延 时,0.56ms以后,若读到的电平为低,说明该位为“ 0”,反之则为“1”,为了可靠 起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“ 0”,读到 的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可

19、靠,一般取0.84ms 左右均可。2. 2.根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码【6】。3.2红外遥控解码原理3.2.1红外接收电路先介绍一款接收电路。电路原理:本电路见图3.6,主要由红外接收头和IC4069组成的红外控制开关电路。红外接收头静态时输出高电平。当收到遥控发射器送来的红 外脉冲信号时,接收头的第脚输出低电平(脉冲信号)。经ICa整形、放大、倒相而得到 负脉冲信号,再由D5、C4、R3检波,延时送至ICb(达到反相器的阈值电压),致使ICb输出低电平,然后C4端电压经R3放电,使ICb输入端低于反相器的阈值电 压,ICb输出端恢复高电平。这样,每

20、按动一次红外发射器,在IC6输出端就得到一 个负脉冲信号,去触发由ICc和ICd组成的双稳态电路,促使双稳态电路翻转,输出 H或L电平,通过R8控制单向可控硅的导通或截止3.2.2遥控编码脉冲的串并转换红外遥控接收头解调出的编码是串行二进制码,包含着遥控器按键信息。但它还不便 于CPU卖取识别,因此需要先对这些串行二进制码进行解码。3.2.3基于EPRO的遥控解码原理经过串并转换,我们得到了 8位并行遥控码。为了让CPU读取这个并行遥控码,通常的方法是在转换完成后产生一个中断,通知CPU来读取遥控信息。但这样做要占用 CPU一个外部中断资源并需编写额外的中断服务程序,显得比较烦琐。尤其是当仪器

21、系统的软件 不是由自己开发而又要加装遥控时更是无能为力。因此,我们想寻求一种不占用仪器CPU的软、硬件资源而实现遥控的方法,使键盘输入和遥控输入统一起来,占用同一个端口、 同一个中断、同一个中断服务程序。简言之,要做到对CPU是透明的,似乎只有一个键盘输入单元在工作,只须访问它来进行键盘扫描、键码读出操作。但实际上却有遥控器与键 盘两套键输入硬件在同时而独立地工作。考察一下智能仪器的键盘扫描输入原理。在这种方式下,CPU通过输出指令使键盘矩阵的行扫描线依次为“ 0”(低电平),同时监测键盘矩阵的列扫描线。若无键按下,则列 扫描线输出全“ 1”(高电平);若有键按下,则此键所在列线输出为“ 0”

22、,再结合行扫描 线此时的状态,就可具体定位按键。我们设想,可否将遥控接收头输出的含有按键信息的 8 位遥控码通过某种转换,并入 键盘矩阵电路,当遥控器有键按下时,就会在机上键盘对应键处产生一个“模拟”按键动 作,产生一个键码可供 CPU读取。所谓“模拟”是指并没有机械按键动作,但对于键盘矩 阵电路而言却产生一个低电平,效果和机械按键动作完全一样。这样就将遥控键盘和本机 键盘统一起来,二者的键数和键功能定义都一样,一个相同的键在遥控器上按下和在本机 键盘上按下对CPU而言没有任何区别,只不过对键盘矩阵来说前者是软接触,后者是硬接 触。根据遥控器上按键与本机键盘按键的一一对应方案,我们可以导出实现

23、“模拟”按键 的逻辑真值表(其中C0C4为列扫描线)。这是一个12变量输入S变量输出的组合逻辑函数,最小项总数为 16X20= 320个。若 用普通逻辑门电路来实现这样的功能将是十分麻烦的,用PLD(可编程逻辑器件)来做就要简单得多。EPRO就是一种与阵列固定、或阵列可编程的逻辑器件。如果把EPROI的输入地 址 A0, A1, ,AN 视为输入逻辑变量,同时把输出数据 D0, D1, ,DM 视为一组多输出 逻辑变量,那么输出与输入之间也就是一组多输出的组合逻辑函数。而且,EPROI地址译码器的输出包含了全部输入变量的最小项,每一位数据输出又都是这些最小项之和,因而任 何形式的组合逻辑函数均

24、能通过向 EPROI中写入相应的数据来实现。不难推想,具有N位 输入地址和M位数据输出的EPROI可以获得一组(最多为 M个)任何形式的N变量组合逻 辑函数。根据这个原理,选用4KX 8EPROM2732可以实现任意12变量输入、8变量输出的组合 逻辑函数。在本机遥控系统中,利用了 EPRO的 D0D4五根数据线和全部12根地址线,通 过向 2732中固化上表所示的逻辑真值表,从而实现了关键的遥控解码,使遥控器上按键与 本机键盘按键一一对应起来。 需要指出的是,EPROI的地址译码是全译码,而在本方案中占 据地址线A0A7的8位遥控码只有20种有效码值(20个键),即一页(2S6字节)中只有

25、20个有效数据,则应将剩余空间填入 0FFH。由解码电路图3可见,EPROM273的地址线A0-A7接至8位输出锁存移位寄存器74HCS9S 的输出(即8位遥控码),A8A11接至键盘矩阵的行扫描线 R0R3 2732的8根数据线使用 了其中的S根D0D4接至键盘矩阵的列扫描线 C0C4 2732的(片选端)接地,(读信号) 接至施密特与非门4093的3脚输出,此输出为双单稳74HC123的1Q与非的结果。当遥控器上没有按键按下时,EPROM273的端为“ 1”,使得2732的数据线D0D4为高 阻态与键盘矩阵线脱离,而本机键盘的扫描与读出照常进行不受影响,若遥控器上有键按 下时,经红外发射、

26、接收对应的8位遥控码出现在74HC595的输出端,并作为 EPROM2732的A0A7输入,此时的行扫描码(CPU发出)作为A8A11输入,2732的端为低电平,读出 A0A11指定单元的数据,将其中 D0D4放在键盘矩阵列线上。D0D4中只有一位为“ 0”, 指示着哪一列有键按下,这样就由遥控接收、解码电路模拟了一次“按键”动作。接下来 CPU对这个“按键”动作的响应、处理就和本机键盘完全一样了。3.2.4解码程序红外一开始发送一段13.5ms的引导码,引导码由9ms的高电平和4.5ms的低电平组成, 跟着引导码是系统码,系统反码,按键码,按键反码,如果按着键不放,则遥控器则发送 一段重复码

27、,重复码由9ms的高电平,2.25ms的低电平,跟着是一个短脉冲。程序流程图 下: 带 =匚晶J解码程序在比较器中断服务程序中实现。第一个下降沿表明编码输出开始,这时将时 间记录为last_time,当比较器输出跳为高电平时,记录当前时间为current_time,并且记录脉冲宽(current_time-last_time )判断收到的是宽脉冲还是窄脉冲,如果是宽脉冲记录 为0,窄脉冲记录为1。每一组有效的编码由24为组成,因此程序中需要有一个脉冲计数变量来记录是否有 24位码,只有确认收到24位码后,才认为这次按键有效。同时需要防止将用户的一次按键 解释为多次按键,需要有去抖功能。可以设一

28、个变量来记录同一个键值收到的次数,当它 的记录小于某一预定的值时,表示用户在进行同一操作。完整的接收到一组编码后,在中 断程序中将键值有效标志key_flag置1,主程序循环中如果查询到key_flag为1则保存这 个键码,即完成一次解码操作。4 单片机介绍4.1 单片机简介与接口技术4.1.1 主要功能MCS-51系列单片机是美国In tel公司在1980年推出的高性能8位单片微机,较原来 的MCS-48系列结构更为先进,功能增强,它包括 51和52两个子系列。在 51 系列中,主要有 8031、8051、8751 三种机型,它们的指令系统与芯片引脚完全 兼容,仅片内ROM有所不同。51子系

29、列的主要功能为:8 为 CPU 片内带振荡器,振荡频率fosc范围为1.212MHZ可有时钟输出。 128个字节的片内数据存储器。4K字节的片内程序存储器(8031无)。程序存储器的寻址范围为64K字节。片外数据存储器的寻址范围为64K字节。21个字节专用寄存器。4 个 8 位并行 I/O 接口: P0 P1、P2、P3o91 个全双工串行 I/O 接口,可多机通讯。2个16位定时/计数器。中断系统有5个中断源,可编程为两个优先级。111条指令,含乘法指令和除法指令。有强的位寻址、位处理能力。片内采用单总线结构。用单一+5V电源。52子系列主要有8032、8052两种机型。与51子系列的不同在

30、于:片内数据存储器增至256个字节;片内程序存储器增至 8KB( 8032无);有3个16位定时器/计数器;有6个中断源。其他性能均与 51 子系列相同。4.1.2 内部结构它含运算器、控制器、片内存储器、 4 个 I/O 接口、串行接口、定时器 / 计数器、中断 系统、振荡器等功能器件。4.1.3 外部引脚说明MCS-51系列单片机芯片有40个引。见图。用HMO工艺制造的芯片采用双列直插式封 装。低功耗的、采用CHMO工艺制造的机型(在型号中间家一“ C”字作为识别,如80C31、 80C51、87C51)也有用方型封装结构的。现将各引脚分别说明如下:1. 主电源引脚Vcc :接+5V电源正

31、端。Vss :接+5V电源地端。2. 外接晶体引脚XTAL1 :片内反相放大器输入端。XTAL2 :片内反相放大器输出端。外接晶体时,XTAL1与XTAL2各接警惕的一端,借外 接晶体与片内反相放大器构成振荡器。3. 输入/ 输出引脚P0.0P0.7 : P0 口的8个引脚。在不接片外存储器与不扩展 I/O接口时,可作为准双 向输入/输出接口。在接有片外存储器或扩展I/O接口时,P0口分时复用为低8位地址总线 和双向数据总线。P1.0P1.7 : P1 口的8个引脚。可作为准双向I/O接口使用。对于52子系列,P1.0 与P1.1还有第二种功能:P1.0可作为定时器/计数器2的计数脉冲输入端T

32、2; P1.1可作为 定时器/计数器 2的外部控制端 T2EX。P2.0P2.7: P2 口的8个引脚.一般可作为准双向I/O接口;在接有片外存储器或扩展I/O接口且寻址范围超过256字节时,P2 口用为高8为地址总线。P3.0P3.7: P3 口的8个引脚,除了作为准双向I/O接口使用外,还具有第二功能,具体如下:P3.0:RXD (串行输入口)P3.1: TXD(串行输出口)P3.2: INT0(外部中断 0 请求输入端)P3.3: INT1(外部中断 1 请求输入端)P3.4: T0(定时器/计数器 0计数脉冲输入端)P3.5: T1(定时器 /计数器 1 计数脉冲输入端)1415P3.

33、6: WR (片外数据存储器写选通信号输出端)pi. a c Fl. i E Pl. 2 C Pl. 3 C Fl. 4 E Pl, 5 C Pl. 6 r Pl. T CBESET ERXD/P3. D CTXD/Pa. 1 C nTT0/P3 2 C INT1/P3. 3 TO/PS. 4 C T1/F3. 5 E /P3. S L KD/P3. T CXTALZ EXTAL1 CVss匸VccJ FQ. Q/ADOJ PO. 1/AD1PO. ?/AD2PO. 3/AD3J PO, 4/AD4:Pu心1宀PO. 6/AD6J FO, 7/ADTJ EA/Vpp_3 宜 1 Ed BROG

34、J PSENJ P2. 7/ADI 51 P2. G/AD14J F3- 5/AI)lJ P2. 4/AD12P2. 3/AD1 1F2.2/AD1J P2. L/ADgJ P2. 0/AD3#MCS-51系列单片机外部引脚图4.1.4单片机接口技术80C51的串行通信口是一个功能强大的通信口,而且是相当好用的通信口,用于显示驱 动电路再合适不过了,下面我们就根据这种需要设计一个用两个串行通信口线加上两根 普通I/O 口,设计一个4位LED显示电路。当然只要再加上两根I/O 口线即可轻易实现 8位LED的显示电路。LEDl LED2 LED3 LED4串行动态扫描电路图4.1串行动态LED扫描

35、电路图是电原理图,我们还是采用C2051单片机,同时用廉价易得的74LS164和74LS138 作为扩展芯片。74LS164(详细技术手册)是一个8位串入并出的移位寄存器,其此处的 功能是将C2051串行通信口输出的串行数据译码并在其并口线上输出,从而驱动LED数码管。74LS138是一个3-8译码器,它将单片机输出的地址信号译码后动态驱动相应的 LED但74LS138电流驱动能力较小,为此,我们使用了未级驱动三极管2SA1015作为地 址驱动。将4只LED的段位都连在一起,它们的公共端则由 74LS138分时选通,这样任何一个时刻,都只有一位LED在点亮,也即动态扫描显示方式,其优点在上一节

36、中我们已经阐述。使用串行口进行LED通信,程序编写相当简单,用户只需将需显示的数据直接送 串口发送缓冲器,等待串行中断即可,看看下面的程序。程序清单ORG 0100HMOV SCON,#00H ;串行口工作方式 0MAIN: MOV R3 , #00H;字型码初始地址LOOP: MOV R4 , #0E8H;循环显示某个字符DELAY: ACALL DISPLAY;显示DJNZ R4, DELAY;延时时间未至继续INC R3;显示下个字符CJNE R3,#OAH LOOP;未显示至U “ 9” 继续AJMP MAIN;返回主程序DISPLAY:CLR P3.2CLR P3.3;选中第一位AC

37、ALL DISP;显示ACALL DELAY1;延时 10MSSETB P3.3;选中第二位ACALL DISPACALL DELAY1SETB P3.3;选中第三位CLR P3.2ACALL DISPACALL DELAY1SETB P3.2;选中第四位SETB P3.3ACALL DISPACALL DELAY1RETDIS: MOV A , R3MOV DPTR, #TABLEMOVC A, A+DPTR;查表MOV BUFF, A;送发送缓冲器WAIT: JNB TI , WAIT;等待串行中断CLR TIRETDELAY:1 MOV R6 , #10H;延时子程序LOOP:1 MOV

38、 R7 , #38HLOOP:2 DJNZ R7 , LOOP2DJNZ R6, LOOP1RETTABLE: DB 0C0H , 0F9H, 0A4H, 0B0H, 99HDB 92H, 82H, 0F8H,80H, 90HEND;程序结束 104.2 单片机抗干扰技术4.2.1MCS-51 单片机抗干扰技术 在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好 越来越受到重视。下面以 MCS-51 单片机系统为例,对微机系统软件抗干扰方法进行研究。 4.2.1.1 软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是: 一、消除模拟输入信号的嗓声(如数字

39、滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的 软件抗干扰方法。4.2.1.1.1 指令冗余CPU取指令过程是先取操作码,再取操作数。当 PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作 码,程序将出错。若“飞” 到了三字节指令,出错机率更大。在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是 在双字节指令和三字节指令后插入两个字节以上的 NOP。这样即使乱飞程序飞到操作数上, 由于空操作指令 NOP 的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。此外,对

40、系统流向起重要作用的指令如 RET、 RETI、LCALL、LJMP、JC等指令之前 插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。4.2.1.1.2 拦截技术 所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来 拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。1 软件陷阱的设计 当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口 地址 0000H 的指令。通常在 EPROM 中非程序区填入以下指令作为软件陷阱:NOPNOPLJMP

41、0000H其机器码为 0000020000。2 陷阱的安排通常在程序中未使用的 EPROM 空间填 0000020000。最后一条应填入 020000,当乱 飞程序落到此区,即可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。 当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误 的中断。如某应用系统虽未用到外部中断 1,外部中断 1 的中断服务程序可为如下形式:NOP NOP RETI返回指令可用“ RETI”,也可用“ LJMP 0000H”。如果故障诊断程序与系统自恢复程序 的设计可靠、 完善,用“ LJMP 0000H”作返回指令可直接进入故障诊断

42、程序,尽早地处 理故障并恢复程序的运行。考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。4.2.1.3 软件“看门狗”技术若失控的程序进入“死循环” ,通常采用“看门狗”技术使程序脱离“死循环” 。通过 不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷 入“死循环”,需进行出错处理。“看门狗”技术可由硬件实现,也可由软件实现。 在工业应用中,严重的干扰有时会 破坏中断方式控制字,关闭中断。则系统无法定时“喂狗” ,硬件看门狗电路失效。而软件 看门狗可有效地解决这类问题。笔者在实际应用中,采用环形中断监视系统。用定时器T0监视定时器T1,用

43、定时器T1监视主程序,主程序监视定时器 T0。采用这种环形结构的软件“看门狗”具有良好的抗 干扰性能,大大提高了系统可靠性。对于需经常使用 T1 定时器进行串口通讯的测控系统, 则定时器T1不能进行中断,可改由串口中断进行监控(如果用的是MCS-52系列单片机,也可用T2代替T1进行监视)。这种软件“看门狗”监视原理是:在主程序、T0中断服务程序、T1中断服务程序中各设一运行观测变量,假设为 MWatch T0Watch、TlWatch,主程序 每循环一次,MWatch加1,同样T0、T1中断服务程序执行一次,T0Watch T1Watch加1。 在T0中断服务程序中通过检测 T1Watch的

44、变化情况判定T1运行是否正常,在T1中断服务 程序中检测MWatch的变化情况判定主程序是否正常运行,在主程序中通过检测T0Watch的 变化情况判别T0是否正常工作。若检测到某观测变量变化不正常, 比如应当加1而未加1, 则转到出错处理程序作排除故障处理。当然,对主程序最大循环周期、定时器 T0 和 T1 定 时周期应予以全盘合理考虑【 8】。4.2.2 系统故障处理、自恢复程序的设计 单片机系统因干扰复位或掉电后复位均属非正常复位,应进行故障诊断并能自动恢复 非正常复位前的状态。4.2.2.1 非正常复位的识别程序的执行总是从 0000H 开始,导致程序从 0000H 开始执行有四种可能:

45、一、系统开 机上电复位;二、软件故障复位;三、看门狗超时未喂狗硬件复位; 四、任务正在执行中 掉电后来电复位。四种情况中除第一种情况外均属非正常复位,需加以识别。4.2.2.1.1 硬件复位与软件复位的识别此处硬件复位指开机复位与看门狗复位, 硬件复位对寄存器有影响, 如复位后 PC=0000H, S吐07H, PS辟00H等。而软件复位则对SP SPWc影响。故对于微机测控系统,当程序正 常运行时,将SP设置地址大于07H,或者将PSW勺第5位用户标志位在系统正常运行时设 为1。那么系统复位时只需检测 PSW.5标志位或SP值便可判此是否硬件复位。图4.2是采 用PSW.5作上电标志位判别硬

46、、软件复位的程序流程图。图4.2硬、软件复位识别流程此外,由于硬件复位时片内RAM犬态是随机的,而软件复位片内 RAM则可保持复位前状态, 因此可选取片内某一个或两个单元作为上电标志。设40H用来做上电标志,上电标志字为78H,若系统复位后40H单元内容不等于78H,则认为是硬件复位,否则认为是软件复位, 转向出错处理。若用两个单元作上电标志,则这种判别方法的可靠性更高。4.2.2.1.2 开机复位与看门狗故障复位的识别开机复位与看门狗故障复位因同属硬件复位,所以要想予以正确识别,一般要借助非易失性RAM或者EEROM当系统正常运行时,设置一可掉电保护的观测单元。 当系统正常运 行时,在定时喂

47、狗的中断服务程序中使该观测单元保持正常值(设为 AAH),而在主程中 将该单元清零,因观测单元掉电可保护,则开机时通过检测该单元是否为正常值可判断是 否看门狗复位【11】。4.2.2.1.3 正常开机复位与非正常开机复位的识别识别测控系统中因意外情况如系统掉电等情况引起的开机复位与正常开机复位,对于过程控制系统尤为重要。如某以时间为控制标准的测控系统,完成一次测控任务需1小时。在已执行测控50分钟的情况下,系统电压异常引起复位,此时若系统复位后又从头开始进 行测控则会造成不必要的时间消耗。因此可通过一监测单元对当前系统的运行状态、系统 时间予以监控,将控制过程分解为若干步或若干时间段,每执行完

48、一步或每运行一个时间 段则对监测单元置为关机允许值,不同的任务或任务的不同阶段有不同的值,若系统正在 进行测控任务或正在执某时间段,则将监测单元置为非正常关机值。那么系统复位后可据 此单元判系统原来的运行状态,并跳到出错处理程序中恢复系统原运行状态。5实际电路设计本文介绍一款使用微电脑管理的、红外遥控器控制的多功能窗帘控制器。该窗帘控制 器采用89C2051单片机的最小系统设计,控制一个 220V的可逆、变速电动机控制窗帘的 拉开和关闭。窗帘控制器可以使用红外遥控器进行远程手动开、手动关和手动停控制;可以执行事 先输入的开启时间和关闭时间进行时间控制;还可以根据室外环境亮度实现环境亮度光 控。

49、三种工作方式可以方便地进行选择,当选择时间控制的方案时,数码管还能显示当时 小时和分钟时间,不过时间数据只能顺序显示,显示一遍后,略等片刻再显示下一遍时间。 另外、电机拉动窗帘的工作的时间长度, 电机工作的时候是否有鸣响提示,以及光控状态 下环境亮度的控制参数的调整等等都可以通过遥控器进行设置。5.1窗帘控制器原理图红外遥控窗帘控制器电路原理图如图5.1所示。图5.1电路原理图5.2 工作原理解说电路分为 8 个部分,分别是电源部分、显示部分、鸣响提示部分、红外线接收部分、 数据储存部分、光控电路测光部分、电机控制执行部分、单片机主控器件部分。电源部分通过外接插座输入交流12V或者直流13-1

50、4V电压,交流电经过整流滤波后, 输出电压为12V的VDD为控制继电器提供工作电压。同时经过3端集成稳压器IC2稳压 后输出5V电压VBB为讯响电路、红外接收电路、显示电路提供电源,5V电源经过二极管 D4限流电阻R18后,为单片机提供VCC电压,E1是直流供电电源,电压为3V3.6V, 在本电路中为了节省成本,使用两节 5号普通电池,C6和C7是单片机电源滤波电容。平 时交流电正常的情况下,5V电源为单片机供电的同时,也为电池浮充电,大大延长了电 池的使用寿命, 当交流电停电的时候, 电池仅为单片机供电, 单片机在掉电状态下维持时 钟的正常走时,VBB供电被D4隔断。在控制器设置成手动控制时

51、,单片机除执行任务外, 均处于睡眠状态, 遥控器信号的到来, 单片机从睡眠中唤醒, 恢复正常工作, 所以手动状 态下当交流停电时,电池的耗电电流更小。显示电路使用一个0.56英寸的共阳高亮度数码管,限流电阻取用1 1.5K.鸣响电路由单片机的P1.0兼用,除驱动数码管的数点之外,兼用音频信号输出,音频 信号通过R20 C10输入到三极管V6的基极上,三极管驱动发声器发声。二极管 D3用来 提供C10的放电回路,保证交流信号的正常耦合。发声器发出的声音有单片机软件来实现 和控制,不同的情况下发出不同音调、 不同时间长度的鸣响来, 也可以编制乐音声音发声。红外线接收电路使用一个集成红外接收器,型号

52、是PIC-12043,在这里输入端的信号直接送入单片机的 P3.2 口。静态时输出端输出高电平,当接收到红外信号后,按红外信 号的数据波形输出负脉冲数据信号。 红外信号输出到单片机的 P3.2 ,该口对应的第二功 能是外部中断0 (INT0),利用该口的第二功能,一旦红外线信号到来,P3.2被拉低,单 片机中止当前的工作转移到接收、 处理红外信号。 开启中断功能的目的, 既减轻了单片机 的工作负担, 又保证接收到的红外信号的完整性, 同时在手动工作状态下, 单片机进入睡 眠后,利用外部中断功能完成对单片机的唤醒。光控电路有GM 1 C5 V3组成,利用了单片机的P3.4和P3.5完成对环境亮度

53、的测试 工作。GM1可以使用光敏电阻或者光敏二极管, 本电路中使用光敏二极管。C3和GM1组成 RC充放电回路,P3.4处于高电平的时候,P3.4的高电压用过GM1的正向电阻向C3充电, 当P3.4被单片机拉低后,C3通过光敏元件放电,光敏二极管工作在反向电压状态下,此 时环境亮度决定了光敏二极管的光阻值,光阻值大,C3放电速度慢,反之放电速度快。适当控制P3.4的拉低脉冲宽度,使得 C3放电工作在线性比较好的一个工作段上。P3.5用来检测C3在P3.4拉低期间放电的电压状态,当 C3电压下降到1/2VCC以下后,P3.5 测得数据“ 0”,反之测得数据“ T,为了减小P3.5对C3充放电的影

54、响,C3充放电电 压通过三极管V3组成的射极输出器连接到P3.5上,射极输出器的高输入阻抗减小了 P3.5 对RC充放电电路的影响。电机执行部分完全受单片机的控制,通过单片机的 P3.0 和 P3.1 完成。单片机复位状 态下P3.0和P3.1输出高电平,三极管VI、V2, V4、V5截止,两个继电器J1、J2释放状 态,方向可逆的电动机因无电源供电而停止。当P3.0或者P3.1其中有一个被拉低后,两个继电器便会有一个导通,例如P3.0拉低后V1导通、V4导通,J1吸合,电机得电转动, 当只有 P3.1 拉低后,电机则反方向转动,实现了窗帘的拉开和关闭。两个继电器的工作状态受单片机控制,在同一

55、个时间内两个继电器仅能有一个吸合。 即便是在电机工作期间, 操作了反向转动按键, 单片机也是先释放当前工作的继电器, 并 延时一段时间后再吸合另外一个继电器,防止了电机正反工作线圈同时通电的冒险。单片机是本电路中的核心器件,担负整个电路的管理。电路中使用P1 口的8个I/O口分别驱动数码管的7个笔划和数点。这样做的目的是AT89C2051用于本电路中,其I/O 口比较富裕, 这样的驱动显示节省一个显示驱动电路, 同时显示的数字和字符完全通过软 件编写的,可以编写更多的字符。所以数码管除显示09数字外,还可以显示软件编辑的任意字符,数点用来指示工作状态和不同的设置状态。单片机的复位脚使用C1、 R14组成上电复位电路,K1是手动复位按键。书点控制脚兼用鸣响信号输出端,输出的音频信号通过R20 C10输入到V6的基极,放大后推动发声器丫1发声。D3是C10的泄放电阻,保证交变信号的正常耦合。单片机的P3.3和P3.7 口作为IIC储存器的总线,本电路使用AT24C02完成对设置 状态和设置数据的储存【 17】。本电路中的硬件比较简

温馨提示

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

评论

0/150

提交评论