用单片机实现遥控器的红外发射
第20卷第4期
2005年8月
文章编号:1671-1742(2005)04-0443-04成都信息工程学院学报JOURNAL OF CHENGDU UNIVERSITY OF INFORMATION TECHNOLOGY Vol.20No.4Aug. 2005
用单片机实现遥控器的红外发射
梁燕,邵凯
(重庆邮电学院通信学院电路实验中心,重庆400065)
摘要:红外遥控在电子产品中有着越来越广泛的应用。介绍了用凌阳SPCE061A 系列单片机实现电子产品的
红外遥控发射。
关键词:红外遥控;单片机;脉冲编码
文献标识码:A 中图分类号:TP732.2红外线遥控是目前使用最广的一种遥控手段。红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而在现代电子产品(家用电器、玩具、通信设备)中纷纷采用红外线遥控。
1凌阳单片机相关知识介绍
SPCE061A 提供了两个16位的定时/计数器TimerA 和TimerB 。TimerA 为通用计数器,TimerB 为多功能计数器。TimerA 的时钟源由时钟源A 和时钟源B 进行与操作而形成。TimerB 的时钟源仅为时钟源A 。定时器发生溢出后会产生一个溢出信号(TAOUT /TBOUT ),一方面它会作为定时器中断信号传输给CPU 中断系统,另一方面它又会作为4位计数器计数的时钟源信号输出一个具有4位可调的脉宽调制占空比输出信号APWMO 或BPW-(分别从IOB8和IOB9输出)。P -TimerA -Ctrl (=700BH )单元的第6-9位可选择设置APWMO 输出波形的脉MO
(读/写)(=700AH ),宽占空比,如表1所示。P -TimerA -Data TimerA 的数据单元用于向16位预置寄存器写入数据
(预置计数初值)或从其中读取数据,在写入数值以后,计数器便会在所选择的频率下进行加一计数,直至计数到
溢出后P -TimerA -Data 中的值将会被重置再以置入的值继续加一计数。0xFFFF 产生溢出,
表1
b15-b10
-b9b8b7P -TimerA -Ctrl 单元b6b5b4b3b2b1b0占空比的设置时钟源B 选择位时钟源A 选择位
2
2.1原理分析遥控指令编码规律
遥控器所发送的功能指令码一般采用多位二进制串行码,其编码规律为:头脉冲、系统码、资料码、资料反码和结束位。头脉冲用做一帧命令的起始位;系统码用于区别不同类的电器;资料码用于完成命令功能,资料反码
周期2*4510然后连续发送两次是将资料码按位取反的码。每次进行发送都是先发送脉宽4510s 、s 的头脉冲,µµ
系统码、接着发送资料码及资料反码、最后发送结束位,如图1所示。
2.2红外通讯数据脉冲编码
将每位数据信号用一个脉冲来表示。红外编码以脉宽561周期4*561“1”;以脉宽561周期2*s 、s 代表s 、µµµ
“0”。脉冲信号都调制在占空比为1/3,频率为38kHz 的载波上再发送出去,调制后的信号“0”和“1”如561s 代表µ
图2所示。
收稿日期:2004-10-09
444成都信息工程学院学报第20
卷
图1遥控指令编码图
图2信号0和信号1
2.3硬件电路的设计
系统采用凌阳SPCE061A 芯片为设计核心,整体电路由SPCE061A 最小系统、红外发射电路、键盘扫描电路3个部分组成(图3)。由于SPCE061A 没有专门的红外发射器件,所以从IOB8外接了红外发射电路,硬件电路图中
键盘扫描电路用于采集资料码,程序把扫描得到的资料码,利用SPCE061A 的IOB8输出的D1为红外发射管;
(IOB8、进行红外载波信号发射,载波频率由可编程定时器TimerA (或TimerB )的溢PWM 信号IOB9口的特殊功能)
出频率决定。
3红外发射部分程序
串行码的发送主要用到SPCE061A 的TimerA 和TimerB 两个定时器,使用IOB8的第二功能,由定时器TimerA 控制输出占空比(6/16)的脉宽调制信号APWMO ,得到38K 的载波信号。串行码为1时打开APWMO 输出,为0时关闭APWMO 输出(输出低电平);用TimerB 控制脉冲宽度。以下是资料码发射程序:
Send -code :
r1=16
[send -counter ]=r1
send -first -bit :
r1=0
[IR -Send -Time -Flag ]=r1
时钟源B 选择1,r1=0x1b0//时钟源A 选择FOSC /2,APWMO 选择6/16.
[P -TimerA -Ctrl ]=r1
IR -Code -High :
[IR -Send -Time -Flag ]r1=
jz IR -Code -High
r1=0x0036//关闭APWMO
[P -TimerA -Ctrl ]=r1
[code -shift ]r1=
test r1,0x0001
jz Send -Num -0-Low //判断发送的第一位数据是0还是1;//移位16次
第4期梁燕等:
用单片机实现遥控器的红外发射445
图3整体电路图
Send -Num -1-Low :
r1=4;
jmp IR -Code -Low
Send -Num -0-Low :
r1=2;
IR -Code -Low :
[IR -Send -Time -Flag ]cmp r1,
ja IR -Code -Low
send -next -bit :
[code -shift ]r1=
r1=r1lsr 1
[code -shift ]=r1//下一位
446
[send -counter ]r1=
r1-=1
[send -counter ]=r1
cmp r1,0
jnz send -one -bit
retf 成都信息工程学院学报第20卷//移位次数-1//移位完成?
4结束语
介绍了采用SPCE061A 来完成红外发射遥控器,鉴于凌阳单片机提供了丰富的C 函数库和语音处理函数库,
可SPCE061A 的语音处理优势可以使该系统变成声控红外遥控器。而且该单片机自带ADC 和DAC 输入输出口,
以采集和播放音频信号,因此本品的硬件只需稍作改动,通过对软件的修改,加入语音采集、播放和控制部分,就可以变成声控红外遥控器。另利用该单片机提供的定时器,通过预设不同的资料码,就可以使其变成具有带电子钟的万能语音遥控器,具有广阔的市场前景。由于篇幅所限,只对发射部分进行了详细介绍。
参考文献:
[1]薛匀义,张彦斌. 凌阳16位单片机原理及应用[M ]北京航天航空大学出版社,. 北京:2003.
[2]李晶皎. 嵌入式语音技术及凌阳16位单片机应用[M ]北京航天航空大学出版社,2003. . 北京:
[3]雷思孝,李伯成. 单片机原理及实用技术———凌阳16位单片机原理及应用[M ]西安电子科技大学出. 西安:
版社,2004.
[4]赵子婴,赵辉. 单片机原理及应用[M ]山东大学出版社,2003. . 济南:
[5]罗亚非. 凌阳十六位单片机应用基础[M ]北京航天航空大学出版社,. 北京:2003.
Simulation of infrared communication in Sunplus ’SPICE 061A
LIANG Yan ,SHAO Kai
(Center of Electrical Lab ,CQUPT ,Chongqing 400065,China )
Abstract :The infrared communication has a widespread application to the electrical equipments. A new mechanism of the re-mote voice-controller for the home-electrical equipment such as TV ,air-conditioner and DVD is developed by using the Sun-plus ’SPICE061A.
Key words :infrared remote control ;single-chip computer ;pulse code