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

📄 car.lst

📁 本次设计的自动往返电动小汽车
💻 LST
📖 第 1 页 / 共 5 页
字号:
    03BC 2F62      MOV	R22,R18
    03BD 2F40      MOV	R20,R16
(0122) /**********************************************************
(0123) /* LCD_write         : 英文字符显示函数
(0124) /* 输入参数:data    :英文字符
(0125) /*           X、Y    : 显示字符的位置
(0126) ***********************************************************/  
(0127) void LCD_write(unsigned char X, unsigned char Y,unsigned data) 
(0128)   {
(0129)    LCD_set_xy( X, Y );
    03BE 2F26      MOV	R18,R22
    03BF 2F04      MOV	R16,R20
    03C0 DFD0      RCALL	_LCD_set_xy
(0130)    LCD_write_char(0, data);
    03C1 812C      LDD	R18,Y+4
    03C2 813D      LDD	R19,Y+5
    03C3 2700      CLR	R16
    03C4 2711      CLR	R17
    03C5 DF5C      RCALL	_LCD_write_char
(0131)   } 
    03C6 D036      RCALL	pop_gset2
    03C7 9508      RET
(0132) /**********************************************************
(0133) /* LCD_clr           : 清屏函数
(0134) ***********************************************************/    
(0135) void LCD_clr(void) 
(0136)   {
(0137)    LCD_write_char(0x01,0);
_LCD_clr:
    03C8 2722      CLR	R18
    03C9 2733      CLR	R19
    03CA E001      LDI	R16,1
    03CB E010      LDI	R17,0
    03CC DF55      RCALL	_LCD_write_char
(0138)    delay_nms(2);
    03CD E002      LDI	R16,2
    03CE E010      LDI	R17,0
(0139)   } 
    03CF C01A      RJMP	_delay_nms
FILE: C:\DOCUME~1\Administrator\桌面\自动往返小汽车\源程序\自动往返小车lcd版\delay.c
(0001) /*-----------------------------------------------------------------------
(0002) 延时函数
(0003) 系统时钟:8M
(0004) -----------------------------------------------------------------------*/
(0005) void delay_1us(void)                 //1us延时函数
(0006)   {
(0007)    asm("nop");
_delay_1us:
    03D0 0000      NOP
(0008)   }
    03D1 9508      RET
_delay_nus:
  i                    --> R20
  n                    --> R22
    03D2 D047      RCALL	push_gset2
    03D3 2F60      MOV	R22,R16
    03D4 2F71      MOV	R23,R17
(0009) 
(0010) void delay_nus(unsigned int n)       //N us延时函数
(0011)   {
(0012)    unsigned int i=0;
    03D5 2744      CLR	R20
    03D6 2755      CLR	R21
(0013)    for (i=0;i<n;i++)
    03D7 C003      RJMP	0x03DB
(0014)    delay_1us();
    03D8 DFF7      RCALL	_delay_1us
    03D9 5F4F      SUBI	R20,0xFF
    03DA 4F5F      SBCI	R21,0xFF
    03DB 1746      CP	R20,R22
    03DC 0757      CPC	R21,R23
    03DD F3D0      BCS	0x03D8
(0015)   }
    03DE D01E      RCALL	pop_gset2
    03DF 9508      RET
(0016)   
(0017) void delay_1ms(void)                 //1ms延时函数
(0018)   {
(0019)    unsigned int i;
(0020)    for (i=0;i<1140;i++);
_delay_1ms:
  i                    --> R16
    03E0 2700      CLR	R16
    03E1 2711      CLR	R17
    03E2 C002      RJMP	0x03E5
    03E3 5F0F      SUBI	R16,0xFF
    03E4 4F1F      SBCI	R17,0xFF
    03E5 3704      CPI	R16,0x74
    03E6 E0E4      LDI	R30,4
    03E7 071E      CPC	R17,R30
    03E8 F3D0      BCS	0x03E3
(0021)   }
    03E9 9508      RET
_delay_nms:
  i                    --> R20
  n                    --> R22
    03EA D02F      RCALL	push_gset2
    03EB 2F60      MOV	R22,R16
    03EC 2F71      MOV	R23,R17
(0022)   
(0023) void delay_nms(unsigned int n)       //N ms延时函数
(0024)   {
(0025)    unsigned int i=0;
    03ED 2744      CLR	R20
    03EE 2755      CLR	R21
(0026)    for (i=0;i<n;i++)
    03EF C003      RJMP	0x03F3
(0027)    delay_1ms();
    03F0 DFEF      RCALL	_delay_1ms
    03F1 5F4F      SUBI	R20,0xFF
    03F2 4F5F      SBCI	R21,0xFF
    03F3 1746      CP	R20,R22
    03F4 0757      CPC	R21,R23
    03F5 F3D0      BCS	0x03F0
(0028)   }
FILE: <library>
    03F6 D006      RCALL	pop_gset2
    03F7 9508      RET
push_arg4:
    03F8 933A      ST	R19,-Y
    03F9 932A      ST	R18,-Y
push_arg2:
    03FA 931A      ST	R17,-Y
    03FB 930A      ST	R16,-Y
    03FC 9508      RET
pop_gset2:
    03FD E0E2      LDI	R30,2
    03FE C008      RJMP	pop
pop_gset3:
    03FF E0E4      LDI	R30,4
    0400 C006      RJMP	pop
pop_gset4:
    0401 E0E8      LDI	R30,0x8
    0402 C004      RJMP	pop
push_gset1:
    0403 935A      ST	R21,-Y
    0404 934A      ST	R20,-Y
    0405 9508      RET
pop_gset1:
    0406 E0E1      LDI	R30,1
pop:
    0407 9149      LD	R20,Y+
    0408 9159      LD	R21,Y+
    0409 FDE0      SBRC	R30,0
    040A 9508      RET
    040B 9169      LD	R22,Y+
    040C 9179      LD	R23,Y+
    040D FDE1      SBRC	R30,1
    040E 9508      RET
    040F 90A9      LD	R10,Y+
    0410 90B9      LD	R11,Y+
    0411 FDE2      SBRC	R30,2
    0412 9508      RET
    0413 90C9      LD	R12,Y+
    0414 90D9      LD	R13,Y+
    0415 FDE3      SBRC	R30,3
    0416 9508      RET
    0417 90E9      LD	R14,Y+
    0418 90F9      LD	R15,Y+
    0419 9508      RET
push_gset2:
    041A 937A      ST	R23,-Y
    041B 936A      ST	R22,-Y
    041C CFE6      RJMP	push_gset1
push_gset3:
    041D 92BA      ST	R11,-Y
    041E 92AA      ST	R10,-Y
    041F CFFA      RJMP	push_gset2
push_gset4:
    0420 92DA      ST	R13,-Y
    0421 92CA      ST	R12,-Y
    0422 CFFA      RJMP	push_gset3
neg32:
    0423 9500      COM	R16
    0424 9510      COM	R17
    0425 9520      COM	R18
    0426 9530      COM	R19
    0427 5F0F      SUBI	R16,0xFF
    0428 4F1F      SBCI	R17,0xFF
    0429 4F2F      SBCI	R18,0xFF
    042A 4F3F      SBCI	R19,0xFF
    042B 9508      RET
lpm32:
    042C 93EA      ST	R30,-Y
    042D 93FA      ST	R31,-Y
    042E 920A      ST	R0,-Y
    042F 2FE0      MOV	R30,R16
    0430 2FF1      MOV	R31,R17
    0431 95C8      LPM
    0432 2D00      MOV	R16,R0
    0433 9631      ADIW	R30,1
    0434 95C8      LPM
    0435 2D10      MOV	R17,R0
    0436 9631      ADIW	R30,1
    0437 95C8      LPM
    0438 2D20      MOV	R18,R0
    0439 9631      ADIW	R30,1
    043A 95C8      LPM
    043B 2D30      MOV	R19,R0
    043C 9009      LD	R0,Y+
    043D 91F9      LD	R31,Y+
    043E 91E9      LD	R30,Y+
    043F 9508      RET
push_lset:
    0440 93FA      ST	R31,-Y
    0441 93EA      ST	R30,-Y
    0442 93BA      ST	R27,-Y
    0443 93AA      ST	R26,-Y
    0444 939A      ST	R25,-Y
    0445 938A      ST	R24,-Y
    0446 933A      ST	R19,-Y
    0447 932A      ST	R18,-Y
    0448 931A      ST	R17,-Y
    0449 930A      ST	R16,-Y
    044A 929A      ST	R9,-Y
    044B 928A      ST	R8,-Y
    044C 927A      ST	R7,-Y
    044D 926A      ST	R6,-Y
    044E 925A      ST	R5,-Y
    044F 924A      ST	R4,-Y
    0450 923A      ST	R3,-Y
    0451 922A      ST	R2,-Y
    0452 921A      ST	R1,-Y
    0453 920A      ST	R0,-Y
    0454 B60F      IN	R0,0x3F
    0455 920A      ST	R0,-Y
    0456 9508      RET
pop_lset:
    0457 9009      LD	R0,Y+
    0458 BE0F      OUT	0x3F,R0
    0459 9009      LD	R0,Y+
    045A 9019      LD	R1,Y+
    045B 9029      LD	R2,Y+
    045C 9039      LD	R3,Y+
    045D 9049      LD	R4,Y+
    045E 9059      LD	R5,Y+
    045F 9069      LD	R6,Y+
    0460 9079      LD	R7,Y+
    0461 9089      LD	R8,Y+
    0462 9099      LD	R9,Y+
    0463 9109      LD	R16,Y+
    0464 9119      LD	R17,Y+
    0465 9129      LD	R18,Y+
    0466 9139      LD	R19,Y+
    0467 9189      LD	R24,Y+
    0468 9199      LD	R25,Y+
    0469 91A9      LD	R26,Y+
    046A 91B9      LD	R27,Y+
    046B 91E9      LD	R30,Y+
    046C 91F9      LD	R31,Y+
    046D 9508      RET
mpy16s:
    046E 920A      ST	R0,-Y
    046F 921A      ST	R1,-Y
    0470 2400      CLR	R0
    0471 2411      CLR	R1
    0472 3000      CPI	R16,0
    0473 0701      CPC	R16,R17
    0474 F041      BEQ	0x047D
    0475 9516      LSR	R17
    0476 9507      ROR	R16
    0477 F410      BCC	0x047A
    0478 0E02      ADD	R0,R18
    0479 1E13      ADC	R1,R19
    047A 0F22      LSL	R18
    047B 1F33      ROL	R19
    047C CFF5      RJMP	0x0472
    047D 2D00      MOV	R16,R0
    047E 2D11      MOV	R17,R1
    047F 9019      LD	R1,Y+
    0480 9009      LD	R0,Y+
    0481 9508      RET
fp2int:
    0482 D19C      RCALL	savfacc1
    0483 D00F      RCALL	FTOI
    0484 2F02      MOV	R16,R18
    0485 2F13      MOV	R17,R19
    0486 FD87      SBRC	R24,7
    0487 C001      RJMP	nojump1
    0488 C199      RJMP	restorefacc1
nojump1:
    0489 9510      COM	R17
    048A 9501      NEG	R16
    048B 4F1F      SBCI	R17,0xFF
    048C C195      RJMP	restorefacc1
fp2long:
    048D D191      RCALL	savfacc1
    048E D006      RCALL	FTOL
    048F FF87      SBRS	R24,7
    0490 C001      RJMP	nojump2
    0491 DF91      RCALL	neg32
nojump2:
    0492 C18F      RJMP	restorefacc1
FTOI:
    0493 E0BE      LDI	R27,0xE
    0494 C001      RJMP	0x0496
FTOL:
    0495 E1BE      LDI	R27,0x1E
    0496 D18E      RCALL	unpackfacc1
    0497 F059      BEQ	0x04A3
    0498 1BB3      SUB	R27,R19
    0499 F009      BEQ	0x049B
    049A F45A      BPL	0x04A6
    049B 2388      TST	R24
    049C F01A      BMI	0x04A0
    049D E010      LDI	R17,0
    049E E206      LDI	R16,0x26
    049F CF8C      RJMP	lpm32
    04A0 E010      LDI	R17,0
    04A1 E20C      LDI	R16,0x2C
    04A2 CF89      RJMP	lpm32
    04A3 E010      LDI	R17,0
    04A4 E20A      LDI	R16,0x2A
    04A5 CF86      RJMP	lpm32
    04A6 9533      INC	R19
    04A7 F3DA      BMI	0x04A3
    04A8 E030      LDI	R19,0
    04A9 50B8      SUBI	R27,0x8
    04AA F452      BPL	0x04B5
    04AB 5FB8      SUBI	R27,0xF8
    04AC 2F32      MOV	R19,R18
    04AD 2F21      MOV	R18,R17
    04AE 2F10      MOV	R17,R16
    04AF E800      LDI	R16,0x80
    04B0 C006      RJMP	0x04B7
    04B1 2F01      MOV	R16,R17
    04B2 2F12      MOV	R17,R18
    04B3 E020      LDI	R18,0
    04B4 50B8      SUBI	R27,0x8
    04B5 30B8      CPI	R27,0x8
    04B6 F7D0      BCC	0x04B1
    04B7 23BB      TST	R27
    04B8 F031      BEQ	0x04BF
    04B9 9536      LSR	R19
    04BA 9527      ROR	R18
    04BB 9517      ROR	R17
    04BC 9507      ROR	R16
    04BD 95BA      DEC	R27
    04BE F7D1      BNE	0x04B9
    04BF 9508      RET
int2fp:
    04C0 2722      CLR	R18
    04C1 FD17      SBRC	R17,7
    04C2 9520      COM	R18
    04C3 2733      CLR	R19
    04C4 FD27      SBRC	R18,7
    04C5 9530      COM	R19
long2fp:
    04C6 D158      RCALL	savfacc1
    04C7 D001      RCALL	ITOF
    04C8 C159      RJMP	restorefacc1
ITOF:
    04C9 2788      CLR	R24
    04CA 2333      TST	R19
    04CB F412      BPL	0x04CE
    04CC DF56      RCALL	neg32
    04CD 9580      COM	R24
    04CE 2FB0      MOV	R27,R16
    04CF 2BB1      OR	R27,R17
    04D0 2BB2      OR	R27,R18
    04D1 2BB3      OR	R27,R19
    04D2 F409      BNE	0x04D4
    04D3 C167      RJMP	minres
    04D4 E1B6      LDI	R27,0x16
    04D5 C005      RJMP	0x04DB
    04D6 95B3      INC	R27
    04D7 9536      LSR	R19
    04D8 9527      ROR	R18
    04D9 9517      ROR	R17
    04DA 9507      ROR	R16
    04DB 2333      TST	R19
    04DC F7C9      BNE	0x04D6
    04DD 2322      TST	R18
    04DE F449      BNE	0x04E8
    04DF 50B8      SUBI	R27,0x8
    04E0 2F21      MOV	R18,R17
    04E1 2F10      MOV	R17,R16
    04E2 E000      LDI	R16,0
    04E3 CFF9      RJMP	0x04DD
    04E4 95BA      DEC	R27
    04E5 0F00      LSL	R16
    04E6 1F11      ROL	R17
    04E7 1F22      ROL	R18
    04E8 F7DA      BPL	0x04E4
    04E9 2F3B      MOV	R19,R27
    04EA C17A      RJMP	repack
save_floatregs:
    04EB 92DA      ST	R13,-Y
    04EC 92EA      ST	R14,-Y
    04ED 92FA      ST	R15,-Y
    04EE 938A      ST	R24,-Y
    04EF 922A      ST	R2,-Y
    04F0 923A      ST	R3,-Y
    04F1 924A      ST	R4,-Y
    04F2 939A      ST	R25,-Y
    04F3 93AA      ST	R26,-Y
    04F4 93BA      ST	R27,-Y
    04F5 9508      RET
restore_floatregs:
    04F6 91B9      LD	R27,Y+
    04F7 91A9      LD	R26,Y+
    04F8 9199      LD	R25,Y+
    04F9 9049      LD	R4,Y+
    04FA 9039      LD	R3,Y+

⌨️ 快捷键说明

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