📄 12864.lis
字号:
01DC 02C0 xjmp L57
01DE L56:
01DE .dbline 141
01DE ; else
01DE ; {SID_CLE;}
01DE .dbline 141
01DE 149A sbi 0x2,4
01E0 .dbline 141
01E0 1C98 cbi 0x3,4
01E2 .dbline 141
01E2 L57:
01E2 .dbline 142
01E2 ; delay_us(1);
01E2 01E0 ldi R16,1
01E4 10E0 ldi R17,0
01E6 21DF xcall _delay_us
01E8 .dbline 143
01E8 ; SCLK_SET;//时钟总线拉高,数据传送给显示屏
01E8 159A sbi 0x2,5
01EA .dbline 143
01EA 1D9A sbi 0x3,5
01EC .dbline 144
01EC ; delay_us(10);
01EC 0AE0 ldi R16,10
01EE 10E0 ldi R17,0
01F0 1CDF xcall _delay_us
01F2 .dbline 145
01F2 ; SCLK_CLE;
01F2 159A sbi 0x2,5
01F4 .dbline 145
01F4 1D98 cbi 0x3,5
01F6 .dbline 146
01F6 ; delay_us(3);
01F6 03E0 ldi R16,3
01F8 10E0 ldi R17,0
01FA 17DF xcall _delay_us
01FC .dbline 147
01FC ; date=date<<1;//高位先发
01FC 440F lsl R20
01FE .dbline 148
01FE ; }
01FE L53:
01FE .dbline 136
01FE 6395 inc R22
0200 L55:
0200 .dbline 136
0200 6830 cpi R22,8
0202 30F3 brlo L52
0204 X15:
0204 .dbline 149
0204 ; CS_CLE;
0204 139A sbi 0x2,3
0206 .dbline 149
0206 1B98 cbi 0x3,3
0208 .dbline 150
0208 ; delay_us(15);
0208 0FE0 ldi R16,15
020A 10E0 ldi R17,0
020C 0EDF xcall _delay_us
020E .dbline -2
020E L39:
020E .dbline 0 ; func end
020E 0C940000 xjmp pop_xgsetF00C
0212 .dbsym r i 22 c
0212 .dbsym r date 20 c
0212 .dbsym r dat 10 c
0212 .dbend
0212 .dbfunc e Lcd_putsachar _Lcd_putsachar fV
0212 ; dat -> R10
0212 ; y -> R20
0212 ; x -> R12
.even
0212 _Lcd_putsachar::
0212 0E940000 xcall push_xgsetF03C
0216 422F mov R20,R18
0218 C02E mov R12,R16
021A A884 ldd R10,y+8
021C .dbline -1
021C .dbline 155
021C ; }
021C ;
021C ; //在指定的位置显示一个字母
021C ; void Lcd_putsachar(unsigned char x,unsigned char y,unsigned char dat)
021C ; {
021C .dbline 156
021C ; switch(x)
021C 6C2D mov R22,R12
021E 7727 clr R23
0220 6030 cpi R22,0
0222 6707 cpc R22,R23
0224 69F0 breq L62
0226 X16:
0226 6130 cpi R22,1
0228 E0E0 ldi R30,0
022A 7E07 cpc R23,R30
022C 79F0 breq L63
022E X17:
022E 6230 cpi R22,2
0230 E0E0 ldi R30,0
0232 7E07 cpc R23,R30
0234 89F0 breq L64
0236 X18:
0236 6330 cpi R22,3
0238 E0E0 ldi R30,0
023A 7E07 cpc R23,R30
023C 99F0 breq L65
023E X19:
023E 17C0 xjmp L59
0240 L62:
0240 .dbline 159
0240 ; {
0240 ; case 0:
0240 ; Write_Command(0x80);
0240 00E8 ldi R16,128
0242 1BDF xcall _Write_Command
0244 .dbline 160
0244 ; Write_Command(0x80+y);
0244 042F mov R16,R20
0246 0058 subi R16,128 ; addi 128
0248 18DF xcall _Write_Command
024A .dbline 161
024A ; break;
024A 11C0 xjmp L60
024C L63:
024C .dbline 163
024C ; case 1:
024C ; Write_Command(0x90);
024C 00E9 ldi R16,144
024E 15DF xcall _Write_Command
0250 .dbline 164
0250 ; Write_Command(0x90+y);
0250 042F mov R16,R20
0252 0057 subi R16,112 ; addi 144
0254 12DF xcall _Write_Command
0256 .dbline 165
0256 ; break;
0256 0BC0 xjmp L60
0258 L64:
0258 .dbline 167
0258 ; case 2:
0258 ; Write_Command(0x88);
0258 08E8 ldi R16,136
025A 0FDF xcall _Write_Command
025C .dbline 168
025C ; Write_Command(0x88+y);
025C 042F mov R16,R20
025E 0857 subi R16,120 ; addi 136
0260 0CDF xcall _Write_Command
0262 .dbline 169
0262 ; break;
0262 05C0 xjmp L60
0264 L65:
0264 .dbline 171
0264 ; case 3:
0264 ; Write_Command(0x98);
0264 08E9 ldi R16,152
0266 09DF xcall _Write_Command
0268 .dbline 172
0268 ; Write_Command(0x98+y);
0268 042F mov R16,R20
026A 0856 subi R16,104 ; addi 152
026C 06DF xcall _Write_Command
026E .dbline 173
026E ; break;
026E L59:
026E L60:
026E .dbline 175
026E ; }
026E ; Write_one_char(dat);//写数据
026E 0A2D mov R16,R10
0270 6ADF xcall _Write_one_char
0272 .dbline -2
0272 L58:
0272 .dbline 0 ; func end
0272 0C940000 xjmp pop_xgsetF03C
0276 .dbsym r dat 10 c
0276 .dbsym r y 20 c
0276 .dbsym r x 12 c
0276 .dbend
0276 .dbfunc e Lcd_puts_any _Lcd_puts_any fV
0276 ; i -> R10
0276 ; p -> R12,R13
0276 ; y -> R20
0276 ; x -> R14
.even
0276 _Lcd_puts_any::
0276 0E940000 xcall push_xgsetF0FC
027A 422F mov R20,R18
027C E02E mov R14,R16
027E CA84 ldd R12,y+10
0280 DB84 ldd R13,y+11
0282 .dbline -1
0282 .dbline 179
0282 ; }
0282 ; //从指定的位置开始显示汉字或字符
0282 ; void Lcd_puts_any(unsigned char x,unsigned char y,unsigned char *p)
0282 ; {
0282 .dbline 180
0282 ; unsigned char i=0;
0282 AA24 clr R10
0284 .dbline 181
0284 ; switch(x)
0284 6E2D mov R22,R14
0286 7727 clr R23
0288 6030 cpi R22,0
028A 6707 cpc R22,R23
028C 69F0 breq L70
028E X20:
028E 6130 cpi R22,1
0290 E0E0 ldi R30,0
0292 7E07 cpc R23,R30
0294 79F0 breq L71
0296 X21:
0296 6230 cpi R22,2
0298 E0E0 ldi R30,0
029A 7E07 cpc R23,R30
029C 89F0 breq L72
029E X22:
029E 6330 cpi R22,3
02A0 E0E0 ldi R30,0
02A2 7E07 cpc R23,R30
02A4 99F0 breq L73
02A6 X23:
02A6 17C0 xjmp L67
02A8 L70:
02A8 .dbline 184
02A8 ; {
02A8 ; case 0:
02A8 ; Write_Command(0x80);
02A8 00E8 ldi R16,128
02AA E7DE xcall _Write_Command
02AC .dbline 185
02AC ; Write_Command(0x80+y);
02AC 042F mov R16,R20
02AE 0058 subi R16,128 ; addi 128
02B0 E4DE xcall _Write_Command
02B2 .dbline 186
02B2 ; break;
02B2 11C0 xjmp L68
02B4 L71:
02B4 .dbline 188
02B4 ; case 1:
02B4 ; Write_Command(0x90);
02B4 00E9 ldi R16,144
02B6 E1DE xcall _Write_Command
02B8 .dbline 189
02B8 ; Write_Command(0x90+y);
02B8 042F mov R16,R20
02BA 0057 subi R16,112 ; addi 144
02BC DEDE xcall _Write_Command
02BE .dbline 190
02BE ; break;
02BE 0BC0 xjmp L68
02C0 L72:
02C0 .dbline 192
02C0 ; case 2:
02C0 ; Write_Command(0x88);
02C0 08E8 ldi R16,136
02C2 DBDE xcall _Write_Command
02C4 .dbline 193
02C4 ; Write_Command(0x88+y);
02C4 042F mov R16,R20
02C6 0857 subi R16,120 ; addi 136
02C8 D8DE xcall _Write_Command
02CA .dbline 194
02CA ; break;
02CA 05C0 xjmp L68
02CC L73:
02CC .dbline 196
02CC ; case 3:
02CC ; Write_Command(0x98);
02CC 08E9 ldi R16,152
02CE D5DE xcall _Write_Command
02D0 .dbline 197
02D0 ; Write_Command(0x98+y);
02D0 042F mov R16,R20
02D2 0856 subi R16,104 ; addi 152
02D4 D2DE xcall _Write_Command
02D6 .dbline 198
02D6 ; break;
02D6 L67:
02D6 L68:
02D6 .dbline 200
02D6 ; }
02D6 ; for(i=0;p[i]!='\0';i++)
02D6 AA24 clr R10
02D8 07C0 xjmp L77
02DA L74:
02DA .dbline 201
02DA ; {
02DA .dbline 202
02DA ; Write_one_char(p[i]);
02DA EA2D mov R30,R10
02DC FF27 clr R31
02DE EC0D add R30,R12
02E0 FD1D adc R31,R13
02E2 0081 ldd R16,z+0
02E4 30DF xcall _Write_one_char
02E6 .dbline 203
02E6 ; }
02E6 L75:
02E6 .dbline 200
02E6 A394 inc R10
02E8 L77:
02E8 .dbline 200
02E8 EA2D mov R30,R10
02EA FF27 clr R31
02EC EC0D add R30,R12
02EE FD1D adc R31,R13
02F0 2080 ldd R2,z+0
02F2 2220 tst R2
02F4 91F7 brne L74
02F6 X24:
02F6 .dbline -2
02F6 L66:
02F6 .dbline 0 ; func end
02F6 0C940000 xjmp pop_xgsetF0FC
02FA .dbsym r i 10 c
02FA .dbsym r p 12 pc
02FA .dbsym r y 20 c
02FA .dbsym r x 14 c
02FA .dbend
02FA ; }
02FA ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -