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

📄 echo.lst

📁 用的avr icc 开发的atmega16的超声波测距仪模型。
💻 LST
📖 第 1 页 / 共 4 页
字号:
    0366 E02A      LDI	R18,0xA
    0367 E001      LDI	R16,1
    0368 DF2C      RCALL	_LCD_Cursor
(0071) 	 LCD_DisplayCharacter(ASCII_T[1]);	//10BIT
    0369 91000098  LDS	R16,0x98
    036B DF03      RCALL	_LCD_DisplayCharacter
(0072) 	 LCD_Cursor(1,11);
    036C E02B      LDI	R18,0xB
    036D E001      LDI	R16,1
    036E DF26      RCALL	_LCD_Cursor
(0073) 	 LCD_DisplayCharacter(ASCII_T[2]);	//1BIT
    036F 91000099  LDS	R16,0x99
    0371 DEFD      RCALL	_LCD_DisplayCharacter
(0074) 	 LCD_Cursor(1,12);
    0372 E02C      LDI	R18,0xC
    0373 E001      LDI	R16,1
    0374 DF20      RCALL	_LCD_Cursor
(0075) 	 LCD_DisplayCharacter('.');// . BIT	
    0375 E20E      LDI	R16,0x2E
    0376 DEF8      RCALL	_LCD_DisplayCharacter
(0076) 	 LCD_Cursor(1,13);
    0377 E02D      LDI	R18,0xD
    0378 E001      LDI	R16,1
    0379 DF1B      RCALL	_LCD_Cursor
(0077) 	 LCD_DisplayCharacter(ASCII_T[0]);//0.1BIT			 
    037A 91000097  LDS	R16,0x97
    037C DEF2      RCALL	_LCD_DisplayCharacter
(0078)      LCD_Cursor(1,14);
    037D E02E      LDI	R18,0xE
    037E E001      LDI	R16,1
    037F DF15      RCALL	_LCD_Cursor
(0079) 	 LCD_DisplayCharacter('`');	//UNIT
    0380 E600      LDI	R16,0x60
    0381 DEED      RCALL	_LCD_DisplayCharacter
(0080) 	 LCD_DisplayCharacter('C');	//UNIT
    0382 E403      LDI	R16,0x43
(0081)   }
    0383 CEEB      RJMP	_LCD_DisplayCharacter
_main:
    0384 9722      SBIW	R28,2
(0082) 
(0083) void main(void)
(0084)  {  //initial and the picture of starting work 
(0085)     init_devices();
    0385 DF5C      RCALL	_init_devices
(0086)     LCD_DisplayString(1,2,"NOW");
    0386 EA8F      LDI	R24,0xAF
    0387 E090      LDI	R25,0
    0388 8399      STD	Y+1,R25
    0389 8388      STD	Y+0,R24
    038A E022      LDI	R18,2
    038B E001      LDI	R16,1
    038C DEF9      RCALL	_LCD_DisplayString
(0087) 	LCD_DisplayString(2,1,"  ULTRASONIC ");
    038D EA81      LDI	R24,0xA1
    038E 940E0498  CALL	0x498
    0390 E002      LDI	R16,2
    0391 DEF4      RCALL	_LCD_DisplayString
(0088) 	display_temprature();
    0392 DF5A      RCALL	_display_temprature
(0089)     delay_nms(3000);
    0393 EB08      LDI	R16,0xB8
    0394 E01B      LDI	R17,0xB
    0395 DDB6      RCALL	_delay_nms
(0090) 	ClearLine(2);
    0396 E002      LDI	R16,2
    0397 DF2F      RCALL	_ClearLine
    0398 C017      RJMP	0x03B0
(0091)   while(1)
(0092)    {    
(0093) 	    display_temprature();
    0399 DF53      RCALL	_display_temprature
(0094) 		
(0095) 	    LCD_DisplayString(1,1,"40KHz");
    039A E98B      LDI	R24,0x9B
    039B 940E0498  CALL	0x498
    039D E001      LDI	R16,1
    039E DEE7      RCALL	_LCD_DisplayString
(0096) 		TIMSK = 0x00; //delay for voiding  self noise 
    039F 2422      CLR	R2
    03A0 BE29      OUT	0x39,R2
(0097) 		pwm_40KHz(16);
    03A1 E100      LDI	R16,0x10
    03A2 E010      LDI	R17,0
    03A3 D00F      RCALL	_pwm_40KHz
(0098)         timer1_start();
    03A4 DD7F      RCALL	_timer1_start
(0099) 		pwm_20KHz(8);
    03A5 E008      LDI	R16,0x8
    03A6 E010      LDI	R17,0
    03A7 D02F      RCALL	_pwm_20KHz
(0100) 		delay_nms(5);//lenth shoud far more than 1m for self noise
    03A8 E005      LDI	R16,5
    03A9 E010      LDI	R17,0
    03AA DDA1      RCALL	_delay_nms
(0101) 		TIMSK = 0x24; //OVR(0x04)+ICP(0x20) interrupt sources
    03AB E284      LDI	R24,0x24
    03AC BF89      OUT	0x39,R24
(0102) 		delay_nms(200);// one frush per second
    03AD EC08      LDI	R16,0xC8
    03AE E010      LDI	R17,0
    03AF DD9C      RCALL	_delay_nms
    03B0 CFE8      RJMP	0x0399
(0103)   }
(0104) }  
    03B1 9622      ADIW	R28,2
    03B2 9508      RET
_pwm_40KHz:
  i                    --> R20
  n                    --> R16
    03B3 D065      RCALL	push_gset1
FILE: D:\NEW\ECHO\pwm.c
(0001) #define PWM_C
(0002) #include "includes.h"
(0003) 
(0004) void pwm_40KHz( unsigned char n)
(0005)   { 
(0006)    unsigned char i;
(0007)    for( ;n>0;n--)
    03B4 C00B      RJMP	0x03C0
(0008)     {
(0009)      PORTB=0xff;
    03B5 EF8F      LDI	R24,0xFF
    03B6 BB88      OUT	0x18,R24
(0010)      for(i=5;i>0;i--)
    03B7 E045      LDI	R20,5
    03B8 940E046A  CALL	<created procedures>
(0011) 	  {
(0012) 	   asm("nop");
(0013)       }		    
(0014)      PORTB=0xfE;
    03BA EF8E      LDI	R24,0xFE
    03BB BB88      OUT	0x18,R24
(0015) 	 for(i=5;i>0;i--)
    03BC E045      LDI	R20,5
    03BD 940E046A  CALL	<created procedures>
    03BF 950A      DEC	R16
    03C0 2422      CLR	R2
    03C1 1620      CP	R2,R16
    03C2 F390      BCS	0x03B5
(0016) 	  {
(0017) 	   asm("nop");
(0018)       }
(0019) 	}
(0020)    }
    03C3 D058      RCALL	pop_gset1
    03C4 9508      RET
_pwm_30KHz:
  i                    --> R20
  n                    --> R16
    03C5 D053      RCALL	push_gset1
(0021) void pwm_30KHz( unsigned char n)
(0022)   {
(0023)     unsigned char i;
(0024)     for( ;n>0;n--)
    03C6 C00B      RJMP	0x03D2
(0025)      {
(0026)       PORTB=0xff;
    03C7 EF8F      LDI	R24,0xFF
    03C8 BB88      OUT	0x18,R24
(0027) 	  for(i=8;i>0;i--)
    03C9 E048      LDI	R20,0x8
    03CA 940E046A  CALL	<created procedures>
(0028) 	   {
(0029) 	    asm("nop");
(0030)        }		    
(0031)       PORTB=0xfE;
    03CC EF8E      LDI	R24,0xFE
    03CD BB88      OUT	0x18,R24
(0032) 	  for(i=8;i>0;i--)
    03CE E048      LDI	R20,0x8
    03CF 940E046A  CALL	<created procedures>
    03D1 950A      DEC	R16
    03D2 2422      CLR	R2
    03D3 1620      CP	R2,R16
    03D4 F390      BCS	0x03C7
(0033) 	   {
(0034) 	    asm("nop");
(0035)        }
(0036) 	 }
(0037)    }
    03D5 D046      RCALL	pop_gset1
    03D6 9508      RET
_pwm_20KHz:
  i                    --> R20
  n                    --> R16
    03D7 D041      RCALL	push_gset1
(0038) void pwm_20KHz( unsigned char n)
(0039)   {
(0040)     unsigned char i;
(0041)     for( ;n>0;n--)
    03D8 C00B      RJMP	0x03E4
(0042)      {
(0043)       PORTB=0xff;
    03D9 EF8F      LDI	R24,0xFF
    03DA BB88      OUT	0x18,R24
(0044) 	  for(i=12;i>0;i--)
    03DB E04C      LDI	R20,0xC
    03DC 940E046A  CALL	<created procedures>
(0045) 	   {
(0046) 	    asm("nop");
(0047)        }		    
(0048)       PORTB=0xfE;
    03DE EF8E      LDI	R24,0xFE
    03DF BB88      OUT	0x18,R24
(0049) 	  for(i=12;i>0;i--)
    03E0 E04C      LDI	R20,0xC
    03E1 940E046A  CALL	<created procedures>
    03E3 950A      DEC	R16
    03E4 2422      CLR	R2
    03E5 1620      CP	R2,R16
    03E6 F390      BCS	0x03D9
(0050) 	   {
(0051) 	    asm("nop");
(0052)        }
(0053) 	 }
(0054)    }
FILE: <library>
    03E7 D034      RCALL	pop_gset1
    03E8 9508      RET
mod16u:
    03E9 9468      BSET	6
    03EA C001      RJMP	xdiv16u
div16u:
    03EB 94E8      BCLR	6
xdiv16u:
    03EC 92EA      ST	R14,-Y
    03ED 92FA      ST	R15,-Y
    03EE 938A      ST	R24,-Y
    03EF 24EE      CLR	R14
    03F0 24FF      CLR	R15
    03F1 E180      LDI	R24,0x10
    03F2 0F00      LSL	R16
    03F3 1F11      ROL	R17
    03F4 1CEE      ROL	R14
    03F5 1CFF      ROL	R15
    03F6 16E2      CP	R14,R18
    03F7 06F3      CPC	R15,R19
    03F8 F018      BCS	0x03FC
    03F9 1AE2      SUB	R14,R18
    03FA 0AF3      SBC	R15,R19
    03FB 9503      INC	R16
    03FC 958A      DEC	R24
    03FD F7A1      BNE	0x03F2
    03FE F416      BRTC	0x0401
    03FF 2D0E      MOV	R16,R14
    0400 2D1F      MOV	R17,R15
    0401 9189      LD	R24,Y+
    0402 90F9      LD	R15,Y+
    0403 90E9      LD	R14,Y+
    0404 9508      RET
empy16s:
    0405 920A      ST	R0,-Y
    0406 921A      ST	R1,-Y
    0407 938A      ST	R24,-Y
    0408 939A      ST	R25,-Y
    0409 9F02      MUL	R16,R18
    040A 01C0      MOVW	R24,R0
    040B 9F12      MUL	R17,R18
    040C 0D90      ADD	R25,R0
    040D 9F03      MUL	R16,R19
    040E 0D90      ADD	R25,R0
    040F 018C      MOVW	R16,R24
    0410 9199      LD	R25,Y+
    0411 9189      LD	R24,Y+
    0412 9019      LD	R1,Y+
    0413 9009      LD	R0,Y+
    0414 9508      RET
pop_gset2:
    0415 E0E2      LDI	R30,2
    0416 C006      RJMP	pop
pop_gset3:
    0417 E0E4      LDI	R30,4
    0418 C004      RJMP	pop
push_gset1:
    0419 935A      ST	R21,-Y
    041A 934A      ST	R20,-Y
    041B 9508      RET
pop_gset1:
    041C E0E1      LDI	R30,1
pop:
    041D 9149      LD	R20,Y+
    041E 9159      LD	R21,Y+
    041F FDE0      SBRC	R30,0
    0420 9508      RET
    0421 9169      LD	R22,Y+
    0422 9179      LD	R23,Y+
    0423 FDE1      SBRC	R30,1
    0424 9508      RET
    0425 90A9      LD	R10,Y+
    0426 90B9      LD	R11,Y+
    0427 FDE2      SBRC	R30,2
    0428 9508      RET
    0429 90C9      LD	R12,Y+
    042A 90D9      LD	R13,Y+
    042B FDE3      SBRC	R30,3
    042C 9508      RET
    042D 90E9      LD	R14,Y+
    042E 90F9      LD	R15,Y+
    042F 9508      RET
push_gset2:
    0430 937A      ST	R23,-Y
    0431 936A      ST	R22,-Y
    0432 CFE6      RJMP	push_gset1
push_gset3:
    0433 92BA      ST	R11,-Y
    0434 92AA      ST	R10,-Y
    0435 CFFA      RJMP	push_gset2
push_lset:
    0436 93FA      ST	R31,-Y
    0437 93EA      ST	R30,-Y
    0438 93BA      ST	R27,-Y
    0439 93AA      ST	R26,-Y
    043A 939A      ST	R25,-Y
    043B 938A      ST	R24,-Y
    043C 933A      ST	R19,-Y
    043D 932A      ST	R18,-Y
    043E 931A      ST	R17,-Y
    043F 930A      ST	R16,-Y
    0440 929A      ST	R9,-Y
    0441 928A      ST	R8,-Y
    0442 927A      ST	R7,-Y
    0443 926A      ST	R6,-Y
    0444 925A      ST	R5,-Y
    0445 924A      ST	R4,-Y
    0446 923A      ST	R3,-Y
    0447 922A      ST	R2,-Y
    0448 921A      ST	R1,-Y
    0449 920A      ST	R0,-Y
    044A B60F      IN	R0,0x3F
    044B 920A      ST	R0,-Y
    044C 9508      RET
pop_lset:
    044D 9009      LD	R0,Y+
    044E BE0F      OUT	0x3F,R0
    044F 9009      LD	R0,Y+
    0450 9019      LD	R1,Y+
    0451 9029      LD	R2,Y+
    0452 9039      LD	R3,Y+
    0453 9049      LD	R4,Y+
    0454 9059      LD	R5,Y+
    0455 9069      LD	R6,Y+
    0456 9079      LD	R7,Y+
    0457 9089      LD	R8,Y+
    0458 9099      LD	R9,Y+
    0459 9109      LD	R16,Y+
    045A 9119      LD	R17,Y+
    045B 9129      LD	R18,Y+
    045C 9139      LD	R19,Y+
    045D 9189      LD	R24,Y+
    045E 9199      LD	R25,Y+
    045F 91A9      LD	R26,Y+
    0460 91B9      LD	R27,Y+
    0461 91E9      LD	R30,Y+
    0462 91F9      LD	R31,Y+
    0463 9508      RET
lsr8:
    0464 2311      TST	R17
    0465 F019      BEQ	0x0469
    0466 9506      LSR	R16
    0467 951A      DEC	R17
    0468 CFFB      RJMP	lsr8
    0469 9508      RET
<created procedures>:
    046A C002      RJMP	0x046D
    046B 0000      NOP
    046C 954A      DEC	R20
    046D 2422      CLR	R2
    046E 1624      CP	R2,R20
    046F F3D8      BCS	0x046B
    0470 9508      RET
    0471 9ADA      SBI	0x1B,2
    0472 0000      NOP
    0473 0000      NOP
    0474 98DA      CBI	0x1B,2
    0475 9508      RET
    0476 9436      LSR	R3
    0477 9427      ROR	R2
    0478 9436      LSR	R3
    0479 9427      ROR	R2
    047A 9436      LSR	R3
    047B 9427      ROR	R2
    047C 923000BD  STS	_temprature+1,R3
    047E 922000BC  STS	_temprature,R2
    0480 0191      MOVW	R18,R2
    0481 E005      LDI	R16,5
    0482 E010      LDI	R17,0
    0483 9508      RET
    0484 931000BD  STS	_temprature+1,R17
    0486 930000BC  STS	_temprature,R16
    0488 9508      RET
    0489 EF8F      LDI	R24,0xFF
    048A BB8A      OUT	0x1A,R24
    048B B34B      IN	R20,0x1B
    048C 7048      ANDI	R20,0x8
    048D 2F86      MOV	R24,R22
    048E 7F80      ANDI	R24,0xF0
    048F 2B84      OR	R24,R20
    0490 BB8B      OUT	0x1B,R24
    0491 98D9      CBI	0x1B,1
    0492 9508      RET
    0493 910000BC  LDS	R16,_temprature
    0495 911000BD  LDS	R17,_temprature+1
    0497 9508      RET
    0498 E090      LDI	R25,0
    0499 8399      STD	Y+1,R25
    049A 8388      STD	Y+0,R24
    049B E021      LDI	R18,1
    049C 9508      RET
    049D EC8F      LDI	R24,0xCF
    049E BD8D      OUT	0x2D,R24
    049F E28C      LDI	R24,0x2C
    04A0 BD8C      OUT	0x2C,R24
    04A1 9508      RET
    04A2 931000B4  STS	_capt_timer1+1,R17
    04A4 930000B3  STS	_capt_timer1,R16
    04A6 9508      RET
    04A7 910000B3  LDS	R16,_capt_timer1
    04A9 911000B4  LDS	R17,_capt_timer1+1
    04AB 9508      RET
    04AC 2EA2      MOV	R10,R18
    04AD 2F60      MOV	R22,R16
    04AE 814E      LDD	R20,Y+6
    04AF 815F      LDD	R21,Y+7
    04B0 2D2A      MOV	R18,R10
    04B1 2F06      MOV	R16,R22
    04B2 9508      RET
    04B3 912000BC  LDS	R18,_temprature
    04B5 913000BD  LDS	R19,_temprature+1
    04B7 E006      LDI	R16,6
    04B8 E010      LDI	R17,0
    04B9 9508      RET
    04BA 2F86      MOV	R24,R22
    04BB 708F      ANDI	R24,0xF
    04BC 9582      SWAP	R24
    04BD 2B84      OR	R24,R20
    04BE BB8B      OUT	0x1B,R24
    04BF 98D9      CBI	0x1B,1
    04C0 9508      RET
    04C1 2F01      MOV	R16,R17
    04C2 2711      CLR	R17
    04C3 700F      ANDI	R16,0xF
    04C4 7010      ANDI	R17,0
    04C5 9508      RET
    04C6 923000B4  STS	_capt_timer1+1,R3
    04C8 922000B3  STS	_capt_timer1,R2
    04CA 9508      RET
    04CB 939000BD  STS	_temprature+1,R25
    04CD 938000BC  STS	_temprature,R24
    04CF 9508      RET
    04D0 939000BA  STS	_speed+1,R25
    04D2 938000B9  STS	_speed,R24
    04D4 9508      RET

⌨️ 快捷键说明

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