📄 lcd.lis
字号:
; ContrPort=ContrPort&~E;//E=0,
; DbDir=0b11111111;
; return(ReadData);
; } */
; //************************************************************
; //**clear CGRAM**********
; void ClearRam(void)
; {
0058 .dbline 95
; unsigned char Clear_page,Clear_Y;
; //***************************************************
; ContrPort=ContrPort|CS1; //cs1=1
0058 AF9A sbi 0x15,7
005A .dbline 96
; ContrPort=ContrPort&~CS2;//cs2=0
005A AE98 cbi 0x15,6
005C .dbline 97
; Clear_page=8;
005C 48E0 ldi R20,8
005E 10C0 rjmp L11
0060 L10:
0060 .dbline 99
; while(Clear_page)
; {
0060 .dbline 100
; Clear_Y=64;
0060 60E4 ldi R22,64
0062 0BC0 rjmp L14
0064 L13:
0064 .dbline 102
0064 .dbline 104
0064 042F mov R16,R20
0066 0150 subi R16,1
0068 0854 subi R16,72 ; addi 184
006A CADF rcall _WriInsn
006C .dbline 105
006C 062F mov R16,R22
006E 0150 subi R16,1
0070 005C subi R16,192 ; addi 64
0072 C6DF rcall _WriInsn
0074 .dbline 106
0074 0027 clr R16
0076 D9DF rcall _WriData
0078 .dbline 107
0078 6A95 dec R22
007A .dbline 108
007A L14:
007A .dbline 101
007A 6623 tst R22
007C 99F7 brne L13
007E .dbline 109
007E 4A95 dec R20
0080 .dbline 110
0080 L11:
0080 .dbline 98
0080 4423 tst R20
0082 71F7 brne L10
0084 .dbline 112
; while(Clear_Y)
; {
;
; WriInsn((Clear_page-1)+0b10111000);
; WriInsn((Clear_Y-1)+0b01000000);
; WriData(0x00);
; Clear_Y--;
; }
; Clear_page--;
; }
; //***************************************************
; ContrPort=ContrPort&~CS1; //cs1=0
0084 AF98 cbi 0x15,7
0086 .dbline 113
; ContrPort=ContrPort|CS2;//cs2=1
0086 AE9A sbi 0x15,6
0088 .dbline 114
; Clear_page=8;
0088 48E0 ldi R20,8
008A 10C0 rjmp L17
008C L16:
008C .dbline 116
; while(Clear_page)
; {
008C .dbline 117
; Clear_Y=64;
008C 60E4 ldi R22,64
008E 0BC0 rjmp L20
0090 L19:
0090 .dbline 119
0090 .dbline 121
0090 042F mov R16,R20
0092 0150 subi R16,1
0094 0854 subi R16,72 ; addi 184
0096 B4DF rcall _WriInsn
0098 .dbline 122
0098 062F mov R16,R22
009A 0150 subi R16,1
009C 005C subi R16,192 ; addi 64
009E B0DF rcall _WriInsn
00A0 .dbline 123
00A0 0027 clr R16
00A2 C3DF rcall _WriData
00A4 .dbline 124
00A4 6A95 dec R22
00A6 .dbline 125
00A6 L20:
00A6 .dbline 118
00A6 6623 tst R22
00A8 99F7 brne L19
00AA .dbline 126
00AA 4A95 dec R20
00AC .dbline 127
00AC L17:
00AC .dbline 115
00AC 4423 tst R20
00AE 71F7 brne L16
00B0 .dbline -2
00B0 .dbline 130
; while(Clear_Y)
; {
;
; WriInsn((Clear_page-1)+0b10111000);
; WriInsn((Clear_Y-1)+0b01000000);
; WriData(0x00);
; Clear_Y--;
; }
; Clear_page--;
; }
;
;
; }
00B0 L9:
00B0 00D0 rcall pop_gset2
00B2 .dbline 0 ; func end
00B2 0895 ret
00B4 .dbsym r Clear_page 20 c
00B4 .dbsym r Clear_Y 22 c
00B4 .dbfunc s WriteCgram _WriteCgram fI
; NumCs2 -> R20,R21
; NumCs1 -> R22,R23
; NumTemp01 -> R12,R13
; NumPage -> R14
; j -> R20,R21
; i -> R22,R23
; Point -> R10
; DataSequent -> R6
.even
00B4 _WriteCgram::
00B4 00D0 rcall push_gset5
00B6 A22E mov R10,R18
00B8 602E mov R6,R16
00BA .dbline -1
00BA .dbline 134
; //********************************************************
; //**setup CGRAM**********************
; void WriteCgram(unsigned char DataSequent, unsigned char Point)
; {
00BA .dbline 138
; unsigned char NumPage; //the data page
; unsigned NumCs1,NumCs2;//chip select
; unsigned NumTemp01,i,j;
; if(DataSequent<8)
00BA 862D mov R24,R6
00BC 8830 cpi R24,8
00BE 20F5 brsh L23
00C0 .dbline 139
; {
00C0 .dbline 140
; NumPage=0;
00C0 EE24 clr R14
00C2 .dbline 141
; if(DataSequent<4)
00C2 8430 cpi R24,4
00C4 78F4 brsh L25
00C6 .dbline 142
; {NumCs1=1;
00C6 .dbline 142
00C6 61E0 ldi R22,1
00C8 70E0 ldi R23,0
00CA .dbline 143
; NumCs2=0;
00CA 4427 clr R20
00CC 5527 clr R21
00CE .dbline 144
; NumTemp01=16*DataSequent;
00CE C62C mov R12,R6
00D0 DD24 clr R13
00D2 CC0C lsl R12
00D4 DD1C rol R13
00D6 CC0C lsl R12
00D8 DD1C rol R13
00DA CC0C lsl R12
00DC DD1C rol R13
00DE CC0C lsl R12
00E0 DD1C rol R13
00E2 .dbline 145
; }
00E2 9BC0 rjmp L24
00E4 L25:
00E4 .dbline 147
; else
; {NumCs1=0;
00E4 .dbline 147
00E4 6627 clr R22
00E6 7727 clr R23
00E8 .dbline 148
; NumCs2=1;
00E8 41E0 ldi R20,1
00EA 50E0 ldi R21,0
00EC .dbline 149
; NumTemp01=16*(DataSequent-4);
00EC 862D mov R24,R6
00EE 9927 clr R25
00F0 0497 sbiw R24,4
00F2 C82E mov R12,R24
00F4 D92E mov R13,R25
00F6 CC0C lsl R12
00F8 DD1C rol R13
00FA CC0C lsl R12
00FC DD1C rol R13
00FE CC0C lsl R12
0100 DD1C rol R13
0102 CC0C lsl R12
0104 DD1C rol R13
0106 .dbline 150
; }
0106 .dbline 152
;
; }
0106 89C0 rjmp L24
0108 L23:
0108 .dbline 153
; else if((DataSequent)<16&&(DataSequent>7))
0108 862D mov R24,R6
010A 8031 cpi R24,16
010C 58F5 brsh L27
010E 87E0 ldi R24,7
0110 8615 cp R24,R6
0112 40F5 brsh L27
0114 .dbline 154
; {
0114 .dbline 155
; NumPage=2;
0114 82E0 ldi R24,2
0116 E82E mov R14,R24
0118 .dbline 156
; if(DataSequent<12)
0118 862D mov R24,R6
011A 8C30 cpi R24,12
011C 88F4 brsh L29
011E .dbline 157
; {NumCs1=1;
011E .dbline 157
011E 61E0 ldi R22,1
0120 70E0 ldi R23,0
0122 .dbline 158
; NumCs2=0;
0122 4427 clr R20
0124 5527 clr R21
0126 .dbline 159
; NumTemp01=16*(DataSequent-8);
0126 9927 clr R25
0128 0897 sbiw R24,8
012A C82E mov R12,R24
012C D92E mov R13,R25
012E CC0C lsl R12
0130 DD1C rol R13
0132 CC0C lsl R12
0134 DD1C rol R13
0136 CC0C lsl R12
0138 DD1C rol R13
013A CC0C lsl R12
013C DD1C rol R13
013E .dbline 160
; }
013E 6DC0 rjmp L28
0140 L29:
0140 .dbline 162
; else
; {NumCs1=0;
0140 .dbline 162
0140 6627 clr R22
0142 7727 clr R23
0144 .dbline 163
; NumCs2=1;
0144 41E0 ldi R20,1
0146 50E0 ldi R21,0
0148 .dbline 164
; NumTemp01=16*(DataSequent-12);
0148 862D mov R24,R6
014A 9927 clr R25
014C 0C97 sbiw R24,12
014E C82E mov R12,R24
0150 D92E mov R13,R25
0152 CC0C lsl R12
0154 DD1C rol R13
0156 CC0C lsl R12
0158 DD1C rol R13
015A CC0C lsl R12
015C DD1C rol R13
015E CC0C lsl R12
0160 DD1C rol R13
0162 .dbline 165
; }
0162 .dbline 166
; }
0162 5BC0 rjmp L28
0164 L27:
0164 .dbline 167
; else if((DataSequent>15)&&(DataSequent<24))
0164 8FE0 ldi R24,15
0166 8615 cp R24,R6
0168 58F5 brsh L31
016A 862D mov R24,R6
016C 8831 cpi R24,24
016E 40F5 brsh L31
0170 .dbline 168
; {
0170 .dbline 169
; NumPage=4;
0170 84E0 ldi R24,4
0172 E82E mov R14,R24
0174 .dbline 170
; if(DataSequent<20)
0174 862D mov R24,R6
0176 8431 cpi R24,20
0178 88F4 brsh L33
017A .dbline 171
; {NumCs1=1;
017A .dbline 171
017A 61E0 ldi R22,1
017C 70E0 ldi R23,0
017E .dbline 172
; NumCs2=0;
017E 4427
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -