资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
红外线遥控器设计内容提要无线遥控是指利用无线电波、红外线、超声波等作为载体,不用导线, 而在空间传输,实现对以家用电器为代表的中小型电器的遥控方法,主要 有无线电遥控和红外线遥控。红外光波的波长远小于无线电波的波长,因 此红外线遥控信号不会影响其它家用电器和邻近的无线电设备;另外,红 外线遥控不具有无线电遥控那样穿透障碍物去控制被控对象的能力,在设 计家用电器的红外线遥控器时,不必要像无线电遥控那样,每套发射器和 接收器要有不同的遥控频率或编码,否则,就会隔墙控制或干扰邻居的家 用电器,所有同类产品的红外线遥控器,可以有相同的遥控频率或编码, 而不会出现遥控信号“串门”的情况,这对于大批量生产以及在家用电器 上普及红外线遥控提供了极大的方便。本设计由通用红外遥控编码芯片SC9012构建红外发射系统,由89C51单片机和一体化红外接收头构建红外接收系统。关键词红外线遥控;红外线发射;红外线接收;单片机主要内容-课程设计的目的目前,单片机已广泛应用到国民经济建设和日常生活的许多领域,成为测控技术现代化必不可少的重要工具。1、进一步熟悉和掌握单片机的结构及工作原理。2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5、通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用 系统的全过程,为今后从事相应的工作打下基础。二、设计过程2.1红外线遥控系统结构红外线遥控系统是由发射端和接收端两部分组成,如图C.1和C.2所示。红外线遥控系统是由发射端和接收端两部分组成,红外线发射端就是红外遥控器,主要包括键盘、编码调制芯片、红外线发射 LED当按下某一 按键后,遥控器上的编码调制芯片便进行编码,并结合载波电路的载波信 号而成为合成信号,再经红外线发射二极管,将红外线信号发射出去。发射端部分图U1红外线发射端匚作方框图接收端部分图C.2红外线接收端1作方框图红外线接收端主要包括红外线接收模块、解码单片机。其中红外线接 收模块里包括光、电转换放大器、解调电路。当红外线发射信号进入接收 模块后,在其输出端便可以得到原先的数字控制编码,再经过单片机解码 程序进行解码,便可以得知按下了哪一按键,从而完成红外线遥控的动作。功能说明:选用一种电视机遥控器,再利用接收模块结合单片机解码, 控制P1端口所接的8个LEEM或灭。因此,8个LED勺亮或灭的状态,即是显 示红外遥控器的按键值。8个LEfB为8位二进制数,其中LEEM视为0, LELX视为1。2.2单片机的选用红外线发射端采用通用的一种红外遥控器 (芯片SC9012。接收端采用89C5倬片机和一体化红外接收头,红外接收头只有 3个引脚:引脚1为数 字信号输出端(OUT,引脚2为接地端(GND,弓I脚3为电源输入(VCC红外接收头与单片机连接非常简单,只需将信号输出端(OUT与单片机一 个I/O引脚连接(P3.2),然后接上电源即可。单片机主要用于解码, P1 端口所接的8个LE明来显示解码后红外遥控器的按键值。单片机的 P2.4引 脚通过限流电阻R与三极管基极相接,三极管的集电极接有蜂鸣器。2.4红外遥控的解码问题SC901厂帧完整的发射码是由引导码、用户编码和键数据码3部分组成。编码的格式如图C.3所示。S0S1SS3S1S5S 6S7S 0S 1S nS3S4S5S 6S7D0D1D 9D 3D4D D 6D i 引导码用户码, *用户码图C.3红外线发射码格式引导码由一个4.5ms的高电平脉冲及4.5ms的低电平脉冲组成。八位 的用户编码被连续发送两次,八位的键数据码也被发送两次,第一次发送 的是键数据码的原码,第二次发送的是键数据码的反码,所以,整个数据 编码占用32位。数据编码方式是通过脉宽调制来实现的,以脉宽为0.56ms,间隔为 0.56ms,周期为1.125ms的组合表示二进制的“ 0” ;以脉宽为0.56ms,间隔为1.69ms,周期为2.25ms的组合表示二进制的“ T,其接收端波形如图位冲位十0, 56nis1. 125in$图匚4遥控码弋”波形图2u图CF遥控码波形图单片机解码的关键是如何识别 “0和“1,从上面遥控码“0和“1 的波形图中可以发现“ 0”、“1”均以0.56ms的低电平开始,不同的是高电 平的宽度不同,“0”为0.56ms, “1”为1.68ms,即“1”的高电平宽度是“0” 的高电平宽度的3倍。如果延时0.56ms,则读到的电平为低,说明该位为 “0”,反之则为“ T。或者设计一精确的延时时间,例如以 0.093ms延时 时间当作基础时间,以调用基础延时时间的次数来计数实际的波形宽度, 若读值为6表示波形宽度为0.56ms,若读值为18则表示波形宽度为 1.68ms,因此,可以直接通过判断高电平的宽度的计数值是 6或是18,来 判断接收的原编码为0或1。三、设计原理图和流程图根据上面的设计过程,绘制的原理图如下:)SC9012DOUT VDD NC OSCO OSCI Vss北发射指示LEDn ik 口aAL -dooLVDD-3V红外线发送电路管脚说明+5VT30P30P管脚号符号输入/输出功能描述14KI0-KI3I键扫描输入端(内置卜拉电阻)。5Dout0发射码输出管脚。6VDD 电源正端。7NC 空脚。建议在使用时接电源正端。8osco0振荡器输出管脚。9OSCII振荡器输入管脚。10Vss 电源接地端。11LMP0输出LED指示。12-19KO1-KO80键扫描输出管脚。20SELI用户编码选择管脚。红外线接收电路图03 ;04 SPK EQU P2.4 ;05 IRIN EQU P3.2 ;06 IRDZ EQU 20H ;07 DZ3 EQU 22H ;08 ;09 MAIN:10 ACALL FS_SPK ;11 SETB IRIN ;IR输入位设置为Wj电平四、编程如下: .主要标号说明MAIN主程序。IR_IN :解码子程序。IR_ZX:遥控执行子程序。FS_SPK发声子程序。DE短暂延时子程序。DELAY05_R5延时子程序,总延时时间为 0.5ms X R5。DEL用于解码延时子程序,延时时间为 0.093ms。 .程序清单汇编语言编写的LED显示红外线遥控器按键值源程序IR01.ASM代码如 下:01 ;程序名:IR01.ASM 02 ;程序功能:显示红外遥控器按键值程序初始化压电喇叭信号输入位红外线IR信号输入位解码数据放置起始地址比较第3字节主程序调用发声子程序(79),响一声12 LOOP:13 MOV R0, # IRDZ ; 设置IR解码起始地址14 ACALL IR_IN ;调用解码子程序(25),解码15 ACALL IR_ZX ;调用遥控执行子程序(71),执行动作16 JMP LOOP ;继续循环执行17 ; 解码子程序18 IR_IN:; 解码子程序19 ;确认IR信号出现,避开9毫秒引导脉冲20 L1: JNB IRIN, L2 ;等待IR信号出现21 JMP L122 L2: MOV R5,#17 ; 避开9毫秒引导脉冲23 ACALL DELAY05_R524 JB IRIN, L1 ;确认IR信号出现25 L3: JB IRIN, L4 ;等IR变为高电平26 ACALL DEL ;调用0.093ms延时程序27 JMP L328 L4: MOV R3,#0 ; 8 位计数清为 029 ;30 ;避开低电平,待直接判断高电平31 L5: JNB IRIN, L6 ;等IR变为低电平32 ACALL DEL ;调用0.093ms延时程序33 JMP L534 L6: JB IRIN, L7 ;等IR变为高电平35 ACALL DEL ;调用0.093ms延时程序36 JMP L637 ;38 ;通过调用0.093ms延时次数的计数值来判断高电平的宽度,解码 0或139 L7: MOV R2,#0 ; 0.093ms 计数清为 040 L8: ACALL DEL ;调用0.093ms延时子程序41 JB IRIN, L9 ;等IR变为高电平42 ;43 MOV A,#8 ;将临存器设置为844 CLR C ;清除借位标志C45 SUBB A,R2 ;以减法指令SUBB来判断高彳氐位46 MOV A,R0 ; R0直为解码内存地址,即取出内存数据给 A47 RRC A ;将借位标志 g移进入A48 MOV R0, A ;将数据写入内存49 INC R3 ; R3值加1,处理完一位50 CJNE R3,#8,L5 ; 需处理完 8位51 ;52 MOV R3,#0 ;计数清 053 INC R0 ; R0 值加 154 CJNE R0, #23H, L5 ; 收集到 4字节55 JMP L1056 L9: INC R2 ; R2 值加 157 CJNE R2, #30, L8 ;计数过长离开58 L10:60;59 RET;子程序返回遥控执行子程序61 IR_ZX:; 遥控执行子程序62 MOV A, DZ3 ;将第3字节数据赋予A63 MOV P1, A ;显示二进制按键值64 ACALL FS_SPK ;调用发声子程序,响一声65 RET66 ; 发声子程序67 FS_SPK:;发声子程序68 MOV R6, #069 B1: ACALL DE70 CPLSPK71 DJNZ R6, B172 MOV R5, #10073 ACALL DELAY05_R574 RET75 ; 短暂延时子程序76 DE:;短暂延时子程序77 MOV R7, #18078 DE1: NOP79 DJNZ R7, DE180 RET81 ; 延时子程序82 DELAY05_R5:;延时子程序,总延时时间为0.5ms*R583 MOV R6, #584 D1: MOV R7, #1085 DJNZ R7, $86 DJNZ R6, D187 DJNZ R5, DELAY05_R588 RET89 ; 解码延时子程序90 DEL:;用于解码延时子程序,延时为0.093ms91 MOV R7, #2292 E1: NOP93 NOP94 DJNZ R7, E195 RET96 ;97 END ;程序结束C.1.4代码详解0407:为程序初始化部分。04: P2.4为压电喇叭信号输入位,并设定 P2.4以SPK
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号