红外线遥控是目前使用最广的一种遥控手段。红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而继彩电、录像机之后,在录音机、音响设备、空调机,以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
原理分析
遥控指令编码规律
遥控器所发送的功能指令码一般采用多位二进制串行码,本例程序是海尔29T6B-T型彩色电视的红外遥控码,其编码规律为:头脉冲、系统码、资料码、资料反码和结束位。头脉冲用做一帧命令的起始位;系统码用于区别不同类的电器;资料码用于完成命令功能。海尔29T6B-T型彩色电视的系统码为0x08,资料码见0,资料反码是将资料码按位取反的码。
每次进行发送都是先发送脉宽4510us、周期2*4510us的头脉冲,然后连续发送两次系统码、接着发送资料码及资料反码、最后发送结束位,波形见0。
遥控指令编码图
遥控器资料码表
|
遥控功能
|
资料码
|
遥控功能
|
资料码
|
|
1
|
00
|
SYSTEM
|
OC
|
|
2
|
01
|
AV
|
0F
|
|
3
|
02
|
CH-
|
10
|
|
4
|
03
|
CH+
|
11
|
|
5
|
04
|
VOL-
|
12
|
|
6
|
05
|
VOL+
|
13
|
|
7
|
06
|
MUTE
|
14
|
|
8
|
07
|
SLEEP
|
15
|
|
9
|
08
|
DISPLAY
|
16
|
|
0
|
09
|
SMPX
|
17
|
|
-/--/---
|
0A
|
MENU
|
1C
|
|
POWER
|
OB
|
SCAN
|
1E
|
| |
|
VOL
M
|
2A
|
数据的脉冲编码
红外通讯数据采用脉冲编码,所谓脉冲编码,就是将每位数据信号用一个脉冲来表示。例子程序的红外编码以脉宽561us、周期4*561us代表“1”;以脉宽561us、周期2*561us代表“0”。脉冲信号都调制在占空比为1/3,频率为38kHz的载波上再发送出去,调制后的信号“1”和“0”如0所示。这样做有两点好处:第一,减少了有效的发射时间,有利于降低平均功耗,这对于采用干电池供电的发射器十分重要;第二,外部干扰信号多为缓变信号,有利于抗干扰。
信号0和1
硬件电路
系统由键盘电路和红外发射电路组成,利用SPCE061A的IOA口扩展了4*8键盘矩阵;发射电路中三极管Q1(选用8050)用于对信号放大,R4选用200Ω电阻,R5选用10Ω电阻,C5选用22μF,D1为红外发射管。见0。
各个按键功能如0所示:
按键功能表
|
按键
|
遥控功能
|
按键
|
遥控功能
|
|
S1
|
MUTE
|
S13
|
7
|
|
S2
|
AV
|
S14
|
8
|
|
S3
|
SLEEP
|
S15
|
9
|
|
S4
|
POWER
|
S16
|
SYSTEM
|
|
S5
|
1
|
S17
|
-/--/---
|
|
S6
|
2
|
S18
|
0
|
|
S7
|
3
|
S19
|
SMPX
|
|
S8
|
SCAN
|
S20
|
DISPLAY
|
|
S9
|
4
|
S21
|
CH+
|
|
S10
|
5
|
S22
|
MENU
|
|
S11
|
6
|
S23
|
CH-
|
|
S12
|
VOL
M
|
S24
|
VOL-
|
| |
|
S25
|
VOL+
|

硬件连接图
程序设计
SPCE061A的IOA0-IOA7设置为输入时具有按键唤醒功能,例子程序中将其设置为带下拉电阻的输入口,IOA8-IOA11设置为带数据缓存器的输出口。键盘程序比较简单,此处不做详细介绍。串行码的发送主要用到SPCE061A的TimerA和TimerB两个定时器,IOB8编程为第二功能时,可以由定时器TimerA控制输出占空比可调的脉宽调制信号APWMO,38K载波信号就是利用TimerA的APWMO输出产生,将APWMO信号频率设置为38K,串行码为1时打开APWMO输出,为0时关闭APWMO输出(输出低电平);用TimerB控制脉冲宽度,发射流程见0(a),头脉冲、0信号、1信号的发射流程见0(b)。

程序流程图
|