⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 红外线遥控器解码程序 汇编语言 经典说明.htm

📁 遥控器程序资料很多个
💻 HTM
📖 第 1 页 / 共 5 页
字号:
                  src="红外线遥控器解码程序 汇编语言 经典说明.files/star.gif"><IMG 
                  src="红外线遥控器解码程序 汇编语言 经典说明.files/star.gif"><IMG 
                  src="红外线遥控器解码程序 汇编语言 经典说明.files/star.gif"><IMG 
                  src="红外线遥控器解码程序 汇编语言 经典说明.files/star.gif"><BR><BR>
                  <TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 
                  width="95%" border=0>
                    <TBODY>
                    <TR>
                      <TD align=middle><IMG 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/06.gif" 
                    border=0></TD></TR></TBODY></TABLE><BR>积分 402<BR>发贴 
                  75<BR>性别&nbsp; 男 <BR>注册 2004-9-8<BR>来自 理工学院 电子02912班<BR>状态 离线 
                  </SPAN></TD>
                <TD height="100%">
                  <TABLE style="TABLE-LAYOUT: fixed; WORD-WRAP: break-word" 
                  height="100%" cellSpacing=0 cellPadding=0 width="100%" 
                  border=0>
                    <TBODY>
                    <TR>
                      <TD vAlign=top><SPAN class=bold><SPAN 
                        class=smalltxt></SPAN></SPAN>ORG 0000H <BR>AJMP 
                        MAIN<BR>ORG 0003H ;外部中断INT0入口地址 <BR>AJMP INT 
                        ;转中断服务子程序<BR>MAIN: MOV SP,#40H <BR>MOV P1,#00H<BR>SETB 
                        EA ;开CPU中断<BR>SETB IT0 ;设定INT0触发方式<BR>SETB EX0 
                        ;INT0请求中断<BR><BR>DSP: MOV R2,#9 ;将遥控器键值转化成A(0~9)<BR>MOV 
                        DPTR,#TAB1<BR>VV: MOV A,R2<BR>MOVC A,@A+DPTR<BR>XRL 
                        A,1CH<BR>JZ ABC<BR>DJNZ R2,VV<BR>ABC: MOV 
                        A,R2<BR><BR>MOV DPTR,#TAB ;将A的值通过数码管显示出来 <BR>MOVC 
                        A,@A+DPTR <BR>RX1: MOV P1,A <BR>CLR P0.1 <BR>AJMP 
                        DSP<BR><BR>INT: CLR EA <BR>MOV R6,#10<BR>SB: ACALL 
                        YS1<BR>JB P3.2,EXIT<BR>DJNZ R6, SB<BR>JNB P3.2, $ 
                        ;等待高电平避开9毫秒低电平引导脉冲<BR>ACALL YS2 ;延时4。74毫秒判断是否连发<BR>JB 
                        P3.2,EXIT<BR>CPL P0.0<BR><BR>MOV R1,#1AH 
                        ;将32位代码分别放在1AH/1BH/1CH/1DH中<BR>MOV R2,#4 <BR>PP: MOV 
                        R3,#8<BR>JJJJ: JNB P3.2,$<BR>LCALL YS1<BR>MOV 
                        C,P3.2<BR>JNC UUU<BR>JB P3.2,$<BR>UUU: MOV A,@R1<BR>RRC 
                        A<BR>MOV @R1,A<BR>DJNZ R3,JJJJ<BR>INC R1<BR>DJNZ R2,PP 
                        <BR><BR>MOV P2,1CH<BR>MOV A,1AH ;进行代码识别 <BR>XRL A,#0 
                        ;判断1AH的值是否等于00000000<BR>JNZ EXI ;如果不同则无效将1CH清零<BR>CLR 
                        P0.1 <BR>MOV A,1BH<BR>XRL A,#11110111B 
                        ;再判断高8位地址是否正确<BR>JNZ EXI<BR>MOV A,1CH<BR>CPL A<BR>XRL 
                        A,1DH ;将1CH的值取反后和1DH比较 不同则无效丢弃核对数据是否准确<BR>JNZ EXI 
                        <BR>AJMP EXIT<BR>EXI: MOV 1CH,#0<BR>EXIT: SETB EA 
                        ;允许中断<BR>RETI <BR><BR>YS1: MOV R4,#20 ;精确延时882微秒<BR>D1: 
                        MOV R5,#20<BR>DJNZ R5,$<BR>DJNZ R4,D1 <BR>RET<BR>YS2: 
                        MOV R4,#10 ;精确延时4740微秒<BR>D2: MOV R5,#235<BR>DJNZ 
                        R5,$<BR>DJNZ R4,D2 <BR>RET<BR>TAB: DB 
                        60H,7DH,0D0H,58H,4DH <BR>DB 
                        4AH,42H,7CH,40H,48H<BR>TAB1<IMG 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/biggrin.gif" 
                        align=absMiddle border=0>B 0CH,09H,1DH,1FH,0DH <BR>DB 
                        19H,1BH,11H,15H,17H<BR>END<BR>;TAB LED数码管显示表 
                      TAB1遥控器键值表</TD></TR></TBODY></TABLE></TD></TR>
              <TR bgColor=#ffffff>
                <TD vAlign=center>
                  <TABLE class=smalltxt cellSpacing=0 cellPadding=0 width="100%" 
                  border=0>
                    <TBODY>
                    <TR>
                      <TD><IMG src="红外线遥控器解码程序 汇编语言 经典说明.files/lastpost.gif" 
                        align=absMiddle> 2005-1-14 19:37</TD>
                      <TD align=right><SPAN class=bold 
                      align="right">#2</SPAN></TD></TR></TBODY></TABLE></TD>
                <TD vAlign=center>
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR class=smalltxt>
                      <TD align=left><A 
                        href="http://freeweb.nyist.net/~xuyuan/luntan/viewpro.php?username=sina3228&amp;sid=5VUbJ06d"><IMG 
                        alt=查看资料 src="红外线遥控器解码程序 汇编语言 经典说明.files/profile.gif" 
                        border=0></A>&nbsp; <A 
                        href="mailto:sina3228@163.com"><IMG alt=发送邮件 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/email.gif" 
                        border=0></A>&nbsp; <A 
                        href="http://freeweb.nyist.net/~xuyuan/luntan/search.php?srchuname=sina3228&amp;srchfid=all&amp;srchfrom=0&amp;searchsubmit=yes&amp;sid=5VUbJ06d"><IMG 
                        alt=搜索该用户的全部帖子 src="红外线遥控器解码程序 汇编语言 经典说明.files/find.gif" 
                        border=0></A>&nbsp; <A 
                        href="http://freeweb.nyist.net/~xuyuan/luntan/pm.php?action=send&amp;username=sina3228&amp;sid=5VUbJ06d" 
                        target=_blank><IMG alt=发短消息 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/pm.gif" 
                        border=0></A>&nbsp; <A 
                        href="http://search.tencent.com/cgi-bin/friend/user_show_info?ln=15149327" 
                        target=_blank><IMG alt=OICQ 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/oicq.gif" 
                        border=0></A>&nbsp; </TD>
                      <TD align=right>&nbsp;<A 
                        href="http://freeweb.nyist.net/~xuyuan/luntan/post.php?action=edit&amp;fid=6&amp;tid=383&amp;pid=2052&amp;page=1&amp;sid=5VUbJ06d"><IMG 
                        alt=编辑帖子 src="红外线遥控器解码程序 汇编语言 经典说明.files/edit.gif" 
                        border=0></A> &nbsp;<A 
                        href="http://freeweb.nyist.net/~xuyuan/luntan/post.php?action=reply&amp;fid=6&amp;tid=383&amp;repquote=2052&amp;sid=5VUbJ06d"><IMG 
                        alt=引用回复 src="红外线遥控器解码程序 汇编语言 经典说明.files/quote.gif" 
                        border=0></A> 
        </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></A><A 
      name=pid2053>
      <TABLE cellSpacing=0 cellPadding=0 width="98%" align=center border=0>
        <TBODY>
        <TR>
          <TD bgColor=#000000>
            <TABLE style="TABLE-LAYOUT: fixed; WORD-WRAP: break-word" 
            cellSpacing=1 cellPadding=4 width="100%" border=0>
              <TBODY>
              <TR bgColor=#f8f8f8>
                <TD vAlign=top width="21%"><SPAN class=bold 
                  ?>sina3228</SPAN><BR><SPAN class=smalltxt>支柱会员<BR><IMG 
                  src="红外线遥控器解码程序 汇编语言 经典说明.files/star.gif"><IMG 
                  src="红外线遥控器解码程序 汇编语言 经典说明.files/star.gif"><IMG 
                  src="红外线遥控器解码程序 汇编语言 经典说明.files/star.gif"><IMG 
                  src="红外线遥控器解码程序 汇编语言 经典说明.files/star.gif"><BR><BR>
                  <TABLE style="TABLE-LAYOUT: fixed" cellSpacing=0 cellPadding=0 
                  width="95%" border=0>
                    <TBODY>
                    <TR>
                      <TD align=middle><IMG 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/06.gif" 
                    border=0></TD></TR></TBODY></TABLE><BR>积分 402<BR>发贴 
                  75<BR>性别&nbsp; 男 <BR>注册 2004-9-8<BR>来自 理工学院 电子02912班<BR>状态 离线 
                  </SPAN></TD>
                <TD height="100%">
                  <TABLE style="TABLE-LAYOUT: fixed; WORD-WRAP: break-word" 
                  height="100%" cellSpacing=0 cellPadding=0 width="100%" 
                  border=0>
                    <TBODY>
                    <TR>
                      <TD vAlign=top><SPAN class=bold><SPAN 
                        class=smalltxt></SPAN></SPAN>红外线遥控器解码程序<BR><BR>这里我们以红外线遥控编码芯片为uPD6121G(或者是 
                        HT622、7461等芯片)为例来说明用单片机实现红外遥控解码的详细过程,站长琢磨这个解码程序花了相当多的精力,期间几经修改逐步完善,后来还用它开发了几个小产品,希望能对网友学习单片机有所帮助。 
                        <BR> <BR><BR>红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。<BR><BR>1 
                        红外遥控系统<BR><BR>通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。<BR><BR><IMG 
                        onmouseover="if(this.alt) this.style.cursor='hand';" 
                        onclick="if(this.alt) window.open('http://www.xie-gang.com/21a.gif');" 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/21a.gif" 
                        onload="if(this.width>screen.width-333) {this.width=screen.width-333;this.alt='Click Here to Open New Window';}" 
                        border=0><BR>2 
                        遥控发射器及其编码<BR><BR>遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:<BR><BR>采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。<BR><BR><IMG 
                        onmouseover="if(this.alt) this.style.cursor='hand';" 
                        onclick="if(this.alt) window.open('http://www.xie-gang.com/21b.gif');" 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/21b.gif" 
                        onload="if(this.width>screen.width-333) {this.width=screen.width-333;this.alt='Click Here to Open New Window';}" 
                        border=0><BR>上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。<BR><BR><IMG 
                        onmouseover="if(this.alt) this.style.cursor='hand';" 
                        onclick="if(this.alt) window.open('http://www.xie-gang.com/21c.gif');" 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/21c.gif" 
                        onload="if(this.width>screen.width-333) {this.width=screen.width-333;this.alt='Click Here to Open New Window';}" 
                        border=0><BR>UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。<BR><BR>遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。<BR><BR>当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。<BR><BR>代码格式(以接收代码为准,接收代码与发射代码反向)<BR>①位定义 
                        <BR><BR><IMG 
                        onmouseover="if(this.alt) this.style.cursor='hand';" 
                        onclick="if(this.alt) window.open('http://www.xie-gang.com/hw/Image4.gif');" 
                        src="红外线遥控器解码程序 汇编语言 经典说明.files/Image4.gif" 
                        onload="if(this.width>screen.width-333) {this.width=screen.width-333;this.alt='Click Here to Open New Window';}" 
                        border=0> <BR><IMG 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -