2008 届计算机与信息学院计算机科学与技术专业一.课程设计题目: 红外遥控开关二.课程设计任务内容1.课程设计的目的意义: 通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练: ⑴、调查研究、分析问题的能力;⑵、使用设计手册、技术规范的能力;⑶、查阅中外文献的能力;⑷、制定设计方案的能力;(5)、计算机应用的能力;⑹、设计计算和绘图的能力;⑺、技术经济指标的分析能力;⑻、语言文字表达的能力2.本课题研究的主要内容: 设计一个多路红外遥控开关,利用市售彩电遥控器(以编码芯片 LC7461 为 例),发送遥控器键盘数字信号,控制器接收解码,控制相应的输出基本要求:⑴、设计实验电路(要求利用实验仪的硬件资源)⑵、分析实验原理⑶、列出实验接线表⑷、采用汇编语言编写实验程序5、通过实验验证功能的实现⑹、编写课程设计说明书前言红外遥控技术的出现,大大方便了人们的生活,而单片机技术的出现,给 现代工业测控领域带来了一次新的革命红外线遥控器具有体积小、功耗低、 功能强、成本低等特点从而成为了当今非常流行的一种控制方式,因而,继彩 电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置 上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环 境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰红外遥控器是一种利用红外遥控系统来控制被控对象的系统.整个系统由 数字电路和模拟电路两个部分组成发射部分包括键盘矩阵、编码调制、红外 发射器;接收部分包括红外接收、解调、解码电路关键字:红外遥控器,红外发射,红外接收,单片机目录第一章绪论 11.1红外遥控技术简介 11.2红外遥控技术特点 1第二章红外遥控系统设计方案 22.1红外遥控系统框图 22.2遥控发射器及其编码 22.3红外接收器及解码 32.4系统程序控制流程 42.5技术难点 4第三章红外遥控开关硬件系统设计 53.1处理芯片的选择 53.2显示器件的选择 53.3红外遥控发射器的选择 63.4红外接收器的选择 6第四章 红外遥控开关软件系统设计 74.1主控程序 74.2遥控发射部分 74.3遥控接收解码部分 84.4遥控接收处理部分 104.5精确延时部分 10第五章设计调试 125.1实验仪与机器的连接 125.2硬件系统的调试 125.3软件系统的调试 12第六章小结 13参考文献 14附录(计算机程序清单) 15第一章 绪 论目前市面上的遥控器很多,对于家电设备的控制,首选的就是红外遥控器, 多功能红外遥控器是在普通红外遥控器的基础上,应市场需求而产生的,它能 控制不同种类的设备,并且操作方便,深受人们的喜爱。
1.1 红外遥控技术简介常用的红外遥控系统一般分发射和接收两个部分发射部分的主要元件为 红外发光二极管它实际上是一只特殊的发光二极管;由于其内部材料不同于 普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是 可见光目前大量的使用的红外发光二极管发出的红外线波长为 940nm 左右, 外形与普通©5发光二极管相同,只是颜色不同接收部分的红外接收管是一种光敏二极管在实际应用中要给红外接收二 极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反 向运用,这样才能获得较高的灵敏度红外发光二极管一般有圆形和方形两种由于红外发光二极管的发射功率一般都较小(lOOmW左右),所以红外接 收二极管接收到的信号比较微弱,因此就要增加高增益放大电路目前大多都 采用成品红外接收头,有三只引脚,即电源正(VDD)、电源负(GND)和数 据输出(VO或OUT)成品红外接收头的优点是不需要复杂的调试和外壳屏蔽, 使用起来如同一只三极管,非常方便但在使用时注意成品红外接收头的载波 频率红外遥控常用的载波频率为38kHz这是由发射端所使用的455kHz晶振 来决定的在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz F12~37.9kHz~38kHz。
也有一些遥控系统采用 36 kHz、40 kHz、56 kHz 等, 一般由发射端晶振的振荡频率来决定1.2 红外遥控技术的特点红外遥控的特点是不影响周边环境的、不干扰其他电器设备由于其无法 穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰; 电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作; 编解码容易,可进行多路遥控现在红外遥控在家用电器、室内近距离(小于10米)遥控中得到了广泛的 应用第二章红外遥控系统设计方案本学期学习了单片机技术,初步了解了 80C51芯片的基本组成和基本功能, 熟悉了其指令系统和中断系统以及接口设计技术基于本学期学习的知识,设 计了一个简单的红外遥控系统并将其实现2.1红外遥控系统框图通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路 芯片来进行控制操作,如图1所示键盘 H 编码调制卜胡迁可一>遥控发射器一口光/电放大卜4解调內解码! ! 图1红外遥控系统框图发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转 换放大器、解调、解码电路2.2遥控发射器及其编码遥控发射器专用芯片很多,根据编码格式可以分成脉冲宽度调制和脉冲相位调 制两大类,这里我们以运用比较广泛,解码比较容易的脉冲宽度调制来加以说 明,现以LC7461组成发射电路为例说明编码原理。
当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同 这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1” 上述“0”和“1”组成的42位二进制码经38kHz的载频进行二次调制以提高 发射效率,达到降低电源功耗的目的然后再通过红外发射二极管产生红外线向空间发射,7461产生的遥控编码 是连续的42位二进制码组,其中前26位为用户识别码,能区别不同的红外遥 控设备,防止不同机种遥控码互相干扰后16位为8位的操作码和8位的操作 反码用于核对数据是否接收准确ooooG u卩ciuuucm 111-111111111 000000001 1111111■ miiniiniiiiwii[ [ 1LSE MS8ii.SEi«- 9 OOCiiiE -►44500113! -4— 1 £位地址玛一► ?MSE1SB MSBiLSS—> 8位數据码* ]—8位数据玛-底码MSB图3红外发射码当遥控器上任意一个按键按下超过36ms时,LC7461芯片的振荡器使芯片激活, 将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个 4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始 接收数据。
2.3红外接收器及解码解码的关键是如何识别“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的结果码完成 后才能读码LT0038是塑封一体化红外线接收器,它是一种集红外线接收、放大、整形 于一体的集成电路,不需要任何外接元件,就能完成从红外线接收到输出与TTL 电平信号兼容的所有工作,没有红外遥控信号时为高电平,收到红外信号时为 低电平,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红 外线数据传输2.4系统程序控制流程系统控制采用中断服务程序来对接收到的信号进行解码,利用外部中断1, 当接收到信号,触发中断进行解码,并将其按键信息显示在LED小灯上。
2.5技术难点本系统开发的技术难点主要在于对红外信号的解码方面,由于红外发射器 发送的是一串不同脉宽的串行码,时间很短,需要有精准控制识别,对延时要 有精准的把握第三章红外遥控开关硬件系统设计3.1处理芯片的选择该系统采用基本的89C51芯片即可满足需求, 4KB的ROM已经 可以实现复杂的控制,128B的RAM也足够系统运行程序,32位的可编 程I/O 口可以满足系统的输入输出要求处理芯片选择AT89C51,它包含了⑴一个8位的CPU;(2) —个片没振荡器以及时钟电路;(3) 4K字节ROM程序存储器和128字节RAM数据存储器;(4) 两个16位定时/计数器;(5) 可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;(6) 32条可编程的I/O线(四个6位并行I/O端口);(7) 一个可编程全双工串行口;(8) 具有五个中断源、两个优先级嵌套中断结构;P1 口是一带有内部上拉电阻的8位双向I/O 口本次实验用到了 P1.0,接一个发光二极管,用于显示系统开关状态;P1.1 口,接蜂鸣器,用于提示用户系统开关;P3 口同时具有AT89C51的多种特殊功能,用到的端口有P3.2 口,这个端口 的第二功能如下表所示:端口引脚第二功能P3.2INT 0 (外部中断0)表1 P3.2 口的第二功能3.2显示器件的选择+在单片机应用系统中,使用的显示器主要有LED(发光二 极管)和LCD(液晶显示器)。
这两种显示器成本低廉,配置 灵活,与单片机接口方便但是他们也是各有特点的:LED 接口非常简单,不需要专用的驱动程序, 在设计程序时也非 常的简单;LCD显示的字比较丰富,也比较清楚,给人的 感觉很好,但是他接口复杂本红外遥控系统用 LED指示灯来显示状态图2.2红外发光二极管3.3红外遥控发射器的选择本系统采用LC7461作为芯片的遥控器作为红外发射器图4红外遥控器3.4红外接收器的选择输出co图5红外接收器此LT0038红外线接收器是一种集红外线接收、放大、整形于一体的集成 电路,只要将OUT 口接入外部中断0 口即P3.2 口即可第四章 红外遥控开关软件系统设计4.1 主控程序主控程序很简单,主程序主要是对软硬件环境进行初始化,如在中断服 务入口地址添加跳转,跳转到所需要执行的中断服务程序、对所用到的 P1,P2 口进行初始化,设置外部中断0为下降沿触发,并开中断,然后循环 等待外部中断实验代码如下:ORG 0000HAJMP STARTORG 0003HAJMP INT ;跳转到相应的中断服务程序ORG 0030HSTART:SETB EASETB IT0SETB EX0MOV P2,#0FFHMOV P1,#0FFH:AJMP ;等待中断4.2 遥控发射部分红外遥控信号的发射是由LC7461芯片组成发射电路嵌入在遥控器中, 本设计的重点在于对它发射的红外信号进行解码识别,进而完成相应的控 制。
其中发射部分程序固化在遥控器芯片中,当我们按键,会自动执行编 码程序,并进行调制和发射本遥控发射器采用脉冲宽度调制方式,当不同的指令键被按下时,指 令信号电路产生不同脉冲编码的指令信号,也就是进行编码,然后经调制 电路调制,用不同的脉宽来区分“0”和“1 ”,产生连续 42 位二进制码 组,其中前26为用户识别码,能区别不同的红外遥控设备,后16位为8 位的操作码和8位的操作反码用于区别按键,再由驱动电路驱动红外发射 器发射 红外信号整体过程如下:指令键指令编码图 3.1 遥控发射部分过程图红外发射4.3 遥控接收解码部分接收部分的解码程序在中断服务程序中,程序流程图如下4.4 遥控接收处理部分当解码成功之后,内存单元 1AH 中存放的就是我们所按键的键值,根据键 值我们查表取出控制字,可以转移到相应的控制程序,这里为了简便,用控制 字开控制开关,当红色开关键时,调用FUNC_ON_OFF子程序来开关系统,当 按下数字键时,对应的小灯会亮,如按键 1,则第一个小灯亮一下是键值处理流程图:4.5 精确延时部分解码程序需要精确地延时,以避免因延时过长,导致解码失败这里用到了两种延时,一个是 1000 微秒的延时,一个是 882 微秒的延时。
由于采用的是12MHZ的CPU芯片,根据每条指令执行的机器周期计算得出一下两个延时子程序YS1: MOV R4,#20 ;延时子程序 1,精确延时 882 微秒D1: MOV R5,#20DJNZ R5,$DJNZ R4,D1RETYS2: MOV R4,#2涎时程序3,精确延时1000微秒D3: MOV R5,#248DJNZ R5,$DJNZ R4,D3RET第五章 设计调试5.1 实验仪与计算机的连接将实验仪与计算机通过串行口 COM1 进行连接,并进行相应的配置,设置 波特率为 57600,编写简单的程序,如果能够通过计算机对实验仪进行操作, 可表示连接正确可以往下进行试验5.2 硬件系统的调试要检查我们要使用的一些硬件资源是否完好,是否可用检查所用到的小 灯,蜂鸣器是不是能够控制,检查P2 口,P1 口,P3 口是不是能够控制输入输 出,检查红外接收器是不是能够实现接收,检查P3.2 口是不是能引发外部中断对于本试验要用到的遥控器,也要确定是否可用,是否能正确的发射红外 信号通过简单的调试,确定所用资源都可用时,可接着进行软件系统的调试5.3 软件系统的调试当编写好程序之后,运行不能达到所要的效果,就要检查是不是程序出了 问题,通过设置断点,单步运行,了解程序的走向,找出出错的地方,进行修 改。
通过不断地试验修改,程序终于可以实现所预期的效果第六章 小结通过这次课程设计,更加熟悉了单片机系统的使用,熟悉了接口技术的设 计,以及汇编语言的使用同时,通过这个简单红外遥控系统的实现,了解了 红外遥控的原理,扩展了很多知识,也激发了对电子芯片、各种电子设备的浓 厚的兴趣,也对汇编语言直接的编程方式感到很有意思当学了计算机组成之后,对计算机也只是有一种抽象的理解,知道计算机 大致划分为哪几个部分,但还不了解其内在运行机制,而本学期通过简单的 80C51 单片机系统的学习,更加深刻的体会到了计算机运行机制,也更加深刻 体验到了寻址方式、SFR以及片内片外控制机理,至于更深入的了解,还需要 继续学习通过本次课程设计,收获最大的是兴趣,看着那一个个小小的芯片集成了 那么多的功能,那些功能是怎么实现的呢,呵呵,那就要学习电路了咯不过 对于我们,只需要了解芯片的功能,引脚的作用就可以了,其他的都交给芯片 去做好了其实,是计算机内部信号的传递,和内部与外部的信号传递,也联 系到了以前学到得数电知识总之,这次课程设计很有意义,提高了动手能力,解决问题的能力,期待 着更深一步的学习参考文献[1] 李华. MCS-51 系列单片机实用接口技术 . 北京: 航天航空大学出版 社,1999[2] 李朝青.单片机原理及接口技术. 北京: 航天航空大学出版社,2010[3] 《微型计算机及接口技术(基于51MCU)实验指导书》.计算机与信息学 院 2010年12月附录 (计算机程序清单)ORG 0000HAJMP STARTORG 0003HAJMP INTORG 0030HSTART:SETB EASETB IT0SETB EX0MOV P2,#0FFHMOV P1,#0FFH:AJMP INT:CLR EAMOV R6,#5 ;检测 5 次,确定是否按键WW:LCALL YS1 ;延时 882 微秒JB P3.2,EXITDJNZ R6, WWJNB P3.2, $ ;等待高电平避开 9 毫秒低电平引导脉冲MOV R6,#4EE: LCALL YS2 ;延时 1 毫秒DJNZ R6,EEJB P3.2,$ ;等待随后的 13位地址码的低电平MOV R7,#26JJJJA:JNB P3.2,$;等待地址码第一位的高电平信号LCALL YS1MOV C,P3.2;将P3.2引脚此时的电平状态0或1存入C中JNC UUUALCALL YS2;高电平,延时1毫秒UUUA:DJNZ R7,JJJJAMOV R1,#1AHMOV R2,#02HPP: MOV R3,#08HJJJJ:JNB P3.2,$;等待地址码第一位的高电平信号LCALL YS1MOV C,P3.2JNC UUULCALL YS2UUU: MOV A,@R1RRC AMOV @R1,ADJNZ R3,JJJJINC R1DJNZ R2,PP ;接收完8位数据码和8位数据反码,存放在1AH/1BH中MOV A,1AHCPL A;CJNE A,1BH,EXIT;如果不等表示接收数据发生错误,放弃;以下是控制部分!!CONTROL:MOV A,1AHCLR CSUBB A,#01HJNZ XXLCALL FUNC_ON_OFFLJMP EXITXX:JB P1.0,EXITCLR AMOV DPTR,#TAB ZZ: MOVC A,@A+DPTRCJNE A,1AH,YYINC DPTRCLR AMOVC A,@A+DPTRMOV P2,ASJMP EXITYY:INC DPTRINC DPTRCLR ASJMP ZZ FUNC_ON_OFF: ; MOV R6,#03H BB: MOV R7,#07FHCLR P1.1DD:LCALL YS2DJNZ R7,DDSETB P1.1 ;SS:MOV R7,#0FFH ; MOV P2,#0FFH ;: LCALL YS2 ; DJNZ R7,FF; DJNZ R6,BBCPL P1.0MOV P2,#0FFHRETEXIT:SETB EARETIYS1: MOV R4,#20 ;延时子程序 1,精确延时 882 微秒D1: MOV R5,#20DJNZ R5,$DJNZ R4,D1RETYS2: MOV R4,#2涎时程序3,精确延时1000微秒D3: MOV R5,#248DJNZ R5,$DJNZ R4,D3RETTAB: DB 11H,7FHDB 12H,0BFHDB 13H,0DFHDB 14H,0EFHDB 15H,0F7HDB 16H,0FBHDB 17H,0FDHDB 18H,0FEHDB 19H,0FCHDB 10H,0F8HEND。