📄 lcdexper.lis
字号:
01B2 ;
01B2 ; //***************清除“文字”函数**********************/
01B2 ; void LcmClearTXT( void )
01B2 ; {
01B2 .dbline 164
01B2 ; unsigned char i;
01B2 ; Write_Command(0x30);
01B2 00E3 ldi R16,48
01B4 52DF xcall _Write_Command
01B6 .dbline 165
01B6 ; Write_Command(0x80);
01B6 00E8 ldi R16,128
01B8 50DF xcall _Write_Command
01BA .dbline 166
01BA ; for(i=0;i<64;i++)
01BA 4427 clr R20
01BC 03C0 xjmp L49
01BE L46:
01BE .dbline 167
01BE ; Write_Data(0x20);
01BE 00E2 ldi R16,32
01C0 5FDF xcall _Write_Data
01C2 L47:
01C2 .dbline 166
01C2 4395 inc R20
01C4 L49:
01C4 .dbline 166
01C4 4034 cpi R20,64
01C6 D8F3 brlo L46
01C8 X12:
01C8 .dbline -2
01C8 L45:
01C8 .dbline 0 ; func end
01C8 4991 ld R20,y+
01CA 0895 ret
01CC .dbsym r i 20 c
01CC .dbend
01CC .dbfunc e LcmClearBMP _LcmClearBMP fV
01CC ; i -> R20
01CC ; j -> R22
.even
01CC _LcmClearBMP::
01CC 4A93 st -y,R20
01CE 6A93 st -y,R22
01D0 .dbline -1
01D0 .dbline 171
01D0 ; }
01D0 ;
01D0 ; void LcmClearBMP( void )
01D0 ; {
01D0 .dbline 173
01D0 ; unsigned char i,j;
01D0 ; Write_Command(0x34);
01D0 04E3 ldi R16,52
01D2 43DF xcall _Write_Command
01D4 .dbline 174
01D4 ; Write_Command(0x36);
01D4 06E3 ldi R16,54
01D6 41DF xcall _Write_Command
01D8 .dbline 175
01D8 ; for(i=0;i<32;i++)
01D8 4427 clr R20
01DA 0DC0 xjmp L54
01DC L51:
01DC .dbline 176
01DC ; {
01DC .dbline 177
01DC ; Write_Command(0x80|i);
01DC 042F mov R16,R20
01DE 0068 ori R16,128
01E0 3CDF xcall _Write_Command
01E2 .dbline 178
01E2 ; Write_Command(0x80);
01E2 00E8 ldi R16,128
01E4 3ADF xcall _Write_Command
01E6 .dbline 179
01E6 ; for(j=0;j<32;j++)
01E6 6627 clr R22
01E8 03C0 xjmp L58
01EA L55:
01EA .dbline 180
01EA ; Write_Data(0);
01EA 0027 clr R16
01EC 49DF xcall _Write_Data
01EE L56:
01EE .dbline 179
01EE 6395 inc R22
01F0 L58:
01F0 .dbline 179
01F0 6032 cpi R22,32
01F2 D8F3 brlo L55
01F4 X13:
01F4 .dbline 181
01F4 ; }
01F4 L52:
01F4 .dbline 175
01F4 4395 inc R20
01F6 L54:
01F6 .dbline 175
01F6 4032 cpi R20,32
01F8 88F3 brlo L51
01FA X14:
01FA .dbline -2
01FA L50:
01FA .dbline 0 ; func end
01FA 6991 ld R22,y+
01FC 4991 ld R20,y+
01FE 0895 ret
0200 .dbsym r i 20 c
0200 .dbsym r j 22 c
0200 .dbend
0200 .dbfunc e PutBMP _PutBMP fV
0200 ; i -> R22
0200 ; y -> R14,R15
0200 ; x -> R20,R21
0200 ; j -> R12
0200 ; puts -> R10,R11
.even
0200 _PutBMP::
0200 0E940000 xcall push_xgsetF0FC
0204 5801 movw R10,R16
0206 .dbline -1
0206 .dbline 184
0206 ; }
0206 ; void PutBMP(unsigned flash char *puts)
0206 ; {
0206 .dbline 185
0206 ; unsigned int x=0,y=0;
0206 4427 clr R20
0208 5527 clr R21
020A .dbline 185
020A EE24 clr R14
020C FF24 clr R15
020E .dbline 187
020E ; unsigned char i,j;
020E ; Write_Command(0x34);
020E 04E3 ldi R16,52
0210 24DF xcall _Write_Command
0212 .dbline 188
0212 ; Write_Command(0x36);
0212 06E3 ldi R16,54
0214 22DF xcall _Write_Command
0216 .dbline 189
0216 ; for(i=0;i<32;i++)
0216 6627 clr R22
0218 26C0 xjmp L63
021A L60:
021A .dbline 190
021A ; {
021A .dbline 191
021A ; Write_Command(0x80|i);
021A 062F mov R16,R22
021C 0068 ori R16,128
021E 1DDF xcall _Write_Command
0220 .dbline 192
0220 ; Write_Command(0x80);
0220 00E8 ldi R16,128
0222 1BDF xcall _Write_Command
0224 .dbline 193
0224 ; for(j=0;j<16;j++)
0224 CC24 clr R12
0226 08C0 xjmp L67
0228 L64:
0228 .dbline 194
0228 ; {
0228 .dbline 195
0228 ; Write_Data(puts[x]);
0228 FA01 movw R30,R20
022A EA0D add R30,R10
022C FB1D adc R31,R11
022E 0691 elpm R16,Z
0230 27DF xcall _Write_Data
0232 .dbline 196
0232 ; x++;
0232 4F5F subi R20,255 ; offset = 1
0234 5F4F sbci R21,255
0236 .dbline 197
0236 ; }
0236 L65:
0236 .dbline 193
0236 C394 inc R12
0238 L67:
0238 .dbline 193
0238 8C2D mov R24,R12
023A 8031 cpi R24,16
023C A8F3 brlo L64
023E X15:
023E .dbline 198
023E ; y=x-16;
023E CA01 movw R24,R20
0240 4097 sbiw R24,16
0242 7C01 movw R14,R24
0244 .dbline 199
0244 ; for(j=0;j<16;j++)
0244 CC24 clr R12
0246 0BC0 xjmp L71
0248 L68:
0248 .dbline 200
0248 ; {
0248 .dbline 201
0248 ; Write_Data(puts[y+512]);
0248 F701 movw R30,R14
024A E050 subi R30,0 ; offset = 512
024C FE4F sbci R31,254
024E EA0D add R30,R10
0250 FB1D adc R31,R11
0252 0691 elpm R16,Z
0254 15DF xcall _Write_Data
0256 .dbline 202
0256 ; y++;
0256 C701 movw R24,R14
0258 0196 adiw R24,1
025A 7C01 movw R14,R24
025C .dbline 203
025C ; }
025C L69:
025C .dbline 199
025C C394 inc R12
025E L71:
025E .dbline 199
025E 8C2D mov R24,R12
0260 8031 cpi R24,16
0262 90F3 brlo L68
0264 X16:
0264 .dbline 204
0264 ; }
0264 L61:
0264 .dbline 189
0264 6395 inc R22
0266 L63:
0266 .dbline 189
0266 6032 cpi R22,32
0268 C0F2 brlo L60
026A X17:
026A .dbline -2
026A L59:
026A .dbline 0 ; func end
026A 0C940000 xjmp pop_xgsetF0FC
026E .dbsym r i 22 c
026E .dbsym r y 14 i
026E .dbsym r x 20 i
026E .dbsym r j 12 c
026E .dbsym r puts 10 pkc
026E .dbend
026E .dbfunc e StartView _StartView fV
.even
026E _StartView::
026E 2297 sbiw R28,2
0270 .dbline -1
0270 .dbline 209
0270 ; }
0270 ;
0270 ; //*******************显示初始界面******************************/
0270 ; void StartView(void)
0270 ; {
0270 .dbline 210
0270 ; Write_String_atXY(0,1,Chanping1);
0270 80E0 ldi R24,<_Chanping1
0272 90E0 ldi R25,>_Chanping1
0274 9983 std y+1,R25
0276 8883 std y+0,R24
0278 21E0 ldi R18,1
027A 0027 clr R16
027C 72DF xcall _Write_String_atXY
027E .dbline 211
027E ; delay_ms(3000);
027E 08EB ldi R16,3000
0280 1BE0 ldi R17,11
0282 CBDE xcall _delay_ms
0284 .dbline -2
0284 L72:
0284 .dbline 0 ; func end
0284 2296 adiw R28,2
0286 0895 ret
0288 .dbend
.area lit(rom, con, rel)
0045 _bmp8::
0045 0000 .byte 0,0
0047 0000 .byte 0,0
0049 0000 .byte 0,0
004B 0000 .byte 0,0
004D 0000 .byte 0,0
004F 0000 .byte 0,0
0051 0000 .byte 0,0
0053 0000 .byte 0,0
0055 0000 .byte 0,0
0057 0000 .byte 0,0
0059 0000 .byte 0,0
005B 4000 .byte 64,0
005D 0000 .byte 0,0
005F 0000 .byte 0,0
0061 0000 .byte 0,0
0063 0000 .byte 0,0
0065 0000 .byte 0,0
0067 0000 .byte 0,0
0069 0000 .byte 0,0
006B C000 .byte 192,0
006D 0000 .byte 0,0
006F 0000 .byte 0,0
0071 0000 .byte 0,0
0073 0000 .byte 0,0
0075 0000 .byte 0,0
0077 0000 .byte 0,0
0079 0003 .byte 0,3
007B C000 .byte 192,0
007D 0000 .byte 0,0
007F 0000 .byte 0,0
0081 0000 .byte 0,0
0083 0000 .byte 0,0
0085 0000 .byte 0,0
0087 0000 .byte 0,0
0089 0007 .byte 0,7
008B 8000 .byte 128,0
008D 0000 .byte 0,0
008F 0000 .byte 0,0
0091 0000 .byte 0,0
0093 0000 .byte 0,0
0095 0000 .byte 0,0
0097 0000 .byte 0,0
0099 0007 .byte 0,7
009B 0000 .byte 0,0
009D 0000 .byte 0,0
009F 0000 .byte 0,0
00A1 0000 .byte 0,0
00A3 0000 .byte 0,0
00A5 0000 .byte 0,0
00A7 0000 .byte 0,0
00A9 0007 .byte 0,7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -