⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mp3_7210.lst

📁 你熟悉QT吗?Linux系统上领先的GUI
💻 LST
📖 第 1 页 / 共 5 页
字号:
    02F8 182C      SUB	R2,R12
    02F9 E08E      LDI	R24,0xE
    02FA 9D82      MUL	R24,R2
    02FB 1540      CP	R20,R0
    02FC 0551      CPC	R21,R1
    02FD F3A0      BCS	0x02F2
(0283) 		  }		  
(0284) 	  for (count=0;count<14;count++)
    02FE 2744      CLR	R20
    02FF 2755      CLR	R21
    0300 C005      RJMP	0x0306
(0285) 	  	  {
(0286) 		   LCD_write(0,1);
    0301 E021      LDI	R18,1
    0302 2700      CLR	R16
    0303 DE9F      RCALL	_LCD_write
    0304 5F4F      SUBI	R20,0xFF
    0305 4F5F      SBCI	R21,0xFF
    0306 304E      CPI	R20,0xE
    0307 E0E0      LDI	R30,0
    0308 075E      CPC	R21,R30
    0309 F3B8      BCS	0x0301
(0287) 		  }	  
(0288)       LCD_write(LCD_CMD_MADCTL,0);
    030A 2722      CLR	R18
    030B E306      LDI	R16,0x36
    030C DE96      RCALL	_LCD_write
(0289) 	  LCD_write(MADCTL_HORIZ,1);	  
    030D E021      LDI	R18,1
    030E E408      LDI	R16,0x48
    030F DE93      RCALL	_LCD_write
(0290) 	 set_lcd_cs;          //disable lcd		  
    0310 9AC3      SBI	0x18,3
(0291) 	 }
    0311 9623      ADIW	R28,3
    0312 940E05FB  CALL	pop_gset5
    0314 9508      RET
_lcd_ascii:
  count                --> R20
  len                  --> R22
  s                    --> R10
    0315 940E0619  CALL	push_gset3
    0317 2F62      MOV	R22,R18
    0318 0158      MOVW	R10,R16
    0319 9723      SBIW	R28,3
(0292) /**********显示一个8x8点ascii***********/
(0293) void lcd_ascii(char *s,unsigned char len)
(0294) 	 {
(0295) 	  unsigned int count;	 
(0296) 	  lcd_window(lcd_x,lcd_y,lcd_x+len*16-1,lcd_y+15);
    031A 91800162  LDS	R24,_lcd_y
    031C 5F81      SUBI	R24,0xF1
    031D 838A      STD	Y+2,R24
    031E E180      LDI	R24,0x10
    031F 9F86      MUL	R24,R22
    0320 91800163  LDS	R24,_lcd_x
    0322 0D80      ADD	R24,R0
    0323 5081      SUBI	R24,1
    0324 8388      STD	Y+0,R24
    0325 91200162  LDS	R18,_lcd_y
    0327 91000163  LDS	R16,_lcd_x
    0329 DF3A      RCALL	_lcd_window
(0297) 	  LCD_write(LCD_CMD_RAMWR,0);
    032A 2722      CLR	R18
    032B E20C      LDI	R16,0x2C
    032C DE76      RCALL	_LCD_write
(0298) 	  for (count=0;count<len*32;count++)	
    032D 2744      CLR	R20
    032E 2755      CLR	R21
    032F C07A      RJMP	0x03AA
(0299) 	  	  {
(0300) 		   if (s[count]&0x1)  LCD_write(lcd_text_color,1); //high 8 bit
    0330 01FA      MOVW	R30,R20
    0331 0DEA      ADD	R30,R10
    0332 1DFB      ADC	R31,R11
    0333 8020      LDD	R2,Z+0
    0334 FE20      SBRS	R2,0
    0335 C005      RJMP	0x033B
    0336 E021      LDI	R18,1
    0337 91000164  LDS	R16,_lcd_text_color
    0339 DE69      RCALL	_LCD_write
    033A C004      RJMP	0x033F
(0301) 	  	   else LCD_write(lcd_bkg_color,1);
    033B E021      LDI	R18,1
    033C 91000165  LDS	R16,_lcd_bkg_color
    033E DE64      RCALL	_LCD_write
(0302) 		   if (s[count]&0x2)  LCD_write(lcd_text_color,1); 
    033F 01FA      MOVW	R30,R20
    0340 0DEA      ADD	R30,R10
    0341 1DFB      ADC	R31,R11
    0342 8020      LDD	R2,Z+0
    0343 FE21      SBRS	R2,1
    0344 C005      RJMP	0x034A
    0345 E021      LDI	R18,1
    0346 91000164  LDS	R16,_lcd_text_color
    0348 DE5A      RCALL	_LCD_write
    0349 C004      RJMP	0x034E
(0303) 		   else LCD_write(lcd_bkg_color,1);
    034A E021      LDI	R18,1
    034B 91000165  LDS	R16,_lcd_bkg_color
    034D DE55      RCALL	_LCD_write
(0304) 	  	   if (s[count]&0x4)  LCD_write(lcd_text_color,1); 
    034E 01FA      MOVW	R30,R20
    034F 0DEA      ADD	R30,R10
    0350 1DFB      ADC	R31,R11
    0351 8020      LDD	R2,Z+0
    0352 FE22      SBRS	R2,2
    0353 C005      RJMP	0x0359
    0354 E021      LDI	R18,1
    0355 91000164  LDS	R16,_lcd_text_color
    0357 DE4B      RCALL	_LCD_write
    0358 C004      RJMP	0x035D
(0305) 		   else LCD_write(lcd_bkg_color,1);
    0359 E021      LDI	R18,1
    035A 91000165  LDS	R16,_lcd_bkg_color
    035C DE46      RCALL	_LCD_write
(0306) 	 	   if (s[count]&0x8)  LCD_write(lcd_text_color,1); 
    035D 01FA      MOVW	R30,R20
    035E 0DEA      ADD	R30,R10
    035F 1DFB      ADC	R31,R11
    0360 8020      LDD	R2,Z+0
    0361 FE23      SBRS	R2,3
    0362 C005      RJMP	0x0368
    0363 E021      LDI	R18,1
    0364 91000164  LDS	R16,_lcd_text_color
    0366 DE3C      RCALL	_LCD_write
    0367 C004      RJMP	0x036C
(0307) 		   else LCD_write(lcd_bkg_color,1);
    0368 E021      LDI	R18,1
    0369 91000165  LDS	R16,_lcd_bkg_color
    036B DE37      RCALL	_LCD_write
(0308) 	  	   if (s[count]&0x10)  LCD_write(lcd_text_color,1); 
    036C 01FA      MOVW	R30,R20
    036D 0DEA      ADD	R30,R10
    036E 1DFB      ADC	R31,R11
    036F 8020      LDD	R2,Z+0
    0370 FE24      SBRS	R2,4
    0371 C005      RJMP	0x0377
    0372 E021      LDI	R18,1
    0373 91000164  LDS	R16,_lcd_text_color
    0375 DE2D      RCALL	_LCD_write
    0376 C004      RJMP	0x037B
(0309) 	  	   else LCD_write(lcd_bkg_color,1);
    0377 E021      LDI	R18,1
    0378 91000165  LDS	R16,_lcd_bkg_color
    037A DE28      RCALL	_LCD_write
(0310) 	  	   if (s[count]&0x20)  LCD_write(lcd_text_color,1); 
    037B 01FA      MOVW	R30,R20
    037C 0DEA      ADD	R30,R10
    037D 1DFB      ADC	R31,R11
    037E 8020      LDD	R2,Z+0
    037F FE25      SBRS	R2,5
    0380 C005      RJMP	0x0386
    0381 E021      LDI	R18,1
    0382 91000164  LDS	R16,_lcd_text_color
    0384 DE1E      RCALL	_LCD_write
    0385 C004      RJMP	0x038A
(0311) 	  	   else LCD_write(lcd_bkg_color,1);
    0386 E021      LDI	R18,1
    0387 91000165  LDS	R16,_lcd_bkg_color
    0389 DE19      RCALL	_LCD_write
(0312) 	  	   if (s[count]&0x40)  LCD_write(lcd_text_color,1); 
    038A 01FA      MOVW	R30,R20
    038B 0DEA      ADD	R30,R10
    038C 1DFB      ADC	R31,R11
    038D 8020      LDD	R2,Z+0
    038E FE26      SBRS	R2,6
    038F C005      RJMP	0x0395
    0390 E021      LDI	R18,1
    0391 91000164  LDS	R16,_lcd_text_color
    0393 DE0F      RCALL	_LCD_write
    0394 C004      RJMP	0x0399
(0313) 	  	   else LCD_write(lcd_bkg_color,1);
    0395 E021      LDI	R18,1
    0396 91000165  LDS	R16,_lcd_bkg_color
    0398 DE0A      RCALL	_LCD_write
(0314) 	  	   if (s[count]&0x80)  LCD_write(lcd_text_color,1); 
    0399 01FA      MOVW	R30,R20
    039A 0DEA      ADD	R30,R10
    039B 1DFB      ADC	R31,R11
    039C 8020      LDD	R2,Z+0
    039D FE27      SBRS	R2,7
    039E C005      RJMP	0x03A4
    039F E021      LDI	R18,1
    03A0 91000164  LDS	R16,_lcd_text_color
    03A2 DE00      RCALL	_LCD_write
    03A3 C004      RJMP	0x03A8
(0315) 	  	   else LCD_write(lcd_bkg_color,1);	
    03A4 E021      LDI	R18,1
    03A5 91000165  LDS	R16,_lcd_bkg_color
    03A7 DDFB      RCALL	_LCD_write
    03A8 5F4F      SUBI	R20,0xFF
    03A9 4F5F      SBCI	R21,0xFF
    03AA E280      LDI	R24,0x20
    03AB 9F86      MUL	R24,R22
    03AC 1540      CP	R20,R0
    03AD 0551      CPC	R21,R1
    03AE F408      BCC	0x03B0
    03AF CF80      RJMP	0x0330
(0316) 		  } 
(0317) 	 }	 
    03B0 9623      ADIW	R28,3
    03B1 940E05F8  CALL	pop_gset3
    03B3 9508      RET
_lcd_ascii_5_7:
  count                --> R20
  s                    --> R22
  chr_ascii            --> R20
    03B4 940E0615  CALL	push_gset2
    03B6 2F40      MOV	R20,R16
    03B7 9723      SBIW	R28,3
(0318) /**********显示一个5x7点ascii***********/
(0319) void lcd_ascii_5_7(unsigned char chr_ascii);
(0320) void lcd_ascii_5_7(unsigned char chr_ascii)
(0321) 	 {
(0322) 	  const unsigned char *s;
(0323) 	  unsigned char count;
(0324) 	  lcd_bkg_color=3;
    03B8 E083      LDI	R24,3
    03B9 93800165  STS	_lcd_bkg_color,R24
(0325)  	  lcd_text_color=247;
    03BB EF87      LDI	R24,0xF7
    03BC 93800164  STS	_lcd_text_color,R24
(0326) 	 clr_lcd_cs;          //enable lcd	  
    03BE 98C3      CBI	0x18,3
(0327) 	  s=Bmp_ascii+chr_ascii*5;
    03BF E085      LDI	R24,5
    03C0 9F84      MUL	R24,R20
    03C1 01B0      MOVW	R22,R0
    03C2 E584      LDI	R24,0x54
    03C3 E090      LDI	R25,0
    03C4 0F68      ADD	R22,R24
    03C5 1F79      ADC	R23,R25
(0328) 	  lcd_window(lcd_x,lcd_y,lcd_x+6,lcd_y+7);	  
    03C6 91800162  LDS	R24,_lcd_y
    03C8 5F89      SUBI	R24,0xF9
    03C9 838A      STD	Y+2,R24
    03CA 91800163  LDS	R24,_lcd_x
    03CC 5F8A      SUBI	R24,0xFA
    03CD 8388      STD	Y+0,R24
    03CE 91200162  LDS	R18,_lcd_y
    03D0 91000163  LDS	R16,_lcd_x
    03D2 DE91      RCALL	_lcd_window
(0329)       LCD_write(LCD_CMD_MADCTL,0);
    03D3 2722      CLR	R18
    03D4 E306      LDI	R16,0x36
    03D5 DDCD      RCALL	_LCD_write
(0330) 	  LCD_write(MADCTL_VERT,1);	  
    03D6 E021      LDI	R18,1
    03D7 E608      LDI	R16,0x68
    03D8 DDCA      RCALL	_LCD_write
(0331) 
(0332) 	  LCD_write(LCD_CMD_RAMWR,0);
    03D9 2722      CLR	R18
    03DA E20C      LDI	R16,0x2C
    03DB DDC7      RCALL	_LCD_write
(0333) 	  for (count=0;count<5;count++)	
    03DC 2744      CLR	R20
    03DD C06B      RJMP	0x0449
(0334) 	  	  {
(0335) 		   if (*s&0x1)  LCD_write(lcd_text_color,1); //high 8 bit
    03DE 01FB      MOVW	R30,R22
    03DF 91E4      LPM	R30,0(Z)
    03E0 FFE0      SBRS	R30,0
    03E1 C005      RJMP	0x03E7
    03E2 E021      LDI	R18,1
    03E3 91000164  LDS	R16,_lcd_text_color
    03E5 DDBD      RCALL	_LCD_write
    03E6 C004      RJMP	0x03EB
(0336) 	  	   else LCD_write(lcd_bkg_color,1);
    03E7 E021      LDI	R18,1
    03E8 91000165  LDS	R16,_lcd_bkg_color
    03EA DDB8      RCALL	_LCD_write
(0337) 		   if (*s&0x2)  LCD_write(lcd_text_color,1); 
    03EB 01FB      MOVW	R30,R22
    03EC 91E4      LPM	R30,0(Z)
    03ED FFE1      SBRS	R30,1
    03EE C005      RJMP	0x03F4
    03EF E021      LDI	R18,1
    03F0 91000164  LDS	R16,_lcd_text_color
    03F2 DDB0      RCALL	_LCD_write
    03F3 C004      RJMP	0x03F8
(0338) 		   else LCD_write(lcd_bkg_color,1);
    03F4 E021      LDI	R18,1
    03F5 91000165  LDS	R16,_lcd_bkg_color
    03F7 DDAB      RCALL	_LCD_write
(0339) 	  	   if (*s&0x4)  LCD_write(lcd_text_color,1); 
    03F8 01FB      MOVW	R30,R22
    03F9 91E4      LPM	R30,0(Z)
    03FA FFE2      SBRS	R30,2
    03FB C005      RJMP	0x0401
    03FC E021      LDI	R18,1
    03FD 91000164  LDS	R16,_lcd_text_color
    03FF DDA3      RCALL	_LCD_write
    0400 C004      RJMP	0x0405
(0340) 		   else LCD_write(lcd_bkg_color,1);
    0401 E021      LDI	R18,1
    0402 91000165  LDS	R16,_lcd_bkg_color
    0404 DD9E      RCALL	_LCD_write
(0341) 	 	   if (*s&0x8)  LCD_write(lcd_text_color,1); 
    0405 01FB      MOVW	R30,R22
    0406 91E4      LPM	R30,0(Z)
    0407 FFE3      SBRS	R30,3
    0408 C005      RJMP	0x040E
    0409 E021      LDI	R18,1
    040A 91000164  LDS	R16,_lcd_text_color
    040C DD96      RCALL	_LCD_write
    040D C004      RJMP	0x0412
(0342) 		   else LCD_write(lcd_bkg_color,1);
    040E E021      LDI	R18,1
    040F 91000165  LDS	R16,_lcd_bkg_color
    0411 DD91      RCALL	_LCD_write
(0343) 	  	   if (*s&0x10)  LCD_write(lcd_text_color,1); 
    0412 01FB      MOVW	R30,R22
    0413 91E4      LPM	R30,0(Z)
    0414 FFE4      SBRS	R30,4
    0415 C005      RJMP	0x041B
    0416 E021      LDI	R18,1
    0417 91000164  LDS	R16,_lcd_text_color
    0419 DD89      RCALL	_LCD_write
    041A C004      RJMP	0x041F
(0344) 	  	   else LCD_write(lcd_bkg_color,1);
    041B E021      LDI	R18,1
    041C 91000165  LDS	R16,_lcd_bkg_color
    041E DD84      RCALL	_LCD_write
(0345) 	  	   if (*s&0x20)  LCD_write(lcd_text_color,1); 
    041F 01FB      MOVW	R30,R22
    0420 91E4      LPM	R30,0(Z)
    0421 FFE5      SBRS	R30,5
    0422 C005      RJMP	0x0428
    0423 E021      LDI	R18,1
    0424 91000164  LDS	R16,_lcd_text_color
    0426 DD7C      RCALL	_LCD_write
    0427 C004      RJMP	0x042C
(0346) 	  	   else LCD_write(lcd_bkg_color,1);
    0428 E021      LDI	R18,1
    0429 91000165  LDS	R16,_lcd_bkg_color
    042B DD77      RCALL	_LCD_write
(0347) 	  	   if (*s&0x40)  LCD_write(lcd_text_color,1); 
    042C 01FB      MOVW	R30,R22
    042D 91E4      LPM	R30,0(Z)
    042E FFE6      SBRS	R30,6
    042F C005      RJMP	0x0435
    0430 E021      LDI	R18,1
    0431 91000164  LDS	R16,_lcd_text_color
    0433 DD6F      RCALL	_LCD_write
    0434 C004      RJMP	0x0439
(0348) 	  	   else LCD_write(lcd_bkg_color,1);
    0435 E021      LDI	R18,1
    0436 91000165  LDS	R16,_lcd_bkg_color
    0438 DD6A      RCALL	_LCD_write
(0349)     	   if (*s&0x80)  LCD_write(lcd_text_color,1); 
    0439 01FB      MOVW	R30,R22
    043A 91E4      LPM	R30,0(Z)
    043B FFE7      SBRS	R30,7
    043C C005      RJMP	0x0442
    043D E021      LDI	R18,1
    043E 91000164  LDS	R16,_lcd_text_color
    0440 DD62      RCALL	_LCD_write
    0441 C004      RJMP	0x0446
(0350)     	   else   LCD_write(lcd_bkg_color,1);
    0442 E021      LDI	R18,1
    0443 91000165  LDS	R16,_lcd_bkg_color
    0445 DD5D      RCALL	_LCD_write
(0351) 		
(0352) 		   s++;
    0446 5F6F      SUBI	R22,0xFF
    0447 4F7F      SBCI	R23,0xFF
    0448 9543      INC	R20
    0449 3045      CPI	R20,5
    044A F408      BCC	0x044C
    044B CF92      RJMP	0x03DE
(0353) 		  }
(0354) 			LCD_write(lcd_bkg_color,1);	 //字体之间隔一竖行

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -