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

📄 3510lcd.lst

📁 在ADuC7027上使用NOKIA3510彩色液晶显示器(3510LCD)
💻 LST
📖 第 1 页 / 共 4 页
字号:
  205:  SetLcdCs();
 00000150  4800      LDR         R1,=0x40000
 00000152  4800      LDR         R0,=0xFFFFF444
 00000154  6001      STR         R1,[R0,#0x0]
  207:  LcdSendCommand(0x29);      //display ON
 00000156  2029      MOV         R0,#0x29
 00000158  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 0000015A  FF52      BL          LcdSendCommand?T  ; T=0x0001  (2)
  208:  SetLcdCs();
 0000015C  4800      LDR         R1,=0x40000
 0000015E  4800      LDR         R0,=0xFFFFF444
 00000160  6001      STR         R1,[R0,#0x0]
  210:  LcdSendCommand(0x03);      //booster voltage ON
 00000162  2003      MOV         R0,#0x3
 00000164  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 00000166  FF4C      BL          LcdSendCommand?T  ; T=0x0001  (2)
  211:  SetLcdCs();
 00000168  4800      LDR         R1,=0x40000
 0000016A  4800      LDR         R0,=0xFFFFF444
 0000016C  6001      STR         R1,[R0,#0x0]
  212:  DelayXms(5);
 0000016E  2005      MOV         R0,#0x5
 00000170  F7FF      BL          DelayXms?T  ; T=0x0001  (1)
 00000172  FF46      BL          DelayXms?T  ; T=0x0001  (2)
  214:  LcdSendCommand(0x20);      //display inversion OFF
 00000174  2020      MOV         R0,#0x20
 00000176  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 00000178  FF43      BL          LcdSendCommand?T  ; T=0x0001  (2)
  215:  SetLcdCs();
 0000017A  4800      LDR         R1,=0x40000
 0000017C  4800      LDR         R0,=0xFFFFF444
 0000017E  6001      STR         R1,[R0,#0x0]
  217:  LcdSendCommand(0x25);      //write contrast
 00000180  2025      MOV         R0,#0x25
ARM COMPILER V2.50a,  3510LCD                                                              03/05/06  03:04:54  PAGE 15  

 00000182  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 00000184  FF3D      BL          LcdSendCommand?T  ; T=0x0001  (2)
  218:  LcdSendData(62);
 00000186  203E      MOV         R0,#0x3E
 00000188  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 0000018A  FF3A      BL          LcdSendData?T  ; T=0x0001  (2)
  219:  SetLcdCs();
 0000018C  4800      LDR         R1,=0x40000
 0000018E  4800      LDR         R0,=0xFFFFF444
 00000190  6001      STR         R1,[R0,#0x0]
 00000192            ; SCOPE-END
  220: }
 00000192  BC10      POP         {R4}
 00000194  BC08      POP         {R3}
 00000196  4718      BX          R3
 00000198          ENDP ; 'LcdInit?T'


*** CODE SEGMENT '?PR?LcdClr?T?3510LCD':
  222: void LcdClr(void)
 00000000  B530      PUSH        {R4-R5,LR}
  223: {
 00000002            ; SCOPE-START
  225:  LcdSendCommand(0x2a);      //column address set
 00000002  202A      MOV         R0,#0x2A
 00000004  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 00000006  FFFC      BL          LcdSendCommand?T  ; T=0x0001  (2)
  226:  LcdSendData(0);
 00000008  2000      MOV         R0,#0x0
 0000000A  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 0000000C  FFF9      BL          LcdSendData?T  ; T=0x0001  (2)
  227:  LcdSendData(97);
 0000000E  2061      MOV         R0,#0x61
 00000010  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 00000012  FFF6      BL          LcdSendData?T  ; T=0x0001  (2)
  228:  SetLcdCs();
 00000014  4800      LDR         R1,=0x40000
 00000016  4800      LDR         R0,=0xFFFFF444
 00000018  6001      STR         R1,[R0,#0x0]
  230:  LcdSendCommand(0x2b);      //page address set 
 0000001A  202B      MOV         R0,#0x2B
 0000001C  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 0000001E  FFF0      BL          LcdSendCommand?T  ; T=0x0001  (2)
  231:  LcdSendData(0);
 00000020  2000      MOV         R0,#0x0
 00000022  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 00000024  FFED      BL          LcdSendData?T  ; T=0x0001  (2)
  232:  LcdSendData(66);
 00000026  2042      MOV         R0,#0x42
 00000028  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 0000002A  FFEA      BL          LcdSendData?T  ; T=0x0001  (2)
  233:  SetLcdCs();
 0000002C  4800      LDR         R1,=0x40000
 0000002E  4800      LDR         R0,=0xFFFFF444
 00000030  6001      STR         R1,[R0,#0x0]
  235:  LcdSendCommand(0x2c);      //memory write
 00000032  202C      MOV         R0,#0x2C
 00000034  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 00000036  FFE4      BL          LcdSendCommand?T  ; T=0x0001  (2)
  236:  for(y=0;y<67;y++)
 00000038  2400      MOV         R4,#0x0
 0000003A  ---- Variable 'y' assigned to Register 'R4' ----
 0000003A  E015      B           L_29  ; T=0x00000068
  238:    for(x=0;x<98;x+=2)
 0000003C          L_36:
 0000003C  2500      MOV         R5,#0x0
 0000003E  ---- Variable 'x' assigned to Register 'R5' ----
 0000003E  E00B      B           L_34  ; T=0x00000058
ARM COMPILER V2.50a,  3510LCD                                                              03/05/06  03:04:54  PAGE 16  

 00000040          L_35:
  240:      LcdSendData(0);
 00000040  2000      MOV         R0,#0x0
 00000042  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 00000044  FFDD      BL          LcdSendData?T  ; T=0x0001  (2)
  241:      LcdSendData(0);
 00000046  2000      MOV         R0,#0x0
 00000048  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 0000004A  FFDA      BL          LcdSendData?T  ; T=0x0001  (2)
  242:      LcdSendData(0);
 0000004C  2000      MOV         R0,#0x0
 0000004E  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 00000050  FFD7      BL          LcdSendData?T  ; T=0x0001  (2)
  243:     }
 00000052  3502      ADD         R5,#0x2
 00000054  062D      LSL         R5,R5,#0x18
 00000056  0E2D      LSR         R5,R5,#0x18
 00000058          L_34:
 00000058  1C28      MOV         R0,R5 ; x
 0000005A  0600      LSL         R0,R0,#0x18 ; x
 0000005C  0E00      LSR         R0,R0,#0x18
 0000005E  2862      CMP         R0,#0x62
 00000060  DBEE      BLT         L_35  ; T=0x00000040
  244:   }
 00000062  3401      ADD         R4,#0x1
 00000064  0624      LSL         R4,R4,#0x18
 00000066  0E24      LSR         R4,R4,#0x18
 00000068          L_29:
 00000068  1C20      MOV         R0,R4 ; y
 0000006A  0600      LSL         R0,R0,#0x18 ; y
 0000006C  0E00      LSR         R0,R0,#0x18
 0000006E  2843      CMP         R0,#0x43
 00000070  DBE4      BLT         L_36  ; T=0x0000003C
  245:  SetLcdCs();
 00000072  4800      LDR         R1,=0x40000
 00000074  4800      LDR         R0,=0xFFFFF444
 00000076  6001      STR         R1,[R0,#0x0]
 00000078            ; SCOPE-END
  246: }
 00000078  BC30      POP         {R4-R5}
 0000007A  BC08      POP         {R3}
 0000007C  4718      BX          R3
 0000007E          ENDP ; 'LcdClr?T'


*** CODE SEGMENT '?PR?LcdBlockWrite?T?3510LCD':
  251: void LcdBlockWrite(uint8 x1, uint8 y1, uint8 x2, uint8 y2, uint8 *b)
 00000000  B5F0      PUSH        {R4-R7,LR}
 00000002  1C1E      MOV         R6,R3 ; y2
 00000004  ---- Variable 'y2' assigned to Register 'R6' ----
 00000004  1C15      MOV         R5,R2 ; x2
 00000006  ---- Variable 'x2' assigned to Register 'R5' ----
 00000006  1C0F      MOV         R7,R1 ; y1
 00000008  ---- Variable 'y1' assigned to Register 'R7' ----
 00000008  1C04      MOV         R4,R0 ; x1
 0000000A  ---- Variable 'x1' assigned to Register 'R4' ----
 0000000A  B081      SUB         R13,#0x4
  252: {
 0000000C            ; SCOPE-START
  254:  LcdSendCommand(0x2a);      //column address set
 0000000C  202A      MOV         R0,#0x2A
 0000000E  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 00000010  FFF7      BL          LcdSendCommand?T  ; T=0x0001  (2)
  255:  LcdSendData(x1);
 00000012  1C20      MOV         R0,R4 ; x1
 00000014  0600      LSL         R0,R0,#0x18 ; x1
 00000016  0E00      LSR         R0,R0,#0x18
 00000018  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
ARM COMPILER V2.50a,  3510LCD                                                              03/05/06  03:04:54  PAGE 17  

 0000001A  FFF2      BL          LcdSendData?T  ; T=0x0001  (2)
  256:  LcdSendData(x2);
 0000001C  1C28      MOV         R0,R5 ; x2
 0000001E  0600      LSL         R0,R0,#0x18 ; x2
 00000020  0E00      LSR         R0,R0,#0x18
 00000022  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 00000024  FFED      BL          LcdSendData?T  ; T=0x0001  (2)
  257:  SetLcdCs();
 00000026  4800      LDR         R1,=0x40000
 00000028  4800      LDR         R0,=0xFFFFF444
 0000002A  6001      STR         R1,[R0,#0x0]
  259:  LcdSendCommand(0x2b);      //page address set
 0000002C  202B      MOV         R0,#0x2B
 0000002E  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 00000030  FFE7      BL          LcdSendCommand?T  ; T=0x0001  (2)
  260:  LcdSendData(y1);
 00000032  1C38      MOV         R0,R7 ; y1
 00000034  0600      LSL         R0,R0,#0x18 ; y1
 00000036  0E00      LSR         R0,R0,#0x18
 00000038  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 0000003A  FFE2      BL          LcdSendData?T  ; T=0x0001  (2)
  261:  LcdSendData(y2);
 0000003C  1C30      MOV         R0,R6 ; y2
 0000003E  0600      LSL         R0,R0,#0x18 ; y2
 00000040  0E00      LSR         R0,R0,#0x18
 00000042  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 00000044  FFDD      BL          LcdSendData?T  ; T=0x0001  (2)
  262:  SetLcdCs();
 00000046  4800      LDR         R1,=0x40000
 00000048  4800      LDR         R0,=0xFFFFF444
 0000004A  6001      STR         R1,[R0,#0x0]
  264:  LcdSendCommand(0x2c);      //memory write
 0000004C  202C      MOV         R0,#0x2C
 0000004E  F7FF      BL          LcdSendCommand?T  ; T=0x0001  (1)
 00000050  FFD7      BL          LcdSendCommand?T  ; T=0x0001  (2)
  265:  for(y=y1;y<=y2;y++)
 00000052  1C38      MOV         R0,R7 ; y1
 00000054  0600      LSL         R0,R0,#0x18 ; y1
 00000056  0E00      LSR         R0,R0,#0x18
 00000058  9000      STR         R0,[R13,#0x0] ; y
 0000005A  E022      B           L_39  ; T=0x000000A2
  267:    for(x=x1;x<=x2;x+=2)
 0000005C          L_46:
 0000005C  1C20      MOV         R0,R4 ; x1
 0000005E  0607      LSL         R7,R0,#0x18 ; x1
 00000060  0E3F      LSR         R7,R7,#0x18
 00000062  ---- Variable 'x' assigned to Register 'R7' ----
 00000062  E015      B           L_44  ; T=0x00000090
 00000064          L_45:
  269:      LcdSendData(*(b++));
 00000064  9801      LDR         R0,[R13,#0x4] ; b
 00000066  1C01      MOV         R1,R0
 00000068  3101      ADD         R1,#0x1
 0000006A  9101      STR         R1,[R13,#0x4] ; b
 0000006C  7800      LDRB        R0,[R0,#0x0]
 0000006E  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 00000070  FFC7      BL          LcdSendData?T  ; T=0x0001  (2)
  270:      LcdSendData(*(b++));
 00000072  9801      LDR         R0,[R13,#0x4] ; b
 00000074  1C01      MOV         R1,R0
 00000076  3101      ADD         R1,#0x1
 00000078  9101      STR         R1,[R13,#0x4] ; b
 0000007A  7800      LDRB        R0,[R0,#0x0]
 0000007C  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 0000007E  FFC0      BL          LcdSendData?T  ; T=0x0001  (2)
  271:      LcdSendData(*(b++));
ARM COMPILER V2.50a,  3510LCD                                                              03/05/06  03:04:54  PAGE 18  

 00000080  9801      LDR         R0,[R13,#0x4] ; b
 00000082  1C01      MOV         R1,R0
 00000084  3101      ADD         R1,#0x1
 00000086  9101      STR         R1,[R13,#0x4] ; b
 00000088  7800      LDRB        R0,[R0,#0x0]
 0000008A  F7FF      BL          LcdSendData?T  ; T=0x0001  (1)
 0000008C  FFB9      BL          LcdSendData?T  ; T=0x0001  (2)
  272:     }
 0000008E  3702      ADD         R7,#0x2
 00000090          L_44:
 00000090  1C28      MOV         R0,R5 ; x2
 00000092  0601      LSL         R1,R0,#0x18 ; x2
 00000094  0E09      LSR         R1,R1,#0x18
 00000096  1C38      MOV         R0,R7 ; x
 00000098  4288      CMP         R0,R1 ; x
 0000009A  D9E3      BLS         L_45  ; T=0x00000064
  273:   }
 0000009C  9800      LDR         R0,[R13,#0x0] ; y
 0000009E  3001      ADD         R0,#0x1
 000000A0  9000      STR         R0,[R13,#0x0] ; y
 000000A2          L_39:
 000000A2  1C30      MOV         R0,R6 ; y2
 000000A4  0601      LSL         R1,R0,#0x18 ; y2
 000000A6  0E09      LSR         R1,R1,#0x18
 000000A8  9800      LDR         R0,[R13,#0x0] ; y
 000000AA  4288      CMP         R0,R1
 000000AC  D9D6      BLS         L_46  ; T=0x0000005C
  274:  SetLcdCs();
 000000AE  4800      LDR         R1,=0x40000
 000000B0  4800      LDR         R0,=0xFFFFF444
 000000B2  6001      STR         R1,[R0,#0x0]
 000000B4            ; SCOPE-END
  275: }
 000000B4  B001      ADD         R13,#0x4
 000000B6  BCF0      POP         {R4-R7}
 000000B8  BC08      POP         {R3}
 000000BA  4718      BX          R3
 000000BC          ENDP ; 'LcdBlockWrite?T'



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 + -