基于AT89C51红外遥控器和红外线家电遥控课程设计Word文件下载.doc
《基于AT89C51红外遥控器和红外线家电遥控课程设计Word文件下载.doc》由会员分享,可在线阅读,更多相关《基于AT89C51红外遥控器和红外线家电遥控课程设计Word文件下载.doc(54页珍藏版)》请在冰点文库上搜索。
成品红外接收头的封装大致有两种:
一种采用铁皮屏蔽;
一种是塑料封装。
均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。
红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。
成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。
但在使用时注意成品红外接收头的载波频率。
红外遥控常用的载波频率为38kHz这是由发射端所使用的455kHz晶振来决定的。
在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷
12≈37.9kHz≈38kHz。
也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。
红外遥控的特点是不影响周边环境的、不干扰其他电器设备。
由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;
电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;
编解码容易,可进行多路遥控。
由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。
因此,现在红外遥控在加用电器、室内近距离(小于10米)遥控中得到了广泛的应用。
多路控制的红外发射部分一般有许多按键,代表不同的控制功能。
当发射端按下某一按键时,相应地接收端有不同地输出状态。
接收端地输出状态大致可分为脉冲、电平、自馈、互锁、数据五种形式。
“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。
“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平”消失。
此处的“有效脉冲”和“有效电平”,可能是高、也可能是低,取决于相应输出脚的静态状况,如静态时为低,则“高”为有效;
如静态时为高,则“低”为有效。
大多数情况下“高”为有效。
“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次状态,即原来为高电平变为低电平,原来低电平变为高电平。
此种输出适合用作电源开关、静音控制等。
有时亦称这种输出形式为“反相”。
“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。
电视机的选台就属此种情况,其他如调光、调速、音响的输入选择等。
“数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入。
一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便以后适时地来取数据。
这种输出形式一般用于与单片机或微机接口。
除以上输出形式外,还有“锁存”和“暂存”两种形式。
所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;
“暂存”输出与上述介绍的“电平”输出类似。
第二章系统总体设计
2.1.1红外遥控器设计思想
1.系统设计概况
通用红外遥控系统由发射和接收两大部分组成,应用编/解码专业集成电路芯片来进行控制操作,控制部分包括键盘矩阵,编码调制,LED红外发送器;
接收部分包括光,电转换放大器,解调,解码电路。
红外遥控系统框图如2-1
一体化红外接收头
矩阵
键
盘
解
调
解码
单片
机
红外遥控器
编码
解调
光电
放大
图2-1红外线遥控系统框图
红外通信的基本原理实质上就是指利用红外线来作为载体传送信息。
把单片机等产生的编码控制信号,经由调制电路调制为32~40KHz的方波信号(提高发射效率、降低功耗)。
在经由驱动电路驱动红外发光二极管(IRED)发出红外遥控信号;
在接收端使用与发送端相配对的红外光电二极管,接收含有控制信号的红外信号,在将该红外信号解调为电信号后,在送入单片机进行解码,以得到相应的控制信号,从而完成红外信息的传送。
本遥控发射器本遥控发射器采用码分制遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。
当不同的指令键被按下时,指令信号电路产生不同脉冲编码的指令信号,也就是进行编码,然后经M50462AP芯片进行调制从而产生不同的编码信号,再由驱动电路驱动红外发射器发射红外信号。
红外发射框图如2-2所示
M
5
4
6
2
A
P
红外
发射
按键
图2-2红外发射框图
红外接收电路是红外遥控系统中的指令信号及检出电路,通过一体化红外接收头SM0038(集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作)然后将接收到的信号发送给AT89C51,然后AT89C51通过内部程序对说接收信号进行判断然后救驱动相应的外部设备进行相应的动作。
此设计的遥控开关是在通用通用遥控的基础上加以改进的,其实就是将红外遥控器接收部分采用单片机AT89C51来控制。
即当一体化红外接收器接收到的红红外遥控红外信号,经放大、解码滤波后,将原编码信号传送入单片机AT89C51中进行信号识别编码然后进行相应的处理,已达到控制电路的目的。
红外接收框系统图如2-3所示
T
8
9
C
1
一体
化红
外接
收头
相应
动作
图2-3红外接收框系统
通过按下不同的按键是红外发射器发射不同频率的信号波,然后通过红外一体化接收头接收进行相应的放大解调从而进行相应的动作操作。
遥控操作过程系统框图如图2-4
遥控器
遥控接头
显示器
复位
受控电源
电器插座
继电器
晶振
图2-4遥控开关系统框图
2.本系统设计思想
本设计采用单片机AT89C51作为本设计的核心元件,利用红外遥控器发射,接收的工作原理以及单片机外部中断的原理制成的一款遥控器
2.1.2AT89C51的介绍
管脚说明:
VCC:
供电电压。
GND:
接地。
图2-5AT89C51
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 WR(外部数据存储器写通)
P3.7 RD(外部数据存储器读通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
第三章 红外遥控器硬件电路设计
第一节红外遥控发射电路部分
3.1.1时钟电路
ATC89C51芯片内部有一高增益反相放大器,用于构成振荡器.反相放大器的输入端为XTAL1,输出端为XTAL2。
在XTAL1、XTAL2(第19、18引脚)两端跨接一个石英晶体振荡器,和两个电容就构成了稳定自激谐振电路。
晶振频率为12MHz。
C12,C13是两个瓷片电容,与晶振Y2构成了自激谐振电路。
其电容的作用主要是对频率进行微调,一般取30-45PF左右。
使用该电路可产生稳定的11.0592MHZ频率,受外界的环境的干扰影响非常小。
其接法如图3-1所示:
图3-1晶振电路
3.2.2矩阵键盘电路
(1)2×
8矩阵键盘的工作原理:
矩阵键盘又称为行列式键盘,它是用2条I/O线作为行线,8条I/O线作为列线组成的键盘。
在行线和列线的每一个交叉点上,设置一个按键。
这样键盘中按键的个数是2×
8个。
这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。
矩阵键盘电路如图3-2所示:
图3-2矩阵键盘电路图
3.1.3遥控发射电路芯片介绍
一、M50462AP芯片
图3-3M50462AP
功能特点:
M50462AP集成电路用来产生遥控编码脉冲(即遥控指令),输出各种红外遥控信号,供遥控操作使用。
该IC具有3种功能:
①产生定时信号和遥控载滤信号的振荡器
②产生8种不同时间出现的键位扫描脉冲发生器
③将键位码变换(码值变换)成遥控指令功能码的遥控指令编码器
3.1.4红外遥控发射电路
本发射电路采用一个12M的晶体振荡器,产生相对应受控开关的脉冲频率,通过红外发射管发射出去。
发射电路图3-4所示:
图3-4遥控发射电路
红外遥控发射器包括键盘,指令编码器和红外发光二极管LED等部分,当按下键盘不同按键时,通过编码器产生与之对应的特定的二进制脉冲信号,将二进制脉冲信号先调制在38Hz的载波上,经放大后,激发红外发光二极管LED转化成以波长940nm的红外线传播出去
M50462A内部振荡电路与2,3脚外接的陶瓷谐振器或LC网络电路组成振荡器,产生频率为455kHz的振荡信号,由时钟电路进行12分频得到38kHz的载波信号,一路送至定时信号发生器,以形成时钟脉冲,使整个系统按照统一的时序进行工作;
控制指令码对38kHz载波进行脉冲度调制以降低平均发射功率,以脉冲条幅后的指令码被送至红外激励管VT基极5,6,7,8和12脚为键位扫描信号输出线与13-20脚键位扫描信号输入线组成键盘矩阵,以产生各种键功能信号工作时5,6,7,8和12脚输出时序不同的键进行扫描脉冲,经过键盘矩阵适当选通回送到13-20脚M50462AP则根据13-20脚接收到的不同的键选信号进行编码处理和码值变换,得到遥控指令的功能码,结合21,22脚输入的用户码进行调制处理后,便产生38KHZ的调制载波脉冲信号,再经缓冲器由23脚输出。
M50462AP的23脚外接元件组成了红外线驱动放大发射电路,它主要是由驱动管和红外发射二极管组成的,当23脚有指令码信输出时,该信号经驱动管VT放大后,加至红外发射二极管VD1上,遥控指令则以红外线的形式发射出去。
由遥控发射器发射出的16位二进制遥控指令是由前8位的用户码和后8位的数据码组成的,用户码是一种固定的特殊代码用于表示不同产品之间的遥控信号的区别,以免接收机在接受遥控指令过程中误动作,而数据码则是不同遥控功能的的代码。
不同的数据表示不同的遥控功能。
16位遥控指令码均采用脉冲位置调制方式编码。
第二节接收电路部分
3.2.1RC复位电路
复位是单片机初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元执行程序。
除了进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。
复位操作有上电自动复位和按键手动复位两种方式。
本设计采用了按键手动复位方式。
该复位电路如图3-5所示。
复位电路采用了按键与上电复位。
上电与按键均可以有效复位。
上电瞬间RST引脚获得高电平,单片机复位电路随着电容的C11的充电,RST引脚的高电平逐渐下降。
RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
按键复位是直接将高电平通过电阻R11、R10分压到达RESET引脚,实现复位操作。
图3-5复位电路图
3.2.2遥控接收电路器件
图3-6SM0038
一、SM0038红外接收器SM0038是一个小型的红外遥控系统接收器件。
电路内置PIN二极管和前置电路,采用可红外滤波的环氧树脂封装。
其解调输出信号可以直接由微处理器解码没有红外遥控信号时为高电平,收到红外信号时为低电。
对外只有3个引脚:
VS、GND和1个脉冲信
号输出引脚OUT,外形引脚如图1.5所示。
VCC接电源5V并经电容进行滤波,以避免电源干扰;
GND接系统的地线(0V);
脉冲信号输出接CPU的中断输入引脚。
采取这种连接方法,软件解码既可工作于查询方式,也可工作于中断方式。
主要特点:
内置光电检测和前置放大电路
内置PCM频率滤波器
防场干扰设计
输出电平与TTL和CMOS兼容
输出低电平有效
可以连续进行数据发送(1200bit/s)
输入脉冲串长度>
=10周期/脉冲串
前置放大
控制电路
带通滤波器
解调电路
增益控制
内部电路
VSS
OUT
GND
接地
图3-7SM0038内部框图
二、继电器
型号:
JK-102、额定线圈电压27(V,DC)、最大线圈电流0.092、触点额定电压27(V,DC)、触点额定负载电流1(A)
3.2.3红外遥控接收电路
遥控接收器由红外线接收器,AT89C51芯片,接口电路等部分组成。
一体化红外接收头接收的红外信号转变成电信号,经检波放大,滤去38KHZ的载波信号,恢复原来的指令脉冲,然后送入微处理器AT89C51中进行识别编码,解译出遥控信号的内容,并根据控制功能输出相应的控制信号,送往接口电路进行相应的处理。
遥控接收电路如图3-8所示。
图3-8遥控接收电路
3.2.4红外线遥控开关的工作过程
红外遥控开关的工作过程如下:
首先将红外遥控开关接通电源,然后就按下所需控制数字按键。
比如你想打开电风扇一档,则应按数字键“1”这时“1”按键所对应的红外编码信号指令调制在38KHZ的载波上,经过红外发射的红外发光二极管以波长为940nm的红外光发射出去。
之后在红外遥控开关中的红外遥控接收头将此信号接收,接收时接在AT89C31上的13引脚上的发光二极管在闪烁,表示在接收数据。
将光信号转换成电信号,经放大、解调、滤波后,将原编码信号指令将AT89C31的12引脚的输入。
AT89C31再次编码进行判断、识别、发现按键为”1”信号,则P2.0引脚输出低电平,使NPN型三极管C815导通从而导致继电器得电闭合,使电风扇处于一档工作状态同时在接收此信号之后P1输出LED显示共阳代码则显示相应的数字比如“1”如果要得到其他的结果则需在遥控器上转换到其他的按键即可。
另外风扇启动后,还可以设定开启时间。
这就相当于风扇的定时器。
本设计师此系统的优点之一。
定式设计我们采用了设计五种时间,即:
15分钟;
30分钟;
45分钟;
60分钟;
90分钟,操作时只需按间断的按时间设定键即可,具体定义如下:
按下第一次:
表示定时15分钟,LED1亮;
按下第二次:
表示定时30分钟,LED2亮;
按下第三次:
表示定时45分钟,LED3亮;
按下第四次:
表示定时60分钟,LED1和LED2亮;
按下第五次:
表示定时90分钟,LED1,LED2,LED3亮;
按下第六次:
表示定时取消,LED1,LED2,LED3全灭;
之后又可以重复以上过程
第三节红外线信号编码格式
3.3.1红外线信号编码格式
由于不同的遥控器所使用的编码芯片不一样,就会使编码指令格式不一样,分析研究红外信号的编码格式一般可以用以下两种方法进行检测红外信号;
干扰法,测量观察法下面是针对M50462AP芯片编码格式分析
一M50462AP载波波形
使用455KHz晶体,经内部分频电路,信号被调制在37.91KHz,占空比为3分之1。
Tc
Tf
图3-9占空比
二、数据格式.
数据格式为每一帧数据包括8位自定义码和8位数据码,共16位。
有些资料在数据码后还会有一个S停止位,不过在实际解码时可以忽略它的存在。
例如,按下遥控器上的数字键1时,就会发送以下2个字节4700,其中47为用户码,即为厂商固定的编码;
00则代表数字键,1的代码。
同一个遥控器,他的用户码是固定不变的,他的功能码则是不相同的。
各个编码方式是以波宽信号来定义的。
其中0电平用790us高电平+270us低电平表示;
1用1800us高电平+270us低电平表示。
自定义码
数据码
C0C1C2C3C4C5C6C7D0D1D2D3D4D5D6D7
图3-10数据格式
三、位定义
用户码或数据码中的每一个位可以是位‘1’,也可以是位‘0’。
位1的时间是位0的两倍。
位编码方式为PPM。
0.26ms
位1
1.05ms
2.10ms
位零
图3-11位定义
四、按键输出波形
按键按下后输出一帧数据,Tf周期后再输出另一帧数据,重复输出直到按键松开。
Tf=46.4ms晶振=455KHZ
图3-12按键输出波形
当按下遥控器上的某个按键时,则产生一组特定的编码,并调制在38KHZ的载波上发射出去。
红外线遥控开关的译码:
当红外遥控器接通电源后,AT89C51 的14脚所接的发光二极管闪亮一次,然后熄灭,P1口所接LED显示器不显示;
继电器JK1A至JK5A全部断开;
这些都表明,红外遥控快关没有接收到信号,若将遥控器的数字1按下时,则红外遥控开关的电路图中的遥控接收器SM0038接收来自遥控发射器的红外信号,将接收的红外线信号转化成电信号,经放大,解调,滤波后,经红外接收器的第1脚将原编码输入AT89C51的12脚。
然后由AT89C51对所有接收的原编码信号进行判断,识别,然后做出相应的处理。
第四章 遥控发射及接收控制电路的软件设计
第一节遥控发射部分
一、发射控制程序由主程序和键扫描子程序、编码发送程序组成,在主程序中,采用调用键扫描子程序完成