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

📄 main.lst

📁 一个基于ARM单片机的红外解码的程序,红外时序通过串口发出,是红外解码的一个辅助助手,非常好用.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 0000003C          L_7:
 0000003C  7802      LDRB        R2,[R0,#0x0]
 0000003E  700A      STRB        R2,[R1,#0x0]
 00000040  1C40      ADD         R0,R0,#0x1
 00000042  1C49      ADD         R1,R1,#0x1
 00000044  1E5B      SUB         R3,R3,#0x1
 00000046  D1F9      BNE         L_7  ; T=0x0000003C
 00000048  4800      LDR         R0,=0x1C200
 0000004A  F7FF      BL          UART0_Init?T  ; T=0x0001  (1)
 0000004C  FFD9      BL          UART0_Init?T  ; T=0x0001  (2)
 0000004E  B001      ADD         R13,#0x4
   35:     U0FCR = 0x01;   //接收器触发点为1个字符
 00000050  2101      MOV         R1,#0x1
 00000052  4800      LDR         R0,=0xE000C008
 00000054  7001      STRB        R1,[R0,#0x0]
   37:     U0IER = 0x01;   //接收中断开,发送中断关
 00000056  4800      LDR         R0,=0xE000C004
 00000058  7001      STRB        R1,[R0,#0x0]
   40:     VICVectCntl0 = 0x20|0x06;
 0000005A  2126      MOV         R1,#0x26
 0000005C  4800      LDR         R0,=0xFFFFF200
 0000005E  6001      STR         R1,[R0,#0x0]
   41:     VICVectAddr0 = (uint32)IRQ_UART0;
 00000060  4900      LDR         R1,=IRQ_UART0?A ; IRQ_UART0?A
 00000062  4800      LDR         R0,=0xFFFFF100
 00000064  6001      STR         R1,[R0,#0x0]
   42:     VICIntEnable = 1<<0x06;
 00000066  2140      MOV         R1,#0x40
 00000068  4800      LDR         R0,=0xFFFFF010
 0000006A  6001      STR         R1,[R0,#0x0]
   46:     VICVectCntl5   = 0x20 | 16;         // 分配外部中断0到向量中断0
 0000006C  2130      MOV         R1,#0x30
 0000006E  4800      LDR         R0,=0xFFFFF214
 00000070  6001      STR         R1,[R0,#0x0]
   47:     VICVectAddr5   = (uint32)IRQ_Eint2; // 设置中断服务程序地址
 00000072  4900      LDR         R1,=IRQ_Eint2?A ; IRQ_Eint2?A
 00000074  4800      LDR         R0,=0xFFFFF114
 00000076  6001      STR         R1,[R0,#0x0]
   48:     VICIntEnable   = 1 << 16;           // 使能EINT2中断
 00000078  4800      LDR         R1,=0x10000
 0000007A  4800      LDR         R0,=0xFFFFF010
 0000007C  6001      STR         R1,[R0,#0x0]
   50:     EXTINT         = 0x0f;              // 清除EINT所有中断标志
 0000007E  210F      MOV         R1,#0xF
 00000080  4800      LDR         R0,=0xE01FC140
 00000082  7001      STRB        R1,[R0,#0x0]
   51:     EXTMODE        = 0x04;              // EINT2为下降沿中断
 00000084  2104      MOV         R1,#0x4
 00000086  4800      LDR         R0,=0xE01FC148
 00000088  7001      STRB        R1,[R0,#0x0]
   55:     T1PR  = 0;
 0000008A  2100      MOV         R1,#0x0
 0000008C  4800      LDR         R0,=0xE000800C
 0000008E  6001      STR         R1,[R0,#0x0]
   56:     T1MCR = 0x00;                       //禁止定时器1所有相关中断
 00000090  4800      LDR         R0,=0xE0008014
 00000092  6001      STR         R1,[R0,#0x0]
   58:     T1PR = Fpclk/100000;                //预分频寄存器定时时间为0.01ms
 00000094  226E      MOV         R2,#0x6E
 00000096  4800      LDR         R0,=0xE000800C
 00000098  6002      STR         R2,[R0,#0x0]
   59:     T1TCR = 0x00;                       //定时器计数器禁止计数
 0000009A  4800      LDR         R0,=0xE0008004
 0000009C  6001      STR         R1,[R0,#0x0]
   66:     VICIntSelect   = 0x00000000;        // 设置所有中断分配为IRQ中断
 0000009E  4800      LDR         R0,=0xFFFFF00C
ARM COMPILER V2.50a,  main                                                                 16/06/07  08:25:44  PAGE 5   

 000000A0  6001      STR         R1,[R0,#0x0]
   68:     KeyDown=0;
 000000A2  2100      MOV         R1,#0x0
 000000A4  4800      LDR         R0,=KeyDown ; KeyDown
 000000A6  7001      STRB        R1,[R0,#0x0] ; KeyDown
   69:     UART0_SendByte('K');
 000000A8  204B      MOV         R0,#0x4B
 000000AA  F7FF      BL          UART0_SendByte?T  ; T=0x0001  (1)
 000000AC  FFA9      BL          UART0_SendByte?T  ; T=0x0001  (2)
   70:     while(1)
 000000AE          L_3:
   72:         if(KeyDown == 1)
 000000AE  4800      LDR         R0,=KeyDown ; KeyDown
 000000B0  7800      LDRB        R0,[R0,#0x0] ; KeyDown
 000000B2  2801      CMP         R0,#0x1
 000000B4  D1FB      BNE         L_3  ; T=0x000000AE
   74:             Redinfo = Reddata;          //用户码
 000000B6  4800      LDR         R0,=Reddata ; Reddata
 000000B8  6801      LDR         R1,[R0,#0x0] ; Reddata
 000000BA  0609      LSL         R1,R1,#0x18
 000000BC  0E09      LSR         R1,R1,#0x18
 000000BE  4800      LDR         R0,=Redinfo ; Redinfo
 000000C0  7001      STRB        R1,[R0,#0x0] ; Redinfo
   75:             UART0_SendByte(Redinfo);
 000000C2  4800      LDR         R0,=Redinfo ; Redinfo
 000000C4  7800      LDRB        R0,[R0,#0x0] ; Redinfo
 000000C6  F7FF      BL          UART0_SendByte?T  ; T=0x0001  (1)
 000000C8  FF9B      BL          UART0_SendByte?T  ; T=0x0001  (2)
   76:             Reddata>>=8;                
 000000CA  4800      LDR         R0,=Reddata ; Reddata
 000000CC  6801      LDR         R1,[R0,#0x0] ; Reddata
 000000CE  0A09      LSR         R1,R1,#0x8
 000000D0  4800      LDR         R0,=Reddata ; Reddata
 000000D2  6001      STR         R1,[R0,#0x0] ; Reddata
   77:             Redinfo = Reddata;          //用户反码
 000000D4  4800      LDR         R0,=Reddata ; Reddata
 000000D6  6801      LDR         R1,[R0,#0x0] ; Reddata
 000000D8  0609      LSL         R1,R1,#0x18
 000000DA  0E09      LSR         R1,R1,#0x18
 000000DC  4800      LDR         R0,=Redinfo ; Redinfo
 000000DE  7001      STRB        R1,[R0,#0x0] ; Redinfo
   78:             UART0_SendByte(Redinfo);
 000000E0  4800      LDR         R0,=Redinfo ; Redinfo
 000000E2  7800      LDRB        R0,[R0,#0x0] ; Redinfo
 000000E4  F7FF      BL          UART0_SendByte?T  ; T=0x0001  (1)
 000000E6  FF8C      BL          UART0_SendByte?T  ; T=0x0001  (2)
   79:             Reddata>>=8;                
 000000E8  4800      LDR         R0,=Reddata ; Reddata
 000000EA  6801      LDR         R1,[R0,#0x0] ; Reddata
 000000EC  0A09      LSR         R1,R1,#0x8
 000000EE  4800      LDR         R0,=Reddata ; Reddata
 000000F0  6001      STR         R1,[R0,#0x0] ; Reddata
   80:             Redinfo = Reddata;          //键值数据字节
 000000F2  4800      LDR         R0,=Reddata ; Reddata
 000000F4  6801      LDR         R1,[R0,#0x0] ; Reddata
 000000F6  0609      LSL         R1,R1,#0x18
 000000F8  0E09      LSR         R1,R1,#0x18
 000000FA  4800      LDR         R0,=Redinfo ; Redinfo
 000000FC  7001      STRB        R1,[R0,#0x0] ; Redinfo
   81:             UART0_SendByte(Redinfo);
 000000FE  4800      LDR         R0,=Redinfo ; Redinfo
 00000100  7800      LDRB        R0,[R0,#0x0] ; Redinfo
 00000102  F7FF      BL          UART0_SendByte?T  ; T=0x0001  (1)
 00000104  FF7D      BL          UART0_SendByte?T  ; T=0x0001  (2)
   82:             Reddata>>=8;                
 00000106  4800      LDR         R0,=Reddata ; Reddata
ARM COMPILER V2.50a,  main                                                                 16/06/07  08:25:44  PAGE 6   

 00000108  6801      LDR         R1,[R0,#0x0] ; Reddata
 0000010A  0A09      LSR         R1,R1,#0x8
 0000010C  4800      LDR         R0,=Reddata ; Reddata
 0000010E  6001      STR         R1,[R0,#0x0] ; Reddata
   83:             Redinfo = Reddata;          //键值数据反字节
 00000110  4800      LDR         R0,=Reddata ; Reddata
 00000112  6801      LDR         R1,[R0,#0x0] ; Reddata
 00000114  0609      LSL         R1,R1,#0x18
 00000116  0E09      LSR         R1,R1,#0x18
 00000118  4800      LDR         R0,=Redinfo ; Redinfo
 0000011A  7001      STRB        R1,[R0,#0x0] ; Redinfo
   84:             UART0_SendByte(Redinfo);
 0000011C  4800      LDR         R0,=Redinfo ; Redinfo
 0000011E  7800      LDRB        R0,[R0,#0x0] ; Redinfo
 00000120  F7FF      BL          UART0_SendByte?T  ; T=0x0001  (1)
 00000122  FF6E      BL          UART0_SendByte?T  ; T=0x0001  (2)
   85:             KeyDown=0;
 00000124  2100      MOV         R1,#0x0
 00000126  4800      LDR         R0,=KeyDown ; KeyDown
 00000128  7001      STRB        R1,[R0,#0x0] ; KeyDown
   87:     }
 0000012A  E7C0      B           L_3  ; T=0x000000AE
 0000012C            ; SCOPE-END
 0000012C  B001      ADD         R13,#0x4
 0000012E  BC08      POP         {R3}
 00000130  4718      BX          R3
 00000132          ENDP ; 'main'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =         6
  const size           =    ------
End of Module Information.


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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