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

📄 m128.lst

📁 用SL811做USB主机的源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
    136A 01C5      MOVW	R24,R10
    136B 9601      ADIW	R24,1
    136C 015C      MOVW	R10,R24
    136D 94E3      INC	R14
    136E 840E      LDD	R0,14+Y
    136F 14E0      CP	R14,R0
    1370 F340      BCS	0x1359
(0199) 				 }
(0200) 			 y++;
    1371 840C      LDD	R0,12+Y
    1372 9403      INC	R0
    1373 860C      STD	R0,12+Y
(0201) 			 p=&ADDR_0+y*bytes_1line+x;
    1374 E480      LDI	R24,0x40
    1375 9D80      MUL	R24,R0
    1376 01C0      MOVW	R24,R0
    1377 84AA      LDD	R10,10+Y
    1378 24BB      CLR	R11
    1379 0EA8      ADD	R10,R24
    137A 1EB9      ADC	R11,R25
(0202) 			}
    137B C0A1      RJMP	0x141D
(0203) 			else if (i==(b-2))
    137C 2D8C      MOV	R24,R12
    137D 5082      SUBI	R24,2
    137E 1768      CP	R22,R24
    137F F529      BNE	0x13A5
(0204) 			   	 	{//边框的倒数第二行
(0205) 					for (j=0;j<a;j++)
    1380 24EE      CLR	R14
    1381 C015      RJMP	0x1397
(0206) 			 	 		{if (j==a-1)
    1382 858E      LDD	R24,14+Y
    1383 5081      SUBI	R24,1
    1384 16E8      CP	R14,R24
    1385 F421      BNE	0x138A
(0207) 				 	 		{movx(p,~0xff);}
    1386 E020      LDI	R18,0
    1387 0185      MOVW	R16,R10
    1388 DF9F      RCALL	_movx
    1389 C009      RJMP	0x1393
(0208) 					 		else if (j==0)
    138A 20EE      TST	R14
    138B F421      BNE	0x1390
(0209) 					 	  		 {movx(p,~0x7f);}
    138C E820      LDI	R18,0x80
    138D 0185      MOVW	R16,R10
    138E DF99      RCALL	_movx
    138F C003      RJMP	0x1393
(0210) 						  		 else {movx(p,0);}				 
    1390 2722      CLR	R18
    1391 0185      MOVW	R16,R10
    1392 DF95      RCALL	_movx
(0211) 				 	p++;
    1393 01C5      MOVW	R24,R10
    1394 9601      ADIW	R24,1
    1395 015C      MOVW	R10,R24
    1396 94E3      INC	R14
    1397 840E      LDD	R0,14+Y
    1398 14E0      CP	R14,R0
    1399 F340      BCS	0x1382
(0212) 				 	}
(0213) 			 		y++;
    139A 840C      LDD	R0,12+Y
    139B 9403      INC	R0
    139C 860C      STD	R0,12+Y
(0214) 			 		p=&ADDR_0+y*bytes_1line+x;
    139D E480      LDI	R24,0x40
    139E 9D80      MUL	R24,R0
    139F 01C0      MOVW	R24,R0
    13A0 84AA      LDD	R10,10+Y
    13A1 24BB      CLR	R11
    13A2 0EA8      ADD	R10,R24
    13A3 1EB9      ADC	R11,R25
(0215) 					}
    13A4 C078      RJMP	0x141D
(0216) 			   		else {switch (i)
    13A5 2F46      MOV	R20,R22
    13A6 2755      CLR	R21
    13A7 3040      CPI	R20,0
    13A8 0745      CPC	R20,R21
    13A9 F029      BEQ	0x13AF
    13AA 3041      CPI	R20,1
    13AB E0E0      LDI	R30,0
    13AC 075E      CPC	R21,R30
    13AD F131      BEQ	0x13D4
    13AE C04A      RJMP	0x13F9
(0217) 						 		 {case 0:{//边框的第一行
(0218) 								 	      for (j=0;j<a;j++)
    13AF 24EE      CLR	R14
    13B0 C015      RJMP	0x13C6
(0219) 			 	 						  {	  if (j==a-1)
    13B1 858E      LDD	R24,14+Y
    13B2 5081      SUBI	R24,1
    13B3 16E8      CP	R14,R24
    13B4 F421      BNE	0x13B9
(0220) 				 	 					  	  {movx(p,~0xfc);}
    13B5 E023      LDI	R18,3
    13B6 0185      MOVW	R16,R10
    13B7 DF70      RCALL	_movx
    13B8 C009      RJMP	0x13C2
(0221) 					 						  else if (j==0)
    13B9 20EE      TST	R14
    13BA F421      BNE	0x13BF
(0222) 					 	  		 			  	   {movx(p,~0x7f);}
    13BB E820      LDI	R18,0x80
    13BC 0185      MOVW	R16,R10
    13BD DF6A      RCALL	_movx
    13BE C003      RJMP	0x13C2
(0223) 						  		 				   else {movx(p,0);}				 
    13BF 2722      CLR	R18
    13C0 0185      MOVW	R16,R10
    13C1 DF66      RCALL	_movx
(0224) 				 							  p++;
    13C2 01C5      MOVW	R24,R10
    13C3 9601      ADIW	R24,1
    13C4 015C      MOVW	R10,R24
    13C5 94E3      INC	R14
    13C6 840E      LDD	R0,14+Y
    13C7 14E0      CP	R14,R0
    13C8 F340      BCS	0x13B1
(0225) 				 							  }
(0226) 			 								  y++;
    13C9 840C      LDD	R0,12+Y
    13CA 9403      INC	R0
    13CB 860C      STD	R0,12+Y
(0227) 			 								  p=&ADDR_0+y*bytes_1line+x;
    13CC E480      LDI	R24,0x40
    13CD 9D80      MUL	R24,R0
    13CE 01C0      MOVW	R24,R0
    13CF 84AA      LDD	R10,10+Y
    13D0 24BB      CLR	R11
    13D1 0EA8      ADD	R10,R24
    13D2 1EB9      ADC	R11,R25
(0228) 								 	      }
(0229) 										  break;
    13D3 C049      RJMP	0x141D
(0230) 								  case 1:{//边框的第二行
(0231) 								 	      for (j=0;j<a;j++)
    13D4 24EE      CLR	R14
    13D5 C015      RJMP	0x13EB
(0232) 			 	 						  {	  if (j==a-1)
    13D6 858E      LDD	R24,14+Y
    13D7 5081      SUBI	R24,1
    13D8 16E8      CP	R14,R24
    13D9 F421      BNE	0x13DE
(0233) 				 	 					  	  {movx(p,~2);}
    13DA EF2D      LDI	R18,0xFD
    13DB 0185      MOVW	R16,R10
    13DC DF4B      RCALL	_movx
    13DD C009      RJMP	0x13E7
(0234) 					 						  else if (j==0)
    13DE 20EE      TST	R14
    13DF F421      BNE	0x13E4
(0235) 					 	  		 			  	   {movx(p,~0x80);}
    13E0 E72F      LDI	R18,0x7F
    13E1 0185      MOVW	R16,R10
    13E2 DF45      RCALL	_movx
    13E3 C003      RJMP	0x13E7
(0236) 						  		 				   else {movx(p,0xff);}				 
    13E4 EF2F      LDI	R18,0xFF
    13E5 0185      MOVW	R16,R10
    13E6 DF41      RCALL	_movx
(0237) 				 							  p++;
    13E7 01C5      MOVW	R24,R10
    13E8 9601      ADIW	R24,1
    13E9 015C      MOVW	R10,R24
    13EA 94E3      INC	R14
    13EB 840E      LDD	R0,14+Y
    13EC 14E0      CP	R14,R0
    13ED F340      BCS	0x13D6
(0238) 				 							  }
(0239) 			 								  y++;
    13EE 840C      LDD	R0,12+Y
    13EF 9403      INC	R0
    13F0 860C      STD	R0,12+Y
(0240) 			 								  p=&ADDR_0+y*bytes_1line+x;
    13F1 E480      LDI	R24,0x40
    13F2 9D80      MUL	R24,R0
    13F3 01C0      MOVW	R24,R0
    13F4 84AA      LDD	R10,10+Y
    13F5 24BB      CLR	R11
    13F6 0EA8      ADD	R10,R24
    13F7 1EB9      ADC	R11,R25
(0241) 										  }
(0242) 										  break;
    13F8 C024      RJMP	0x141D
(0243) 								  default:{//中间显示
(0244) 								 	      for (j=0;j<a;j++)
    13F9 24EE      CLR	R14
    13FA C015      RJMP	0x1410
(0245) 			 	 						  {	  if (j==a-1)
    13FB 858E      LDD	R24,14+Y
    13FC 5081      SUBI	R24,1
    13FD 16E8      CP	R14,R24
    13FE F421      BNE	0x1403
(0246) 				 	 					  	  {movx(p,~3);}
    13FF EF2C      LDI	R18,0xFC
    1400 0185      MOVW	R16,R10
    1401 DF26      RCALL	_movx
    1402 C009      RJMP	0x140C
(0247) 					 						  else if (j==0)
    1403 20EE      TST	R14
    1404 F421      BNE	0x1409
(0248) 					 	  		 			  	   {movx(p,~0x80);}
    1405 E72F      LDI	R18,0x7F
    1406 0185      MOVW	R16,R10
    1407 DF20      RCALL	_movx
    1408 C003      RJMP	0x140C
(0249) 						  		 				   else {movx(p,0xff);}				 
    1409 EF2F      LDI	R18,0xFF
    140A 0185      MOVW	R16,R10
    140B DF1C      RCALL	_movx
(0250) 				 								p++;
    140C 01C5      MOVW	R24,R10
    140D 9601      ADIW	R24,1
    140E 015C      MOVW	R10,R24
    140F 94E3      INC	R14
    1410 840E      LDD	R0,14+Y
    1411 14E0      CP	R14,R0
    1412 F340      BCS	0x13FB
(0251) 				 								}
(0252) 			 									y++;
    1413 840C      LDD	R0,12+Y
    1414 9403      INC	R0
    1415 860C      STD	R0,12+Y
(0253) 			 									p=&ADDR_0+y*bytes_1line+x;
    1416 E480      LDI	R24,0x40
    1417 9D80      MUL	R24,R0
    1418 01C0      MOVW	R24,R0
    1419 84AA      LDD	R10,10+Y
    141A 24BB      CLR	R11
    141B 0EA8      ADD	R10,R24
    141C 1EB9      ADC	R11,R25
    141D 9563      INC	R22
    141E 156C      CP	R22,R12
    141F F408      BCC	0x1421
    1420 CF32      RJMP	0x1353
(0254) 											}
(0255) 											break;
(0256) 								 }
(0257) 						 }
(0258) 				 			  
(0259) 		}
(0260)   A17_A16_low
    1421 91800062  LDS	R24,0x62
    1423 7F8C      ANDI	R24,0xFC
    1424 93800062  STS	0x62,R24
(0261) }
    1426 940E523A  CALL	pop_gset5
    1428 9624      ADIW	R28,4
    1429 9508      RET
_put_shuzi:
  z_arry               --> Y+2
  i                    --> R20
  data                 --> R20
  y                    --> R22
  x                    --> R10
    142A 940E5225  CALL	push_gset3
    142C 2F62      MOV	R22,R18
    142D 2EA0      MOV	R10,R16
    142E 9727      SBIW	R28,7
    142F 854D      LDD	R20,13+Y
    1430 855E      LDD	R21,14+Y
(0262) 
(0263) 
(0264) void put_shuzi(unsigned char x,unsigned char y,unsigned int data)
(0265) {	 unsigned char z_arry[5],i;
(0266) 
(0267) 	 z_arry[4]=data%10;
    1431 E02A      LDI	R18,0xA
    1432 E030      LDI	R19,0
    1433 018A      MOVW	R16,R20
    1434 940E515E  CALL	mod16u
    1436 830E      STD	R16,6+Y
(0268) 	 z_arry[3]=data%100/10;
    1437 E624      LDI	R18,0x64
    1438 E030      LDI	R19,0
    1439 018A      MOVW	R16,R20
    143A 940E515E  CALL	mod16u
    143C E02A      LDI	R18,0xA
    143D E030      LDI	R19,0
    143E 940E5160  CALL	div16u
    1440 830D      STD	R16,5+Y
(0269) 	 z_arry[2]=data%1000/100;
    1441 EE28      LDI	R18,0xE8
    1442 E033      LDI	R19,3
    1443 018A      MOVW	R16,R20
    1444 940E515E  CALL	mod16u
    1446 E624      LDI	R18,0x64
    1447 E030      LDI	R19,0
    1448 940E5160  CALL	div16u
    144A 830C      STD	R16,4+Y
(0270) 	 z_arry[1]=data%10000/1000;
    144B E120      LDI	R18,0x10
    144C E237      LDI	R19,0x27
    144D 018A      MOVW	R16,R20
    144E 940E515E  CALL	mod16u
    1450 EE28      LDI	R18,0xE8
    1451 E033      LDI	R19,3
    1452 940E5160  CALL	div16u
    1454 830B      STD	R16,3+Y
(0271) 	 z_arry[0]=data/10000;
    1455 E120      LDI	R18,0x10
    1456 E237      LDI	R19,0x27
    1457 018A      MOVW	R16,R20
    1458 940E5160  CALL	div16u
    145A 830A      STD	R16,2+Y
(0272) 	 
(0273) 	 for (i=0;i<5;i++)
    145B 2744      CLR	R20
    145C C012      RJMP	0x146F
(0274) 	 	 {disp16x8(x++,y,z_arry[i]);}	 
    145D 01CE      MOVW	R24,R28
    145E 9602      ADIW	R24,2
    145F 2FE4      MOV	R30,R20
    1460 27FF      CLR	R31
    1461 0FE8      ADD	R30,R24
    1462 1FF9      ADC	R31,R25
    1463 8020      LDD	R2,0+Z
    1464 2433      CLR	R3
    1465 8228      STD	R2,0+Y
    1466 8239      STD	R3,1+Y
    1467 2F26      MOV	R18,R22
    1468 2C2A      MOV	R2,R10
    1469 2D82      MOV	R24,R2
    146A 5F8F      SUBI	R24,0xFF
    146B 2EA8      MOV	R10,R24
    146C 2D02      MOV	R16,R2
    146D DD25      RCALL	_disp16x8
    146E 9543      INC	R20
    146F 3045      CPI	R20,5
    1470 F360      BCS	0x145D
(0275) }
    1471 9627      ADIW	R28,7
    1472 940E5234  CALL	pop_gset3
    1474 9508      RET
_put_shuzi_pcf:
  z_arry               --> Y+2
  i                    --> R20
  data                 --> Y+10
  y                    --> R22
  x                    --> R10
    1475 940E5225  CALL	push_gset3
    1477 2F62      MOV	R22,R18
    1478 2EA0      MOV	R10,R16
    1479 9724      SBIW	R28,4
(0276) 
(0277) void put_shuzi_pcf(unsigned char x,unsigned char y,unsigned char data)
(0278) {	 unsigned char z_arry[2],i;
(0279) 
(0280) 	 z_arry[1]=data%16;
    147A E110      LDI	R17,0x10
    147B 850A      LDD	R16,10+Y
    147C 940E514A  CALL	mod8u
    147E 830B      STD	R16,3+Y
(0281) 	 z_arry[0]=data/16;
    147F E110      LDI	R17,0x10
    1480 850A      LDD	R16,10+Y
    1481 940E514C  CALL	div8u
    1483 830A      STD	R16,2+Y
(0282) 	 
(0283) 	 for (i=0;i<2;i++)
    1484 2744      CLR	R20
    1485 C012      RJMP	0x1498
(0284) 	 	 {disp16x8(x++,y,z_arry[i]);}	 
    1486 01CE      MOVW	R24,R28
    1487 9602      ADIW	R24,2
    1488 2FE4      MOV	R30,R20
    1489 27FF      CLR	R31
    148A 0FE8      ADD	R30,R24
    148B 1FF9      ADC	R31,R25
    148C 8020      LDD	R2,0+Z
    148D 2433      CLR	R3
    148E 8228      STD	R2,0+Y
    148F 8239      STD	R3,1+Y
    1490 2F26      MOV	R18,R22
    1491 2C2A      MOV	R2,R10
    1492 2D82      MOV	R24,R2
    1493 5F8F      SUBI	R24,0xFF
    1494 2EA8      MOV	R10,R24
    1495 2D02      MOV	R16,R2
    1496 DCFC      RCALL	_disp16x8
    1497 9543      INC	R20
    1498 3042      CPI	R20,2
    1499 F360      BCS	0x1486
(0285) }
    149A 9624      ADIW	R28,4
    149B 940E5234  CALL	pop_gset3
    149D 9508      RET
_bcd_hex:
  x                    --> R20
    149E 940E520A  CALL	push_gset1
    14A0 2F40      MOV	R20,R16
FILE: E:\zxf\AvrFile\USB-screen\lg-test\PCF8563.h
(0001) unsigned char PCF_register[16]={0x00,//复位功能有效
(0002) 		 	  					0x00,//报警,定时功能禁止.
(0003) 								0x00,//秒

⌨️ 快捷键说明

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