资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
西安科技大学高新学院 毕业论文- 1 -红外遥控器的基本原理 红外线的特点人的眼睛能看到的可见光,若按波长排列,依次(从长到短)为红、橙、黄、绿、青、蓝、紫,红光的波长范围为 0.62m0.7m,比红光波长还长的光叫红外线。红外线遥控器就是利用波长 0.76m1.5m 之间的近红外线来传送控制信号的。红外线的特点是不干扰其他电器设备工作,也不会影响周边环境。电路调试简单,若对发射信号进行编码,可实现多路红外遥控功能。红外线发射和接收人们见到的红外遥控系统分为发射和接收两部分。发射部分的发射元件为红外发光二极管,它发出的是红外线而不是可见光。常用的红外发光二极管发出的红外线波长为 940nm 左右,外形与普通 5mm 发光二极管相同,只是颜色不同。一般有透明、黑色和深蓝等三种。判断红外发光二极管的好坏与判断普通二极管一样的方法。单只红外发光二极管的发射功率约 100mW。红外发光二极管的发光效率需用专用仪器测定,而业余条件下,只能凭经验用拉距法进行粗略判定。接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度。红外接收二极管一般有圆形和方形两种。由于红外发光二极管的发射功率较小,红外接收二极管收到的信号较弱,所以接收端就要增加高增益放大电路。然而现在不论是业余制作或正式的产品,大都采用成品的一体化接收头。红外线一体化接收头是集红外接收、放大、滤波和比较器输出等的模块,性能稳定、可靠。所以,有了一体化接收头,人们不再制作接收放大电路,这样红外接收电路不仅简单而且可靠性大大提高。西安科技大学高新学院 毕业论文- 2 -红外遥控器的协议 鉴于家用电器的品种多样化和用户的使用特点,生产厂家对红外遥控器进行了严格的规范编码,这些编码各不相同,从而形成不同的编码方式,统一称为红外遥控器编码传输协议。了解这些编码协议的原理,不仅对学习和应用红外遥控器是必备的知识,同时也对学习射频(一般大于 300MHz)无线遥控器的工作原理有很大的帮助。到目前为止, 笔者从外刊收集到的红外遥控协议已多达十种, 如: RC5、 SIRCS、 SONy、 RECS80、Denon、NEC、Motorola、Japanese、SAMSWNG 和 Daewoo 等。我国家用电器的红外遥控器的生产厂家,其编码方式多数是按上述的各种协议进行编码的,而用得较多的有 NEC 协议。红外遥控器的结构特征 红外遥控发射器由键盘矩阵、遥控专用集成电路、激励器和红外发光二极管组 成。遥控专用集成电路(采用 AT89S52 单片机)是发射系统的核心部分,其内部由振 荡电路、定时电路、扫描信号发生器、键输入编码器、指令译码器、用户码转换器、 数码调制电路及缓冲放大器等组成。它能产生键位扫描脉冲信号,并能译出按键的 键码,再经遥控指令编码器得到某键位的遥控指令(遥控编码脉冲),由 38KHZ 的载 波进行脉冲幅度调制,载有遥控指令的调制信号激励红外二极管发出红外遥控信号。在红外接收器中,光电转换器件(一般是光电二极管或光电三极管,我们这里 用的是 PIN 光电二极管)将接收到的红外光指令信号转换成相应的电信号 。此时的信号非常微弱而且干扰特别大,为了实现对信号准确的检测和转换, 除了高性能的红外光电转换器件,还应合理地选择并设计性能良好的电路形式。 最常西安科技大学高新学院 毕业论文- 3 -用的光电转换器件是光电二极管,当光电二极管 PN 结的光敏面受到光照射 后,PN 结的半导体材料吸收光能,并将光能转换为电能。当光电二极管上加有反向 电压时,二极管中的反向电流将随入射光照强度的变化而变化,光的辐照强度越大, 其反向电流越大。也就是说,光电二级管的反向电流随入射的光脉冲作同频率的变 化。红外遥控器的应用 红外遥控器由于受遥控距离、角度等影响,使用效果不是很好, 如采用调频或调幅发射接收编码,则可提高遥控距离,并且没有角度影响。红外遥 控发射和接收模块可以用在室内红外遥控中,它不影响周边环境、不干扰其它电器 设备。由于其无法穿透墙壁,所以不同房间的家用电器可使用通用遥控器而不会产 生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入 工作;编解码容易,可进行多路遥控。现在红外遥控在家用电器、室内近距离遥控中 得到了广泛的应用。另外模块还可以用在其他红外遥控系统中,应用前景十分广阔。 西安科技大学高新学院 毕业论文- 4 -51 单片机设计的红外线遥控器电路图及工作原理你家里是否有一个电视机遥控器或者空调机遥控器呢?你是否也想让它遥控其他的电器甚至让它遥控您的电脑呢?那好,跟我一起做这个“红外遥控解码器” 。该小制作所需要的元件很少:单片机 TA89C2051 一只,RS232 接口电平与 TTL电平转换心片 MAX232CPE 一只,红外接收管一只,晶振 11.0592MHz,电解电容10uF4 只,10uF 一只,电阻 1K1 个,300 欧姆左右 1 个,瓷片电容 30P2 个。发光二极管 8 个。价钱不足 20 元。电路图及原理:主控制单元是单片机 AT89C2051,中断口 INT0 跟红外接受管 U1 相连,接收红外信号的脉冲,8 个发光二极管作为显示解码输出(也可以用来扩展接其他控制电路) ,U3 是跟电脑串行口 RS232 相连时的电平转换心片,9、10 脚分别与单片机的 1、2 脚相连, (1 脚为串行接收,2 脚为串行发送) ,MAX232CPE 的 7、8 脚分别接电脑串行口的 2(接收)脚、3(发送脚) 。晶振采用 11.0592MHz,这样才能使得通讯的波特率达到 9600b/s,电脑一般默认值是 9600b/s、8 位数据位、1 位停止位、无校验位。电路就这么简单了,现在分析具体的编程过程吧。如图所示,panasonic 遥控器的波形是这样的(经过反复测试的结果) 。西安科技大学高新学院 毕业论文- 5 -开始位是以 3.6ms 低电平然后是 3.6ms 高电平,然后数据表示形式是 0.9ms 低电平 0.9ms 高电平周期为 1.8ms 表示“0” , 0.9ms 低电平 2.4ms 高电平周期为3.3ms 表示“1” ,编写程序时,以大于 3.4ms 小于 3.8ms 高电平为起始位,以大于2.2ms 小于 2.7ms 高电平表示“1” ,大于 0.84ms 小于 1.11ms 高电平表示“0” 。因此,我们主要用单片机测量高电平的长短来确定是“1”还是“0”即可。定时器 0的工作方式设置为方式 1:mov tmod,#09h,这样设置定时器 0 即是把 GATE 置 1,16位计数器,最大计数值为 2 的 16 次方个机器周期,此方式由外中断 INT0 控制,即INT0 为高时才允许计数器计数。比如: jnb p3.2,$jb p3.2,$clr tr0这 3 条指令就可以测量一个高电平,接下来读取计数值 TH0,TL0 就可以分辨是起始位还是“1”或“0” 。在确定码表之前,您可以使用 P0 口的 8 个发光二极管来显示编码,16 位编码分两次显示:mov p0,keydataacall delay_1s ;/1ms 延时子程序mov p0,keydata+1ljmp main根据 P0 相继的两次显示的编码,记录每个按键的编码,形成编码表,即遥控器编码的解码完毕。码表确定之后,以后接收到遥控器的编码之后,就与码表比较,找到匹配的码项,并把该码项对应的顺序号输出到 P0 口,同时也把顺序号向串行口输出到电脑,电脑接收该数据后由串口软件决定如何处理。西安科技大学高新学院 毕业论文- 6 -程序不长,下面是完整的程序和注释:(先看流程图)keydata equ 30h ;/该地址和 31H 地址用来存放遥控器按键编码。org 00hmain:mov keydata,#0 ;/ 清零mov tmod ,#09h ;/设置定时 0 方式 1,GATE=1mov r7,#0 ;/计数器,用来计数是否满 8 位mov r6,#0 ;/计数器,用来计数是否满 2 字节(解 16 位编码)jb p3.2,$ ;/是否为低电平again: ;/如果为低,继续往下面执行mov tl0,#0 ;/清零 TL0mov th0,#0 ;/清零 TH0setb tr0 ;/开启定时器 0jnb p3.2,$ ;/等待高电平到来jb p3.2,$ ;/高电平到来,此时开始计数clr tr0 ;/高电平结束,停止计数mov a,th0 ;/读取 th0 值,TL0 忽略不计 clr c ;/subb a,#12 ;/jc again ;/th014 则大于 3.8msjc again ;/大于 3.8ms,从新再检测nextbit: ;/起始位找到了,然后下一位mov tl0,#0 ;/mov th0,#0 ;/setb tr0 ;/启动定时器jnb p3.2,$ ;/等待高电平jb p3.2,$ ;/高电平到来,此时开始计数clr tr0 ;/高电平结束,停止计数mov a,th0 ;/读取计数值,TL0 忽略不计clr c ;/subb a,#8 ;/th0 和 8 比较jc next ;/若 2.7ms,则放弃,从新检测mov a,keydata ;/ 符合大于 2.2ms 小于 2.7ms,即为“1”setb c ;/C = 1rrc a ;/把 1 移位进 Amov keydata,a ;/保存西安科技大学高新学院 毕业论文- 8 -inc r7 ;/计数器加 1cjne r7,#8,nextbit ;/是否满 8 位inc r6 ;/计数加 1cjne r6,#2,last8 ;/是否满两字节sjmp seach ;/不满两字节,再新采集last8: ;/满 1 字节,再接下来第二字节mov keydata+1,a ;/把第一字节编码数据保存到 31h 里mov r7,#0 ;/计数器 R7 清零sjmp nextbit ;/继续采集数据next: ;/小于 2.2ms 时转到这里mov a,th0 ;/读取计数值 TH0swap a ;/高 4 位与低 4 位对换mov r1,a ;/保存到 R1anl tl0,#0f0h ;/取 TL0 高 4 位,低 4 位忽略不计mov a,tl0 ;/clr c ;/rrc a ;/rrc a ;/rrc a ;/rrc a ;/add a,r1 ;/mov r1,a ;/西安科技大学高新学院 毕业论文- 9 -subb a,#30 ;/以上几行是把 TH0 的低 4 位和 TL0 的高 4 位合并为 1 字节作为计数值jc nextbit ; /判断是否 64 表示采样值 1.11ms 放弃mov a,keydata ;/否则 ,符合位“0”clr c ;/C = 0rrc a ;/把零右移进 Amov keydata,a ;/保存inc r7 ;/计数器加 1cjne r7,#8,nextbit ;/是否满 8 位inc r6 ;/计数器加 1cjne r6,#2,last_8 ;/是第一字节已经满sjmp seach ;/last_8: ;/如果为第二字节mov keydata+1,a ;/则保存第一字节到 31hmov r7,#0 ;/清零 R7sjmp nextbit ;/seach: ;/匹配按键编码西安科技大学高新学院 毕业论文- 10 -mov r0,#-2 ;/
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号