📄 8255.lis
字号:
002E ; LEON ;
002E ; delay(1);
002E ; LEOFF;
002E ; delay(1);
002E ; shuju=d;
002E ; WRON ;
002E ; delay(5);WROFF;
002E ;
002E ; }*/
002E ; void writePA(unsigned char d)
002E ; {
002E .dbline 329
002E ;
002E ; WROFF;
002E A89A sbi 0x15,0
0030 .dbline 330
0030 ; A00;
0030 A998 cbi 0x15,1
0032 .dbline 331
0032 ; A10;
0032 AE98 cbi 0x15,6
0034 .dbline 332
0034 ; delay(1);
0034 01E0 ldi R16,1
0036 10E0 ldi R17,0
0038 E3DF xcall _delay
003A .dbline 333
003A ; shuju=d;
003A A8BA out 0x18,R10
003C .dbline 334
003C ; WRON ;
003C A898 cbi 0x15,0
003E .dbline 335
003E ; delay(5);
003E 05E0 ldi R16,5
0040 10E0 ldi R17,0
0042 DEDF xcall _delay
0044 .dbline 336
0044 ; WROFF;
0044 A89A sbi 0x15,0
0046 .dbline -2
0046 L10:
0046 .dbline 0 ; func end
0046 A990 ld R10,y+
0048 0895 ret
004A .dbsym r d 10 c
004A .dbend
004A .dbfunc e writecommand _writecommand fV
004A ; d -> R10
.even
004A _writecommand::
004A AA92 st -y,R10
004C A02E mov R10,R16
004E .dbline -1
004E .dbline 340
004E ;
004E ; }
004E ; void writecommand(unsigned char d)
004E ; { WROFF;
004E .dbline 340
004E A89A sbi 0x15,0
0050 .dbline 341
0050 ; A01;
0050 A99A sbi 0x15,1
0052 .dbline 342
0052 ; A11;
0052 AE9A sbi 0x15,6
0054 .dbline 343
0054 ; delay(1);
0054 01E0 ldi R16,1
0056 10E0 ldi R17,0
0058 D3DF xcall _delay
005A .dbline 344
005A ; shuju=d;
005A A8BA out 0x18,R10
005C .dbline 345
005C ; WRON ;
005C A898 cbi 0x15,0
005E .dbline 346
005E ; delay(5);
005E 05E0 ldi R16,5
0060 10E0 ldi R17,0
0062 CEDF xcall _delay
0064 .dbline 347
0064 ; WROFF;
0064 A89A sbi 0x15,0
0066 .dbline -2
0066 L11:
0066 .dbline 0 ; func end
0066 A990 ld R10,y+
0068 0895 ret
006A .dbsym r d 10 c
006A .dbend
006A .dbfunc e write_command _write_command fV
006A ; cmdcode -> R10
.even
006A _write_command::
006A AA92 st -y,R10
006C A02E mov R10,R16
006E .dbline -1
006E .dbline 353
006E ; }
006E ;
006E ;
006E ; //LCD
006E ; void write_command(unsigned char cmdcode)
006E ; {
006E .dbline 354
006E ; RS0;
006E 1B98 cbi 0x3,3
0070 .dbline 355
0070 ; RW0;
0070 1D98 cbi 0x3,5
0072 .dbline 356
0072 ; writePA(cmdcode);
0072 0A2D mov R16,R10
0074 DADF xcall _writePA
0076 .dbline 357
0076 ; delay(1);
0076 01E0 ldi R16,1
0078 10E0 ldi R17,0
007A C2DF xcall _delay
007C .dbline 358
007C ; E1;
007C 1E9A sbi 0x3,6
007E .dbline 359
007E ; delay(1);
007E 01E0 ldi R16,1
0080 10E0 ldi R17,0
0082 BEDF xcall _delay
0084 .dbline 360
0084 ; E0;
0084 1E98 cbi 0x3,6
0086 .dbline -2
0086 L12:
0086 .dbline 0 ; func end
0086 A990 ld R10,y+
0088 0895 ret
008A .dbsym r cmdcode 10 c
008A .dbend
008A .dbfunc e write_data _write_data fV
008A ; Dispdata -> R10
.even
008A _write_data::
008A AA92 st -y,R10
008C A02E mov R10,R16
008E .dbline -1
008E .dbline 366
008E ; }
008E ;
008E ;
008E ;
008E ; void write_data(unsigned char Dispdata)
008E ; {
008E .dbline 367
008E ; RS1;
008E 1B9A sbi 0x3,3
0090 .dbline 368
0090 ; RW0;
0090 1D98 cbi 0x3,5
0092 .dbline 369
0092 ; writePA(Dispdata);
0092 0A2D mov R16,R10
0094 CADF xcall _writePA
0096 .dbline 370
0096 ; delay(1);
0096 01E0 ldi R16,1
0098 10E0 ldi R17,0
009A B2DF xcall _delay
009C .dbline 371
009C ; E1;
009C 1E9A sbi 0x3,6
009E .dbline 372
009E ; delay(1);
009E 01E0 ldi R16,1
00A0 10E0 ldi R17,0
00A2 AEDF xcall _delay
00A4 .dbline 373
00A4 ; E0;
00A4 1E98 cbi 0x3,6
00A6 .dbline -2
00A6 L13:
00A6 .dbline 0 ; func end
00A6 A990 ld R10,y+
00A8 0895 ret
00AA .dbsym r Dispdata 10 c
00AA .dbend
00AA .dbfunc e tongdao _tongdao fV
00AA ; i -> R16
.even
00AA _tongdao::
00AA .dbline -1
00AA .dbline 377
00AA ; }
00AA ; //通道
00AA ; void tongdao(unsigned char i)
00AA ; {if(i==1) {PORTC&=~(1<<4);PORTC&=~(1<<3); PORTC|=(1<<2);}
00AA .dbline 377
00AA 0130 cpi R16,1
00AC 19F4 brne L15
00AE X2:
00AE .dbline 377
00AE .dbline 377
00AE AC98 cbi 0x15,4
00B0 .dbline 377
00B0 AB98 cbi 0x15,3
00B2 .dbline 377
00B2 AA9A sbi 0x15,2
00B4 .dbline 377
00B4 L15:
00B4 .dbline 378
00B4 ; if(i==2) {PORTC|=(1<<4);;PORTC&=~(1<<3); PORTC|=(1<<2);}
00B4 0230 cpi R16,2
00B6 19F4 brne L17
00B8 X3:
00B8 .dbline 378
00B8 .dbline 378
00B8 AC9A sbi 0x15,4
00BA .dbline 378
00BA .dbline 378
00BA AB98 cbi 0x15,3
00BC .dbline 378
00BC AA9A sbi 0x15,2
00BE .dbline 378
00BE L17:
00BE .dbline 379
00BE ; if(i==0) {PORTC&=~(1<<4);PORTC&=~(1<<3); PORTC&=~(1<<2);}
00BE 0023 tst R16
00C0 19F4 brne L19
00C2 X4:
00C2 .dbline 379
00C2 .dbline 379
00C2 AC98 cbi 0x15,4
00C4 .dbline 379
00C4 AB98 cbi 0x15,3
00C6 .dbline 379
00C6 AA98 cbi 0x15,2
00C8 .dbline 379
00C8 L19:
00C8 .dbline -2
00C8 L14:
00C8 .dbline 0 ; func end
00C8 0895 ret
00CA .dbsym r i 16 c
00CA .dbend
00CA .dbfunc e Clr_Scr _Clr_Scr fV
00CA ; k -> R20
00CA ; j -> R22
.even
00CA _Clr_Scr::
00CA 4A93 st -y,R20
00CC 6A93 st -y,R22
00CE .dbline -1
00CE .dbline 384
00CE ; }
00CE ;
00CE ;
00CE ; void Clr_Scr() //清屏
00CE ; {
00CE .dbline 386
00CE ; unsigned char j,k;
00CE ; for(k=0;k<8;k++)
00CE 4427 clr R20
00D0 23C0 xjmp L25
00D2 L22:
00D2 .dbline 387
00D2 ; {
00D2 .dbline 388
00D2 ; LCDCS21;
00D2 1A9A sbi 0x3,2
00D4 .dbline 389
00D4 ; LCDCS10;
00D4 1998 cbi 0x3,1
00D6 .dbline 390
00D6 ; delay(10);
00D6 0AE0 ldi R16,10
00D8 10E0 ldi R17,0
00DA 92DF xcall _delay
00DC .dbline 391
00DC ; write_command((Page_Add+k));
00DC 042F mov R16,R20
00DE 0854 subi R16,72 ; addi 184
00E0 C4DF xcall _write_command
00E2 .dbline 392
00E2 ; write_command((Col_Add+0));
00E2 00E4 ldi R16,64
00E4 C2DF xcall _write_command
00E6 .dbline 393
00E6 ; for(j=0;j<64;j++)
00E6 6627 clr R22
00E8 03C0 xjmp L29
00EA L26:
00EA .dbline 394
00EA ; write_data(0x00);
00EA 0027 clr R16
00EC CEDF xcall _write_data
00EE L27:
00EE .dbline 393
00EE 6395 inc R22
00F0 L29:
00F0 .dbline 393
00F0 6034 cpi R22,64
00F2 D8F3 brlo L26
00F4 X5:
00F4 .dbline 395
00F4 ; LCDCS20;
00F4 1A98 cbi 0x3,2
00F6 .dbline 396
00F6 ; LCDCS11;
00F6 199A sbi 0x3,1
00F8 .dbline 397
00F8 ; delay(10);
00F8 0AE0 ldi R16,10
00FA 10E0 ldi R17,0
00FC 81DF xcall _delay
00FE .dbline 398
00FE ; write_command((Page_Add+k));
00FE 042F mov R16,R20
0100 0854 subi R16,72 ; addi 184
0102 B3DF xcall _write_command
0104 .dbline 399
0104 ; write_command((Col_Add+0));
0104 00E4 ldi R16,64
0106 B1DF xcall _write_command
0108 .dbline 400
0108 ; for(j=64;j<128;j++)
0108 60E4 ldi R22,64
010A 03C0 xjmp L33
010C L30:
010C .dbline 401
010C ; write_data(0x00);
010C 0027 clr R16
010E BDDF xcall _write_data
0110 L31:
0110 .dbline 400
0110 6395 inc R22
0112 L33:
0112 .dbline 400
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -