📄 lcd.lst
字号:
(0082) else
(0083) {CLS_SID;}
0100 98DE CBI 0x1B,6
(0084) ST_SCLK;
0101 9ADF SBI 0x1B,7
(0085) delay_nus(100);
0102 E604 LDI R16,0x64
0103 E010 LDI R17,0
0104 DF68 RCALL _delay_nus
(0086) CLS_SCLK;
0105 98DF CBI 0x1B,7
(0087) bbyte<<=1;
0106 0F66 LSL R22
(0088) delay_nus(100);
0107 E604 LDI R16,0x64
0108 E010 LDI R17,0
0109 DF63 RCALL _delay_nus
010A 9543 INC R20
010B 3048 CPI R20,0x8
010C F368 BCS 0x00FA
010D 940E01D4 CALL pop_gset2
010F 9508 RET
_lcdtest:
i --> R20
j --> R22
0110 940E01E0 CALL push_gset2
(0089) }
(0090) }
(0091)
(0092) void lcdtest(void) //图形方式下屏幕全黑
(0093) {
(0094) uchar i,j;
(0095) for(i=0;i<32;i++)
0112 2744 CLR R20
0113 C010 RJMP 0x0124
(0096) {
(0097) write(0,0x80+i);write(0,0x80);
0114 2F24 MOV R18,R20
0115 5820 SUBI R18,0x80
0116 2700 CLR R16
0117 DFB9 RCALL _write
0118 E820 LDI R18,0x80
0119 2700 CLR R16
011A DFB6 RCALL _write
(0098) for(j=0;j<16;j++)write(1,0xff);
011B 2766 CLR R22
011C C004 RJMP 0x0121
011D EF2F LDI R18,0xFF
011E E001 LDI R16,1
011F DFB1 RCALL _write
0120 9563 INC R22
0121 3160 CPI R22,0x10
0122 F3D0 BCS 0x011D
0123 9543 INC R20
0124 3240 CPI R20,0x20
0125 F370 BCS 0x0114
(0099) }
(0100) for(i=0;i<32;i++)
0126 2744 CLR R20
0127 C010 RJMP 0x0138
(0101) {
(0102) write(0,0x80+i);write(0,0x88);
0128 2F24 MOV R18,R20
0129 5820 SUBI R18,0x80
012A 2700 CLR R16
012B DFA5 RCALL _write
012C E828 LDI R18,0x88
012D 2700 CLR R16
012E DFA2 RCALL _write
(0103) for(j=0;j<16;j++) write(1,0xff);
012F 2766 CLR R22
0130 C004 RJMP 0x0135
0131 EF2F LDI R18,0xFF
0132 E001 LDI R16,1
0133 DF9D RCALL _write
0134 9563 INC R22
0135 3160 CPI R22,0x10
0136 F3D0 BCS 0x0131
0137 9543 INC R20
0138 3240 CPI R20,0x20
0139 F370 BCS 0x0128
013A 940E01D4 CALL pop_gset2
013C 9508 RET
_lcdcls:
i --> R20
j --> R22
013D 940E01E0 CALL push_gset2
(0104) }
(0105) }
(0106)
(0107) void lcdcls(void) //图形方式下清屏
(0108) {
(0109) unsigned char i,j;
(0110) for(i=0;i<32;i++)
013F 2744 CLR R20
0140 C016 RJMP 0x0157
(0111) {
(0112) {write(0,0x80+i);delaynms(10);write(0,0x80);}
0141 2F24 MOV R18,R20
0142 5820 SUBI R18,0x80
0143 2700 CLR R16
0144 DF8C RCALL _write
0145 E00A LDI R16,0xA
0146 E010 LDI R17,0
0147 DF53 RCALL _delaynms
0148 E820 LDI R18,0x80
0149 2700 CLR R16
014A DF86 RCALL _write
(0113) for(j=0;j<16;j++){ write(1,0x00);delaynms(10);}
014B 2766 CLR R22
014C C007 RJMP 0x0154
014D 2722 CLR R18
014E E001 LDI R16,1
014F DF81 RCALL _write
0150 E00A LDI R16,0xA
0151 E010 LDI R17,0
0152 DF48 RCALL _delaynms
0153 9563 INC R22
0154 3160 CPI R22,0x10
0155 F3B8 BCS 0x014D
0156 9543 INC R20
0157 3240 CPI R20,0x20
0158 F340 BCS 0x0141
(0114) }
(0115)
(0116) for(i=0;i<32;i++)
0159 2744 CLR R20
015A C016 RJMP 0x0171
(0117) {
(0118) {write(0,0x80+i);delaynms(10);write(0,0x88);}
015B 2F24 MOV R18,R20
015C 5820 SUBI R18,0x80
015D 2700 CLR R16
015E DF72 RCALL _write
015F E00A LDI R16,0xA
0160 E010 LDI R17,0
0161 DF39 RCALL _delaynms
0162 E828 LDI R18,0x88
0163 2700 CLR R16
0164 DF6C RCALL _write
(0119) for(j=0;j<16;j++) {write(1,0x00);delaynms(10);}
0165 2766 CLR R22
0166 C007 RJMP 0x016E
0167 2722 CLR R18
0168 E001 LDI R16,1
0169 DF67 RCALL _write
016A E00A LDI R16,0xA
016B E010 LDI R17,0
016C DF2E RCALL _delaynms
016D 9563 INC R22
016E 3160 CPI R22,0x10
016F F3B8 BCS 0x0167
0170 9543 INC R20
0171 3240 CPI R20,0x20
0172 F340 BCS 0x015B
0173 940E01D4 CALL pop_gset2
0175 9508 RET
(0120) }
(0121) }
(0122)
(0123) void main()
(0124) {
(0125) unsigned char i;
(0126) delaynms(1000);
_main:
i --> R20
0176 EE08 LDI R16,0xE8
0177 E013 LDI R17,3
0178 DF22 RCALL _delaynms
(0127) portini();
0179 DF1B RCALL _portini
(0128) lcdinit();
017A DF36 RCALL _lcdinit
(0129) LCD_ON;
017B 9897 CBI 0x12,7
017C C055 RJMP 0x01D2
(0130) while(1)
(0131) {
(0132) lcdtest();
017D DF92 RCALL _lcdtest
(0133) lcdcls();
017E DFBE RCALL _lcdcls
(0134) write(0,0x80); for(i=0;i<16;i++) write(1,ma[i]);
017F E820 LDI R18,0x80
0180 2700 CLR R16
0181 DF4F RCALL _write
0182 2744 CLR R20
0183 C00A RJMP 0x018E
0184 E680 LDI R24,0x60
0185 E090 LDI R25,0
0186 2FE4 MOV R30,R20
0187 27FF CLR R31
0188 0FE8 ADD R30,R24
0189 1FF9 ADC R31,R25
018A 8120 LDD R18,Z+0
018B E001 LDI R16,1
018C DF44 RCALL _write
018D 9543 INC R20
018E 3140 CPI R20,0x10
018F F3A0 BCS 0x0184
(0135) delaynms(10);
0190 E00A LDI R16,0xA
0191 E010 LDI R17,0
0192 DF08 RCALL _delaynms
(0136) write(0,0x90); for(i=0;i<16;i++) write(1,ma2[i]);
0193 E920 LDI R18,0x90
0194 2700 CLR R16
0195 DF3B RCALL _write
0196 2744 CLR R20
0197 C00A RJMP 0x01A2
0198 E584 LDI R24,0x54
0199 E090 LDI R25,0
019A 2FE4 MOV R30,R20
019B 27FF CLR R31
019C 0FE8 ADD R30,R24
019D 1FF9 ADC R31,R25
019E 9124 LPM R18,0(Z)
019F E001 LDI R16,1
01A0 DF30 RCALL _write
01A1 9543 INC R20
01A2 3140 CPI R20,0x10
01A3 F3A0 BCS 0x0198
(0137) delaynms(10);
01A4 E00A LDI R16,0xA
01A5 E010 LDI R17,0
01A6 DEF4 RCALL _delaynms
(0138) write(0,0x88); for(i=0;i<16;i++) write(1,ma3[i]);
01A7 E828 LDI R18,0x88
01A8 2700 CLR R16
01A9 DF27 RCALL _write
01AA 2744 CLR R20
01AB C00A RJMP 0x01B6
01AC E685 LDI R24,0x65
01AD E090 LDI R25,0
01AE 2FE4 MOV R30,R20
01AF 27FF CLR R31
01B0 0FE8 ADD R30,R24
01B1 1FF9 ADC R31,R25
01B2 9124 LPM R18,0(Z)
01B3 E001 LDI R16,1
01B4 DF1C RCALL _write
01B5 9543 INC R20
01B6 3140 CPI R20,0x10
01B7 F3A0 BCS 0x01AC
(0139) delaynms(10);
01B8 E00A LDI R16,0xA
01B9 E010 LDI R17,0
01BA DEE0 RCALL _delaynms
(0140) write(0,0x98); for(i=0;i<16;i++) write(1,ma4[i]);
01BB E928 LDI R18,0x98
01BC 2700 CLR R16
01BD DF13 RCALL _write
01BE 2744 CLR R20
01BF C00A RJMP 0x01CA
01C0 E786 LDI R24,0x76
01C1 E090 LDI R25,0
01C2 2FE4 MOV R30,R20
01C3 27FF CLR R31
01C4 0FE8 ADD R30,R24
01C5 1FF9 ADC R31,R25
01C6 9124 LPM R18,0(Z)
01C7 E001 LDI R16,1
01C8 DF08 RCALL _write
01C9 9543 INC R20
01CA 3140 CPI R20,0x10
01CB F3A0 BCS 0x01C0
(0141) delaynms(10);
01CC E00A LDI R16,0xA
01CD E010 LDI R17,0
01CE DECC RCALL _delaynms
(0142) write(0,0x36); //图形方式
FILE: <library>
01CF E326 LDI R18,0x36
01D0 2700 CLR R16
01D1 DEFF RCALL _write
01D2 CFAA RJMP 0x017D
01D3 9508 RET
pop_gset2:
01D4 E0E2 LDI R30,2
01D5 940C01E6 JMP pop
pop_gset3:
01D7 E0E4 LDI R30,4
01D8 940C01E6 JMP pop
push_gset5:
01DA 92FA ST R15,-Y
01DB 92EA ST R14,-Y
push_gset4:
01DC 92DA ST R13,-Y
01DD 92CA ST R12,-Y
push_gset3:
01DE 92BA ST R11,-Y
01DF 92AA ST R10,-Y
push_gset2:
01E0 937A ST R23,-Y
01E1 936A ST R22,-Y
push_gset1:
01E2 935A ST R21,-Y
01E3 934A ST R20,-Y
01E4 9508 RET
pop_gset1:
01E5 E0E1 LDI R30,1
pop:
01E6 9149 LD R20,Y+
01E7 9159 LD R21,Y+
01E8 FDE0 SBRC R30,0
01E9 9508 RET
01EA 9169 LD R22,Y+
01EB 9179 LD R23,Y+
01EC FDE1 SBRC R30,1
01ED 9508 RET
01EE 90A9 LD R10,Y+
01EF 90B9 LD R11,Y+
01F0 FDE2 SBRC R30,2
01F1 9508 RET
01F2 90C9 LD R12,Y+
01F3 90D9 LD R13,Y+
01F4 FDE3 SBRC R30,3
01F5 9508 RET
01F6 90E9 LD R14,Y+
01F7 90F9 LD R15,Y+
01F8 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -