基于单片机控制红外线遥控的编码实现
- 格式:pdf
- 大小:253.48 KB
- 文档页数:3
第1篇一、实验目的本次实验旨在通过搭建红外遥控系统,了解红外遥控的基本原理,掌握红外遥控信号的编码和解码方法,并利用单片机实现对红外遥控信号的解码,实现对红外遥控器的控制。
二、实验原理红外遥控技术是一种无线通信技术,通过发射端发送特定编码的红外信号,接收端接收该信号并进行解码,从而实现对电器的控制。
红外遥控系统主要由发射端和接收端两部分组成。
1. 发射端:由按键矩阵、编码调制电路和红外发射器组成。
按键矩阵根据按键的不同产生不同的编码信号,编码调制电路将这些信号调制在38kHz的载波上,红外发射器将调制后的信号发射出去。
2. 接收端:由红外接收器、前置放大电路、解调电路和指令信号检出电路组成。
红外接收器接收发射端发射的红外信号,前置放大电路对信号进行放大,解调电路将38kHz的载波信号去除,指令信号检出电路从解调后的信号中提取出指令信号。
三、实验设备1. 红外遥控发射器2. 红外接收模块3. 单片机开发板4. 连接线5. 电源6. 红外遥控解码程序四、实验步骤1. 搭建红外遥控系统:将红外接收模块连接到单片机开发板的相应引脚上,确保连接正确无误。
2. 编写红外遥控解码程序:根据红外遥控协议,编写解码程序,实现对红外信号的解码。
3. 程序烧录与调试:将解码程序烧录到单片机中,连接电源,进行程序调试。
4. 测试与验证:使用红外遥控器对单片机进行控制,观察单片机是否能够正确解码红外信号,并实现相应的控制功能。
五、实验结果与分析1. 红外遥控系统搭建成功:通过连接红外接收模块和单片机开发板,成功搭建了红外遥控系统。
2. 解码程序编写与调试:根据红外遥控协议,编写解码程序,实现对红外信号的解码。
在调试过程中,通过观察单片机的输出,验证了程序的正确性。
3. 测试与验证:使用红外遥控器对单片机进行控制,观察单片机是否能够正确解码红外信号,并实现相应的控制功能。
实验结果表明,单片机能够成功解码红外信号,并实现红外遥控器的控制功能。
文章编号:100622475(2000)0620108203红外遥控信号的编码方法与单片机译码程序的设计崔如春, 谭海燕(佛山科学技术学院计算机系,广东佛山 528000)摘要:介绍了两种常用的红外遥控信号的编码方法:脉冲占空比编码调制,脉冲宽度编码调制。
提出了用单片机对其进行识别译码的程序设计方法。
并给出了程序设计举例。
关键词:红外遥控;编码;译码;单片机中图分类号:T P 722.5 文献标识码:AEncod i ng M ethods and M icroprocessor D ecod i ng Programm i ngfor Rem ote Con trol Signa lCU I R u 2chun , TAN H ai 2yan(D epartm ent of Computer Science and T echno logy ,Fo shan U niversity ,Fo shan 528000,Ch ina )Abstract :In troduces tw o u sual remo te con tro l signal encoding m ethods :pu lse w idth modu lati on ,pu lse space rati o modu lati on .T he decoding p rogramm ing m ethod of m icrop rocesso r is p ropo sed w ith a p rogramm ing examp le .Key words :remo te con tro l ;encode ;decode ;m icrop rocesso r0 引 言 现在,有很多的电器产品(如一些家用电器)的操作控制都采用了红外遥控,一些遥控功能相对简单的电器产品,红外遥控信号的接收识别往往采用与编码调制芯片配套的译码芯片。
本科生毕业设计(论文)论文题目:基于单片机的红外遥控系统设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:本设计是基于单片机的红外遥控系统设计,设计内容包括了红外接收,红外解码和步进电机控制三大块。
如今红外遥控技术已经得到了广泛的应用;其利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强。
我们日常生活中的电视机,洗衣机,空调,航天飞机,工业现场设备等都运用了红外遥控的技术。
本设计中发射端采用专用的发射芯片来实现红外遥控码的发射,且遥控码格式是NEC标准。
接收端采用市面上流行的1838一体化红外接收头,接收到的红外信号经由1838接收头完成光/电转化和解调的工作,然后把33位的完整码发送到解码芯片中去完成解码工作。
本设计中的主芯片是STC89C52单片机,主芯片和解码芯片之间进行串行通讯。
系统启动后,解码芯片将解码后得到的8位数据码串行发送到主芯片中,然后通过主芯片来控制步进电机的正转,反转,加速,减速。
本设计中的被控对象是步进电机,步进电机最适合做数字控制。
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
基于单片机的红外遥控设计与制作引言:红外遥控技术已广泛应用于日常生活中,如电视机、空调、音响等家电产品的遥控控制。
本文将介绍基于单片机的红外遥控器的设计和制作过程。
一、设计方案1.硬件设计(1)红外发射模块:负责发射红外信号,通过红外LED进行。
(2)红外接收模块:负责接收外界发射的红外信号,通过对接收到的信号进行解码,判断所接收到的红外遥控码是否与预设的相同。
(3)单片机:作为中央处理单元,负责控制红外发射和接收模块的工作。
(4)按键开关:用于控制红外发射模块,当按键按下时,红外发射模块进行红外信号的发射。
2.软件设计(1)初始化:对硬件进行初始化,包括设置单片机引脚的输入输出方向、设置红外接收模块相关参数等。
(2)红外码解码:通过红外接收模块接收到的红外信号进行解码,判断接收到的红外遥控码是否与预设的相同。
(3)功能实现:根据接收到的红外码,判断所对应的功能,并执行相应的操作。
二、制作过程1.硬件制作(1)选择合适的单片机,并连接红外发射和接收模块到单片机上。
(2)按照电路图进行焊接,注意焊接时的接线是否正确。
(3)搭建电路测试台,连接电源和调试设备,进行电路的测试和调试。
2.软件开发(1)选择合适的单片机开发工具,如Keil C51等,进行软件开发环境的搭建。
(2)编写初始化代码,并将其烧录到单片机上。
(3)编写红外码解码函数和功能实现函数,通过对接收到的红外码进行判断,执行相应的功能。
三、测试与调试1.进行硬件的测试和调试,检查电路连接是否正常,并观察红外接收模块是否能正确接收到红外信号。
2.进行软件的测试和调试,观察是否能正常解码和执行功能。
四、应用与展望总结:本文介绍了基于单片机的红外遥控器的设计和制作过程,包括硬件设计、软件设计、制作过程以及测试与调试。
通过制作一个简单的红外遥控器,我们可以更好地理解红外遥控技术的原理和应用,并可以根据实际需求进行功能扩展和优化。
关于用PIC单片机红外遥控的编码与解码一般常用的红外遥控器编码规则都差不多,基本上都同6221原理一样(可在网上找到)接收时:如果用54,57这类片子做的话有一定的难度(假如要做成实时控制的;比如说你还要驱动显示,驱动步进电机,在加上几个按键)原因就是这类片子没有中断例程如下(用来解6221;分频比为256)RF:BTFSC PORTB,2;;B2口用做接收口GOTO RF1BTFSS DOWNBIT;;检测下降沿标制CLRF RTCCOUNTBSF DOWNBIT;制下降沿标制BTFSS UPBIT;;检测上升沿标制RETLW 0BTFSC IDBIT;;检测码头标制GOTO RF3MOVLW 2AHSUBWF RTCCOUNT,0BTFSS STATUS,0GOTO RF2MOVLW 36HSUBWF RTCCOUNT,0 BTFSC STATUS,0 GOTO RF2BTFSC IDBITGOTO RF3MOVLW .8MOVWF LOOP MOVLW .3MOVWF LOOPCOUNT CLRF DATACOUNT BSF IDBITBSF DOWNBITBCF UPBITCLRF RTCCOUNT RETLW 0RF1:BTFSS DOWNBIT RETLW 0BSF UPBITRETLW 0RF2:BCF DOWNBITBCF IDBITCLRF RTCCOUNT RETLW 0 ;遥控接收RF3:MOVLW 02HSUBWF RTCCOUNT,0 BTFSS STATUS,0 GOTO RF4MOVLW 0CH SUBWF RTCCOUNT,0 BTFSS STATUS,0 GOTO RF4GOTO RF2RF4:MOVLW 08HSUBWF RTCCOUNT,0 BTFSC STATUS,0 BSF 3H,0MOVLW 07HSUBWF RTCCOUNT,0 BTFSS STATUS,0RLF DATACOUNT,1BSF DOWNBITBCF UPBITCLRF RTCCOUNTDECFSZ LOOP,1RETLW 0MOVLW .8MOVWF LOOPDECFSZ LOOPCOUNTRETLW 0BSF RFBIT;;制接收完标制BCF DOWNBITBCF UPBITBCF IDBITCLRF RTCCOUNTRETLW 0////////////////////////////////////////////////////////// TIME:BTFSC TIMEPD1GOTO TIME1MOVF RTCC,0;;(MOVWF TIMEONEBSF TIMEPD1RETLW 0 ;定时查寻TIME1:MOVF RTCC,0SUBWF TIMEONE,0BTFSC STATUS,2RETLW 0BCF TIMEPD1INCF RTCCOUNT,1RETLW 0////////////////////////////////////////////////在这里我是用查询的方式来定时的(RTCCOUNT)只是在解码时不需要去追求时间精度;我是去查RTCC 有没有发生跳变如有则表示时间过了256US---RTCCOUNT加一;这样做有一个好处---你不必去管RTCC 具体的值是多少,(RTCC去做精确的时钟定时;在这个查询的子程序中你可以去判断键扫,显示刷新,驱动步进电机等等)相应的C代码如下:unsigned char rfcount,loop,rftime,//查询定时器k;bit rfbit, //接收完标制lowbit1,lowbit2,downbit,rfgobit;unsigned char dispcount[5];//结果#define rfin RC6//////////////////////////////////////////////////////////////////////////////// rf( )//遥控接收{if(rfbit==0){if((lowbit1==0)&&(rfin==0)){downbit=1;rftime=0;lowbit1=1;return;if((lowbit1==1)&&(rfin==1)){lowbit2=1;return;}if((lowbit1==1)&&(lowbit2==1)&&(RC6==0)) {lowbit1=0;lowbit2=0;if((rftime>=40)&&(downbit==1))//遥控接收;{rfgobit=1;loop=0;rfcount=0;k=1;rftime=0;return;}rfcount=rfcount+1;loop=loop+1;if(rfcount>=31)rfgobit=0;downbit=0;rfcount=0;rfbit=1;loop=0;return;}if((rftime>=7)&&(rfgobit==1)) {dispcount[k]=dispcount[k]|0x80; rftime=0;if(loop==8){k=k+1;loop=0;return;}dispcount[k]=dispcount[k]>>1; return;}if((rftime<5)&&(rfgobit==1))dispcount[k]=dispcount[k]&0x7f;rftime=0;if(loop==8){k=k+1;loop=0;return;}dispcount[k]=dispcount[k]>>1;return;}}}}(查询子程序同汇编)假如用中断的话也可用时间查询的方法,只是接收口改用带中断的口线;RB4--RB7,CCP1,CCP2,都可以。
单片机红外线遥控器解码程序
红外线遥控是目前使用最广泛的一种通信和遥控手段。
由于红外线遥控装
置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外
线遥控。
现在工业设备中,也已经广泛在使用。
1 红外遥控系统
通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯
片来进行控制操作,如图1 所示。
发射部分包括键盘矩阵、编码调制、LED 红
外发送器;接收部分包括光、电转换放大器、解调、解码电路。
2 遥控发射器及其编码
遥控发射器专用芯片很多,根据编码格式可以分成脉冲宽度调制和脉冲相位
调制两大类,这里我们以运用比较广泛,解码比较容易的脉冲宽度调制来加以
说明,现以3310 组成发射电路为例说明编码原理。
当发射器按键按下后,即
有遥控码发出,所按的键不同遥控编码也不同。
这种遥控码具有以下特征:
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”
上述“0”和“1”组成的42 位二进制码经38kHz 的载频进行二次调制以提高发
射效率,达到降低电源功耗的目的。
然后再通过红外发射二极管产生红外线向
空间发射,
3310 产生的遥控编码是连续的42 位二进制码组,其中前26 位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。
后16 位为8 位
的操作码和8 位的操作反码用于核对数据是否接收准确。
单片机做红外遥控解码器你家里是否有一个电视机遥控器或者空调机遥控器呢?你是否也想让它遥控其他的电器甚至让它遥控您的电脑呢?那好,跟我一起做这个“遥控”。
该小制作所需要的元件很少: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位停止位、无校验位。
电路就这么容易了,现在分析详细的编程过程吧。
开头位是以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:movtmod,09h,这样设置定时器0即是把GATE置1,16位计数器,最大计数值为2的16次方个机器周期,此方式由外中断INT0控制,即INT0为高时才允许计数器计数。
比如:jnbp3.2,$jbp3.2,$clrtr0这3条命令就可以测量一个高电平,接下来读取计数值TH0,TL0就可以辨别是起始位还是“1”或“0”。
基于单片机的红外遥控设计与及制作引言:近年来,红外遥控技术已经成为了控制家电以及其他设备的一种主要方式。
在遥控器内部,最核心的部件就是单片机。
通过单片机的处理,可以将遥控信号转换为设备能够识别的红外信号。
在本文中,我们将介绍基于单片机的红外遥控器的设计与制作。
一、设计概述在本设计中,我们选用了STC89C52单片机作为中心处理器。
主要的原因是STC89C52具有较高的性价比和稳定性。
此外,我们还需要借助红外发射模块和红外接收模块来实现红外遥控的功能。
二、硬件设计1.单片机电路设计首先,我们需要完成单片机电路的设计。
主要包括单片机的供电电路和晶振电路。
为了提升系统稳定性,我们选用了陶瓷晶振。
电源电路则需要通过稳压芯片来对单片机进行供电,以确保工作电压的稳定。
2.红外发射电路设计红外发射电路主要由红外发射模块、三极管和电流限流电阻组成。
其中,红外发射模块用于发射红外信号,通常带有红外LED灯。
而三极管则起到放大红外LED灯的作用,电流限流电阻则用于限制红外LED灯的电流大小。
3.红外接收电路设计红外接收电路主要由红外接收模块、电流放大器和滤波电路组成。
红外接收模块用于接收红外信号,而电流放大器则起到放大红外接收模块产生的微弱信号的作用。
滤波电路则用于滤除无关的信号,以确保只有红外信号通过。
三、软件设计1.引入头文件首先,在编程环境中引入STC89C52的头文件,以便后续的编程操作能够正常进行。
2.定义红外发射与接收的引脚在程序中,我们需要定义红外发射和接收的引脚,以便进行相关的硬件操作。
3.红外发射信号发送在红外发射信号发送的函数中,我们需要使用红外发射模块提供的函数进行信号发送操作。
通常,发送红外信号可以通过调整信号的载波频率和占空比来实现。
4.红外接收信号处理在红外接收信号处理的函数中,我们需要使用红外接收模块提供的函数进行信号接收操作。
一般来说,接收到的信号会以特定的协议进行编码,我们需要解码后才能获取到实际的遥控信号。