📄 lcd_pg320240.lst
字号:
211 ; lcd_pg320240.c 69 WRITE = 0;
212 ?LINE 69
002A CEE0 213 BCLR P2.12
214 ; lcd_pg320240.c 70 while(!WAIT);
215 ?LINE 70
002C 0D00 216 JMPR cc_UC,_4
002E 217 _3:
002E 218 _4:
002E 219 _5:
002E 9AE0FEA0 220 JNB P2.10,_5
221 ; lcd_pg320240.c 71 WRITE = 1;
222 ?LINE 71
0032 CFE0 223 BSET P2.12
224 ; lcd_pg320240.c 72 }
225 ?LINE 72
R 226 ?SYMB '',$,102,1
0034 0802 227 ADD R0,#02h
R 228 ?SYMB '',$,96,0
0036 CB00 229 RET
230 _lcd_write_data ENDP
R 231 ?SYMB '',$,17,72
232 ; lcd_pg320240.c 73 //---------------------------------------------------------------------
--------
233 ; lcd_pg320240.c 74 //
234 ; lcd_pg320240.c 75 void lcd_write_address(unsigned int Address)
235 ; lcd_pg320240.c 76 {
236 ?LINE 76
237 PUBLIC _lcd_write_address
R 238 ?SYMB 'lcd_write_address',_lcd_write_address,37,1
239 ?SYMB '',76,8,34
240 _lcd_write_address PROC NEAR
241 ?SYMB '',00H,95,0
0038 88C0 242 MOV [-R0],R12
R 243 ?SYMB '',$,96,2
244 ; Locals:
245 ; Address = offset 0
246 ;
247 ; Statics:
248 ;
249 ; CSEs:
250 ;
251 ?LINE 76
252 ?SYMB 'Address',1,99,18
R 253 ?SYMB '-2',$,101,1
254 ; lcd_pg320240.c 77 wr_data(Address & 0x00FF);
255 ?LINE 77
003A A8C0 256 MOV R12,[R0]
003C 66FCFF00 257 AND R12,#0FFh
0040 BBDF 258 CALLR _wr_data
259 ; lcd_pg320240.c 78 ABL = 1;
260 ?LINE 78
0042 FFE0 261 BSET P2.15
262 ; lcd_pg320240.c 79 ABL = 0;
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962 Date: Apr 23 2004 Time: 16:27:02 Page: 6
lcd_pg320240
LOC CODE LINE SOURCELINE
263 ?LINE 79
0044 FEE0 264 BCLR P2.15
265 ; lcd_pg320240.c 80 wr_data((Address>>8) & 0x00FF);
266 ?LINE 80
0046 A8C0 267 MOV R12,[R0]
0048 7C8C 268 SHR R12,#08h
004A 66FCFF00 269 AND R12,#0FFh
004E BBD8 270 CALLR _wr_data
271 ; lcd_pg320240.c 81 ABH = 1;
272 ?LINE 81
0050 DFE0 273 BSET P2.13
274 ; lcd_pg320240.c 82 ABH = 0;
275 ?LINE 82
0052 DEE0 276 BCLR P2.13
277 ; lcd_pg320240.c 83 }
278 ?LINE 83
R 279 ?SYMB '',$,102,1
0054 0802 280 ADD R0,#02h
R 281 ?SYMB '',$,96,0
0056 CB00 282 RET
283 _lcd_write_address ENDP
R 284 ?SYMB '',$,17,83
285 ; lcd_pg320240.c 84
286 ; lcd_pg320240.c 85 unsigned char reverseLSB_MSB( unsigned char RevData)
287 ; lcd_pg320240.c 86 {
288 ?LINE 86
289 PUBLIC _reverseLSB_MSB
R 290 ?SYMB 'reverseLSB_MSB',_reverseLSB_MSB,37,3
291 ?SYMB '',86,8,34
292 _reverseLSB_MSB PROC NEAR
293 ?SYMB '',00H,95,0
0058 88C0 294 MOV [-R0],R12
R 295 ?SYMB '',$,96,2
005A 2802 296 SUB R0,#02h
R 297 ?SYMB '',$,96,4
298 ; Locals:
299 ; Revers = offset 0
300 ; i = offset 1
301 ; RevData = offset 2
302 ;
303 ; Statics:
304 ;
305 ; CSEs:
306 ;
307 ?LINE 86
308 ?SYMB 'RevData',3,99,3
R 309 ?SYMB '-2',$,101,3
310 ; lcd_pg320240.c 87 unsigned char Revers = 0;
311 ?LINE 87
312 ?SYMB 'Revers',1,98,3
R 313 ?SYMB '-4',$,101,1
005C E102 314 MOVB RL1,#00h
005E B920 315 MOVB [R0],RL1
316 ; lcd_pg320240.c 88 unsigned char i;
317 ?LINE 88
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962 Date: Apr 23 2004 Time: 16:27:02 Page: 7
lcd_pg320240
LOC CODE LINE SOURCELINE
318 ?SYMB 'i',2,98,3
R 319 ?SYMB '-3',$,101,2
320 ; lcd_pg320240.c 89 for(i=0;i<8;i++)
321 ?LINE 89
0060 E102 322 MOVB RL1,#00h
0062 E4200100 323 MOVB [R0+#01H],RL1
0066 0D15 324 JMPR cc_UC,_7
0068 325 _6:
326 ; lcd_pg320240.c 90 {
327 ; lcd_pg320240.c 91 Revers = Revers << 1;
328 ?LINE 91
0068 A920 329 MOVB RL1,[R0]
006A C021 330 MOVBZ R1,RL1
006C 5C11 331 SHL R1,#01h
006E B920 332 MOVB [R0],RL1
333 ; lcd_pg320240.c 92 Revers |= (RevData & 0x01);
334 ?LINE 92
0070 F4200200 335 MOVB RL1,[R0+#02H]
0074 6921 336 ANDB RL1,#01h
0076 A940 337 MOVB RL2,[R0]
0078 7142 338 ORB RL2,RL1
007A B940 339 MOVB [R0],RL2
340 ; lcd_pg320240.c 93 RevData = RevData >> 1;
341 ?LINE 93
007C F4200200 342 MOVB RL1,[R0+#02H]
0080 C021 343 MOVBZ R1,RL1
0082 7C11 344 SHR R1,#01h
0084 E4200200 345 MOVB [R0+#02H],RL1
346 ?LINE 89
0088 F4200100 347 MOVB RL1,[R0+#01H]
008C 0921 348 ADDB RL1,#01h
008E E4200100 349 MOVB [R0+#01H],RL1
0092 350 _7:
0092 F4200100 351 MOVB RL1,[R0+#01H]
0096 47F20800 352 CMPB RL1,#08h
009A 8DE6 353 JMPR cc_ULT,_6
354 ; lcd_pg320240.c 94 }
355 ; lcd_pg320240.c 95 return(Revers);
356 ?LINE 95
009C A980 357 MOVB RL4,[R0]
358 ; lcd_pg320240.c 96 }
359 ?LINE 96
009E 360 _8:
R 361 ?SYMB '',$,102,2
R 362 ?SYMB '',$,102,1
R 363 ?SYMB '',$,102,3
009E 0804 364 ADD R0,#04h
R 365 ?SYMB '',$,96,0
00A0 CB00 366 RET
367 _reverseLSB_MSB ENDP
R 368 ?SYMB '',$,17,96
369 ; lcd_pg320240.c 97
370 ; lcd_pg320240.c 98 //---------------------------------------------------------------------
--------
371 ; lcd_pg320240.c 99 void lcd_set_reg (unsigned int Address, unsigned char Data)
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962 Date: Apr 23 2004 Time: 16:27:02 Page: 8
lcd_pg320240
LOC CODE LINE SOURCELINE
372 ; lcd_pg320240.c 100 {
373 ?LINE 100
374 PUBLIC _lcd_set_reg
R 375 ?SYMB 'lcd_set_reg',_lcd_set_reg,37,1
376 ?SYMB '',100,8,34
377 _lcd_set_reg PROC NEAR
378 ?SYMB '',00H,95,0
00A2 88D0 379 MOV [-R0],R13
R 380 ?SYMB '',$,96,2
00A4 88C0 381 MOV [-R0],R12
R 382 ?SYMB '',$,96,4
383 ; Locals:
384 ; Address = offset 0
385 ; Data = offset 2
386 ;
387 ; Statics:
388 ;
389 ; CSEs:
390 ;
391 ?LINE 100
392 ?SYMB 'Address',1,99,18
R 393 ?SYMB '-4',$,101,1
394 ?SYMB 'Data',2,99,3
R 395 ?SYMB '-2',$,101,2
396 ; lcd_pg320240.c 101 Address += REG_OFFSET;
397 ?LINE 101
00A6 A8C0 398 MOV R12,[R0]
00A8 06FCE0FF 399 ADD R12,#0FFE0h
00AC B8C0 400 MOV [R0],R12
401 ; lcd_pg320240.c 102 CS = 0;
402 ?LINE 102
00AE 9EE0 403 BCLR P2.9
404 ; lcd_pg320240.c 103 lcd_write_address(Address);
405 ?LINE 103
00B0 A8C0 406 MOV R12,[R0]
00B2 BBC2 407 CALLR _lcd_write_address
408 ; lcd_pg320240.c 104 lcd_write_data(Data);
409 ?LINE 104
00B4 F4200200 410 MOVB RL1,[R0+#02H]
00B8 C02C 411 MOVBZ R12,RL1
00BA BBB3 412 CALLR _lcd_write_data
413 ; lcd_pg320240.c 105 CS = 1;
414 ?LINE 105
00BC 9FE0 415 BSET P2.9
416 ; lcd_pg320240.c 106 }
417 ?LINE 106
R 418 ?SYMB '',$,102,2
R 419 ?SYMB '',$,102,1
00BE 0804 420 ADD R0,#04h
R 421 ?SYMB '',$,96,0
00C0 CB00 422 RET
423 _lcd_set_reg ENDP
R 424 ?SYMB '',$,17,106
425 ; lcd_pg320240.c 107 //*********************************************************************
********
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962 Date: Apr 23 2004 Time: 16:27:02 Page: 9
lcd_pg320240
LOC CODE LINE SOURCELINE
426 ; lcd_pg320240.c 108 unsigned char lcd_read_reg(unsigned int Address,unsigned char Reg)
427 ; lcd_pg320240.c 109 {
428 ?LINE 109
429 PUBLIC _lcd_read_reg
R 430 ?SYMB 'lcd_read_reg',_lcd_read_reg,37,3
431 ?SYMB '',109,8,34
432 _lcd_read_reg PROC NEAR
433 ?SYMB '',00H,95,0
00C2 88D0 434 MOV [-R0],R13
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -