📄 lcd12232b.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-40231 Tue Nov 20 21:23:47 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 text10,local,class=CODE,delta=2
8 psect text11,local,class=CODE,delta=2
9 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
10 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21
22 psect __Z40231RS_
23 0190
24 0190
25 0000 _delayLCD$time set ?_delayLCD
26
27 psect text0
28 0D20 _delayLCD
29 ; _s assigned to ?a_delayLCD+0
30 0000 _delayLCD$s set ?a_delayLCD
31 ;LCD12232B.C: 26: int s;
32 0D20 0183 clrf 3 ;select bank 0
33 0D21 01D2 clrf ?a_delayLCD
34 0D22 01D3 clrf ?a_delayLCD+1
35 0D23 2D27 goto l5
36 0D24 l2
37 0D24 0AD2 incf ?a_delayLCD
38 0D25 1903 btfsc 3,2
39 0D26 0AD3 incf ?a_delayLCD+1
40 0D27 l5
41 0D27 0851 movf ?_delayLCD+1,w
42 0D28 0253 subwf ?a_delayLCD+1,w
43 0D29 1D03 btfss 3,2
44 0D2A 2D2D goto u15
45 0D2B 0850 movf ?_delayLCD,w
46 0D2C 0252 subwf ?a_delayLCD,w
47 0D2D u15
48 0D2D 1803 btfsc 3,0
49 0D2E 0008 return
50 0D2F 2D24 goto l2
51 ;LCD12232B.C: 30: void check_busy(){
52 0D30 _check_busy
53 ;LCD12232B.C: 31: RA0=0;RA1=1;
54 0D30 0183 clrf 3 ;select bank 0
55 0D31 1005 bcf 5,0
56 0D32 1485 bsf 5,1
57 ;LCD12232B.C: 32: do{
58 ;LCD12232B.C: 33: RA2=0;
59 0D33 1105 bcf 5,2
60 0D34 L1
61 ;LCD12232B.C: 34: RA2=1;
62 0D34 1505 bsf 5,2
63 ;LCD12232B.C: 37: RA2=0;
64 0D35 1105 bcf 5,2
65 ;LCD12232B.C: 35: }while(PORTD&0x80);
66 0D36 1B88 btfsc 8,7 ;volatile
67 0D37 2D34 goto L1
68 ;LCD12232B.C: 38: TRISD=0;
69 0D38 1683 bsf 3,5
70 0D39 0188 clrf 8 ;volatile
71 ;LCD12232B.C: 40: }
72 0D3A 1283 bcf 3,5
73 0D3B 0008 return
74 ;LCD12232B.C: 42: void LCD_Write_Com(unsigned c
+ har val)
75 ;LCD12232B.C: 43: {
76 0D3C _LCD_Write_Com
77 ; _val assigned to ?a_LCD_Write_Com+0
78 0000 _LCD_Write_Com$val set ?a_LCD_Write_Com
79 ;_val stored from w
80 0D3C 0183 clrf 3 ;select bank 0
81 0D3D 00CF movwf ?a_LCD_Write_Com
82 ;LCD12232B.C: 44: check_busy();
83 0D3E 2530 fcall _check_busy
84 ;LCD12232B.C: 45: RA0=0;RA1=0;
85 0D3F 1005 bcf 5,0
86 0D40 1085 bcf 5,1
87 ;LCD12232B.C: 46: RA2=1;
88 0D41 1505 bsf 5,2
89 ;LCD12232B.C: 47: PORTD=val;
90 0D42 084F movf ?a_LCD_Write_Com,w
91 0D43 0088 movwf 8 ;volatile
92 ;LCD12232B.C: 48: asm("nop");
93 0D44 0000 nop ;#
94 ;LCD12232B.C: 49: asm("nop");
95 0D45 0000 nop ;#
96 ;LCD12232B.C: 50: RA2=0;
97 0D46 1105 bcf 5,2
98 ;LCD12232B.C: 51: TRISD=0xff;
99 0D47 30FF movlw -1
100 0D48 1683 bsf 3,5
101 0D49 0088 movwf 8 ;volatile
102 ;LCD12232B.C: 52: delayLCD(10);
103 0D4A 300A movlw 10
104 0D4B 1283 bcf 3,5
105 0D4C 00D0 movwf ?_delayLCD
106 0D4D 01D1 clrf ?_delayLCD+1
107 0D4E 2D20 ljmp _delayLCD
108 ;LCD12232B.C: 57: void LCD_Write_Dat(unsigned c
+ har val)
109 ;LCD12232B.C: 58: {
110 0D4F _LCD_Write_Dat
111 ; _val assigned to ?a_LCD_Write_Dat+0
112 0000 _LCD_Write_Dat$val set ?a_LCD_Write_Dat
113 ;_val stored from w
114 0D4F 0183 clrf 3 ;select bank 0
115 0D50 00CF movwf ?a_LCD_Write_Dat
116 ;LCD12232B.C: 59: check_busy();
117 0D51 2530 fcall _check_busy
118 ;LCD12232B.C: 60: RA0=1;RA1=0;
119 0D52 1405 bsf 5,0
120 0D53 1085 bcf 5,1
121 ;LCD12232B.C: 61: RA2=1;
122 0D54 1505 bsf 5,2
123 ;LCD12232B.C: 62: PORTD=val;
124 0D55 084F movf ?a_LCD_Write_Dat,w
125 0D56 0088 movwf 8 ;volatile
126 ;LCD12232B.C: 63: RA2=0;
127 0D57 1105 bcf 5,2
128 ;LCD12232B.C: 64: TRISD=0xff;
129 0D58 30FF movlw -1
130 0D59 1683 bsf 3,5
131 0D5A 0088 movwf 8 ;volatile
132 ;LCD12232B.C: 65: delayLCD(10);
133 0D5B 300A movlw 10
134 0D5C 1283 bcf 3,5
135 0D5D 00D0 movwf ?_delayLCD
136 0D5E 01D1 clrf ?_delayLCD+1
137 0D5F 2D20 ljmp _delayLCD
138 ;LCD12232B.C: 224: void LcdCout(unsigned char K
+ COUNT )
139 ;LCD12232B.C: 226: {
140 0D60 _LcdCout
141 ; _KCOUNT assigned to ?a_LcdCout+0
142 0000 _LcdCout$KCOUNT set ?a_LcdCout
143 ;_KCOUNT stored from w
144 0D60 0183 clrf 3 ;select bank 0
145 0D61 00CF movwf ?a_LcdCout
146 ;LCD12232B.C: 232: switch ( KCOUNT )
147 0D62 2D81 goto l19
148 0D63 l20
149 ;LCD12232B.C: 233: {
150 ;LCD12232B.C: 235: DispCout[1] =0XB0; break;
151 0D63 30B0 movlw -80
152 0D64 00C6 movwf _DispCout+1
153 0D65 0008 return
154 0D66 l21
155 ;LCD12232B.C: 236: case 1 :
156 ;LCD12232B.C: 237: DispCout[1] = 0XB1;break ;
157 0D66 30B1 movlw -79
158 0D67 00C6 movwf _DispCout+1
159 0D68 0008 return
160 0D69 l22
161 ;LCD12232B.C: 238: case 2 :
162 ;LCD12232B.C: 239: DispCout[1] =0XB2;break ;
163 0D69 30B2 movlw -78
164 0D6A 00C6 movwf _DispCout+1
165 0D6B 0008 return
166 0D6C l23
167 ;LCD12232B.C: 240: case 3 :
168 ;LCD12232B.C: 241: DispCout[1] =0XB3;break ;
169 0D6C 30B3 movlw -77
170 0D6D 00C6 movwf _DispCout+1
171 0D6E 0008 return
172 0D6F l24
173 ;LCD12232B.C: 242: case 4 :
174 ;LCD12232B.C: 243: DispCout[1] =0XB4;break ;
175 0D6F 30B4 movlw -76
176 0D70 00C6 movwf _DispCout+1
177 0D71 0008 return
178 0D72 l25
179 ;LCD12232B.C: 244: case 5 :
180 ;LCD12232B.C: 245: DispCout[1] =0XB5;break ;
181 0D72 30B5 movlw -75
182 0D73 00C6 movwf _DispCout+1
183 0D74 0008 return
184 0D75 l26
185 ;LCD12232B.C: 246: case 6 :
186 ;LCD12232B.C: 247: DispCout[1] =0XB6;break ;
187 0D75 30B6 movlw -74
188 0D76 00C6 movwf _DispCout+1
189 0D77 0008 return
190 0D78 l27
191 ;LCD12232B.C: 248: case 7 :
192 ;LCD12232B.C: 249: DispCout[1] =0XB7; break ;
193 0D78 30B7 movlw -73
194 0D79 00C6 movwf _DispCout+1
195 0D7A 0008 return
196 0D7B l28
197 ;LCD12232B.C: 250: case 8 :
198 ;LCD12232B.C: 251: DispCout[1] =0XB8; break ;
199 0D7B 30B8 movlw -72
200 0D7C 00C6 movwf _DispCout+1
201 0D7D 0008 return
202 0D7E l29
203 ;LCD12232B.C: 252: case 9 :
204 ;LCD12232B.C: 253: DispCout[1] =0XB9; break ;
205 0D7E 30B9 movlw -71
206 0D7F 00C6 movwf _DispCout+1
207 ;LCD12232B.C: 255: default: break ;
208 0D80 0008 return
209 0D81 l19
210 0D81 1283 bcf 3,5
211 0D82 1303 bcf 3,6 ;carry unused
212 0D83 084F movf ?a_LcdCout,w
213 0D84 00F0 movwf btemp
214 0D85 3EF6 addlw -10
215 0D86 1803 btfsc 3,0
216 0D87 0008 return
217 0D88 3E0A addlw 10
218 0D89 1C03 btfss 3,0
219 0D8A 0008 return
220 0D8B 300D movlw S30004 shr (0+8)
221 0D8C 008A movwf 10
222 0D8D 3092 movlw S30004& (0+255)
223 0D8E 0770 addwf btemp,w
224 0D8F 1803 btfsc 3,0
225 0D90 0A8A incf 10
226 0D91 0082 movwf 2
227 0D92 S30004
228 0D92 2D63 goto l20
229 0D93 2D66 goto l21
230 0D94 2D69 goto l22
231 0D95 2D6C goto l23
232 0D96 2D6F goto l24
233 0D97 2D72 goto l25
234 0D98 2D75 goto l26
235 0D99 2D78 goto l27
236 0D9A 2D7B goto l28
237 0D9B 2D7E goto l29
238 ;LCD12232B.C: 162: void LCDCOUNTOVER (unsigned
+ char COUNT)
239 ;LCD12232B.C: 164: {
240 0D9C _LCDCOUNTOVER
241 ; _COUNT assigned to ?a_LCDCOUNTOVER+0
242 0000 _LCDCOUNTOVER$COUNT set ?a_LCDCOUNTOVER
243 ; _LcdcountH assigned to ?a_LCDCOUNTOVER+1
244 0000 _LCDCOUNTOVER$LcdcountH set ?a_LCDCOUNTOVER+1
245 ; _LcdcountL assigned to ?a_LCDCOUNTOVER+2
246 0000 _LCDCOUNTOVER$LcdcountL set ?a_LCDCOUNTOVER+2
247 ;_COUNT stored from w
248 0D9C 0183 clrf 3 ;select bank 0
249 0D9D 00CC movwf ?a_LCDCOUNTOVER
250 ;LCD12232B.C: 165: unsigned char LcdcountH;
251 0D9E 300A movlw 10
252 0D9F 00F1 movwf btemp+1
253 0DA0 084C movf ?a_LCDCOUNTOVER,w
254 0DA1 120A 118A 27C9 fcall lbmod
255 0DA4 0870 movf btemp,w
256 0DA5 00CD movwf ?a_LCDCOUNTOVER+1
257 ;LCD12232B.C: 170: LcdcountL=COUNT/10;
258 0DA6 300A movlw 10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -