《毕业设计(论文)红外遥控器控制双声道音乐盒的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)红外遥控器控制双声道音乐盒的设计.doc(14页珍藏版)》请在三一办公上搜索。
1、红外遥控双声道音乐盒的设计红外遥控双声道音乐盒的设计摘要:本文以红外线遥控编码芯片LC7461为例来设计用单片机实现红外线的解码、以及控制双声道音乐盒的详细过程。简述了红外遥控器使用的好处,并详细介绍了红外线的编码、解码以及系统功能的实现。该设计系统具有一定的实用价值,是红外遥控器的使用的基础性作品。关键词:红外线、编码、解码、控制、芯片、功放引言红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低并且使用方便,功能多等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机、VCD以及玩具等其它小型电器装置上也纷纷采用红外线遥控。且价格便宜,
2、市场上非常容易买到。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。本文以红外线遥控音乐盒为例进行了系统的硬件和软件设计,介绍了红外线的编码及解码等很多的问题。一、红外线系统 1、红外遥控系统介绍通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。键 盘编 码 调 制LED红 外 线 遥 控 发 射 系 统光电 放 大解 调解 码红 外 线 遥 控 接 受 系 统 图1 图中发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。2 遥控发射器及其编码1)
3、、编码格式遥控器发射的信号有一串0和1的二进制代码组成,不同的芯片对0和1的编码有所不同,遥控发射器专用芯片很多,根据编码格式可以分成慢彻斯特编码和脉冲宽度调制两大类,这里我们以运用比较广泛,解码比较容易的脉冲宽度调制来加以介绍,以LC7461组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.56ms的低电平、间隔0.56ms的高电平、周期为1.12ms的组合表示二进制的“0”;如图2所示: 图2 以脉宽为0.56ms的低电平、间隔1.69ms的高电平、周期为2.25ms的组合表示二进制的“
4、1”;如图3图3 上述“0”和“1”组成的42位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,2)按键的编码下面我们以LC7461为例来介绍按键的编码。当我们按下遥控器的按键时,遥控器将发出一串二进制代码,我们称为一帧二进制数据,根据各部分的功能,可分为5部分,分别为引导码、地址码、地址码、数据码、数据反码。引导码的高电平为4.5ms低电平为4.5ms 。当接收到此码时,表示一帧数据的开始,单片机可以准备接受下面的数据。地址码为8位的二进制组成,共256种。并且地址码是重复的。主要是加强遥控器的可靠性。如果地址码不相
5、同就说明本帧数据有错误,应丢失。不同的设备可以用不同的地址码。因此,同种遥控器的地址码不同也不会引起干扰。数据码为8位的,编码有256种,代表了实际的按键。数据反码是数据的个位代码的求反,通过比较数据码和数据反码可以判断接受到的数据是否正确,如果数据码和数据反码不满足相反的关系,这本次遥控器接受有误,数据丢失。同一个遥控器所有的按键编码不同。当遥控器上任意一个按键按下超过36ms时,LC7461芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。3、遥控器接受及其解码 解
6、码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右即可。根据红外编码的格式,程序应该等待9ms的起始码和4.5ms的结果码完
7、成后才能读码。接受较好的方法使用一体化的红外接收头,LT0038就是是塑封一体化红外线接收器,它是一种集红外线接收、放大、整形于一体的集成电路,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,没有红外遥控信号时为高电平,收到红外信号时为低电平,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。二、系统的设计1、硬件设计 1)供电电源: 下图4是电源部分:图中的220V市电经变压器T变压输出,得到的15V的交流电压,经VD1VD4桥式整流,后经C1、C2滤波,输出一路20的没经稳压的直流电,作为音频信号功放的电源。再经过U17805的稳压,得
8、到5V的电压,作为单片机的供电。其中VD5是保护二极管,C4是滤波电容。该电路是传统的电路,电路结构简单,易于制作。 图4 2)、红外线接收头由于红外接收头是一体化的,我们可以采用LT0038塑封一体化红外线接收器,它是一种集红外线接收、放大、整形于一体的集成电路,不需要任何外接元件,完成从红外线接收到输出与TTL电平信号兼容的所有工作,收到红外信号时为低电平,体积和普通的塑封三极管大小一样。它由三个端子,其中1脚是地,2脚是5V电源,3脚为信号的输出端。红外接收头的输出信号接到单片机INT0或INT1脚,如图5: 图53)、主控电路主控部分采用51的单片机作为控制器,单片机采用80S51,它
9、的性能要比80C51好,现在,89S51目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel目前公司已经停产AT89C51,将用AT89S51代替。89S51在工艺上进行了改进,89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX可以像下兼容89CXX等51系列芯片。它和80C51的编程一样,而且外部应脚和80C51一样。并且89S51相对于89C51增加的新功能包括: 新增加很多功能,性能有了较大提升,价格却基本不变,甚至比89C51更低; ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的
10、功能;工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度;具有双工UART串行通道;内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路; 双数据指示器;电源关闭标识; 全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯;兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样
11、可以照常运行,这就是所谓的向下兼容。18和19脚外接晶振。9脚为复位开关,12脚INT0外接红外遥控器的信号端。P2.4、P2.5分别连接电磁继电器,控制两路音乐信号的产生,音乐信号是由音乐芯片直接产生的。4)、红外遥控8位信号指示电路 由于红外线为8位的信号,可以采用8个发光二极管,接到单片机的P1口,并且在每个发光二极管上串联一个560的限流电阻,作为解码后的遥控信号的指示。如下图6所示 图65)、音频信号的功率放大器 音频放大器采用了TDA1521,它是单片功率放大器。使用简单,并且是单声道的放大器。共电采用单电源共电。如下图7: 图 72软件设计: 软件的设计采用中断方式,主程序比较简
12、单。而解码程序在外部中断中进行,红外线的程序解码依据发射电路的进行。具体程序见程序清单(附件1)三:总结和结论: 该设计是红外遥控器的利用的代表作品,以本系统为核心可以使遥控器在其它的领域中得到广泛的利用。系统的设计有一定的代表性。参考文献:1、万福君.单片微机原理系统设计与应用.合肥:中国科技大学出版社,2001年2、付家才.单片机控制工程实践技术.北京.化学工业出版社2004年3、李光弟.单片机技术.北京.中央广播电视大学出版.2003年4、李华.MCS-51系列单片机实用接口技术.北京.北京航空航天大学出版社.2003年附件1 程序清单:ORG 0000H AJMP MAIN;转入主程序
13、ORG 0003H ;外部中断P3.2脚INT0入口地址 AJMP INT ;转入外部中断服务子程序(解码程序);以下为主程序进行CPU中断方式设置MAIN:SETB EA ;打开CPU总中断请求SETB IT0 ;设定INT0的触发方式为脉冲负边沿触发SETB EX0 ;打开INT0中断请求;以下对单片机的所有引脚进行初始化,全部设置成底电平CLR P2.5CLR P2.4AJMP $;以下为进入P3.2脚外部中断子程序,也就是解码程序INT: CLR EA ;暂时关闭CPU的所有中断请求MOV R6,#10SB: ACALL YS1;调用882微秒延时子程序JB P3.2,EXIT;延时8
14、82微秒后判断P3.2脚是否出现高电平如果有就退出解码程序DJNZ R6, SB;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序 ;以上完成对遥控信号的9000微秒的初始低电平信号的识别。JNB P3.2, $ ;等待高电平避开9毫秒低电平引导脉冲ACALL YS2 ;延时4.74毫秒避开4.5毫秒的结果码MOV R7,#26;忽略前26位系统识别码 JJJJA:JNB P3.2,$;等待地址码第一位的高电平信号LCALL YS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOV C,P3.2;将P3.2引脚此时的电平状态0或1存入C中JNC UUUA;如
15、果为0就跳转到UUUALCALL YS3;检测到高电平1的话延时1毫秒等待脉冲高电平结束UUUA: DJNZ R7,JJJJAMOV R1,#1AH ;设定1AH为起始RAM区MOV R2,#2;接收从1AH到1BH的2个内存,用于存放操作码和操作反码 PP: MOV R3,#8;每组数据为8位 JJJJ: JNB P3.2,$;等待地址码第一位的高电平信号LCALL YS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOV C,P3.2;将P3.2引脚此时的电平状态0或1存入C中JNC UUU;如果为0就跳转到UUULCALL YS3;检测到高电平1的话延时1毫秒等待脉冲高
16、电平结束UUU: MOV A,R1;将R1中地址的给ARRC A;将C中的值0或1移入A中的最低位MOV R1,A;将A中的数暂时存放在R1数值的内存中DJNZ R3,JJJJ;接收满8位换一个内存INC R1;对R1中的值加1,换下一个RAMDJNZ R2,PP ;接收完8位数据码和8位数据反码,存放在1AH/1BH中MOV A,1AHCPL A;对1AH取反后和1BH比较CJNE A,1BH,EXIT;如果不等表示接收数据发生错误,放弃MOV P1,1AH;将按键的键值通过P1口的8个LED显示出来!MOV A,1AHCJNE A,#11H,EXIT1SETB P2.5EXIT1:CJNE
17、 A,#12H,EXIT2CLR P2.5EXIT2:CJNE A,#13H,EXIT3SETB P2.4EXIT3:CJNE A,#14H,EXITCLR P2.4EXIT:SETB EA ;允许中断RETI ;退出解码子程序YS1: MOV R4,#20 ;延时子程序1,精确延时882微秒D1: MOV R5,#20DJNZ R5,$DJNZ R4,D1 RETYS2: MOV R4,#10 ;延时子程序2,精确延时4740微秒D2: MOV R5,#235DJNZ R5,$DJNZ R4,D2 RETYS3: MOV R4,#2;延时程序3,精确延时1000微D3:MOV R5,#248DJNZ R5,$DJNZ R4,D3RETEND