📄 lcd_demo.lst
字号:
00000026 2001 MOV R0,#0x1
00000028 F7FF BL delay?T ; T=0x0001 (1)
0000002A FFEA BL delay?T ; T=0x0001 (2)
130: Io_Clr(E1); //E1_0;
0000002C 2004 MOV R0,#0x4
0000002E F7FF BL Io_Clr?T ; T=0x0001 (1)
00000030 FFE7 BL Io_Clr?T ; T=0x0001 (2)
132: }
00000032 BC08 POP {R3}
00000034 4718 BX R3
ARM COMPILER V2.42, Lcd_Demo 05/01/06 14:35:51 PAGE 15
00000036 ENDP ; 'OUTMI?T'
*** CODE SEGMENT '?PR?OUTSD?T?Lcd_Demo':
135: void OUTSD(unsigned char i)
00000000 B500 PUSH {LR}
00000002 1C03 MOV R3,R0 ; i
00000004 ---- Variable 'i' assigned to Register 'R3' ----
137: Io_Set(A0); //A0_1; //写数据
00000004 2015 MOV R0,#0x15
00000006 F7FF BL Io_Set?T ; T=0x0001 (1)
00000008 FFFB BL Io_Set?T ; T=0x0001 (2)
138: delay(1);
0000000A 2001 MOV R0,#0x1
0000000C F7FF BL delay?T ; T=0x0001 (1)
0000000E FFF8 BL delay?T ; T=0x0001 (2)
139: 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)
140: delay(1);
00000016 2001 MOV R0,#0x1
00000018 F7FF BL delay?T ; T=0x0001 (1)
0000001A FFF2 BL delay?T ; T=0x0001 (2)
141: 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)
142: delay(1);
00000026 2001 MOV R0,#0x1
00000028 F7FF BL delay?T ; T=0x0001 (1)
0000002A FFEA BL delay?T ; T=0x0001 (2)
143: 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)
145: }
00000032 BC08 POP {R3}
00000034 4718 BX R3
00000036 ENDP ; 'OUTSD?T'
*** CODE SEGMENT '?PR?OUTSI?T?Lcd_Demo':
148: void OUTSI(unsigned char i)
00000000 B500 PUSH {LR}
00000002 1C03 MOV R3,R0 ; i
00000004 ---- Variable 'i' assigned to Register 'R3' ----
150: 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)
151: delay(1);
0000000A 2001 MOV R0,#0x1
0000000C F7FF BL delay?T ; T=0x0001 (1)
0000000E FFF8 BL delay?T ; T=0x0001 (2)
152: 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)
153: delay(1);
00000016 2001 MOV R0,#0x1
00000018 F7FF BL delay?T ; T=0x0001 (1)
0000001A FFF2 BL delay?T ; T=0x0001 (2)
154: 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)
ARM COMPILER V2.42, Lcd_Demo 05/01/06 14:35:51 PAGE 16
00000024 FFED BL OUT_DATA?T ; T=0x0001 (2)
155: delay(1);
00000026 2001 MOV R0,#0x1
00000028 F7FF BL delay?T ; T=0x0001 (1)
0000002A FFEA BL delay?T ; T=0x0001 (2)
156: 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)
158: }
00000032 BC08 POP {R3}
00000034 4718 BX R3
00000036 ENDP ; 'OUTSI?T'
*** CODE SEGMENT '?PR?lcdini?T?Lcd_Demo':
164: void lcdini(void)
00000000 B500 PUSH {LR}
166: 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)
167: OUTMI(0XE2);
00000008 20E2 MOV R0,#0xE2
0000000A F7FF BL OUTMI?T ; T=0x0001 (1)
0000000C FFF9 BL OUTMI?T ; T=0x0001 (2)
168: delay(1);
0000000E 2001 MOV R0,#0x1
00000010 F7FF BL delay?T ; T=0x0001 (1)
00000012 FFF6 BL delay?T ; T=0x0001 (2)
169: OUTSI(0XE2);//复位
00000014 20E2 MOV R0,#0xE2
00000016 F7FF BL OUTSI?T ; T=0x0001 (1)
00000018 FFF3 BL OUTSI?T ; T=0x0001 (2)
170: delay(1);
0000001A 2001 MOV R0,#0x1
0000001C F7FF BL delay?T ; T=0x0001 (1)
0000001E FFF0 BL delay?T ; T=0x0001 (2)
171: OUTMI(0XAE);
00000020 20AE MOV R0,#0xAE
00000022 F7FF BL OUTMI?T ; T=0x0001 (1)
00000024 FFED BL OUTMI?T ; T=0x0001 (2)
172: delay(1);
00000026 2001 MOV R0,#0x1
00000028 F7FF BL delay?T ; T=0x0001 (1)
0000002A FFEA BL delay?T ; T=0x0001 (2)
173: 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)
174: delay(1);
00000032 2001 MOV R0,#0x1
00000034 F7FF BL delay?T ; T=0x0001 (1)
00000036 FFE4 BL delay?T ; T=0x0001 (2)
175: OUTMI(0XA4);
00000038 20A4 MOV R0,#0xA4
0000003A F7FF BL OUTMI?T ; T=0x0001 (1)
0000003C FFE1 BL OUTMI?T ; T=0x0001 (2)
176: delay(1);
0000003E 2001 MOV R0,#0x1
00000040 F7FF BL delay?T ; T=0x0001 (1)
00000042 FFDE BL delay?T ; T=0x0001 (2)
177: OUTSI(0XA4);//动态驱动
00000044 20A4 MOV R0,#0xA4
00000046 F7FF BL OUTSI?T ; T=0x0001 (1)
00000048 FFDB BL OUTSI?T ; T=0x0001 (2)
178: delay(1);
0000004A 2001 MOV R0,#0x1
ARM COMPILER V2.42, Lcd_Demo 05/01/06 14:35:51 PAGE 17
0000004C F7FF BL delay?T ; T=0x0001 (1)
0000004E FFD8 BL delay?T ; T=0x0001 (2)
179: OUTMI(0XA9);
00000050 20A9 MOV R0,#0xA9
00000052 F7FF BL OUTMI?T ; T=0x0001 (1)
00000054 FFD5 BL OUTMI?T ; T=0x0001 (2)
180: delay(1);
00000056 2001 MOV R0,#0x1
00000058 F7FF BL delay?T ; T=0x0001 (1)
0000005A FFD2 BL delay?T ; T=0x0001 (2)
181: 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)
182: delay(1);
00000062 2001 MOV R0,#0x1
00000064 F7FF BL delay?T ; T=0x0001 (1)
00000066 FFCC BL delay?T ; T=0x0001 (2)
183: OUTMI(0XA0);
00000068 20A0 MOV R0,#0xA0
0000006A F7FF BL OUTMI?T ; T=0x0001 (1)
0000006C FFC9 BL OUTMI?T ; T=0x0001 (2)
184: delay(1);
0000006E 2001 MOV R0,#0x1
00000070 F7FF BL delay?T ; T=0x0001 (1)
00000072 FFC6 BL delay?T ; T=0x0001 (2)
185: OUTSI(0XA0);//时钟线输出
00000074 20A0 MOV R0,#0xA0
00000076 F7FF BL OUTSI?T ; T=0x0001 (1)
00000078 FFC3 BL OUTSI?T ; T=0x0001 (2)
186: delay(1);
0000007A 2001 MOV R0,#0x1
0000007C F7FF BL delay?T ; T=0x0001 (1)
0000007E FFC0 BL delay?T ; T=0x0001 (2)
187: OUTMI(0XEE);
00000080 20EE MOV R0,#0xEE
00000082 F7FF BL OUTMI?T ; T=0x0001 (1)
00000084 FFBD BL OUTMI?T ; T=0x0001 (2)
188: delay(1);
00000086 2001 MOV R0,#0x1
00000088 F7FF BL delay?T ; T=0x0001 (1)
0000008A FFBA BL delay?T ; T=0x0001 (2)
189: OUTSI(0XEE);//写模式
0000008C 20EE MOV R0,#0xEE
0000008E F7FF BL OUTSI?T ; T=0x0001 (1)
00000090 FFB7 BL OUTSI?T ; T=0x0001 (2)
190: delay(1);
00000092 2001 MOV R0,#0x1
00000094 F7FF BL delay?T ; T=0x0001 (1)
00000096 FFB4 BL delay?T ; T=0x0001 (2)
191: OUTMI(0X00);
00000098 2000 MOV R0,#0x0
0000009A F7FF BL OUTMI?T ; T=0x0001 (1)
0000009C FFB1 BL OUTMI?T ; T=0x0001 (2)
192: OUTMI(0XC0);
0000009E 20C0 MOV R0,#0xC0
000000A0 F7FF BL OUTMI?T ; T=0x0001 (1)
000000A2 FFAE BL OUTMI?T ; T=0x0001 (2)
193: OUTSI(0X00);
000000A4 2000 MOV R0,#0x0
000000A6 F7FF BL OUTSI?T ; T=0x0001 (1)
000000A8 FFAB BL OUTSI?T ; T=0x0001 (2)
194: OUTSI(0XC0);
000000AA 20C0 MOV R0,#0xC0
000000AC F7FF BL OUTSI?T ; T=0x0001 (1)
000000AE FFA8 BL OUTSI?T ; T=0x0001 (2)
ARM COMPILER V2.42, Lcd_Demo 05/01/06 14:35:51 PAGE 18
196: OUTMI(0XAF);
000000B0 20AF MOV R0,#0xAF
000000B2 F7FF BL OUTMI?T ; T=0x0001 (1)
000000B4 FFA5 BL OUTMI?T ; T=0x0001 (2)
197: OUTSI(0XAF);
000000B6 20AF MOV R0,#0xAF
000000B8 F7FF BL OUTSI?T ; T=0x0001 (1)
000000BA FFA2 BL OUTSI?T ; T=0x0001 (2)
199: }
000000BC BC08 POP {R3}
000000BE 4718 BX R3
000000C0 ENDP ; 'lcdini?T'
*** CODE SEGMENT '?PR?SetPage?T?Lcd_Demo':
204: 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' ----
206: 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)
207: }
00000020 BC10 POP {R4}
00000022 BC08 POP {R3}
00000024 4718 BX R3
00000026 ENDP ; 'SetPage?T'
*** CODE SEGMENT '?PR?SetAddress?T?Lcd_Demo':
214: void SetAddress(uchar address0,uchar address1)
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' ----
216: 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)
217: }
00000018 BC10 POP {R4}
0000001A BC08 POP {R3}
0000001C 4718 BX R3
0000001E ENDP ; 'SetAddress?T'
*** CODE SEGMENT '?PR?PutCharR?T?Lcd_Demo':
226: void PutCharR(uchar ch)
00000000 B500 PUSH {LR}
00000002 1C01 MOV R1,R0 ; ch
00000004 ---- Variable 'ch' assigned to Register 'R1' ----
228: OUTSD(ch);
ARM COMPILER V2.42, Lcd_Demo 05/01/06 14:35:51 PAGE 19
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)
229: }
0000000E BC08 POP {R3}
00000010 4718 BX R3
00000012 ENDP ; 'PutCharR?T'
*** CODE SEGMENT '?PR?PutCharL?T?Lcd_Demo':
238: void PutCharL(uchar ch)
00000000 B500 PUSH {LR}
00000002 1C01 MOV R1,R0 ; ch
00000004 ---- Variable 'ch' assigned to Register 'R1' ----
240: 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)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -