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

📄 main.lst

📁 keil开发平台下的ADUC7027的功能模块代码。
💻 LST
📖 第 1 页 / 共 2 页
字号:
 0000000C  4800      LDR         R0,=0xFFFFF40C
 0000000E  6801      LDR         R1,[R0,#0x0]
 00000010  4391      BIC         R1,R2
 00000012  6001      STR         R1,[R0,#0x0]
 00000014  4800      LDR         R2,=0x1000000
 00000016  4800      LDR         R0,=0xFFFFF450
 00000018  6801      LDR         R1,[R0,#0x0]
 0000001A  4311      ORR         R1,R2
 0000001C  6001      STR         R1,[R0,#0x0]
   60:  EN_LED5();
 0000001E  22F0      MOV         R2,#0xF0
 00000020  4800      LDR         R0,=0xFFFFF40C
 00000022  6801      LDR         R1,[R0,#0x0]
 00000024  4391      BIC         R1,R2
 00000026  6001      STR         R1,[R0,#0x0]
 00000028  4800      LDR         R2,=0x2000000
 0000002A  4800      LDR         R0,=0xFFFFF450
 0000002C  6801      LDR         R1,[R0,#0x0]
 0000002E  4311      ORR         R1,R2
 00000030  6001      STR         R1,[R0,#0x0]
   61:  EN_LED6();
 00000032  4800      LDR         R2,=0xF00
 00000034  4800      LDR         R0,=0xFFFFF40C
 00000036  6801      LDR         R1,[R0,#0x0]
 00000038  4391      BIC         R1,R2
 0000003A  6001      STR         R1,[R0,#0x0]
 0000003C  4800      LDR         R2,=0x4000000
 0000003E  4800      LDR         R0,=0xFFFFF450
 00000040  6801      LDR         R1,[R0,#0x0]
 00000042  4311      ORR         R1,R2
 00000044  6001      STR         R1,[R0,#0x0]
   62:  EN_LED7();
 00000046  4800      LDR         R2,=0xF000
 00000048  4800      LDR         R0,=0xFFFFF40C
 0000004A  6801      LDR         R1,[R0,#0x0]
 0000004C  4391      BIC         R1,R2
 0000004E  6001      STR         R1,[R0,#0x0]
 00000050  4800      LDR         R2,=0x8000000
 00000052  4800      LDR         R0,=0xFFFFF450
 00000054  6801      LDR         R1,[R0,#0x0]
 00000056  4311      ORR         R1,R2
 00000058  6001      STR         R1,[R0,#0x0]
   64:  OFF_LED4();
 0000005A  4800      LDR         R1,=0x10000
 0000005C  4800      LDR         R0,=0xFFFFF454
 0000005E  6001      STR         R1,[R0,#0x0]
   65:  OFF_LED5();
 00000060  4800      LDR         R1,=0x20000
 00000062  4800      LDR         R0,=0xFFFFF454
 00000064  6001      STR         R1,[R0,#0x0]
   66:  OFF_LED6();
 00000066  4800      LDR         R1,=0x40000
 00000068  4800      LDR         R0,=0xFFFFF454
ARM COMPILER V2.50a,  main                                                                 12/04/06  12:37:09  PAGE 5   

 0000006A  6001      STR         R1,[R0,#0x0]
   67:  OFF_LED7();
 0000006C  4800      LDR         R1,=0x80000
 0000006E  4800      LDR         R0,=0xFFFFF454
 00000070  6001      STR         R1,[R0,#0x0]
   71:  while(1)
 00000072          L_11:
   73:    DelayXms(10);      //延迟10mS,即每隔10mS扫描一次键盘。
 00000072  200A      MOV         R0,#0xA
 00000074  F7FF      BL          DelayXms?T  ; T=0x0001  (1)
 00000076  FFC4      BL          DelayXms?T  ; T=0x0001  (2)
   74:    ScanKey();      //也可以将将键盘扫描程序放到10mS的定时中断中,这样主程序就可以安心干活了
 00000078  F7FF      BL          ScanKey?T  ; T=0x0001  (1)
 0000007A  FFC2      BL          ScanKey?T  ; T=0x0001  (2)
   76:    if(Key.Value)      //如果有按键按下
 0000007C  4800      LDR         R0,=Key ; Key
 0000007E  6800      LDR         R0,[R0,#0x0] ; Key
 00000080  2800      CMP         R0,#0x0
 00000082  D0F6      BEQ         L_11  ; T=0x00000072
   78:      switch(Key.Value)
 00000084  2802      CMP         R0,#0x2
 00000086  D018      BEQ         L_16  ; T=0x000000BA
 00000088  2803      CMP         R0,#0x3
 0000008A  D021      BEQ         L_17  ; T=0x000000D0
 0000008C  2804      CMP         R0,#0x4
 0000008E  D02A      BEQ         L_18  ; T=0x000000E6
 00000090  2881      CMP         R0,#0x81
 00000092  D033      BEQ         L_19  ; T=0x000000FC
 00000094  2882      CMP         R0,#0x82
 00000096  D035      BEQ         L_20  ; T=0x00000104
 00000098  2883      CMP         R0,#0x83
 0000009A  D037      BEQ         L_21  ; T=0x0000010C
 0000009C  2884      CMP         R0,#0x84
 0000009E  D039      BEQ         L_22  ; T=0x00000114
 000000A0  2801      CMP         R0,#0x1
 000000A2  D13A      BNE         L_14  ; T=0x0000011A
   81:           case KEY1:           //短按键或者按住键2秒不放的自动按键,则开、关LED
 000000A4          L_15:
   82:                     if(GP3DAT & (1<<(16+LED4)))ON_LED4();
 000000A4  4800      LDR         R0,=0xFFFFF450
 000000A6  6800      LDR         R0,[R0,#0x0]
 000000A8  4800      LDR         R1,=0x10000
 000000AA  4208      TST         R0,R1
 000000AC  D002      BEQ         L_23  ; T=0x000000B4
 000000AE  4800      LDR         R0,=0xFFFFF458
 000000B0  6001      STR         R1,[R0,#0x0]
 000000B2  E032      B           L_14  ; T=0x0000011A
 000000B4          L_23:
   83:                     else OFF_LED4();
 000000B4  4800      LDR         R0,=0xFFFFF454
 000000B6  6001      STR         R1,[R0,#0x0]
   84:                     break;
 000000B8  E02F      B           L_14  ; T=0x0000011A
   85:         case KEY2:  
 000000BA          L_16:
   86:                     if(GP3DAT & (1<<(16+LED5)))ON_LED5();
 000000BA  4800      LDR         R0,=0xFFFFF450
 000000BC  6800      LDR         R0,[R0,#0x0]
 000000BE  4800      LDR         R1,=0x20000
 000000C0  4208      TST         R0,R1
 000000C2  D002      BEQ         L_25  ; T=0x000000CA
 000000C4  4800      LDR         R0,=0xFFFFF458
 000000C6  6001      STR         R1,[R0,#0x0]
 000000C8  E027      B           L_14  ; T=0x0000011A
 000000CA          L_25:
   87:                     else OFF_LED5();
ARM COMPILER V2.50a,  main                                                                 12/04/06  12:37:09  PAGE 6   

 000000CA  4800      LDR         R0,=0xFFFFF454
 000000CC  6001      STR         R1,[R0,#0x0]
   88:                     break;
 000000CE  E024      B           L_14  ; T=0x0000011A
   89:         case KEY3:  
 000000D0          L_17:
   90:                     if(GP3DAT & (1<<(16+LED6)))ON_LED6();
 000000D0  4800      LDR         R0,=0xFFFFF450
 000000D2  6800      LDR         R0,[R0,#0x0]
 000000D4  4800      LDR         R1,=0x40000
 000000D6  4208      TST         R0,R1
 000000D8  D002      BEQ         L_27  ; T=0x000000E0
 000000DA  4800      LDR         R0,=0xFFFFF458
 000000DC  6001      STR         R1,[R0,#0x0]
 000000DE  E01C      B           L_14  ; T=0x0000011A
 000000E0          L_27:
   91:                     else OFF_LED6();
 000000E0  4800      LDR         R0,=0xFFFFF454
 000000E2  6001      STR         R1,[R0,#0x0]
   92:                     break;
 000000E4  E019      B           L_14  ; T=0x0000011A
   93:         case KEY4:  
 000000E6          L_18:
   94:                     if(GP3DAT & (1<<(16+LED7)))ON_LED7();
 000000E6  4800      LDR         R0,=0xFFFFF450
 000000E8  6800      LDR         R0,[R0,#0x0]
 000000EA  4800      LDR         R1,=0x80000
 000000EC  4208      TST         R0,R1
 000000EE  D002      BEQ         L_29  ; T=0x000000F6
 000000F0  4800      LDR         R0,=0xFFFFF458
 000000F2  6001      STR         R1,[R0,#0x0]
 000000F4  E011      B           L_14  ; T=0x0000011A
 000000F6          L_29:
   95:                     else OFF_LED7();
 000000F6  4800      LDR         R0,=0xFFFFF454
 000000F8  6001      STR         R1,[R0,#0x0]
   96:                     break;
 000000FA  E00E      B           L_14  ; T=0x0000011A
   98:         case KEY1L: ON_LED4();break;        //长按键,打开LED
 000000FC          L_19:
 000000FC  4800      LDR         R1,=0x10000
 000000FE  4800      LDR         R0,=0xFFFFF458
 00000100  6001      STR         R1,[R0,#0x0]
 00000102  E00A      B           L_14  ; T=0x0000011A
   99:         case KEY2L: ON_LED5();break;
 00000104          L_20:
 00000104  4800      LDR         R1,=0x20000
 00000106  4800      LDR         R0,=0xFFFFF458
 00000108  6001      STR         R1,[R0,#0x0]
 0000010A  E006      B           L_14  ; T=0x0000011A
  100:         case KEY3L: ON_LED6();break;
 0000010C          L_21:
 0000010C  4800      LDR         R1,=0x40000
 0000010E  4800      LDR         R0,=0xFFFFF458
 00000110  6001      STR         R1,[R0,#0x0]
 00000112  E002      B           L_14  ; T=0x0000011A
  101:         case KEY4L: ON_LED7();break;
 00000114          L_22:
 00000114  4800      LDR         R1,=0x80000
 00000116  4800      LDR         R0,=0xFFFFF458
 00000118  6001      STR         R1,[R0,#0x0]
  102:       }
 0000011A          L_14:
  103:      Key.Value=0;
 0000011A  2100      MOV         R1,#0x0
 0000011C  4800      LDR         R0,=Key ; Key
ARM COMPILER V2.50a,  main                                                                 12/04/06  12:37:09  PAGE 7   

 0000011E  6001      STR         R1,[R0,#0x0] ; Key
  105:   }
 00000120  E7A7      B           L_11  ; T=0x00000072
  106: }
 00000122  BC08      POP         {R3}
 00000124  4718      BX          R3
 00000126          ENDP ; 'main'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =    ------
  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 + -