欢迎来到51单片机学习网www.51c51.com  专业致力于8051单片机编程技术推广,(深圳学林电子有限公司)累计5年点击超过500万! 彩色包装效果图 网友来信照登

返回主页XL2000实验仪51论坛单片机教学本站例程 技术资料 软件下载 产品介绍学液晶显示如何购买  

  步进电机xl600实验仪 红外线遥控 c语言集锦自制编程器音响技术品质技术音响网址  更新中..51论坛

  红外遥控专栏本站新域名www.8951.com开通
红外遥控专栏     WWW.51C51.COM 自学单片机的网站:作中国单片机编程技术普及推广第一站

 
如果您在使用中有任何问题请你访问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)。


程序流程图