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

📄 lcd_demo.lst

📁 KIT RTC按键设置闹钟程序!
💻 LST
📖 第 1 页 / 共 5 页
字号:
 00000026  2001      MOV         R0,#0x1
 00000028  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000002A  FFEA      BL          delay?T  ; T=0x0001  (2)
  157:     Io_Clr(E2); //E2_0;
 0000002C  201E      MOV         R0,#0x1E
 0000002E  F7FF      BL          Io_Clr?T  ; T=0x0001  (1)
 00000030  FFE7      BL          Io_Clr?T  ; T=0x0001  (2)
  159: }
 00000032  BC08      POP         {R3}
 00000034  4718      BX          R3
 00000036          ENDP ; 'OUTSD?T'

ARM COMPILER V2.53,  Lcd_Demo                                                              02/08/06  16:25:34  PAGE 20  


*** CODE SEGMENT '?PR?OUTSI?T?Lcd_Demo':
  162: void    OUTSI(unsigned char i)
 00000000  B500      PUSH        {LR}
 00000002  1C03      MOV         R3,R0 ; i
 00000004  ---- Variable 'i' assigned to Register 'R3' ----
  164:     Io_Clr(A0); //A0_0; //写指令
 00000004  2015      MOV         R0,#0x15
 00000006  F7FF      BL          Io_Clr?T  ; T=0x0001  (1)
 00000008  FFFB      BL          Io_Clr?T  ; T=0x0001  (2)
  165:     delay(1);
 0000000A  2001      MOV         R0,#0x1
 0000000C  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000000E  FFF8      BL          delay?T  ; T=0x0001  (2)
  166:     Io_Set(E2); //E2_1;
 00000010  201E      MOV         R0,#0x1E
 00000012  F7FF      BL          Io_Set?T  ; T=0x0001  (1)
 00000014  FFF5      BL          Io_Set?T  ; T=0x0001  (2)
  167:     delay(1);
 00000016  2001      MOV         R0,#0x1
 00000018  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000001A  FFF2      BL          delay?T  ; T=0x0001  (2)
  168:     OUT_DATA(i);    //DATA=i;
 0000001C  1C18      MOV         R0,R3 ; i
 0000001E  0600      LSL         R0,R0,#0x18 ; i
 00000020  0E00      LSR         R0,R0,#0x18
 00000022  F7FF      BL          OUT_DATA?T  ; T=0x0001  (1)
 00000024  FFED      BL          OUT_DATA?T  ; T=0x0001  (2)
  169:     delay(1);
 00000026  2001      MOV         R0,#0x1
 00000028  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000002A  FFEA      BL          delay?T  ; T=0x0001  (2)
  170:     Io_Clr(E2); //E2_0;
 0000002C  201E      MOV         R0,#0x1E
 0000002E  F7FF      BL          Io_Clr?T  ; T=0x0001  (1)
 00000030  FFE7      BL          Io_Clr?T  ; T=0x0001  (2)
  172: }
 00000032  BC08      POP         {R3}
 00000034  4718      BX          R3
 00000036          ENDP ; 'OUTSI?T'


*** CODE SEGMENT '?PR?lcdini?T?Lcd_Demo':
  178: void    lcdini(void)
 00000000  B500      PUSH        {LR}
  180:     Io_Clr(RW);     //RW_0;
 00000002  2016      MOV         R0,#0x16
 00000004  F7FF      BL          Io_Clr?T  ; T=0x0001  (1)
 00000006  FFFC      BL          Io_Clr?T  ; T=0x0001  (2)
  181:     OUTMI(0XE2);
 00000008  20E2      MOV         R0,#0xE2
 0000000A  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 0000000C  FFF9      BL          OUTMI?T  ; T=0x0001  (2)
  182:     delay(1);
 0000000E  2001      MOV         R0,#0x1
 00000010  F7FF      BL          delay?T  ; T=0x0001  (1)
 00000012  FFF6      BL          delay?T  ; T=0x0001  (2)
  183:     OUTSI(0XE2);//复位
 00000014  20E2      MOV         R0,#0xE2
 00000016  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 00000018  FFF3      BL          OUTSI?T  ; T=0x0001  (2)
  184:     delay(1);
 0000001A  2001      MOV         R0,#0x1
 0000001C  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000001E  FFF0      BL          delay?T  ; T=0x0001  (2)
  185:     OUTMI(0XAE);
 00000020  20AE      MOV         R0,#0xAE
 00000022  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 00000024  FFED      BL          OUTMI?T  ; T=0x0001  (2)
ARM COMPILER V2.53,  Lcd_Demo                                                              02/08/06  16:25:34  PAGE 21  

  186:     delay(1);
 00000026  2001      MOV         R0,#0x1
 00000028  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000002A  FFEA      BL          delay?T  ; T=0x0001  (2)
  187:     OUTSI(0XAE);//POWER SAVE
 0000002C  20AE      MOV         R0,#0xAE
 0000002E  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 00000030  FFE7      BL          OUTSI?T  ; T=0x0001  (2)
  188:     delay(1);
 00000032  2001      MOV         R0,#0x1
 00000034  F7FF      BL          delay?T  ; T=0x0001  (1)
 00000036  FFE4      BL          delay?T  ; T=0x0001  (2)
  189:     OUTMI(0XA4);
 00000038  20A4      MOV         R0,#0xA4
 0000003A  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 0000003C  FFE1      BL          OUTMI?T  ; T=0x0001  (2)
  190:     delay(1);
 0000003E  2001      MOV         R0,#0x1
 00000040  F7FF      BL          delay?T  ; T=0x0001  (1)
 00000042  FFDE      BL          delay?T  ; T=0x0001  (2)
  191:     OUTSI(0XA4);//动态驱动
 00000044  20A4      MOV         R0,#0xA4
 00000046  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 00000048  FFDB      BL          OUTSI?T  ; T=0x0001  (2)
  192:     delay(1);
 0000004A  2001      MOV         R0,#0x1
 0000004C  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000004E  FFD8      BL          delay?T  ; T=0x0001  (2)
  193:     OUTMI(0XA9);
 00000050  20A9      MOV         R0,#0xA9
 00000052  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 00000054  FFD5      BL          OUTMI?T  ; T=0x0001  (2)
  194:     delay(1);
 00000056  2001      MOV         R0,#0x1
 00000058  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000005A  FFD2      BL          delay?T  ; T=0x0001  (2)
  195:     OUTSI(0XA9);//1/32占空比
 0000005C  20A9      MOV         R0,#0xA9
 0000005E  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 00000060  FFCF      BL          OUTSI?T  ; T=0x0001  (2)
  196:     delay(1);
 00000062  2001      MOV         R0,#0x1
 00000064  F7FF      BL          delay?T  ; T=0x0001  (1)
 00000066  FFCC      BL          delay?T  ; T=0x0001  (2)
  197:     OUTMI(0XA0);
 00000068  20A0      MOV         R0,#0xA0
 0000006A  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 0000006C  FFC9      BL          OUTMI?T  ; T=0x0001  (2)
  198:     delay(1);
 0000006E  2001      MOV         R0,#0x1
 00000070  F7FF      BL          delay?T  ; T=0x0001  (1)
 00000072  FFC6      BL          delay?T  ; T=0x0001  (2)
  199:     OUTSI(0XA0);//时钟线输出
 00000074  20A0      MOV         R0,#0xA0
 00000076  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 00000078  FFC3      BL          OUTSI?T  ; T=0x0001  (2)
  200:     delay(1);
 0000007A  2001      MOV         R0,#0x1
 0000007C  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000007E  FFC0      BL          delay?T  ; T=0x0001  (2)
  201:     OUTMI(0XEE);
 00000080  20EE      MOV         R0,#0xEE
 00000082  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 00000084  FFBD      BL          OUTMI?T  ; T=0x0001  (2)
  202:     delay(1);
 00000086  2001      MOV         R0,#0x1
ARM COMPILER V2.53,  Lcd_Demo                                                              02/08/06  16:25:34  PAGE 22  

 00000088  F7FF      BL          delay?T  ; T=0x0001  (1)
 0000008A  FFBA      BL          delay?T  ; T=0x0001  (2)
  203:     OUTSI(0XEE);//写模式
 0000008C  20EE      MOV         R0,#0xEE
 0000008E  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 00000090  FFB7      BL          OUTSI?T  ; T=0x0001  (2)
  204:     delay(1);
 00000092  2001      MOV         R0,#0x1
 00000094  F7FF      BL          delay?T  ; T=0x0001  (1)
 00000096  FFB4      BL          delay?T  ; T=0x0001  (2)
  205:     OUTMI(0X00);
 00000098  2000      MOV         R0,#0x0
 0000009A  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 0000009C  FFB1      BL          OUTMI?T  ; T=0x0001  (2)
  206:     OUTMI(0XC0);
 0000009E  20C0      MOV         R0,#0xC0
 000000A0  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 000000A2  FFAE      BL          OUTMI?T  ; T=0x0001  (2)
  207:     OUTSI(0X00);
 000000A4  2000      MOV         R0,#0x0
 000000A6  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 000000A8  FFAB      BL          OUTSI?T  ; T=0x0001  (2)
  208:     OUTSI(0XC0);
 000000AA  20C0      MOV         R0,#0xC0
 000000AC  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 000000AE  FFA8      BL          OUTSI?T  ; T=0x0001  (2)
  210:     OUTMI(0XAF);
 000000B0  20AF      MOV         R0,#0xAF
 000000B2  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 000000B4  FFA5      BL          OUTMI?T  ; T=0x0001  (2)
  211:     OUTSI(0XAF);
 000000B6  20AF      MOV         R0,#0xAF
 000000B8  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 000000BA  FFA2      BL          OUTSI?T  ; T=0x0001  (2)
  213: }
 000000BC  BC08      POP         {R3}
 000000BE  4718      BX          R3
 000000C0          ENDP ; 'lcdini?T'


*** CODE SEGMENT '?PR?SetPage?T?Lcd_Demo':
  218: void SetPage(uchar page0,uchar page1)
 00000000  B510      PUSH        {R4,LR}
 00000002  ---- Variable 'page1' assigned to Register 'R1' ----
 00000002  1C04      MOV         R4,R0 ; page0
 00000004  ---- Variable 'page0' assigned to Register 'R4' ----
  220: OUTMI(0xB8|page1);OUTSI(0xB8|page0);
 00000004  1C08      MOV         R0,R1 ; page1
 00000006  0600      LSL         R0,R0,#0x18 ; page1
 00000008  0E00      LSR         R0,R0,#0x18
 0000000A  21B8      MOV         R1,#0xB8
 0000000C  4308      ORR         R0,R1
 0000000E  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 00000010  FFF7      BL          OUTMI?T  ; T=0x0001  (2)
 00000012  1C20      MOV         R0,R4 ; page0
 00000014  0600      LSL         R0,R0,#0x18 ; page0
 00000016  0E00      LSR         R0,R0,#0x18
 00000018  21B8      MOV         R1,#0xB8
 0000001A  4308      ORR         R0,R1
 0000001C  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 0000001E  FFF0      BL          OUTSI?T  ; T=0x0001  (2)
  221: }
 00000020  BC10      POP         {R4}
 00000022  BC08      POP         {R3}
 00000024  4718      BX          R3
 00000026          ENDP ; 'SetPage?T'


*** CODE SEGMENT '?PR?SetAddress?T?Lcd_Demo':
  228: void SetAddress(uchar address0,uchar address1)
ARM COMPILER V2.53,  Lcd_Demo                                                              02/08/06  16:25:34  PAGE 23  

 00000000  B510      PUSH        {R4,LR}
 00000002  ---- Variable 'address1' assigned to Register 'R1' ----
 00000002  1C04      MOV         R4,R0 ; address0
 00000004  ---- Variable 'address0' assigned to Register 'R4' ----
  230: OUTMI(address1);OUTSI(address0);
 00000004  1C08      MOV         R0,R1 ; address1
 00000006  0600      LSL         R0,R0,#0x18 ; address1
 00000008  0E00      LSR         R0,R0,#0x18
 0000000A  F7FF      BL          OUTMI?T  ; T=0x0001  (1)
 0000000C  FFF9      BL          OUTMI?T  ; T=0x0001  (2)
 0000000E  1C20      MOV         R0,R4 ; address0
 00000010  0600      LSL         R0,R0,#0x18 ; address0
 00000012  0E00      LSR         R0,R0,#0x18
 00000014  F7FF      BL          OUTSI?T  ; T=0x0001  (1)
 00000016  FFF4      BL          OUTSI?T  ; T=0x0001  (2)
  231: }
 00000018  BC10      POP         {R4}
 0000001A  BC08      POP         {R3}
 0000001C  4718      BX          R3
 0000001E          ENDP ; 'SetAddress?T'


*** CODE SEGMENT '?PR?PutCharR?T?Lcd_Demo':
  240: void PutCharR(uchar ch)
 00000000  B500      PUSH        {LR}
 00000002  1C01      MOV         R1,R0 ; ch
 00000004  ---- Variable 'ch' assigned to Register 'R1' ----
  242: OUTSD(ch);
 00000004  1C08      MOV         R0,R1 ; ch
 00000006  0600      LSL         R0,R0,#0x18 ; ch
 00000008  0E00      LSR         R0,R0,#0x18
 0000000A  F7FF      BL          OUTSD?T  ; T=0x0001  (1)
 0000000C  FFF9      BL          OUTSD?T  ; T=0x0001  (2)
  243: }
 0000000E  BC08      POP         {R3}
 00000010  4718      BX          R3
 00000012          ENDP ; 'PutCharR?T'


*** CODE SEGMENT '?PR?PutCharL?T?Lcd_Demo':
  252: void PutCharL(uchar ch)
 00000000  B500      PUSH        {LR}
 00000002  1C01      MOV         R1,R0 ; ch
 00000004  ---- Variable 'ch' assigned to Register 'R1' ----
  254: OUTMD(ch);
 00000004  1C08      MOV         R0,R1 ; ch
 00000006  0600      LSL         R0,R0,#0x18 ; ch
 00000008  0E00      LSR         R0,R0,#0x18
 0000000A  F7FF      BL          OUTMD?T  ; T=0x0001  (1)
 0000000C  FFF9      BL          OUTMD?T  ; T=0x0001  (2)
  255: } 
 0000000E  BC08      POP         {R3}
 00000010  4718      BX          R3
 00000012          ENDP ; 'PutCharL?T'


*** CODE SEGMENT '?PR?DrawBmp?T?Lcd_Demo':
  266: void DrawBmp(unsigned layer,uchar width,unsigned char const *bmp)
 00000000  B5F0      PUSH        {R4-R7,LR}
 00000002  1C17      MOV         R7,R2 ; bmp
 00000004  ---- Variable 'bmp' assigned to Register 'R7' ----
 00000004  1C0E      MOV         R6,R1 ; width
 00000006  ---- Variable 'width' assigned to Register 'R6' ----
 00000006  1C05      MOV         R5,R0 ; layer
 00000008  ---- Variable 'layer' assigned to Register 'R5' ----
 00000008  B083      SUB         R13,#0xC
  267: {
 0000000A            ; SCOPE-START
  268: uchar x,address,i=0;     //address表示显存的物理地址
 0000000A  2100      MOV         R1,#0x0
 0000000C  1C0C      MOV         R4,R1 ; i
 0000000E  ---- Variable 'i' assigned to Register 'R4' ----
ARM COMPILER V2.53,  Lcd_Demo                                                              02/08/06  16:25:34  PAGE 24  

  270: uchar window=0;  //window表示左右两页
 0000000E  A802      ADD         R0,R13,#0x8
 00000010  7001      STRB        R1,[R0,#0x0] ; window
  274: for (x=width;x>1;x--)
 00000012  1C31      MOV         R1,R6 ; width
 00000014  A800      ADD         R0,R13,#0x0
 00000016  7001      STRB        R1,[R0,#0x0] ; x
 00000018  E0A1      B           L_27  ; T=0x0000015E
 0000001A          L_28:
  276: if (i>60) {window=1;address=i%61;}
 0000001A  1C20      MOV         R0,R4 ; i
 0000001C  0600      LSL         R0,R0,#0x18 ; i
 0000001E  0E00      LSR         R0,R0,#0x18
 00000020  283C      CMP         R0,#0x3C
 00000022  DD0E      BLE         L_30  ; T=0x00000042
 00000024  2101      MOV         R1,#0x1
 00000026  A802      ADD         R0,R13,#0x8
 00000028  7

⌨️ 快捷键说明

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