?? lcd6610.lis
字號(hào):
01E4 .dbline -1
01E4 .dbline 250
01E4 ; /***********用底色清屏******************/
01E4 ; void lcd_clr(void)
01E4 ; {
01E4 .dbline 252
01E4 ; unsigned int count;
01E4 ; clr_lcd_cs; //enable lcd
01E4 C398 cbi 0x18,3
01E6 .dbline 253
01E6 ; lcd_x=0;
01E6 2224 clr R2
01E8 20920100 sts _lcd_x,R2
01EC .dbline 254
01EC ; lcd_y=0;
01EC 20920000 sts _lcd_y,R2
01F0 .dbline 255
01F0 ; lcd_window(0x00,0x00,0x82,0x83);
01F0 83E8 ldi R24,131
01F2 8A83 std y+2,R24
01F4 82E8 ldi R24,130
01F6 8883 std y+0,R24
01F8 2227 clr R18
01FA 0027 clr R16
01FC C2DF xcall _lcd_window
01FE .dbline 256
01FE ; LCD_write(LCD_CMD_RAMWR,0);
01FE 2227 clr R18
0200 0CE2 ldi R16,44
0202 FEDE xcall _LCD_write
0204 .dbline 257
0204 ; for (count=0;count<18000;count++)
0204 4427 clr R20
0206 5527 clr R21
0208 06C0 xjmp L29
020A L26:
020A .dbline 258
020A .dbline 259
020A 21E0 ldi R18,1
020C 00910300 lds R16,_lcd_bkg_color
0210 F7DE xcall _LCD_write
0212 .dbline 260
0212 L27:
0212 .dbline 257
0212 4F5F subi R20,255 ; offset = 1
0214 5F4F sbci R21,255
0216 L29:
0216 .dbline 257
0216 4035 cpi R20,80
0218 E6E4 ldi R30,70
021A 5E07 cpc R21,R30
021C B0F3 brlo L26
021E .dbline 261
021E ; {
021E ; LCD_write(lcd_bkg_color,1);
021E ; }
021E ; set_lcd_cs; //disable lcd
021E C39A sbi 0x18,3
0220 .dbline -2
0220 .dbline 262
0220 ; }
0220 L25:
0220 2396 adiw R28,3
0222 0E940000 xcall pop_gset1
0226 .dbline 0 ; func end
0226 0895 ret
0228 .dbsym r count 20 i
0228 .dbend
0228 .dbfunc e lcd_bar _lcd_bar fV
0228 ; count -> R20,R21
0228 ; fillcol -> R22
0228 ; bkgcol -> R10
0228 ; val -> R12
0228 ; len -> R14
.even
0228 _lcd_bar::
0228 0E940000 xcall push_gset5
022C C22E mov R12,R18
022E E02E mov R14,R16
0230 2397 sbiw R28,3
0232 AD84 ldd R10,y+13
0234 6F85 ldd R22,y+15
0236 .dbline -1
0236 .dbline 265
0236 ; /**********顯示一個(gè)進(jìn)度條****粗=14點(diǎn)************/
0236 ; void lcd_bar(unsigned char len,unsigned char val,unsigned char bkgcol,unsigned char fillcol)
0236 ; {
0236 .dbline 267
0236 ; unsigned int count;
0236 ; clr_lcd_cs; //enable lcd
0236 C398 cbi 0x18,3
0238 .dbline 268
0238 ; LCD_write(LCD_CMD_MADCTL,0);
0238 2227 clr R18
023A 06E3 ldi R16,54
023C E1DE xcall _LCD_write
023E .dbline 269
023E ; LCD_write(MADCTL_VERT,1);
023E 21E0 ldi R18,1
0240 08E6 ldi R16,104
0242 DEDE xcall _LCD_write
0244 .dbline 270
0244 ; lcd_window(lcd_x,lcd_y,lcd_x+len+1,lcd_y+13);
0244 80910000 lds R24,_lcd_y
0248 835F subi R24,243 ; addi 13
024A 8A83 std y+2,R24
024C 80910100 lds R24,_lcd_x
0250 8E0D add R24,R14
0252 8F5F subi R24,255 ; addi 1
0254 8883 std y+0,R24
0256 20910000 lds R18,_lcd_y
025A 00910100 lds R16,_lcd_x
025E 91DF xcall _lcd_window
0260 .dbline 271
0260 ; LCD_write(LCD_CMD_RAMWR,0);
0260 2227 clr R18
0262 0CE2 ldi R16,44
0264 CDDE xcall _LCD_write
0266 .dbline 272
0266 ; for (count=0;count<14;count++)
0266 4427 clr R20
0268 5527 clr R21
026A 05C0 xjmp L34
026C L31:
026C .dbline 273
026C .dbline 274
026C 21E0 ldi R18,1
026E 0027 clr R16
0270 C7DE xcall _LCD_write
0272 .dbline 275
0272 L32:
0272 .dbline 272
0272 4F5F subi R20,255 ; offset = 1
0274 5F4F sbci R21,255
0276 L34:
0276 .dbline 272
0276 4E30 cpi R20,14
0278 E0E0 ldi R30,0
027A 5E07 cpc R21,R30
027C B8F3 brlo L31
027E .dbline 276
027E ; {
027E ; LCD_write(0,1);
027E ; }
027E ; for (count=0;count<val*14;count++)
027E 4427 clr R20
0280 5527 clr R21
0282 05C0 xjmp L38
0284 L35:
0284 .dbline 277
0284 .dbline 278
0284 21E0 ldi R18,1
0286 062F mov R16,R22
0288 BBDE xcall _LCD_write
028A .dbline 279
028A L36:
028A .dbline 276
028A 4F5F subi R20,255 ; offset = 1
028C 5F4F sbci R21,255
028E L38:
028E .dbline 276
028E 8EE0 ldi R24,14
0290 8C9D mul R24,R12
0292 4015 cp R20,R0
0294 5105 cpc R21,R1
0296 B0F3 brlo L35
0298 .dbline 280
0298 ; {
0298 ; LCD_write(fillcol,1);
0298 ; }
0298 ; for (count=0;count<(len-val)*14;count++)
0298 4427 clr R20
029A 5527 clr R21
029C 05C0 xjmp L42
029E L39:
029E .dbline 281
029E .dbline 282
029E 21E0 ldi R18,1
02A0 0A2D mov R16,R10
02A2 AEDE xcall _LCD_write
02A4 .dbline 283
02A4 L40:
02A4 .dbline 280
02A4 4F5F subi R20,255 ; offset = 1
02A6 5F4F sbci R21,255
02A8 L42:
02A8 .dbline 280
02A8 2E2C mov R2,R14
02AA 2C18 sub R2,R12
02AC 8EE0 ldi R24,14
02AE 829D mul R24,R2
02B0 4015 cp R20,R0
02B2 5105 cpc R21,R1
02B4 A0F3 brlo L39
02B6 .dbline 284
02B6 ; {
02B6 ; LCD_write(bkgcol,1);
02B6 ; }
02B6 ; for (count=0;count<14;count++)
02B6 4427 clr R20
02B8 5527 clr R21
02BA 05C0 xjmp L46
02BC L43:
02BC .dbline 285
02BC .dbline 286
02BC 21E0 ldi R18,1
02BE 0027 clr R16
02C0 9FDE xcall _LCD_write
02C2 .dbline 287
02C2 L44:
02C2 .dbline 284
02C2 4F5F subi R20,255 ; offset = 1
02C4 5F4F sbci R21,255
02C6 L46:
02C6 .dbline 284
02C6 4E30 cpi R20,14
02C8 E0E0 ldi R30,0
02CA 5E07 cpc R21,R30
02CC B8F3 brlo L43
02CE .dbline 288
02CE ; {
02CE ; LCD_write(0,1);
02CE ; }
02CE ; LCD_write(LCD_CMD_MADCTL,0);
02CE 2227 clr R18
02D0 06E3 ldi R16,54
02D2 96DE xcall _LCD_write
02D4 .dbline 289
02D4 ; LCD_write(MADCTL_HORIZ,1);
02D4 21E0 ldi R18,1
02D6 08E4 ldi R16,72
02D8 93DE xcall _LCD_write
02DA .dbline 290
02DA ; set_lcd_cs; //disable lcd
02DA C39A sbi 0x18,3
02DC .dbline -2
02DC .dbline 291
02DC ; }
02DC L30:
02DC 2396 adiw R28,3
02DE 0E940000 xcall pop_gset5
02E2 .dbline 0 ; func end
02E2 0895 ret
02E4 .dbsym r count 20 i
02E4 .dbsym r fillcol 22 c
02E4 .dbsym r bkgcol 10 c
02E4 .dbsym r val 12 c
02E4 .dbsym r len 14 c
02E4 .dbend
02E4 .dbfunc e lcd_ascii _lcd_ascii fV
02E4 ; count -> R20,R21
02E4 ; len -> R22
02E4 ; s -> R10,R11
.even
02E4 _lcd_ascii::
02E4 0E940000 xcall push_gset3
02E8 622F mov R22,R18
02EA 5801 movw R10,R16
02EC 2397 sbiw R28,3
02EE .dbline -1
02EE .dbline 294
02EE ; /**********顯示一個(gè)8x8點(diǎn)ascii***********/
02EE ; void lcd_ascii(char *s,unsigned char len)
02EE ; {
02EE .dbline 296
02EE ; unsigned int count;
02EE ; lcd_window(lcd_x,lcd_y,lcd_x+len*16-1,lcd_y+15);
02EE 80910000 lds R24,_lcd_y
02F2 815F subi R24,241 ; addi 15
02F4 8A83 std y+2,R24
02F6 80E1 ldi R24,16
02F8 869F mul R24,R22
02FA 80910100 lds R24,_lcd_x
02FE 800D add R24,R0
0300 8150 subi R24,1
0302 8883 std y+0,R24
0304 20910000 lds R18,_lcd_y
0308 00910100 lds R16,_lcd_x
030C 3ADF xcall _lcd_window
030E .dbline 297
030E ; LCD_write(LCD_CMD_RAMWR,0);
030E 2227 clr R18
0310 0CE2 ldi R16,44
0312 76DE xcall _LCD_write
0314 .dbline 298
0314 ; for (count=0;count<len*32;count++)
0314 4427 clr R20
0316 5527 clr R21
0318 7AC0 xjmp L51
031A L48:
031A .dbline 299
031A ; {
031A .dbline 300
031A ; if (s[count]&0x1) LCD_write(lcd_text_color,1); //high 8 bit
031A FA01 movw R30,R20
031C EA0D add R30,R10
031E FB1D adc R31,R11
0320 2080 ldd R2,z+0
0322 20FE sbrs R2,0
0324 05C0 rjmp L52
0326 .dbline 300
0326 21E0 ldi R18,1
0328 00910200 lds R16,_lcd_text_color
032C 69DE xcall _LCD_write
032E 04C0 xjmp L53
0330 L52:
0330 .dbline 301
0330 ; else LCD_write(lcd_bkg_color,1);
0330 21E0 ldi R18,1
0332 00910300 lds R16,_lcd_bkg_color
0336 64DE xcall _LCD_write
0338 L53:
0338 .dbline 302
0338 ; if (s[count]&0x2) LCD_write(lcd_text_color,1);
0338 FA01 movw R30,R20
033A EA0D add R30,R10
033C FB1D adc R31,R11
033E 2080 ldd R2,z+0
0340 21FE sbrs R2,1
0342 05C0 rjmp L54
0344 .dbline 302
0344 21E0 l
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -