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

📄 hongwai.lis

📁 万能遥控器解码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00B4           ;                                                               if(IRCON==4)  IRCON=0;                  
 00B4 8430              cpi R24,4
 00B6 11F4              brne L21
 00B8           X5:
 00B8                   .dbline 56
 00B8 20920100          sts _IRCON,R2
 00BC           L21:
 00BC                   .dbline 57
 00BC           ;                                   }                                         
 00BC           L19:
 00BC                   .dbline -2
 00BC           L16:
 00BC                   .dbline 0 ; func end
 00BC 0895              ret
 00BE                   .dbend
                        .area vector(rom, abs)
                        .org 2
 0002 5FC0              rjmp _int0_isr
                        .area text(rom, con, rel)
 00BE                   .dbfile C:\DOCUME~1\Administrator.27F5F4061F03467\桌面\实验板红外avr解码\hongwai.c
 00BE                   .dbfunc e int0_isr _int0_isr fV
 00BE           ;              i -> R20
                        .even
 00BE           _int0_isr::
 00BE 0A92              st -y,R0
 00C0 1A92              st -y,R1
 00C2 2A92              st -y,R2
 00C4 3A92              st -y,R3
 00C6 4A92              st -y,R4
 00C8 5A92              st -y,R5
 00CA 6A92              st -y,R6
 00CC 7A92              st -y,R7
 00CE 8A92              st -y,R8
 00D0 9A92              st -y,R9
 00D2 0A93              st -y,R16
 00D4 1A93              st -y,R17
 00D6 2A93              st -y,R18
 00D8 3A93              st -y,R19
 00DA 8A93              st -y,R24
 00DC 9A93              st -y,R25
 00DE AA93              st -y,R26
 00E0 BA93              st -y,R27
 00E2 EA93              st -y,R30
 00E4 FA93              st -y,R31
 00E6 0FB6              in R0,0x3f
 00E8 0A92              st -y,R0
 00EA 4A93              st -y,R20
 00EC                   .dbline -1
 00EC                   .dbline 62
 00EC           ;      }
 00EC           ; /*****************************外部中断服务函数*****************************************/
 00EC           ; #pragma interrupt_handler int0_isr:iv_INT0
 00EC           ; void int0_isr(void)
 00EC           ; {
 00EC                   .dbline 64
 00EC           ;   uchar i;
 00EC           ;  GICR = 0x00;    //禁止外部中断
 00EC 2224              clr R2
 00EE 2BBE              out 0x3b,R2
 00F0                   .dbline 65
 00F0           ;  delay_nms(616);   //延时15400us   616
 00F0 08E6              ldi R16,616
 00F2 12E0              ldi R17,2
 00F4 93DF              rcall _delay_nms
 00F6                   .dbline 66
 00F6           ;  for(i=0;i<32;i++)
 00F6 4427              clr R20
 00F8 02C0              rjmp L27
 00FA           L24:
 00FA                   .dbline 67
 00FA           ;   {
 00FA                   .dbline 68
 00FA           ;    panduan();
 00FA AEDF              rcall _panduan
 00FC                   .dbline 69
 00FC           ;   }
 00FC           L25:
 00FC                   .dbline 66
 00FC 4395              inc R20
 00FE           L27:
 00FE                   .dbline 66
 00FE 4032              cpi R20,32
 0100 E0F3              brlo L24
 0102           X6:
 0102                   .dbline 71
 0102           ;  
 0102           ;  uart0_init();
 0102 9ADF              rcall _uart0_init
 0104                   .dbline 72
 0104           ;    for(i=0;i<4;i++)
 0104 4427              clr R20
 0106 0CC0              rjmp L31
 0108           L28:
 0108                   .dbline 73
 0108           ;          {
 0108                   .dbline 74
 0108           ;                delay_nms(5000);
 0108 08E8              ldi R16,5000
 010A 13E1              ldi R17,19
 010C 87DF              rcall _delay_nms
 010E                   .dbline 76
 010E           ;       //       PORTB=IRCode[i];
 010E           ;           sendchar(IRCode[i]);
 010E 80E0              ldi R24,<_IRCode
 0110 90E0              ldi R25,>_IRCode
 0112 E42F              mov R30,R20
 0114 FF27              clr R31
 0116 E80F              add R30,R24
 0118 F91F              adc R31,R25
 011A 0081              ldd R16,z+0
 011C 98DF              rcall _sendchar
 011E                   .dbline 77
 011E           ;         }  
 011E           L29:
 011E                   .dbline 72
 011E 4395              inc R20
 0120           L31:
 0120                   .dbline 72
 0120 4430              cpi R20,4
 0122 90F3              brlo L28
 0124           X7:
 0124                   .dbline 78
 0124           ;       GICR = 0x40;    
 0124 80E4              ldi R24,64
 0126 8BBF              out 0x3b,R24
 0128                   .dbline -2
 0128           L23:
 0128                   .dbline 0 ; func end
 0128 4991              ld R20,y+
 012A 0990              ld R0,y+
 012C 0FBE              out 0x3f,R0
 012E F991              ld R31,y+
 0130 E991              ld R30,y+
 0132 B991              ld R27,y+
 0134 A991              ld R26,y+
 0136 9991              ld R25,y+
 0138 8991              ld R24,y+
 013A 3991              ld R19,y+
 013C 2991              ld R18,y+
 013E 1991              ld R17,y+
 0140 0991              ld R16,y+
 0142 9990              ld R9,y+
 0144 8990              ld R8,y+
 0146 7990              ld R7,y+
 0148 6990              ld R6,y+
 014A 5990              ld R5,y+
 014C 4990              ld R4,y+
 014E 3990              ld R3,y+
 0150 2990              ld R2,y+
 0152 1990              ld R1,y+
 0154 0990              ld R0,y+
 0156 1895              reti
 0158                   .dbsym r i 20 c
 0158                   .dbend
 0158                   .dbfunc e init_devices_int0 _init_devices_int0 fV
                        .even
 0158           _init_devices_int0::
 0158                   .dbline -1
 0158                   .dbline 83
 0158           ; }
 0158           ; 
 0158           ; /*****************外部中断设置***********************************/
 0158           ; void init_devices_int0(void)
 0158           ; {
 0158                   .dbline 84
 0158           ;  CLI(); //disable all interrupts
 0158 F894              cli
 015A                   .dbline 85
 015A           ;  MCUCR = 0x02;    //下降沿触发方式
 015A 82E0              ldi R24,2
 015C 85BF              out 0x35,R24
 015E                   .dbline 86
 015E           ;  EMCUCR = 0x00;
 015E 2224              clr R2
 0160 26BE              out 0x36,R2
 0162                   .dbline 87
 0162           ;  GICR = 0x40;    //外部中断请求 0 使能
 0162 80E4              ldi R24,64
 0164 8BBF              out 0x3b,R24
 0166                   .dbline 88
 0166           ;  SEI(); //re-enable interrupts
 0166 7894              sei
 0168                   .dbline -2
 0168           L32:
 0168                   .dbline 0 ; func end
 0168 0895              ret
 016A                   .dbend
 016A                   .dbfunc e main _main fV
                        .even
 016A           _main::
 016A                   .dbline -1
 016A                   .dbline 92
 016A           ; }                                                                                                               
 016A           ;                                 
 016A           ; void main(void)//主函数 
 016A           ; {
 016A                   .dbline 93
 016A           ;   DDRB=0XFF;
 016A 8FEF              ldi R24,255
 016C 87BB              out 0x17,R24
 016E                   .dbline 94
 016E           ;   PORTB=0XFF;
 016E 88BB              out 0x18,R24
 0170                   .dbline 95
 0170           ;   DDRD&=~BIT(0);
 0170 8898              cbi 0x11,0
 0172                   .dbline 96
 0172           ;   DDRD|=BIT(1);
 0172 899A              sbi 0x11,1
 0174                   .dbline 97
 0174           ;   DDRD&=~BIT(2);//设置PD2为输入口 
 0174 8A98              cbi 0x11,2
 0176                   .dbline 98
 0176           ;   init_devices_int0();   //外部中断初始化并开外部中断   
 0176 F0DF              rcall _init_devices_int0
 0178           L34:
 0178                   .dbline 99
 0178           ;  while(1);
 0178           L35:
 0178                   .dbline 99
 0178 FFCF              rjmp L34
 017A           X8:
 017A                   .dbline -2
 017A           L33:
 017A                   .dbline 0 ; func end
 017A 0895              ret
 017C                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\Administrator.27F5F4061F03467\桌面\实验板红外avr解码\hongwai.c
 0000           _flag::
 0000                   .blkb 1
 0001                   .dbsym e flag _flag c
 0001           _IRCON::
 0001                   .blkb 1
 0002                   .dbsym e IRCON _IRCON c
 0002           _IRCode::
 0002                   .blkb 3
 0005                   .dbsym e IRCode _IRCode A[3:3]c
 0005           ; }

⌨️ 快捷键说明

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