📄 lcd.lst
字号:
HI-TECH Software PICC Macro Assembler V9.60PL2
Sun Jan 04 11:02:50 2009
1 processor 16F886
2 opt pw 79
3 psect text0,local,class=CODE,delta=2
4 psect text3,local,class=CODE,delta=2
5 psect strings,global,class=STRING,delta=2
6 psect text4,local,class=CODE,delta=2
7 psect text5,local,class=CODE,delta=2
8 psect text6,local,class=CODE,delta=2
9 psect text7,local,class=CODE,delta=2
10 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
11 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
12 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000 _Delay$value set ?_Delay
24
25 psect text0
26 1C8A _Delay
27 ;LCD.C: 21: void Delay(unsigned long value)
28 1C8A 2C9D goto l3
29 1C8B l4
30 1C8B 3001 movlw 1
31 1C8C 00F4 movwf btemp
32 1C8D 01F5 clrf btemp+1
33 1C8E 01F6 clrf btemp+2
34 1C8F 01F7 clrf btemp+3
35 1C90 02CF subwf ?_Delay
36 1C91 0875 movf btemp+1,w
37 1C92 1C03 btfss 3,0
38 1C93 0F75 incfsz btemp+1,w
39 1C94 02D0 subwf ?_Delay+1
40 1C95 0876 movf btemp+2,w
41 1C96 1C03 btfss 3,0
42 1C97 0F76 incfsz btemp+2,w
43 1C98 02D1 subwf ?_Delay+2
44 1C99 0877 movf btemp+3,w
45 1C9A 1C03 btfss 3,0
46 1C9B 0A77 incf btemp+3,w
47 1C9C 02D2 subwf ?_Delay+3
48 1C9D l3
49 1C9D 1283 bcf 3,5
50 1C9E 1303 bcf 3,6 ;carry unused
51 1C9F 0852 movf ?_Delay+3,w
52 1CA0 0451 iorwf ?_Delay+2,w
53 1CA1 0450 iorwf ?_Delay+1,w
54 1CA2 044F iorwf ?_Delay,w
55 1CA3 1903 btfsc 3,2
56 1CA4 0008 return
57 1CA5 2C8B goto l4
58 1CA6 _WrLcd
59 ; _LcdCom assigned to ?a_WrLcd+0
60 0000 _WrLcd$LcdCom set ?a_WrLcd
61 ;_LcdCom stored from w
62 1CA6 0183 clrf 3 ;select bank 0
63 1CA7 00CE movwf ?a_WrLcd
64 ;LCD.C: 26: void
65 1CA8 1107 bcf 7,2
66 ;LCD.C: 30: RC4=0;
67 1CA9 1207 bcf 7,4
68 ;LCD.C: 31: if(LcdCom==1)
69 1CAA 0B4E decfsz ?a_WrLcd,w
70 1CAB 2CAE goto l7
71 ;LCD.C: 32: {
72 1CAC 1187 bcf 7,3
73 ;LCD.C: 34: }
74 1CAD 2CB5 goto l8
75 1CAE l7
76 ;LCD.C: 35: else
77 1CAE 1587 bsf 7,3
78 ;LCD.C: 38: if(Zimo==1)
79 1CAF 1CA0 btfss _Zimo/(0+8),_Zimo& (0+7)
80 1CB0 2CB2 goto l9
81 ;LCD.C: 39: LcdXX=(0xFF-LcdXX);
82 1CB1 09CD comf ?_WrLcd+2
83 1CB2 l9
84 ;LCD.C: 40: if(Data9==1)
85 1CB2 1C20 btfss _Data9/(0+8),_Data9& (0+7)
86 1CB3 2CB5 goto l8
87 ;LCD.C: 41: LcdXX=0x00;
88 1CB4 01CD clrf ?_WrLcd+2
89 1CB5 l8
90 ;LCD.C: 42: }
91 1CB5 0B4B decfsz ?_WrLcd,w
92 1CB6 2CB9 goto l11
93 ;LCD.C: 44: {
94 1CB7 1387 bcf 7,7
95 1CB8 2CBF goto L1
96 ;LCD.C: 46: RC6=0;
97 ;LCD.C: 47: }
98 1CB9 l11
99 ;LCD.C: 48: else
100 1CB9 0B4C decfsz ?_WrLcd+1,w
101 1CBA 2CBE goto l13
102 ;LCD.C: 51: {
103 1CBB 1387 bcf 7,7
104 ;LCD.C: 53: RC6=1;
105 1CBC 1707 bsf 7,6
106 ;LCD.C: 54: }
107 1CBD 2CC0 goto l12
108 1CBE l13
109 ;LCD.C: 55: else
110 1CBE 1787 bsf 7,7
111 1CBF L1
112 ;LCD.C: 58: RC6=0;
113 1CBF 1307 bcf 7,6
114 1CC0 l12
115 ;LCD.C: 59: }
116 1CC0 300F movlw 15
117 1CC1 00CF movwf ?_Delay
118 1CC2 01D0 clrf ?_Delay+1
119 1CC3 01D1 clrf ?_Delay+2
120 1CC4 01D2 clrf ?_Delay+3
121 1CC5 248A fcall _Delay
122 ;LCD.C: 64: RC2=1;
123 1CC6 1507 bsf 7,2
124 ;LCD.C: 65: PORTB=LcdXX;
125 1CC7 084D movf ?_WrLcd+2,w
126 1CC8 0086 movwf 6 ;volatile
127 ;LCD.C: 66: Delay(15);
128 1CC9 300F movlw 15
129 1CCA 00CF movwf ?_Delay
130 1CCB 01D0 clrf ?_Delay+1
131 1CCC 01D1 clrf ?_Delay+2
132 1CCD 01D2 clrf ?_Delay+3
133 1CCE 248A fcall _Delay
134 ;LCD.C: 67: RC2=0;
135 1CCF 1107 bcf 7,2
136 ;LCD.C: 70: }
137 1CD0 0008 return ;W free
138 1CD1 _LcdSet
139 ;LCD.C: 72: void
140 1CD1 1683 bsf 3,5
141 1CD2 1303 bcf 3,6 ;carry unused
142 1CD3 128E bcf 14,5
143 ;LCD.C: 76: SBOREN=0;
144 1CD4 120E bcf 14,4
145 ;LCD.C: 77: SWDTEN-0;
146 1CD5 3007 movlw 7
147 1CD6 0085 movwf 5 ;volatile
148 ;LCD.C: 83: PSTRCON=0X00;
149 1CD7 019D clrf 29
150 ;LCD.C: 84: ANSELH=0X00;
151 1CD8 1703 bsf 3,6
152 1CD9 0189 clrf 9
153 ;LCD.C: 85: RBPU=0;
154 1CDA 1303 bcf 3,6 ;carry unused
155 1CDB 1381 bcf 1,7
156 ;LCD.C: 86: PORTB=0XFF;
157 1CDC 30FF movlw -1
158 1CDD 1283 bcf 3,5
159 1CDE 0086 movwf 6 ;volatile
160 ;LCD.C: 87: TRISB=0X00;
161 1CDF 1683 bsf 3,5
162 1CE0 0186 clrf 6 ;volatile
163 ;LCD.C: 89: PORTC=0XFc;
164 1CE1 30FC movlw -4
165 1CE2 1283 bcf 3,5
166 1CE3 0087 movwf 7 ;volatile
167 ;LCD.C: 90: TRISC=0X03;
168 1CE4 3003 movlw 3
169 1CE5 1683 bsf 3,5
170 1CE6 0087 movwf 7 ;volatile
171 ;LCD.C: 93: RA4=0;
172 1CE7 1283 bcf 3,5
173 1CE8 1205 bcf 5,4
174 ;LCD.C: 95: Zimo=0;
175 1CE9 10A0 bcf _Zimo/(0+8),_Zimo& (0+7)
176 ;LCD.C: 96: Data9=0;
177 1CEA 1020 bcf _Data9/(0+8),_Data9& (0+7)
178 ;LCD.C: 98: RC5=0;
179 1CEB 1287 bcf 7,5
180 ;LCD.C: 99: Delay(100);
181 1CEC 3064 movlw 100
182 1CED 00CF movwf ?_Delay
183 1CEE 01D0 clrf ?_Delay+1
184 1CEF 01D1 clrf ?_Delay+2
185 1CF0 01D2 clrf ?_Delay+3
186 1CF1 248A fcall _Delay
187 ;LCD.C: 100: RC5=1;
188 1CF2 1687 bsf 7,5
189 ;LCD.C: 103: WrLcd(1,1,0,0xC0);
190 1CF3 01CB clrf ?_WrLcd
191 1CF4 0ACB incf ?_WrLcd
192 1CF5 01CC clrf ?_WrLcd+1
193 1CF6 30C0 movlw -64
194 1CF7 00CD movwf ?_WrLcd+2
195 1CF8 3001 movlw 1
196 1CF9 24A6 160A 158A fcall _WrLcd
197 ;LCD.C: 104: WrLcd(1,1,0,0x3F);
198 1CFC 01CB clrf ?_WrLcd
199 1CFD 0ACB incf ?_WrLcd
200 1CFE 01CC clrf ?_WrLcd+1
201 1CFF 303F movlw 63
202 1D00 00CD movwf ?_WrLcd+2
203 1D01 3001 movlw 1
204 1D02 2CA6 ljmp _WrLcd
205
206 psect text3
207 1C24 _LcdClear
208 ; _a assigned to ?a_LcdClear+0
209 0000 _LcdClear$a set ?a_LcdClear
210 ; _AA assigned to ?a_LcdClear+1
211 0000 _LcdClear$AA set ?a_LcdClear+1
212 ;LCD.C: 106: void
213 1C24 0183 clrf 3 ;select bank 0
214 1C25 10A0 bcf _Zimo/(0+8),_Zimo& (0+7)
215 ;LCD.C: 112: for(AA=0xB8;AA<0xC0;AA++)
216 1C26 30B8 movlw -72
217 1C27 00C3 movwf ?a_LcdClear+1
218 1C28 l17
219 ;LCD.C: 113: {
220 1C28 01CB clrf ?_WrLcd
221 1C29 0ACB incf ?_WrLcd
222 1C2A 01CC clrf ?_WrLcd+1
223 1C2B 0843 movf ?a_LcdClear+1,w
224 1C2C 00CD movwf ?_WrLcd+2
225 1C2D 3001 movlw 1
226 1C2E 160A 158A 24A6 fcall _WrLcd
227 ;LCD.C: 116: WrLcd(1,1,0,0x40);
228 1C31 01CB clrf ?_WrLcd
229 1C32 0ACB incf ?_WrLcd
230 1C33 01CC clrf ?_WrLcd+1
231 1C34 3040 movlw 64
232 1C35 00CD movwf ?_WrLcd+2
233 1C36 3001 movlw 1
234 1C37 160A 158A 24A6 fcall _WrLcd
235 ;LCD.C: 118: for(a=0;a<64;a++)
236 1C3A 01C2 clrf ?a_LcdClear
237 1C3B l20
238 ;LCD.C: 119: {
239 1C3B 01CB clrf ?_WrLcd
240 1C3C 0ACB incf ?_WrLcd
241 1C3D 01CC clrf ?_WrLcd+1
242 1C3E 01CD clrf ?_WrLcd+2
243 1C3F 3000 movlw 0
244 1C40 160A 158A 24A6 fcall _WrLcd
+ 160A 158A
245 1C45 0AC2 incf ?a_LcdClear
246 1C46 3040 movlw 64
247 1C47 0242 subwf ?a_LcdClear,w
248 1C48 1C03 btfss 3,0
249 1C49 2C3B goto l20
250 1C4A 0AC3 incf ?a_LcdClear+1
251 1C4B 30C0 movlw -64
252 1C4C 0243 subwf ?a_LcdClear+1,w
253 1C4D 1803 btfsc 3,0
254 1C4E 0008 return
255 1C4F 2C28 goto l17
256
257 psect strings
258 007F _hanzi
259 007F 3400 retlw 0
260 0080 3400 retlw 0
261 0081 3400 retlw 0
262 0082 3400 retlw 0
263 0083 3400 retlw 0
264 0084 3400 retlw 0
265 0085 3420 retlw 32
266 0086 3400 retlw 0
267 0087 3412 retlw 18
268 0088 3400 retlw 0
269 0089 342A retlw 42
270 008A 3400 retlw 0
271 008B 3442 retlw 66
272 008C 3400 retlw 0
273 008D 343F retlw 63
274 008E 3400 retlw 0
275 008F 340A retlw 10
276 0090 3400 retlw 0
277 0091 3452 retlw 82
278 0092 3400 retlw 0
279 0093 3420 retlw 32
280 0094 3400 retlw 0
281 0095 341F retlw 31
282 0096 3400 retlw 0
283 0097 3400 retlw 0
284 0098 3400 retlw 0
285 0099 3400 retlw 0
286 009A 3400 retlw 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -