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

📄 m128.lst

📁 ewts avr驱动程序 角速度传感器 104为秒
💻 LST
📖 第 1 页 / 共 4 页
字号:
(0119) {
(0120) int x=0,a=0,i=0;
    0626 24CC      CLR	R12
    0627 24DD      CLR	R13
    0628 2766      CLR	R22
    0629 2777      CLR	R23
    062A 24AA      CLR	R10
    062B 24BB      CLR	R11
(0121) char j=0;
    062C 2744      CLR	R20
(0122) char code[]={'0','1','2','3','4','5','6','7','8','9','-','+',};
    062D EF85      LDI	R24,0xF5
    062E E096      LDI	R25,6
    062F 01FE      MOVW	R30,R28
    0630 9632      ADIW	R30,2
    0631 E00C      LDI	R16,0xC
    0632 E010      LDI	R17,0
    0633 93FA      ST	R31,-Y
    0634 93EA      ST	R30,-Y
    0635 939A      ST	R25,-Y
    0636 938A      ST	R24,-Y
    0637 940E0752  CALL	asgncblk
(0123) DDRD=0x00;
    0639 2422      CLR	R2
    063A BA21      OUT	0x11,R2
(0124) PORTD=0x03;
    063B E083      LDI	R24,3
    063C BB82      OUT	0x12,R24
(0125) 
(0126) //while(1);
(0127) init_devices();
    063D DF74      RCALL	_init_devices
(0128) 
(0129) ocmj_init();//初始化	
    063E 940E03A8  CALL	_ocmj_init
(0130) ocmj_write(0xf4);//清屏
    0640 EF04      LDI	R16,0xF4
    0641 E010      LDI	R17,0
    0642 940E03BB  CALL	_ocmj_write
(0131) hz_tran(3,0,"数模转换");//传送内部汉字
    0644 E084      LDI	R24,4
    0645 E091      LDI	R25,1
    0646 8399      STD	Y+1,R25
    0647 8388      STD	Y+0,R24
    0648 2722      CLR	R18
    0649 2733      CLR	R19
    064A E003      LDI	R16,3
    064B E010      LDI	R17,0
    064C 940E0418  CALL	_hz_tran
(0132) 
(0133) 
(0134) 
(0135) DDRB=0x03;
    064E E083      LDI	R24,3
    064F BB87      OUT	0x17,R24
(0136) PORTB=0xfc;
    0650 EF8C      LDI	R24,0xFC
    0651 BB88      OUT	0x18,R24
    0652 C05B      RJMP	0x06AE
(0137) //while(1);
(0138) while(1)
(0139)  { 	for(j=0;j<128;j++)	
    0653 2744      CLR	R20
    0654 C052      RJMP	0x06A7
(0140)  	{	x=v;
    0655 90C00100  LDS	R12,v
    0657 90D00101  LDS	R13,v+1
(0141)  		pset(j,x/17);
    0659 E121      LDI	R18,0x11
    065A E030      LDI	R19,0
    065B 0186      MOVW	R16,R12
    065C 940E06E4  CALL	div16s
    065E 0198      MOVW	R18,R16
    065F 2F04      MOV	R16,R20
    0660 2711      CLR	R17
    0661 940E0467  CALL	_pset
(0142) 		for(i=0;i<7;i++)
    0663 24AA      CLR	R10
    0664 24BB      CLR	R11
(0143) 		{
(0144) 		 if (x<0)
    0665 01C6      MOVW	R24,R12
    0666 3080      CPI	R24,0
    0667 E0E0      LDI	R30,0
    0668 079E      CPC	R25,R30
    0669 F464      BGE	0x0676
(0145) 			{x=-x;asc_tran1(9-7,50,& code[10]);}
    066A 9580      COM	R24
    066B 9590      COM	R25
    066C 5F8F      SUBI	R24,0xFF
    066D 4F9F      SBCI	R25,0xFF
    066E 016C      MOVW	R12,R24
    066F 01CE      MOVW	R24,R28
    0670 960C      ADIW	R24,0xC
    0671 8399      STD	Y+1,R25
    0672 8388      STD	Y+0,R24
    0673 E322      LDI	R18,0x32
    0674 E002      LDI	R16,2
    0675 DF8A      RCALL	_asc_tran1
(0146) 		 a=x%10;
    0676 E02A      LDI	R18,0xA
    0677 E030      LDI	R19,0
    0678 0186      MOVW	R16,R12
    0679 940E06E0  CALL	mod16s
    067B 01B8      MOVW	R22,R16
(0147) 		 asc_tran1(10-i,50,& code[a]);
    067C 01CE      MOVW	R24,R28
    067D 9602      ADIW	R24,2
    067E 011B      MOVW	R2,R22
    067F 0E28      ADD	R2,R24
    0680 1E39      ADC	R3,R25
    0681 8239      STD	Y+1,R3
    0682 8228      STD	Y+0,R2
    0683 E322      LDI	R18,0x32
    0684 E00A      LDI	R16,0xA
    0685 190A      SUB	R16,R10
    0686 091B      SBC	R17,R11
    0687 DF78      RCALL	_asc_tran1
(0148) 		 x=x/10;
    0688 E02A      LDI	R18,0xA
    0689 E030      LDI	R19,0
    068A 0186      MOVW	R16,R12
    068B 940E06E4  CALL	div16s
    068D 0168      MOVW	R12,R16
    068E 01C5      MOVW	R24,R10
    068F 9601      ADIW	R24,1
    0690 015C      MOVW	R10,R24
    0691 3087      CPI	R24,7
    0692 E0E0      LDI	R30,0
    0693 079E      CPC	R25,R30
    0694 F284      BLT	0x0665
(0149) 		}	//for
(0150) 		delay_ms(1);	
    0695 E001      LDI	R16,1
    0696 E010      LDI	R17,0
    0697 940E06CC  CALL	_delay_ms
(0151) 	if (time>100)	
    0699 E684      LDI	R24,0x64
    069A E090      LDI	R25,0
    069B 90200102  LDS	R2,time
    069D 90300103  LDS	R3,time+1
    069F 1582      CP	R24,R2
    06A0 0593      CPC	R25,R3
    06A1 F420      BCC	0x06A6
(0152) 	{	EIMSK = 0x03;
    06A2 E083      LDI	R24,3
    06A3 BF89      OUT	0x39,R24
(0153) 		PORTB=0xfc;
    06A4 EF8C      LDI	R24,0xFC
    06A5 BB88      OUT	0x18,R24
    06A6 9543      INC	R20
    06A7 3840      CPI	R20,0x80
    06A8 F408      BCC	0x06AA
    06A9 CFAB      RJMP	0x0655
(0154) 	}	
(0155) 		//asm("cbi 0x03,0");
(0156) 		//asm("cbi 0x03,1");
(0157) 	}//for
(0158) 	ocmj_write(0xf4);//清屏	
    06AA EF04      LDI	R16,0xF4
    06AB E010      LDI	R17,0
    06AC 940E03BB  CALL	_ocmj_write
    06AE CFA4      RJMP	0x0653
    06AF 962E      ADIW	R28,0xE
    06B0 9508      RET
FILE: D:\PROTEU~1.7\PROTEU~1.7\JOHU\a___EWTS82\delay.c
(0001) /*-----------------------------------------------------------------------
(0002) 延时函数
(0003) 系统时钟:8M
(0004) -----------------------------------------------------------------------*/
(0005) void delay_1us(void)                 //1us延时函数
(0006)   {
(0007)    asm("nop");
_delay_1us:
    06B1 0000      NOP
    06B2 9508      RET
_delay_nus:
  i                    --> R20
  n                    --> R22
    06B3 940E0739  CALL	push_gset2
    06B5 01B8      MOVW	R22,R16
(0008)   }
(0009) 
(0010) void delay_nus(unsigned int n)       //N us延时函数
(0011)   {
(0012)    unsigned int i=0;
    06B6 2744      CLR	R20
    06B7 2755      CLR	R21
(0013)    for (i=0;i<n;i++)
    06B8 C003      RJMP	0x06BC
(0014)    delay_1us();
    06B9 DFF7      RCALL	_delay_1us
    06BA 5F4F      SUBI	R20,0xFF
    06BB 4F5F      SBCI	R21,0xFF
    06BC 1746      CP	R20,R22
    06BD 0757      CPC	R21,R23
    06BE F3D0      BCS	0x06B9
    06BF 940E072A  CALL	pop_gset2
    06C1 9508      RET
(0015)   }
(0016)   
(0017) void delay_1ms(void)                 //1ms延时函数
(0018)   {
(0019)    unsigned int i;
(0020)    for (i=0;i<1140;i++);
_delay_1ms:
  i                    --> R16
    06C2 2700      CLR	R16
    06C3 2711      CLR	R17
    06C4 C002      RJMP	0x06C7
    06C5 5F0F      SUBI	R16,0xFF
    06C6 4F1F      SBCI	R17,0xFF
    06C7 3704      CPI	R16,0x74
    06C8 E0E4      LDI	R30,4
    06C9 071E      CPC	R17,R30
    06CA F3D0      BCS	0x06C5
    06CB 9508      RET
_delay_ms:
  i                    --> R20
  n                    --> R22
    06CC 940E0739  CALL	push_gset2
    06CE 01B8      MOVW	R22,R16
(0021)   }
(0022)   
(0023) void delay_ms(unsigned int n)       //N ms延时函数
(0024)   {
(0025)    unsigned int i=0;
    06CF 2744      CLR	R20
    06D0 2755      CLR	R21
(0026)    for (i=0;i<n;i++)
    06D1 C003      RJMP	0x06D5
(0027)    delay_1ms();
FILE: <library>
    06D2 DFEF      RCALL	_delay_1ms
    06D3 5F4F      SUBI	R20,0xFF
    06D4 4F5F      SBCI	R21,0xFF
    06D5 1746      CP	R20,R22
    06D6 0757      CPC	R21,R23
    06D7 F3D0      BCS	0x06D2
    06D8 940E072A  CALL	pop_gset2
    06DA 9508      RET
push_arg4:
    06DB 933A      ST	R19,-Y
    06DC 932A      ST	R18,-Y
push_arg2:
    06DD 931A      ST	R17,-Y
    06DE 930A      ST	R16,-Y
    06DF 9508      RET
mod16s:
    06E0 9468      BSET	6
    06E1 92DA      ST	R13,-Y
    06E2 2ED1      MOV	R13,R17
    06E3 C004      RJMP	0x06E8
div16s:
    06E4 94E8      BCLR	6
    06E5 92DA      ST	R13,-Y
    06E6 2ED1      MOV	R13,R17
    06E7 26D3      EOR	R13,R19
    06E8 FF17      SBRS	R17,7
    06E9 C004      RJMP	0x06EE
    06EA 9510      COM	R17
    06EB 9500      COM	R16
    06EC 5F0F      SUBI	R16,0xFF
    06ED 4F1F      SBCI	R17,0xFF
    06EE FF37      SBRS	R19,7
    06EF C004      RJMP	0x06F4
    06F0 9530      COM	R19
    06F1 9520      COM	R18
    06F2 5F2F      SUBI	R18,0xFF
    06F3 4F3F      SBCI	R19,0xFF
    06F4 940E0701  CALL	xdiv16u
    06F6 FED7      SBRS	R13,7
    06F7 C004      RJMP	0x06FC
    06F8 9510      COM	R17
    06F9 9500      COM	R16
    06FA 5F0F      SUBI	R16,0xFF
    06FB 4F1F      SBCI	R17,0xFF
    06FC 90D9      LD	R13,Y+
    06FD 9508      RET
mod16u:
    06FE 9468      BSET	6
    06FF C001      RJMP	xdiv16u
div16u:
    0700 94E8      BCLR	6
xdiv16u:
    0701 92EA      ST	R14,-Y
    0702 92FA      ST	R15,-Y
    0703 938A      ST	R24,-Y
    0704 24EE      CLR	R14
    0705 24FF      CLR	R15
    0706 E180      LDI	R24,0x10
    0707 0F00      LSL	R16
    0708 1F11      ROL	R17
    0709 1CEE      ROL	R14
    070A 1CFF      ROL	R15
    070B 16E2      CP	R14,R18
    070C 06F3      CPC	R15,R19
    070D F018      BCS	0x0711
    070E 1AE2      SUB	R14,R18
    070F 0AF3      SBC	R15,R19
    0710 9503      INC	R16
    0711 958A      DEC	R24
    0712 F7A1      BNE	0x0707
    0713 F416      BRTC	0x0716
    0714 2D0E      MOV	R16,R14
    0715 2D1F      MOV	R17,R15
    0716 9189      LD	R24,Y+
    0717 90F9      LD	R15,Y+
    0718 90E9      LD	R14,Y+
    0719 9508      RET
empy16s:
    071A 920A      ST	R0,-Y
    071B 921A      ST	R1,-Y
    071C 938A      ST	R24,-Y
    071D 939A      ST	R25,-Y
    071E 9F02      MUL	R16,R18
    071F 01C0      MOVW	R24,R0
    0720 9F12      MUL	R17,R18
    0721 0D90      ADD	R25,R0
    0722 9F03      MUL	R16,R19
    0723 0D90      ADD	R25,R0
    0724 018C      MOVW	R16,R24
    0725 9199      LD	R25,Y+
    0726 9189      LD	R24,Y+
    0727 9019      LD	R1,Y+
    0728 9009      LD	R0,Y+
    0729 9508      RET
pop_gset2:
    072A E0E2      LDI	R30,2
    072B 940C073F  JMP	pop
pop_gset3:
    072D E0E4      LDI	R30,4
    072E 940C073F  JMP	pop
pop_gset5:
    0730 27EE      CLR	R30
    0731 940C073F  JMP	pop
push_gset5:
    0733 92FA      ST	R15,-Y
    0734 92EA      ST	R14,-Y
push_gset4:
    0735 92DA      ST	R13,-Y
    0736 92CA      ST	R12,-Y
push_gset3:
    0737 92BA      ST	R11,-Y
    0738 92AA      ST	R10,-Y
push_gset2:
    0739 937A      ST	R23,-Y
    073A 936A      ST	R22,-Y
push_gset1:
    073B 935A      ST	R21,-Y
    073C 934A      ST	R20,-Y
    073D 9508      RET
pop_gset1:
    073E E0E1      LDI	R30,1
pop:
    073F 9149      LD	R20,Y+
    0740 9159      LD	R21,Y+
    0741 FDE0      SBRC	R30,0
    0742 9508      RET
    0743 9169      LD	R22,Y+
    0744 9179      LD	R23,Y+
    0745 FDE1      SBRC	R30,1
    0746 9508      RET
    0747 90A9      LD	R10,Y+
    0748 90B9      LD	R11,Y+
    0749 FDE2      SBRC	R30,2
    074A 9508      RET
    074B 90C9      LD	R12,Y+
    074C 90D9      LD	R13,Y+
    074D FDE3      SBRC	R30,3
    074E 9508      RET
    074F 90E9      LD	R14,Y+
    0750 90F9      LD	R15,Y+
    0751 9508      RET
asgncblk:
    0752 93AA      ST	R26,-Y
    0753 93BA      ST	R27,-Y
    0754 93EA      ST	R30,-Y
    0755 93FA      ST	R31,-Y
    0756 920A      ST	R0,-Y
    0757 81AF      LDD	R26,Y+7
    0758 85B8      LDD	R27,Y+8
    0759 81ED      LDD	R30,Y+5
    075A 81FE      LDD	R31,Y+6
    075B 3000      CPI	R16,0
    075C 0701      CPC	R16,R17
    075D F031      BEQ	0x0764
    075E 95C8      LPM
    075F 920D      ST	R0,X+
    0760 9631      ADIW	R30,1
    0761 5001      SUBI	R16,1
    0762 4010      SBCI	R17,0
    0763 CFF7      RJMP	0x075B
    0764 9009      LD	R0,Y+
    0765 91F9      LD	R31,Y+
    0766 91E9      LD	R30,Y+
    0767 91B9      LD	R27,Y+
    0768 91A9      LD	R26,Y+
    0769 9624      ADIW	R28,4
    076A 9508      RET

⌨️ 快捷键说明

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