📄 lcd12232ea.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-40231 Tue Nov 20 21:37:42 2007
Licensed to: ONE
1 processor 16F877A
2 opt pw 79
3 psect __Z40231RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text4,local,class=CODE,delta=2
6 psect text6,local,class=CODE,delta=2
7 psect text7,local,class=CODE,delta=2
8 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19
20 psect __Z40231RS_
21 0190
22 0190
23 0000 _delayLCD$time set ?_delayLCD
24
25 psect text0
26 026D _delayLCD
27 ; _s assigned to ?a_delayLCD+0
28 0000 _delayLCD$s set ?a_delayLCD
29 ;LCD12232EA.c: 27: int s;
30 026D 0183 clrf 3 ;select bank 0
31 026E 01CA clrf ?a_delayLCD
32 026F 01CB clrf ?a_delayLCD+1
33 0270 2A74 goto l5
34 0271 l2
35 0271 0ACA incf ?a_delayLCD
36 0272 1903 btfsc 3,2
37 0273 0ACB incf ?a_delayLCD+1
38 0274 l5
39 0274 0849 movf ?_delayLCD+1,w
40 0275 024B subwf ?a_delayLCD+1,w
41 0276 1D03 btfss 3,2
42 0277 2A7A goto u15
43 0278 0848 movf ?_delayLCD,w
44 0279 024A subwf ?a_delayLCD,w
45 027A u15
46 027A 1803 btfsc 3,0
47 027B 0008 return
48 027C 2A71 goto l2
49 ;LCD12232EA.c: 31: void check_busy(){
50 027D _check_busy
51 ;LCD12232EA.c: 32: RA0=0;RA1=1;
52 027D 0183 clrf 3 ;select bank 0
53 027E 1005 bcf 5,0
54 027F 1485 bsf 5,1
55 ;LCD12232EA.c: 33: do{
56 ;LCD12232EA.c: 34: RA2=0;
57 0280 1105 bcf 5,2
58 0281 L1
59 ;LCD12232EA.c: 35: RA2=1;
60 0281 1505 bsf 5,2
61 ;LCD12232EA.c: 38: RA2=0;
62 0282 1105 bcf 5,2
63 ;LCD12232EA.c: 36: }while(PORTD&0x80);
64 0283 1B88 btfsc 8,7 ;volatile
65 0284 2A81 goto L1
66 ;LCD12232EA.c: 39: TRISD=0;
67 0285 1683 bsf 3,5
68 0286 0188 clrf 8 ;volatile
69 ;LCD12232EA.c: 41: }
70 0287 1283 bcf 3,5
71 0288 0008 return
72 ;LCD12232EA.c: 43: void LCD_Write_Com(unsigned
+ char val)
73 ;LCD12232EA.c: 44: {
74 0289 _LCD_Write_Com
75 ; _val assigned to ?a_LCD_Write_Com+0
76 0000 _LCD_Write_Com$val set ?a_LCD_Write_Com
77 ;_val stored from w
78 0289 0183 clrf 3 ;select bank 0
79 028A 00C7 movwf ?a_LCD_Write_Com
80 ;LCD12232EA.c: 45: check_busy();
81 028B 227D fcall _check_busy
82 ;LCD12232EA.c: 46: RA0=0;RA1=0;
83 028C 1005 bcf 5,0
84 028D 1085 bcf 5,1
85 ;LCD12232EA.c: 47: RA2=1;
86 028E 1505 bsf 5,2
87 ;LCD12232EA.c: 48: PORTD=val;
88 028F 0847 movf ?a_LCD_Write_Com,w
89 0290 0088 movwf 8 ;volatile
90 ;LCD12232EA.c: 49: asm("nop");
91 0291 0000 nop ;#
92 ;LCD12232EA.c: 50: asm("nop");
93 0292 0000 nop ;#
94 ;LCD12232EA.c: 51: RA2=0;
95 0293 1105 bcf 5,2
96 ;LCD12232EA.c: 52: TRISD=0xff;
97 0294 30FF movlw -1
98 0295 1683 bsf 3,5
99 0296 0088 movwf 8 ;volatile
100 ;LCD12232EA.c: 53: delayLCD(10);
101 0297 300A movlw 10
102 0298 1283 bcf 3,5
103 0299 00C8 movwf ?_delayLCD
104 029A 01C9 clrf ?_delayLCD+1
105 029B 2A6D ljmp _delayLCD
106 ;LCD12232EA.c: 57: void LCD_Write_Dat(unsigned
+ char val)
107 ;LCD12232EA.c: 58: {
108 029C _LCD_Write_Dat
109 ; _val assigned to ?a_LCD_Write_Dat+0
110 0000 _LCD_Write_Dat$val set ?a_LCD_Write_Dat
111 ;_val stored from w
112 029C 0183 clrf 3 ;select bank 0
113 029D 00C7 movwf ?a_LCD_Write_Dat
114 ;LCD12232EA.c: 59: check_busy();
115 029E 227D fcall _check_busy
116 ;LCD12232EA.c: 60: RA0=1;RA1=0;
117 029F 1405 bsf 5,0
118 02A0 1085 bcf 5,1
119 ;LCD12232EA.c: 61: RA2=1;
120 02A1 1505 bsf 5,2
121 ;LCD12232EA.c: 62: PORTD=val;
122 02A2 0847 movf ?a_LCD_Write_Dat,w
123 02A3 0088 movwf 8 ;volatile
124 ;LCD12232EA.c: 63: RA2=0;
125 02A4 1105 bcf 5,2
126 ;LCD12232EA.c: 64: TRISD=0xff;
127 02A5 30FF movlw -1
128 02A6 1683 bsf 3,5
129 02A7 0088 movwf 8 ;volatile
130 ;LCD12232EA.c: 65: delayLCD(10);
131 02A8 300A movlw 10
132 02A9 1283 bcf 3,5
133 02AA 00C8 movwf ?_delayLCD
134 02AB 01C9 clrf ?_delayLCD+1
135 02AC 2A6D ljmp _delayLCD
136
137 psect text4
138 ;LCD12232EA.c: 68: void ioint()
139 ;LCD12232EA.c: 69: {
140 023B _ioint
141 ;LCD12232EA.c: 70: PORTA=0;
142 023B 0183 clrf 3 ;select bank 0
143 023C 0185 clrf 5 ;volatile
144 ;LCD12232EA.c: 71: PORTD=0;
145 023D 0188 clrf 8 ;volatile
146 ;LCD12232EA.c: 72: TRISA =0B11100000;
147 023E 30E0 movlw -32
148 023F 1683 bsf 3,5
149 0240 0085 movwf 5 ;volatile
150 ;LCD12232EA.c: 73: TRISD=0x00;
151 0241 0188 clrf 8 ;volatile
152 ;LCD12232EA.c: 74: }
153 0242 1283 bcf 3,5
154 0243 0008 return
155 ;LCD12232EA.c: 76: void Lcdint()
156 ;LCD12232EA.c: 77: {
157 0244 _Lcdint
158 ;LCD12232EA.c: 78: ioint();
159 0244 223B fcall _ioint
160 ;LCD12232EA.c: 82: delay1ms(0X7F);
161 0245 307F movlw 127
162 0246 120A 118A 2635 fcall _delay1ms
163 ;LCD12232EA.c: 83: LCD_Write_Com(0x30);
164 0249 3030 movlw 48
165 024A 120A 118A 2289 fcall _LCD_Write_Com
166 ;LCD12232EA.c: 86: delay3();
167 024D 120A 118A 21C3 fcall _delay3
168 ;LCD12232EA.c: 87: LCD_Write_Com(0x30);
169 0250 3030 movlw 48
170 0251 120A 118A 2289 fcall _LCD_Write_Com
171 ;LCD12232EA.c: 90: delay3();
172 0254 120A 118A 21C3 fcall _delay3
173 ;LCD12232EA.c: 91: LCD_Write_Com(0X0F);
174 0257 300F movlw 15
175 0258 120A 118A 2289 fcall _LCD_Write_Com
176 ;LCD12232EA.c: 94: delay1ms(0x7f);
177 025B 307F movlw 127
178 025C 120A 118A 2635 fcall _delay1ms
179 ;LCD12232EA.c: 95: LCD_Write_Com(0X01);
180 025F 3001 movlw 1
181 0260 120A 118A 2289 fcall _LCD_Write_Com
182 ;LCD12232EA.c: 97: LCD_Write_Com(0X06);
183 0263 3006 movlw 6
184 0264 120A 118A 2289 fcall _LCD_Write_Com
+ 120A 118A
185 ;LCD12232EA.c: 100: delay1ms(0x7f);
186 0269 307F movlw 127
187 026A 120A 118A 2E35 ljmp _delay1ms
188
189 psect text6
190 02AD _LcdFuc2
191 ; _CLen assigned to ?a_LcdFuc2+0
192 0000 _LcdFuc2$CLen set ?a_LcdFuc2
193 ; _c assigned to ?a_LcdFuc2+1
194 0000 _LcdFuc2$c set ?a_LcdFuc2+1
195 ;_CLen stored from w
196 02AD 0183 clrf 3 ;select bank 0
197 02AE 00C7 movwf ?a_LcdFuc2
198 ;LCD12232EA.c: 106: char c;
199 02AF 3001 movlw 1
200 02B0 120A 118A 2289 fcall _LCD_Write_Com
201 ;LCD12232EA.c: 108: delay1ms(0x7f);
202 02B3 307F movlw 127
203 02B4 120A 118A 2635 fcall _delay1ms
+ 120A 118A
204 ;LCD12232EA.c: 109: if(CLen<15)
205 02B9 300F movlw 15
206 02BA 0247 subwf ?a_LcdFuc2,w
207 02BB 1803 btfsc 3,0
208 02BC 2ADD goto l15
209 ;LCD12232EA.c: 110: {
210 02BD 3080 movlw -128
211 02BE 120A 118A 2289 fcall _LCD_Write_Com
+ 120A 118A
212 ;LCD12232EA.c: 112: asm("nop");
213 02C3 0000 nop ;#
214 ;LCD12232EA.c: 113: if (CLen != 0)
215 02C4 08C7 movf ?a_LcdFuc2
216 02C5 1903 btfsc 3,2
217 02C6 0008 return
218 ;LCD12232EA.c: 114: {
219 02C7 01C8 clrf ?a_LcdFuc2+1
220 02C8 l20
221 02C8 0847 movf ?a_LcdFuc2,w
222 02C9 0248 subwf ?a_LcdFuc2+1,w
223 02CA 1803 btfsc 3,0
224 02CB 0008 return
225 ;LCD12232EA.c: 117: {
226 ;LCD12232EA.c: 119: LCD_Write_Dat(*FData++);
227 02CC 0848 movf ?_LcdFuc2+1,w
228 02CD 00D5 movwf code_ptr+1
229 02CE 0847 movf ?_LcdFuc2,w
230 02CF 0AC7 incf ?_LcdFuc2
231 02D0 1903 btfsc 3,2
232 02D1 0AC8 incf ?_LcdFuc2+1
233 02D2 120A 118A 2073 fcall string_table
234 02D5 120A 118A 229C fcall _LCD_Write_Dat
+ 120A 118A
235 ;LCD12232EA.c: 120: asm("nop");
236 02DA 0000 nop ;#
237 ;LCD12232EA.c: 121: }
238 02DB 0AC8 incf ?a_LcdFuc2+1
239 02DC 2AC8 goto l20
240 ;LCD12232EA.c: 122: }
241 ;LCD12232EA.c: 124: else if(CLen>14)
242 02DD l15
243 02DD 300F movlw 15
244 02DE 0247 subwf ?a_LcdFuc2,w
245 02DF 1C03 btfss 3,0
246 02E0 0008 return
247 ;LCD12232EA.c: 125: {
248 02E1 3080 movlw -128
249 02E2 120A 118A 2289 fcall _LCD_Write_Com
250 ;LCD12232EA.c: 127: for (c = 0; c < 14; c++)
251 02E5 01C8 clrf ?a_LcdFuc2+1
252 02E6 l23
253 ;LCD12232EA.c: 128: {
254 ;LCD12232EA.c: 129: LCD_Write_Dat(*FData++);
255 02E6 0848 movf ?_LcdFuc2+1,w
256 02E7 00D5 movwf code_ptr+1
257 02E8 0847 movf ?_LcdFuc2,w
258 02E9 0AC7 incf ?_LcdFuc2
259 02EA 1903 btfsc 3,2
260 02EB 0AC8 incf ?_LcdFuc2+1
261 02EC 120A 118A 2073 fcall string_table
262 02EF 120A 118A 229C fcall _LCD_Write_Dat
+ 120A 118A
263 ;LCD12232EA.c: 130: }
264 02F4 0AC8 incf ?a_LcdFuc2+1
265 02F5 300E movlw 14
266 02F6 0248 subwf ?a_LcdFuc2+1,w
267 02F7 1C03 btfss 3,0
268 02F8 2AE6 goto l23
269 ;LCD12232EA.c: 131: LCD_Write_Com(0X90);
270 02F9 3090 movlw -112
271 02FA 120A 118A 2289 fcall _LCD_Write_Com
+ 120A 118A
272 ;LCD12232EA.c: 132: for (c = 14; c < CLen; c++)
273 02FF 300E movlw 14
274 0300 00C8 movwf ?a_LcdFuc2+1
275 0301 l29
276 0301 0847 movf ?a_LcdFuc2,w
277 0302 0248 subwf ?a_LcdFuc2+1,w
278 0303 1803 btfsc 3,0
279 0304 0008 return
280 ;LCD12232EA.c: 133: {
281 ;LCD12232EA.c: 134: LCD_Write_Dat(*FData++);
282 0305 0848 movf ?_LcdFuc2+1,w
283 0306 00D5 movwf code_ptr+1
284 0307 0847 movf ?_LcdFuc2,w
285 0308 0AC7 incf ?_LcdFuc2
286 0309 1903 btfsc 3,2
287 030A 0AC8 incf ?_LcdFuc2+1
288 030B 120A 118A 2073 fcall string_table
289 030E 120A 118A 229C fcall _LCD_Write_Dat
+ 120A 118A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -