学习型红外线控制器毕业论文.doc
学习型红外线控制器毕业论文摘 要红外线遥控器是现在使用最广泛的一种通信和遥控方式。由于其结构简单、体积小、功耗低、功能强、成本低等特点,因此广泛应用于彩电、空调、CD/VCD、录像机、家用电器设备及工业控制。随着现在人们的生活中家电日益增加的需要。使用红外线遥控器也越来越频繁。因为各种红外线遥控编码的不同。使着各种红外线遥控器不能兼容。经常需要更换遥控器,这也给人们的生活带来不便。单片的机迅速发展,使这一问题得到了很好的改善。 在这里设计一种以AT89C51单片机为核心的学习型红外线控制器。通过测量红外一体化接收头输出信号。并原样的记录其输入脉冲宽度,保存在单片机中,使用单片机定时器中断产生40Khz载波信号,以软件代替硬件,节约了资源。该学习型遥控器能够成功的学习各种红外控制编码,并通过40Khz的载波发送学习到的记忆信号。实现了对各种各样的红外遥控的学习,从而实现了真正的自学习型遥控器。关键词:红外线控制编码;AT89C51;学习型遥控器Abstract Infrared remote control is the most widely used means of a communication and remote control, due to its simple structure, small size, low power consumption, strong function, low cost, and therefore widely used in color TV, air conditioning, CD/VCD, VCR household appliances and industrial control equipment. With people now living in the growing need for home appliances, use infrared remote control is also increasing frequent. Because of various different encoding format infrared remote control, making all kinds of infrared remote control can not be compatible. Often need to replace the remote control, which bings inconvenience to people is lives. SCM has been dwvoloped rapidly so that this problem has been well improved. In this design a kind of learning as the core AT89C51 infrared remote, first by measuing the output signal of Integrated IR receiver head, and stood to record the output pules width, and then stored in the stored in the SCM, Finally, single-chip timer interrupt to generate 40KHz carrier signal, the software instead of hardware, saving resources. The learning IR remote control can be successful in learning a variety of infrared remote control codes and send the signals have been stored by 40KHz carrier. Achieved on a variety of learning IR remote control, Therefore, to achieve true self-leaening remote control.Key Words:remote control codes;AT89C51;learning IR remote control目 录1 绪论11.1课题研究背景11.2红外技术的研究现状11.3课题研究内容22 学习型红外线遥控器原理32.1 红外线遥控简介32.2 红外遥控原理32.3 红外线遥控发射原理42.4 红外线遥控接收原理63 红外线遥控设计方案73.1 系统设计指标73.2硬件方案设计73.3软件方案设计74 红外线遥控硬件设计94.1 硬件的选择94.1.1 红外接收装置94.1.2红外线发射装置114.1.3单片机原理134.2红外遥控电路设计174.2.1 接收部分电路174.2.2发射部分电路184.2.3电源部分185 系统软件的设计205.1 主程序设计205.2 红外线接收程序设计215.3 红外线接发射序设计226 红外遥控器的调试仿真236.1 软件部分仿真236.2 硬件电路部分仿真256.3 硬件电路调试26结 论32致 谢33参考文献34附录A 英文原文35附录B 中文译文48附录C 原理图和版图581 绪论1.1 课题研究背景上世纪八十年代初,日本率先在电视产品中使用了红外遥控技术,使用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦SAA3010 等,它的主要特点是遥控器内预置固定编码,一只遥控器只能控制单一型号的电器随着电子技术的发展,家用电器越来越普遍,人们希望以一只遥控器遥控所有家用电器,多用遥控器产生了。它的主要特点是:遥控器内预置多套编码,可供用户选择。如今,随着嵌入式的广泛应用,部分厂商推出了具备红外学习的遥控器,它的主要特点是:遥控器内置一个动态编码库,具备红外学习功能,可由用户自主录入编码。通过对具备红外学习功能的遥控器进行市场调查,本文发现:国内红外遥控编码学习技术虽比较成熟,但产品化程度较低,市场推广不够,主要原因在于设计者对用户需求的调查不够全面,以致产品不够实用,性价比较低。从用户操作方便实用的角度出发,本文自主设计具备红外学习、彩屏虚拟遥控界面的万能学习型红外遥控器,借此促进红外遥控学习技术在国内市场的产品化推广。1.2 红外技术的研究现状红外遥控具有结构简单,制作方便,成本低廉,抗干扰能力强,工作可靠性高等一系列优点。同时,由于红外遥控器件,工作电压低,功耗小,外围电路简单,因此,在日常生活中广泛应用,如彩电,录像机,音响空调,风扇,等其它的小型电器上。遥控距离在几米到十几米。在现代工业中已经广泛的使用,在高压,辐射,有毒气体,粉尘等环境下才用红外线遥控不仅安全可靠还可以有效的隔离干扰。红外线遥控的特点是不影响周围环境,不干扰其他设备。由于其无法穿越墙壁,可以使得在不同的房间可以使用通用的红外线设备,而不至于各个设备之间产生互扰现象。红外线遥控的电路设备相对比较简单。编码容易,可以实现多路的控制。因此,红外线遥控技术应用已经相当的广泛。现有自主学习型红外遥控器,核心MCU 主要有以下几种:MCS-51 系列、Microchip PIC16 系列、Winbond W741 系列、Holtek HT48 系列以及ARM系列。目前国内外比较成熟的产品主要有:1、上海慧居智能电子的HJ-JYWC,它的主要特点为:触屏按键组合输入。具有红外学习功能。具有载波频率识别功能,能准确识别各种复杂的红外代码。2、BREMAX 公司的NRC-304 网络多功能遥控器,它的主要特点为:联机自学习、脱机自学习两种模式;具有USB 口,通过INTERNET 登陆BREMAX 公司网站,搜寻并下载相应型号家电的遥控器编码,兼容各种品牌和型号。3、Sunwave 公司的SRC1600,它的主要特点为:具有巨集设定功能,单一按键巨集设定可记忆多达60 个指令;具备红外学习功能,具有USB 接口,可预设遥控编码和升级系统。4、罗技Harmony 1100,它的主要特点为:黑色铝合金外壳,3.5 英寸的触屏;用户可以根据具体情况添加或者删除屏幕上的功能键;设备能通过USB 连机,获取罗技在线数据库配置文件。1.3 课题研究内容学习型红外遥控系统以AT89C51系列单片机作为主控芯片,红外线编码接收模块,红外线编码发送模块组成。利用单片机AT89C51对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。当要发射红外信号时,从扩展存储区中还原出相应的红外遥控编码,并调制到40KHz的载波信号上,最后,通过三极管放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备。2 学习型红外线遥控器原理2.1 红外线遥控简介在接受红外遥控之前,首先介绍一下什么是红外线。我们知道,人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范 围为0.620.76m;紫光的波长范围为0.380.46m;比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线遥控就是利用波长为0.761.5m之间的近红外线来传送控制信号的。红外遥控系统常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图2.1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。图2.1 红外遥控系统框图2.2 红外遥控原理红外遥控发送数据时采用调制的方式,即把数据和一定的频率的载波进行“与”操作,这不仅可以提高发射效率,还可以有效的降低电源的功耗。调制载波的频率一般在30Khz到60Khz之间。大多数产用40Khz左右得频率进行调制。本设计采用40Khz占空比位1:3的方波。方波由单片机产生。向单片机定时器加载相应的数据,使其产生40Khz的方波。然后将将要发送的编码和载波进行与操作发送编码。2.3 红外线遥控发射原理 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2.2所示。图 2.2 红外遥控编码波形上述“0”与“1”将组成32位的数据编码形成一帧的数据。该码型的一帧数据中由启动码,八位的系统码1,系统码2,数据码,数据反码组成。其中启动码是由“0”向“1”的跳变。系统码和数码都是由8位数据组成。用户码和数据码的发送均是低位在前,高位在后。具体的编码格式如图2.3。图 2.3 编码格式UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户 识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563ms之间。图 2.4 发射波形图当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码 (4.5ms),低8位地址码(9ms18ms),高8位地址码(9ms18ms),8位数据码(9ms18ms)和这8位数据的反码 (9ms18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发码)将仅由起始码(9ms)和结束码(2.25ms)组成。目前有很多种芯片可以实现红外发射,可以根据选择发出不同种类的编码。由于发射系统一般用电池供电,这就要求芯片 的功耗要很低,芯片大多都设计成可以处于休眠状态,当有按键按下时才工作,这样可以降低功耗芯片所用的晶振应该有 足够的耐物理撞击能力,不能选用普通的石英晶体,一般是选用陶瓷共鸣器,陶瓷共鸣器准确性没有石英晶体高,但通常一点误差可以忽略不计。 本设计红外线通过红外发光二极管(LED)发射出去,红外发光二极管(红外发射管)内部构造与普通的发光二极管基本相同,材料和普通发光二极管不同,在红外发射管两端施加一定电压时,它发出的是红外线而不是可见光。选用元件时要注意三极管的开关速度要快,还要考虑到LED的正向电流和反向漏电流,一般流过LED的最大正向电流为100mA,电流越大,其发射的波形强度越大。当电池电压下降时,流过LED的电流会降低,发射波形强度降低,遥控距离就会变小。射极输出电路可以解决这个问题,两个二极管把三级管基极电压钳位在1.2V左右,因此三级管发射极电压固定在0.6V左右, 发射极电流IE基本不变,根据IEIC,所以流过LED的电流也基本不变,这样保证了当电池电压降低时还可以保证一定的遥控距离2.4 红外线遥控接收原理红外接收电路通常被厂家集成在一个元件中,成为一体化红外接收头。 内部电路包括红外监测二极管,放大器,限幅器,带通滤波器,积分电路,比较器等。红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。交流信号进入带通滤波器,带通滤波器可以通过30khz到60khz的负载波,通过解调电路和积分电路进入比较器,比较器输出高低电平,还原出发射端的信号波形。注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。 红外接收头的种类很多,引脚定义也不相同,一般都有三个引脚,包括供电脚,接地和信号输出脚。根据发射端调制 载波的不同应选用相应解调频率的接收头。IRM38A为比较常用的红外线接收器。图2.5为IRM38A的引脚图。红外接收头内部放大器的增益很大,很容易引起干扰,因此在接收头的供电脚上须加上滤波电容,一般在22uf以上。 有的厂家建议在供电脚和电源之间接入330欧电阻,进一步降低电源干扰图2.5 IRM38A引脚3 红外线遥控设计方案3.1 系统设计指标1. 红外线发射距离:10米-15米。2. 解码类型:RC-5协议;解码准确率85%以上。3. 载波发射频率:40KHz±1KHz。4. 设计学习键实现学习功能,一个发射键实现发射功能。3.2 硬件方案设计本课题主要针对学习型红外遥控器的设计,基于功能,将系统分为三个单元进行操作,包括:红外学习接收模块、单片机软件处理模块、红外遥控发射模块。由红外学习模块接收红外信号并对其进行解码,然后传输到单片机中进行储存,再通过遥控发射模块输出信号。其硬件原理框图如图3.1所示:图3.1学习型红外遥控器硬件原理框图3.3 软件方案设计学习型红外线设计的软件部分主要由:主程序、延时程序、初始化程序、键功能函数、主函数、40Khz发生器、学习函数等模块组成。主程序主要完成的程序的初始化和按键扫描,外部中断程序主要完成控制定时器产生40KHz的载波,键功能函数主要完成信号的发射,学习函数完成信号的接收与储存。系统通过Pl.0口接遥控码发射按键;P1.6口用作状态指示,绿灯亮代表学习状态;Pl.7口用指示控制键的操作,闪烁时表示遥控码正在发射之中。处在学习状态绿灯灭表示码已读入。P1.8脚单片机的复位脚,采用简单的RC上电复位电路P3.1脚中断输入口,用于工作方式的转换控制,当INTO脚位低电平时,系统进入学习状态;P3.4脚用于红外线接收头的输出信号录入;P3.5脚作为遥控码的输出口,用于输出40KHz的遥控码;XTAL1、XTAL2脚接12M晶振。 4 红外线遥控硬件设计4.1 硬件的选择红外线遥控器硬件主要的器件有AT89C51单片机、红外接收装置和红外发射装置,涉及到能否准确的传输和接收信号,以及信号的储存和调制。所以对这些主要元件的选择也有较高要求。 4.1.1 红外接收装置本论文是需要将接收到的红外信号,解码成单片机能够识别的信号,通过对各类红外接收装置的了解,以及对各类装置成本方面的考虑,最后决定采用HS0038一体化红外接收头。红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本系统中我们采用红外一体化接收头HS0038,HS0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。HS0038 为直立侧面收光型。它接收红外信号频率为40 kHz,周期约26 s,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、5 V 电源、解调信号输出端。 红外一体化接收头的测试可以利用图4.1 所示: 图4.1 红外一体化接收头在HS0038 的电源端与信号输出端之间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外接收头的优劣。 Hs0038不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,自适合于各种红外线遥控和红外线数据传愉。起内部元件结构如图4.2所示:图4.2 HS0038内部结构因为要进行遥控操作,必须使被遥控对象能够认识遥控指令,这样才能对其进行操作。举例说明一下:假如我只会说汉语,而JIM 只会说英语,让我们两个独自交流的话肯定不会有什么结果,那我们要进行交流,怎么办?这就需要一个翻译者来做中间人了,翻译者将JIM(我)说的话翻译给我(JIM)能够听懂、识别的语言,这样我们交流就没问题了。同样,在红外遥控方面,要使被遥控对象能够识别遥控指令,那就需要一个“翻译者”,我们将这作为一个过程,叫解码。 当检测到有红外中断时,进入中断服务,在该程序中调用识别程序,并注意关闭外部中断,同时在另一定时中断中判别连续发码的间隔时间,并打开外部中断。在中断服务程序中,判别系统码,系统码有效,才视为有效结果;对同一按键连续2次接收的结果做比较,相同才视为有效结果。红外遥控编码正确识别以后,设置任意键码实现存储,配以控制执行部分,比如采用继电器或者可控硅很容易实现被控电器的电源的通断,实现节能环保和方便生活的目的。4.1.2 红外线发射装置发射机的任务是产生一系列载有通道信息的红外线脉冲申,因此它必须对通道信息进行编码和调制。我们用键盘扫描的方式确定需要发送的红外线脉冲个数,不同的个数代表不同的通道,发射机工作时耗电少,静态开机几乎不消耗电,达到节能要求,该系统遥控发射器电路把单片机P1.0和P1.1口用作键扫描端口,具有多个功能操作键,第9脚为单片机复位脚,采用简单的RC上电复位电路;巧脚作为红外线遥控码的输出口,用于输出40KHz载波编码;把XTAL1 、XTAL1脚接12MHz晶振。P1口接上拉电阻。电源采用+5V 。本课题的红外发射部分比较简单,由于采用的定时器T0的中断来产生的40KHz载波,所以对红外发射装置的要求也就没有接收装置那么严格,所以本课题采用的是红外发射二极管。下面简单介绍一下发光二极管的原理。发光元件的种类很多,依光谱大致可分为红外线发光元件及可见光的发光元件。在本论文中,所要介绍的红外线发光元件,是以砷化镓(GaAs)的红外线发光二极管(也称红外线发射二极管)为主体,分别叙述其基本特性及应用电路。常用的红外发光二极管(如SE303·PH303),其外形和发光二极管LED相似,发出红外光(近红外线约0.93m )。管压降约1.4V ,工作电流一般小于20mA。为了适应不同的工作电压,回路中常串有限流电阻。发射红外线去控制相应的受控装置时,其控制的距离与发射功率成正比。为了增加红外线的控制距离,红外发光二极管工作于脉冲状态,因为脉冲(调制光)的有效传送距离与脉冲的峰值电流成正比,只需尽量提高脉冲峰值电流Ip,就能增加红外光的发射距离。提高Ip 的方法,是减小脉冲占空比,即压缩脉冲的时间宽度,一些彩电红外遥控器,其红外发光管的工作脉冲中空比约为1/41/3;一些电气产品红外遥控器,其占空比是1/10。减小脉冲占空比还可使小功率红外发光二极管的发射距离大大增加。常见的红外发光二极管,其功率分为小功率(1mW10mW)、中功率(20mW50mW)和大功率(50mW100mW以上)三大类。要使红外发光二极管产生调制光,只需在驱动管上加上一定频率的脉冲电压。用红外发光二极管发射红外线去控制受控装置时,受控装置中均有相应的红外光一电转换元件,如红外按收二极管,光电三极管等。实用中已有红外发射和接收配对的二极管。红外线发射与接收的方式有两种,其一是直射式,其二是反射式。直射式指发光管和接收管相对安放在发射与受控物的两端,中间相距一定距离;反射式指发光管和接收管并列一起,平时接收管始终无光照,只在发光管发出的红外光遇到反射物时,接收管收到反射回来的红外线才工作。 双管红外发射电路,可提高发射功率,增加红外发射的作用距离。红外发光二极管,它发射13m的红外光,人眼看不到。通常单只红外发光二极管发射功率只有数mW,不同型号的红外LED发光强度角分布也不相同。红外LED的正向压降一般为1.32.5V,工作电流一般小于20mA 。正是由于其发射的红外光人眼看不见,所以利用上述可见光LED的检测法只能判定其PN结正、反向电学特性是否正常,而无法判定其发光情况正常否。为此,最好准备一只光敏器件(如2CR、2DR型硅光电池)作接收器。用万用表测光电池两端电压的变化情况。来判断红外LED加上适当正向电流后是否发射红外光。其测量电路如图4.3所示。 图4.3 测试电路发光二极管所发射的光波长,常因其所用的材料而异。砷化嫁的红外线发光二极管,其峰值发光波长为940950nm,而人不能看到的光波长,大概就在900nm以上,这也就是红外线的光我们人眼所不能看到的原因。Si质光电品体的相对分光感度,光电晶体管的感光范围很大,其范围由50nm到1100nm,而其感光峰值约在800nm左右,所以光电晶体体除了平常用来做可见光线侦测外,也常用来做红外线接收器。但使用光电晶体当红外线接收器时,须注意其光线的干扰,为排除干扰可以在接收器的放大部份加入一带通滤波器,以让红外线发光二极管发射出来光线的频率通过,如此可以减少很多不必要的干扰。红外线发光二极管其电气的电路符号及特性,阳极(P极)电压加正,阴极(N极)电压加负,此时二极管所加之电压为正向电压,同时亦产生正向电流,提供了红外线发光二极管发射出光束的能量,其发光的条件与一般的发光二极管(LED)一样,只是红外线为不可见光。一般而言砷化惊的红外线发光二极体约须1V ,而嫁质的红色发光二极管切入电压约须1.8V;绿色发光二极管切入电压约须2.0V左右。当加入之电压超过切入电压之后,电流便急速上升,而周围温度对二极管的切入电压影响亦很大,当温度较高时,将使其切入电压数值降低,反之,切入电压降低。红外线发光二极管工作在反向电压时,只有微小的漏电流,但反向电压超过崩溃电压时,便立即产生大量的电流,将使元件烧毁,一般红外线二极管反向耐压之值约为3-6V,在使用时尽量避免有此一情形发生。4.1.3 单片机原理(1) STC89C51性能简介STC89C51是51系列单片机的一个型号,它是STC公司生产的。STC89C51是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C1单片机可提供许多较复杂系统控制应用场合。STC89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C51可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本7。STC89C51有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。图4.3 STC89C51引脚分布图(2) STC89C51引脚功能说明:VCC:电源电压。GND:地。RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT益出将使该引脚输出高电平,设置SFR AUXR 的 DISRTO 位(地址8EH)可打开或关闭该功能。DISRTO 位缺省为RESET输出高电平打开状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位禁位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问8位地址的外部数据存储器时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2也接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。P3口还有替代各种功能,如表4.1所示:表4.1 P3口替代功能引脚替代功能说明P3.0RXD串行数据接收P3.1TXD串行数据发射P3.2INT0开放中断0申请P3.3INT1开放中断1申请P3.4T0定时器0外部事件计数输入P3.5T1定时器1外部事件计数输入P3.6WR外部RAM写选通P3.7RD外部RAM读选通PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V的编程电压VPP。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端8。(3)定时/计数器的控制寄存器(TCON)简介TCON7 TCON0TF1TR1TF0TR0IE1IT1IE0IT0 TF1:定时器T1溢出标志。 TR1:定时器T1运行控制位。 IE1(IEO):外部中断1跳变标志,当检测到INT1( INT0)负跳变且IT1=1时,IE1(IEO)由硬件置位;当执行中断程序时,由硬件清0(4)电平触发方式在AT89C51单片机中有两个外部中断请求INT0和INTl,分别由P3.2和P3.3口输入。单片机在每一个机器周期的S5P2期间采样中断输入信号INTX的状态,若为低电平就可以直接触发外部中断,这就使得cpu对来自外部申请能得以及时响应。在这一触发方式中,中断源必须持续请求,一直到中断实际产生为止。所以电平触发方式适合于外部中断输人为低电平,且在中断服务程序中能清除该中断源申请信号的情况。(5)边沿触发方式这种方式中,如果在INTX端连续采样到一个周期的高电平和紧接着一个周期的低电平,则在TCON寄存器中的中断请求标志位IEX就被置位,由标志位请求中断。所以该方式适合于以负脉冲形式输人的外部中断请求。由于外中断源在每个机器周期被采样一次,所以输入的高电平或者低电平至少保持十二个振荡周期,以保证被采样。在一个单一的中断源的情况下,中断响应时间总是在3-8个机器周期。单片机最小系统如图4.4所示: 图4.4 单片机最小系统图4.2 红外遥控电路设计 红外遥控电路设计分为红外接收电路和红外发射电路两个部分。发射机只要产生调制脉冲,而接收机则对调制信号进行解调并实现对模拟及开关通道的控制。可见两部分复杂程度有很大区别。因此设计方法有所不同,接收机采用一次性结构化设计法,发射机部分则分解为两个层次进行设计。在实现手段方面,红外波段的电磁波不会使人眼产生视觉感觉不能穿透墙壁而产生相互干扰,因此本系统采用红外线作为载体媒质。另外由于此系统传送的是简单的通道控制信息,对通信的有效性要求不高,即脉冲个数调制用脉冲的个数来区别不同的通道其中第一个脉冲即为同步脉冲,简单地实现了同步信息传送,此外电路实现尽量达到集成化和数字化,使系统更加简洁可靠。4.2.1 接收部分电路 红外遥控接收电路主要用用于接收红外信号,并且将其转换为单片机可识别的信号编码。由P1.6口用作状态指示,灯亮时表示处在学习状态,灯灭表示停止学习。而通过按键来控制困T0口的高低电平,当取T0为低电平的时候,系统进入学习状态;P3.4脚则用于接收一体化红外接收头HSO038的信号。接收部分的电路图如图4.5所示: 图4.5 红外接收图 4.2.2 发射部分电路发射电路时由P1.1口接遥控控码的发射键;由P1.7口接发射状态指示灯,用于示控制键的操作,闪烁时就表示遥控码正处在发射状态,灯灭表示信号以发送完毕,可以松开发射键了,发射部分的电路图,P3.5脚作为遥控码的输出端用于输出40KHz的遥控码。如图4.6所示: 图4.6 发射电路图4.2.3 电源部分本设计采用常见的三端稳压集成电路有正电压输出的7805系列。三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。用7805系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为6V,7909表示输出电压为负9V。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。当制作中需要一个能输出1.5A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个1.5A,但应用时需注意:并联使用的集成稳压电路应采用同一厂家、同一批号的产品,以保证参数的一致。另外在输出电流上留有一定的余量,以避免个别集成稳压电路失效时导致其他电路的连锁烧毁。 在7805系列三端稳压器中最常应用的是TO-220 和TO-202 两种封装。这两种封装的图形以及引脚序号、引脚功能如附图4.7所示。 图4.7 7805从正面看引脚从左向右按顺序标注,接入电路时脚电压高于脚,脚为输出位。如对于7805正压系列,脚高电位,脚接地,;此外,还应注意,散热片总是和接地脚相连。这样在7805系列中,散热片和脚连接。电源设计图,如图4.8所示:图4.8 电源设计图5 系统软件的设计学习型红外遥控器是通过一体化红外接收头HSO038接收红外信号HSOO38将红外信号解码并放大,信号由OUT口输出到单片机的TO口,然后通过学习函数储存于单片机中,由顶TO口接学习键进行学