1、1摘 要随着科学技术的飞速发展,信息的飞快传播,红外遥控在人们的生活中已经成为不可或缺的部分。本文重点介绍了利用单片机 AT89S52 和 AT89C2051 实现红外发射和接收电路的设计方法。发射电路通过对单片机 89C2051 的编程,再通过红外二极管产生脉冲传送到接收器上。接收电路通过单片机 AT89S52 的控制编程,实现对不同设备的控制。整个电路耗电省、简单可靠、操作灵活、性能价格比高,较好地满足了现代生活,生产和科研的需要。关键词:红外遥控,发射电路,接收电路,单片机2ABSTRACTWith the rapid development of technology, the rap
2、id dissemination of information means that infrared control has become an indispensable component in peoples life. The article highlighted the design method of transmitting and receiving circuit by infrared control which use single-chip microcomputer AT89S52 and AT89C2051. After loading the program
3、to the single-chip microcomputer 89C2051, by the transmitting circuit , the infrared diode turns out impulsion then transfer the single to the receiver. Receiving circuit use single-chip microcomputer AT89S52 which can program to control different equipments. The entire circuit is simple, reliable,
4、flexible operation,high-performance, of high value and low cost, and it can meet the modern life, production and research need.Keywords: infrared control,transmitting circuit, receiving circuit,single-chip microcomputer引 言随着远程教育系统的不断发展和日趋完善,利用多媒体作为教学手段在各级各类学校都得到了广泛应用。近年来,在多媒体教学系统的使用、开发和研制中,经常遇到同时使用多
5、种设备,如:数字投影机、DVD 、VCD 、录像机、电视机等,由于各种设备都自带遥控器,而且不同的设备所遵循的红外传输规约也不尽相同,操纵这些设备得使用多种遥控器,给使用者带来了诸多不便。本次毕业设计的主题就是红外遥控电路设计。红外遥控的特点是利用红外线进行点对点通信的技术,不影响周边环境,不干扰其他电器设备。室内近距离(小于 10 米) ,信号无干扰、传输准确度高、体积小、功率低的特点,遥控中得到了广泛的应用。通过基于单片机的控3制指令来对多种设备进行远程控制,可以选择不同的按键来控制不同的设备。从而方便快捷的实现远程控制。常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外
6、发光二极管。它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。红外发光二极管一般有黑色、深蓝、透明三种颜色。判断红外发光二极管好坏的办法与判断普通二极管一样;用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉锯法来粗略判判定。接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外发光二极管一般有圆形和方形两种。由于红外发光二极管
7、的发射功率一般都较小,所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD) 、电源负(GND )和数据输出(VO或 OUT) 。红外接收头的引脚排列因型号不同而不尽相同,红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。1 设计要求及指标红外遥控是目前使用较多的一种遥控手段。红外线遥控装置具有体积小、功耗低、功能强、成本低等特点。在家庭生活中,录音机、音响设备、空调彩电都采用了红外遥控系统。
8、设计要求利用红外传输控制指令及智能控制系统,借助微处理器强大灵活的控制功能发出脉冲编码,组成的一个遥控系统。红外线编码是数据传输质是一种脉宽调制的串行通讯。红外线通讯的发送部分主要是把待发送的数据转换成一定格式的脉冲,然后驱动红外发光管向外发送数据。接收部分则是完成红外线的接收、放大、解调,还原成同步发射格式相同,但高、低电位刚好相反的脉冲信4号,其主要输出 TTL 兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。本设计的主要技术指标如下:(1) 遥控范围: 46 米(2) 显示可控制的通道(3) 接收灵敏可靠,抗干扰能力强(4) 控制用电器电流最高为 2A2 红外遥控系统的设
9、计红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。设计的电路由如下的几个基本模块组成:直流稳压电源,红外发射电路,红外接收电路及控制部分。系统框图如图 31 所示。按键部分单片机89C2051 发射部分电源 3V5图 21 红外遥控电路框图 (a)发射电路框图图 21 红外遥控电路框图 (b)接收电路框图3 红外收发电路的设计3.1 主要芯片闪电存储型单片机 AT89S52 的介绍3.1.1 AT89S52 具有下列主要性能: (1) 8KB 可改编程序 Flash 存储器 (可经受 1,000 次的写入/擦除周期) (2) 三级程序存储器保密5V
10、接收部分单片机89S52显示部分控制部分电源9V6(3) 256 *8 字节内部 RAM(4) 32 条可编程 I/O 线(5) 3 个 16 位定时器 /计数器(6) 6 个中断源(7) 可编程串行通道(8) 片内时钟振荡器AT89S52 是用静态逻辑来设计的,并提供两种可用软件来选择的省电方式 空闲方式和掉电方式。在空闲方式中,CPU 停止工作,而 RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结” ,一切功能暂停,只保存片内 RAM 中的内容,直到下一次硬件复位为止。3.1.2 AT89S52 的引脚及功能89S52 单片机的管脚说明
11、如图 31 所示。(1) 主要电源引脚 VSS 电源端 GND 接地端(2) 外接晶体引脚 XTAL1 和 XTAL2 XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。7p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78RST/VPD9RXD/P3.010TXD/P3.111INT0/P3.212INT1/P3.313T0/P3.414T1/P3.515WR/P3.616RD/P3.717XTAL218XTAL119GND20 P2.0 2
12、1P2.1 22P2.2 23P2.3 24P2.4 25P2.5 26P2.6 27P2.7 28PSEN 29ALE/PROG 30EA/VPP 31P0.7 32P0.6 33P0.5 34P0.4 35P0.3 36P0.2 37P0.1 38P0.0 39VCC 40图 31 AT89C51 的引脚 XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。(3) 输入/输出引脚 P0.0 P0.7、P10. P1.7、P2.0 P2.7 和 P3.0P3.7 。 P0 端口(P0.0 P0.7) P0 是一个 8 位
13、漏极开路型双向 I/O 端口。作为输出口用时,每位能以吸收电流的方式驱动 8 个 TTL 输入,对端口写 1 时,又可作高阻抗输入端用。在访问外部程序和数据存储器时,它是分时多路转换的地址(低 8 位)/数据总线,在访问期间激活了内部的上拉电阻。 P1 端口(P1.0 P1.7) P1 是一个带有内部上拉电阻的 8 位双向 I/O 端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 P2 端口 (P2.0P2.7) P2 是一个
14、带有内部上拉电阻的 8 位双向 I/O 端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2 作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和 16 位地址的外部数据存储器(如执行 MOVX 8DPTR 指令)时,P2 送出高 8 位地址。在访问 8 位地址的外部数据存储器(如执行MOVX Ri , A 指令)时,P2 口引脚上的内容(就是专用寄存器(SFR)区中 P2 寄存器的内容),在整个访问期间不会改变。 P3 端口(P3.0 P3.7 )
15、P3 是一个带有内部上拉电阻的 8 位双向 I/O 端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3 作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在 AT89S52 中,P3 端口还用于一些专门功能,这些兼用功能如下:(1) P3.0 RXD(串行输入口)(2) P3.1 TXD(串行输出口)(3) P3.2 /INT0(外部中断 0)(4) P3.3 /INT1(外部中断 1)(5) P3.4 T0(记时器 0 外部输入)(6) P3.5 T1(记时器 1 外
16、部输入)(7) P3.6 /WR(外部数据存储器写选通)(8) P3.7 /RD(外部数据存储器读选通)(9) P3 口同时为闪烁编程和编程校验接收一些控制信号3.1.3 振荡器特性:XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.1.4 芯片擦除:整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, ALE管脚处于低电平 10ms 来完成。在
17、芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。3.2 89C2051 介绍89C2051 共有 20 条引脚,如图 32 所示。P1 口共 8 脚,准双向端口。P3.0P3.6 共 7 脚,准双向端口,如 P3.0、P3.1 的串行通讯功能,P3.2 、P3.3的中断输入功能,P3.4 、 P3.5 的定时器输入功能。在引脚的驱动能力上,89C2051 具有很强的下拉能力,P1,P3 口的下拉能力均可9达到 20mA.相比之下,89C51 的端口下拉能力每脚最大为 15mA。但是限定 9 脚电流之和小于 71mA.这样,引脚的平均电流只 9mA。89C
18、2051 驱动能力的增强,使得它可以直接驱动 LED 数码管。相对于 89C51 它少了一些功能,但是它的功耗少,便于携带,更经济使它在发射电路中起着重要的地位。因此,在本设计红外发射的电路中就用了它来实现脉冲信号的产生。R S T1 V C C 2 0( R X D ) P 3 .02 P 1 .7 1 9( T X D ) P 3 .13 P 1 .6 1 8X T A L 24 P 1 .5 1 7X T A L 15 P 1 .4 1 6( I N T 0 ) P 3 .26 P 1 .3 1 5( I N T 1 ) P 3 .37 P 1 .2 1 4( T 0 ) P 3 .48
19、 P 1 .1 ( A I N 1 ) 1 3( T 1 ) P 3 .59 P 1 .0 ( A I N 0 ) 1 2P 3 .7 1 1G N D1 0U 1 8 9 C 2 0 5 1图 32 89C2051 的引脚3.3 系统的功能实现方法3.3.1 摇控码的编码格式该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为 2 个脉冲,最大为 17 个脉冲。为了使接收可靠,第一位码宽为 3ms,其余为 1ms,遥控码数据帧间隔大于 10ms,如图 33 所示。3.3.2 遥控码的发射采用的是 89C2051 芯片。用 P1 口组成键盘,获取键值,用内部的定时器 1 产生一个 40
20、KHz 的软件定时中断,当作红外线的调制基波,当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成 40kHz 方波由红外线发光管发射出去。P3.5 端口的输出调制波如图 33 所示。103.3.3 数码帧的接收处理当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在数据帧接收时,将对第一位(起始位)码的码宽进行验证。若第一位低电平码的脉宽小于 2ms,将作为错误码处理。当间隔位的高电平脉宽大于 3ms时,结束接收,然后根据累加器 A 中的脉冲个数,执行相应输出口的操作。图34 就是红外线接收器输出的一帧遥控码波形图。图 34 红外线接收器输出的一帧遥控码波形图1ms第一位 1ms10ms3ms10ms3ms 10ms帧间隙图 33 端口输出编码波形图1ms电器 7 的遥控输出码电器 1 的遥控输出码电器 0 的遥控输出码