返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

<>
如果您在使用中有任何问题请你访问51单片机学习网论坛,和更多的朋友一起讨论
yaokong.asm 遥控器测试程序按任意键试验版数码管指示灯闪烁。任意遥控器均可!
n6221.asm 为配套的红外线遥控(P3.7)显示数码管1234567890的程序 
n6221b.asm 遥控器控制显示0123456789abcdef数据保持
n6221c.asm 遥控器控制30个io的led点亮,可由此控制继电器实现家电的遥控

红外遥控

红外线遥控是目前使用最广的一种遥控手段。红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而继彩电、录像机之后,在录音机、音响设备、空调机,以及玩具等其它小型电器装置上也纷纷采用红外线遥控。

原理分析

遥控指令编码规律 遥控器所发送的功能指令码一般采用多位二进制串行码,本例程序是海尔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所示。这样做有两点好处:第一,减少了有效的发射时间,有利于降低平均功耗,这对于采用干电池供电的发射器十分重要;第二,外部干扰信号多为缓变信号,有利于抗干扰。

信号01
硬件电路
系统由键盘电路和红外发射电路组成,利用SPCE061AIOA口扩展了4*8键盘矩阵;发射电路中三极管Q1(选用8050)用于对信号放大,R4选用200Ω电阻,R5选用10Ω电阻,C5选用22μFD1为红外发射管。见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设置为带数据缓存器的输出口。键盘程序比较简单,此处不做详细介绍。串行码的发送主要用到SPCE061ATimerATimerB两个定时器,IOB8编程为第二功能时,可以由定时器TimerA控制输出占空比可调的脉宽调制信号APWMO38K载波信号就是利用TimerAAPWMO输出产生,将APWMO信号频率设置为38K,串行码为1时打开APWMO输出,为0时关闭APWMO输出(输出低电平);用TimerB控制脉冲宽度,发射流程见0(a),头脉冲、0信号、1信号的发射流程见0(b)。


程序流程图