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