📄 160104_s6b0719.lis
字号:
0038 ; LCD_PORT = comm;
0038 05BB out 0x15,R16
003A .dbline 100
003A ; clr_DI;
003A 9298 cbi 0x12,2
003C .dbline 101
003C ; set_E;
003C 979A sbi 0x12,7
003E .dbline 102
003E ; NOP();
003E 0000 nop
0040 .dbline 103
0040 ; clr_E;
0040 9798 cbi 0x12,7
0042 .dbline 104
0042 ; NOP();
0042 0000 nop
0044 .dbline -2
0044 L10:
0044 .dbline 0 ; func end
0044 0895 ret
0046 .dbsym r comm 16 c
0046 .dbend
0046 .dbfunc e write_data _write_data fV
0046 ; data -> R16
.even
0046 _write_data::
0046 .dbline -1
0046 .dbline 108
0046 ; }
0046 ;
0046 ; void write_data(uchar data)
0046 ; {
0046 .dbline 109
0046 ; LCD_PORT_DDR = 0xff;
0046 8FEF ldi R24,255
0048 84BB out 0x14,R24
004A .dbline 110
004A ; DDRD = 0xff;
004A 81BB out 0x11,R24
004C .dbline 111
004C ; LCD_PORT = data;
004C 05BB out 0x15,R16
004E .dbline 112
004E ; set_DI;
004E 929A sbi 0x12,2
0050 .dbline 113
0050 ; set_E;
0050 979A sbi 0x12,7
0052 .dbline 114
0052 ; NOP();
0052 0000 nop
0054 .dbline 115
0054 ; clr_E;
0054 9798 cbi 0x12,7
0056 .dbline 116
0056 ; NOP();
0056 0000 nop
0058 .dbline -2
0058 L11:
0058 .dbline 0 ; func end
0058 0895 ret
005A .dbsym r data 16 c
005A .dbend
005A .dbfunc e set_page_add _set_page_add fV
005A ; page -> R20
.even
005A _set_page_add::
005A 0E940000 xcall push_gset1
005E 402F mov R20,R16
0060 .dbline -1
0060 .dbline 120
0060 ; }
0060 ;
0060 ; void set_page_add(uchar page)//page =0-13
0060 ; {
0060 .dbline 121
0060 ; write_comm( 0xB0|page );
0060 042F mov R16,R20
0062 006B ori R16,176
0064 E6DF xcall _write_comm
0066 .dbline -2
0066 L12:
0066 0E940000 xcall pop_gset1
006A .dbline 0 ; func end
006A 0895 ret
006C .dbsym r page 20 c
006C .dbend
006C .dbfunc e set_column_add _set_column_add fV
006C ; lsb_column -> R20
006C ; msb_column -> R22
006C ; column -> R20
.even
006C _set_column_add::
006C 0E940000 xcall push_gset2
0070 402F mov R20,R16
0072 .dbline -1
0072 .dbline 125
0072 ; }
0072 ;
0072 ; void set_column_add(uchar column)//column =0-159
0072 ; {
0072 .dbline 128
0072 ; uchar msb_column;
0072 ; uchar lsb_column;
0072 ; msb_column = column>>4;
0072 642F mov R22,R20
0074 6295 swap R22
0076 6F70 andi R22,#0x0F
0078 .dbline 129
0078 ; lsb_column = column&0x0f;
0078 4F70 andi R20,15
007A .dbline 130
007A ; write_comm( 0x10|msb_column );
007A 062F mov R16,R22
007C 0061 ori R16,16
007E D9DF xcall _write_comm
0080 .dbline 131
0080 ; write_comm( lsb_column );
0080 042F mov R16,R20
0082 D7DF xcall _write_comm
0084 .dbline -2
0084 L13:
0084 0E940000 xcall pop_gset2
0088 .dbline 0 ; func end
0088 0895 ret
008A .dbsym r lsb_column 20 c
008A .dbsym r msb_column 22 c
008A .dbsym r column 20 c
008A .dbend
008A .dbfunc e display_on _display_on fV
008A ; on -> R20
.even
008A _display_on::
008A 0E940000 xcall push_gset1
008E 402F mov R20,R16
0090 .dbline -1
0090 .dbline 135
0090 ; }
0090 ;
0090 ; void display_on(uchar on)//on=1开显示 on=0关显示
0090 ; {
0090 .dbline 136
0090 ; write_comm( 0xAE|on );
0090 042F mov R16,R20
0092 0E6A ori R16,174
0094 CEDF xcall _write_comm
0096 .dbline -2
0096 L14:
0096 0E940000 xcall pop_gset1
009A .dbline 0 ; func end
009A 0895 ret
009C .dbsym r on 20 c
009C .dbend
009C .dbfunc e set_init_line _set_init_line fV
009C ; line -> R20
.even
009C _set_init_line::
009C 0E940000 xcall push_gset1
00A0 402F mov R20,R16
00A2 .dbline -1
00A2 .dbline 140
00A2 ; }
00A2 ;
00A2 ; void set_init_line(uchar line)
00A2 ; {
00A2 .dbline 141
00A2 ; write_comm( 0x40 );
00A2 00E4 ldi R16,64
00A4 C6DF xcall _write_comm
00A6 .dbline 142
00A6 ; write_comm( line );
00A6 042F mov R16,R20
00A8 C4DF xcall _write_comm
00AA .dbline -2
00AA L15:
00AA 0E940000 xcall pop_gset1
00AE .dbline 0 ; func end
00AE 0895 ret
00B0 .dbsym r line 20 c
00B0 .dbend
00B0 .dbfunc e set_com0 _set_com0 fV
00B0 ; com -> R20
.even
00B0 _set_com0::
00B0 0E940000 xcall push_gset1
00B4 402F mov R20,R16
00B6 .dbline -1
00B6 .dbline 146
00B6 ; }
00B6 ;
00B6 ; void set_com0( uchar com )
00B6 ; {
00B6 .dbline 147
00B6 ; write_comm( 0x44 );
00B6 04E4 ldi R16,68
00B8 BCDF xcall _write_comm
00BA .dbline 148
00BA ; write_comm( com );
00BA 042F mov R16,R20
00BC BADF xcall _write_comm
00BE .dbline -2
00BE L16:
00BE 0E940000 xcall pop_gset1
00C2 .dbline 0 ; func end
00C2 0895 ret
00C4 .dbsym r com 20 c
00C4 .dbend
00C4 .dbfunc e set_display_duty _set_display_duty fV
00C4 ; duty -> R20
.even
00C4 _set_display_duty::
00C4 0E940000 xcall push_gset1
00C8 402F mov R20,R16
00CA .dbline -1
00CA .dbline 152
00CA ; }
00CA ;
00CA ; void set_display_duty(uchar duty)//duty=1/105
00CA ; {
00CA .dbline 153
00CA ; write_comm( 0x48 );
00CA 08E4 ldi R16,72
00CC B2DF xcall _write_comm
00CE .dbline 154
00CE ; write_comm( duty );
00CE 042F mov R16,R20
00D0 B0DF xcall _write_comm
00D2 .dbline -2
00D2 L17:
00D2 0E940000 xcall pop_gset1
00D6 .dbline 0 ; func end
00D6 0895 ret
00D8 .dbsym r duty 20 c
00D8 .dbend
00D8 .dbfunc e set_nline_inver _set_nline_inver fV
00D8 ; n -> R20
.even
00D8 _set_nline_inver::
00D8 0E940000 xcall push_gset1
00DC 402F mov R20,R16
00DE .dbline -1
00DE .dbline 158
00DE ; }
00DE ;
00DE ; void set_nline_inver( uchar n)
00DE ; {
00DE .dbline 159
00DE ; write_comm( 0x4C );
00DE 0CE4 ldi R16,76
00E0 A8DF xcall _write_comm
00E2 .dbline 160
00E2 ; write_comm( n );
00E2 042F mov R16,R20
00E4 A6DF xcall _write_comm
00E6 .dbline -2
00E6 L18:
00E6 0E940000 xcall pop_gset1
00EA .dbline 0 ; func end
00EA 0895 ret
00EC .dbsym r n 20 c
00EC .dbend
00EC .dbfunc e rel_nline_inver _rel_nline_inver fV
.even
00EC _rel_nline_inver::
00EC .dbline -1
00EC .dbline 164
00EC ; }
00EC ;
00EC ; void rel_nline_inver( void )
00EC ; {
00EC .dbline 165
00EC ; write_comm( 0xE4 );
00EC 04EE ldi R16,228
00EE A1DF xcall _write_comm
00F0 .dbline -2
00F0 L19:
00F0 .dbline 0 ; func end
00F0 0895 ret
00F2 .dbend
00F2 .dbfunc e reve_display_on _reve_display_on fV
00F2 ; rev -> R20
.even
00F2 _reve_display_on::
00F2 0E940000 xcall push_gset1
00F6 402F mov R20,R16
00F8 .dbline -1
00F8 .dbline 169
00F8 ; }
00F8 ;
00F8 ; void reve_display_on(uchar rev)//反显 rev=1开反显 rev=0关反显
00F8 ; {
00F8 .dbline 170
00F8 ; write_comm( 0xA6|rev );
00F8 042F mov R16,R20
00FA 066A ori R16,166
00FC 9ADF xcall _write_comm
00FE .dbline -2
00FE L20:
00FE 0E940000 xcall pop_gset1
0102 .dbline 0 ; func end
0102 0895 ret
0104 .dbsym r rev 20 c
0104 .dbend
0104 .dbfunc e entir_display_on _entir_display_on fV
0104 ; eon -> R20
.even
0104 _entir_display_on::
0104 0E940000 xcall push_gset1
0108 402F mov R20,R16
010A .dbline -1
010A .dbline 174
010A ; }
010A ;
010A ; void entir_display_on(uchar eon)//强制显示 eon=1开强显 eon=0关强显
010A ; {
010A .dbline 175
010A ; write_comm( 0xA4|eon );
010A 042F mov R16,R20
010C 046A ori R16,164
010E 91DF xcall _write_comm
0110 .dbline -2
0110 L21:
0110 0E940000 xcall pop_gset1
0114 .dbline 0 ; func end
0114 0895 ret
0116 .dbsym r eon 20 c
0116 .dbend
0116 .dbfunc e power_control _power_control fV
0116 ; control -> R20
0116 ; vf -> y+6
0116 ; vr -> R10
0116 ; vc -> R22
.even
0116 _power_control::
0116 0E940000 xcall push_gset3
011A A22E mov R10,R18
011C 602F mov R22,R16
011E .dbline -1
011E .dbline 179
011E ; }
011E ;
011E ; void power_control(uchar vc,uchar vr,uchar vf)
011E ; {
011E .dbline 180
011E ; uchar control = 0;
011E 4427 clr R20
0120 .dbline 181
0120 ; control |= (vc<<2)|(vr<<1)|vf;
0120 2A2C mov R2,R10
0122 220C lsl R2
0124 362E mov R3,R2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -