[原创]基于单片机的红外遥控系统设计毕业论文设计 - 图文 联系客服

发布时间 : 星期五 文章[原创]基于单片机的红外遥控系统设计毕业论文设计 - 图文更新完毕开始阅读d6f9d662e3bd960590c69ec3d5bbfd0a7956d534

2硬件设计

2.1整体设计方案及框图

本设计采用的是NEC编码的遥控器,当遥控器的某个按键被按下以后,遥控器产生红外脉冲信号通过红外发射管发射出去[2],接收端采用1838的红外接收头来接收红外脉冲信号,1838接收头的信号输出端OUT连接到STC12C2052的外部中断INT0,这样1838把接收到的红外脉冲信号送到STC12C2052去解码,解码处理完成后得到的8位有效数据通过串行口TXD发送到主机STC89C52去处理,主程序中的switch语句能够判断出什么键被按下了,同时根据不同键值产生不同的控制策略,比如步进电机的控制脉冲通过P2.0~P2.3送出,经由ULN2003功率放大,驱动4相5线的步进电机转动,同时P0口能送出段码使数码管上显示转速。本设计硬件包含了5个主要部分。 (1) 红外接收部分,包括1838红外接收器及其外围电路。 (2) 红外解码电路,包括STC12C2052做解码芯片。 (3) 显示部分 ,包括有3个运行指示灯和4位8段数码管。 (4) 主机 STC89C52 及其外围电路,复位电路,晶振电路等。 (5) 步进驱动电路,ULN2003驱动芯片,驱动4相5线的步进电机。 系统整体的框图如图2-1所示。

图2-1 系统整体框图

2.2 系统功能模块设计

2.2.1 红外收发模块

红外遥控系统由发射和接收两个部分组成。发送部分包括了遥控器键盘,编码调制芯片,LED红外发射器;接收部分包括了光电转化放大器[2],解码,解调。本设计采用现成遥控器,此遥控器使用了专用的集成发射芯片来实现遥控码的发射。信号发射,就是将某个按键所对应的控制指令和系统码,调制在38KHz的载波上,经由放大,驱动红外发射管将信号发射出去。而接收电路采用红外线接收和放大于一体的一体化红外接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的的塑料封装的三极管大小一样,它适用于各种红外遥控和红外线数据传输。如图2-2所示。

红外遥控器LEDNEC编码键盘LED一体化红外接收头解码单片机 编码和调制光电放大解调图2-2 红外线遥控系统框图

由于不同公司的遥控芯片,采用的遥控码格式不一样。现在市场上较为普遍的编码标准有两种,一种是NEC标准,一种是PHILIPS标准。

本设计中的遥控器的遥控芯片是NEC标准,下文介绍一下什么是NEC标准。遥控发射的信号调制在频率38KHz的载波上;当用户按下按键时发送一个完整码。一个完整码[7] = 一位引导码 + 8位用户码 + 8位用户码 + 8位数据码 + 8位数据反码 ,总共33位,其中引导码是9ms = 4.5 ms 的高电平 + 4.5 ms的低电平;其中用户码16位,它的作用是用来区分不同的遥控设备,不至于不同的遥控设备互相干扰。注意同一个遥控器,按哪个键用户码都是一样的。最后发送的是16位的数据码,数据码是有8位的数据码和8位的数据反码组成[12],数据反码用来校验接收的是否准确。在本设计中,真正需要的是8位的数据码,所以解码过程中最重要的工作就是判断出这8位的二进制数据码是什么?需要逐次

判断出8位数据码中每一位是0还是1,这就是所谓的解码。然后发送给主机的就是解码后的8位数据码。由于0码和1码电平持续的时间是不同的,通过判断0 ,1电平持续的时间的不同来区分。由于NEC标准中:

0的表示:0.56的高电平 + 0.565ms的低电平 = 1.125ms 1的表示:0.56的高电平 +1.69ms的低电平 = 2.25ms

但是要非常注意的是当LED发射管发射高电平的时候,1838红外接收管输出的是低电平。且当LED发射管发射的是低电平的时候,1838红外接收管输出的是高电平;所以1838接收头输出的波形是与发射波形反向的。红外信号是从1838的OUT端获得的,所以解码时候要按照如下来判断0,1:

0的表示 :0.56的低电平 + 0.565ms的高电平 = 1.125ms 1的表示 :0.56的低电平 +1.69ms的高电平 = 2.25ms

显而易见,由于低电平时间一致;那么解码程序编写的思路就是在解码程序通过一个while循环语句判断出每位高电平的时间是0.565ms还是1.69ms,如果一位码的高电平持续的时间0.565ms,那么就是码0;如果高电平持续的时间是1.69ms,那么这位码就是1。

遥控器发射的信号和1838输出的信号的区别如图2-3所示。

遥控器发送的码“0”0.56ms高电平0.565ms低电平共1.125ms

1838接收头输出的码“0”0.56ms低电平0.565ms高电平共1.125ms

遥控器发射的码“1”0.56ms高电平1.69ms低电平共2.25ms

1838输出的码“1”0.56ms低电平1.69ms高电平共2.25ms

图2-3 遥控器输出信号和1838输出信号对比

本设计采用protel99se绘制红外接收电路,1838是自建的元件库画出来的,104是0.1UF瓷片电容做去耦电容用,与47UF电容配合做电源滤波用。22k是上拉电阻,100欧是限流电阻。1838红外接收头的OUT端是信号输出端,GND端接地,VCC端供电。信号输出端OUT端接到解码芯片的INT0口。

GND32OUTVCC1C1104C247UFR222KR3100VCC 图2-4 红外接收电路

2.2.2 红外解码电路模块

(1)本设计中采用STC12C2052作为红外解码芯片。1838的OUT管脚接到STC12C2052的INT0端,1838将红外信号送到解码芯片中去解码。然后解码芯