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

📄 stm8s_tim2.ls

📁 STM8S105 BLDC源代码
💻 LS
📖 第 1 页 / 共 4 页
字号:
3345  038d               _TIM2_GetCapture3:
3347  038d 5204          	subw	sp,#4
3348       00000004      OFST:	set	4
3351                     ; 1409     u16 tmpccr3 = 0;
3353                     ; 1410     u8 tmpccr3l=0, tmpccr3h=0;
3357                     ; 1412     tmpccr3h = TIM2->CCR3H;
3359  038f c65313        	ld	a,21267
3360  0392 6b02          	ld	(OFST-2,sp),a
3361                     ; 1413 	tmpccr3l = TIM2->CCR3L;
3363  0394 c65314        	ld	a,21268
3364  0397 6b01          	ld	(OFST-3,sp),a
3365                     ; 1415     tmpccr3 = (u16)(tmpccr3l);
3367  0399 5f            	clrw	x
3368  039a 97            	ld	xl,a
3369  039b 1f03          	ldw	(OFST-1,sp),x
3370                     ; 1416     tmpccr3 |= (u16)((u16)tmpccr3h << 8);
3372  039d 5f            	clrw	x
3373  039e 7b02          	ld	a,(OFST-2,sp)
3374  03a0 97            	ld	xl,a
3375  03a1 7b04          	ld	a,(OFST+0,sp)
3376  03a3 01            	rrwa	x,a
3377  03a4 1a03          	or	a,(OFST-1,sp)
3378  03a6 01            	rrwa	x,a
3379                     ; 1418     return (u16)tmpccr3;
3383  03a7 5b04          	addw	sp,#4
3384  03a9 81            	ret	
3407                     ; 1437 u16 TIM2_GetCounter(void)
3407                     ; 1438 {
3408                     	switch	.text
3409  03aa               _TIM2_GetCounter:
3411  03aa 89            	pushw	x
3412       00000002      OFST:	set	2
3415                     ; 1440   return (u16)(((u16)TIM2->CNTRH << 8) | (u16)(TIM2->CNTRL));
3417  03ab c6530b        	ld	a,21259
3418  03ae 5f            	clrw	x
3419  03af 97            	ld	xl,a
3420  03b0 1f01          	ldw	(OFST-1,sp),x
3421  03b2 5f            	clrw	x
3422  03b3 c6530a        	ld	a,21258
3423  03b6 97            	ld	xl,a
3424  03b7 7b02          	ld	a,(OFST+0,sp)
3425  03b9 01            	rrwa	x,a
3426  03ba 1a01          	or	a,(OFST-1,sp)
3427  03bc 01            	rrwa	x,a
3430  03bd 5b02          	addw	sp,#2
3431  03bf 81            	ret	
3455                     ; 1460 TIM2_Prescaler_TypeDef TIM2_GetPrescaler(void)
3455                     ; 1461 {
3456                     	switch	.text
3457  03c0               _TIM2_GetPrescaler:
3461                     ; 1463   return (TIM2_Prescaler_TypeDef)(TIM2->PSCR);
3463  03c0 c6530c        	ld	a,21260
3466  03c3 81            	ret	
3605                     ; 1490 FlagStatus TIM2_GetFlagStatus(TIM2_FLAG_TypeDef TIM2_FLAG)
3605                     ; 1491 {
3606                     	switch	.text
3607  03c4               _TIM2_GetFlagStatus:
3609  03c4 5203          	subw	sp,#3
3610       00000003      OFST:	set	3
3613                     ; 1492   FlagStatus bitstatus = RESET;
3615                     ; 1496   assert_param(IS_TIM2_GET_FLAG_OK(TIM2_FLAG));
3617                     ; 1498   tim2_flag_l = (u8)(TIM2_FLAG);
3619  03c6 9f            	ld	a,xl
3620  03c7 6b02          	ld	(OFST-1,sp),a
3621                     ; 1499   tim2_flag_h = (u8)(TIM2_FLAG >> 8);
3623  03c9 9e            	ld	a,xh
3624  03ca 6b03          	ld	(OFST+0,sp),a
3625                     ; 1501   if (((TIM2->SR1 & tim2_flag_l) | (TIM2->SR2 & tim2_flag_h)) != (u8)RESET )
3627  03cc c45303        	and	a,21251
3628  03cf 6b01          	ld	(OFST-2,sp),a
3629  03d1 c65302        	ld	a,21250
3630  03d4 1402          	and	a,(OFST-1,sp)
3631  03d6 1a01          	or	a,(OFST-2,sp)
3632  03d8 2702          	jreq	L7271
3633                     ; 1503     bitstatus = SET;
3635  03da a601          	ld	a,#1
3637  03dc               L7271:
3638                     ; 1507     bitstatus = RESET;
3640                     ; 1509   return (FlagStatus)bitstatus;
3644  03dc 5b03          	addw	sp,#3
3645  03de 81            	ret	
3680                     ; 1535 void TIM2_ClearFlag(TIM2_FLAG_TypeDef TIM2_FLAG)
3680                     ; 1536 {
3681                     	switch	.text
3682  03df               _TIM2_ClearFlag:
3684  03df 89            	pushw	x
3685       00000000      OFST:	set	0
3688                     ; 1538   assert_param(IS_TIM2_CLEAR_FLAG_OK(TIM2_FLAG));
3690                     ; 1541   TIM2->SR1 = (u8)(~((u8)(TIM2_FLAG)));
3692  03e0 9f            	ld	a,xl
3693  03e1 43            	cpl	a
3694  03e2 c75302        	ld	21250,a
3695                     ; 1542   TIM2->SR2 = (u8)(~((u8)(TIM2_FLAG >> 8)));
3697  03e5 7b01          	ld	a,(OFST+1,sp)
3698  03e7 43            	cpl	a
3699  03e8 c75303        	ld	21251,a
3700                     ; 1543 }
3703  03eb 85            	popw	x
3704  03ec 81            	ret	
3768                     ; 1567 ITStatus TIM2_GetITStatus(TIM2_IT_TypeDef TIM2_IT)
3768                     ; 1568 {
3769                     	switch	.text
3770  03ed               _TIM2_GetITStatus:
3772  03ed 88            	push	a
3773  03ee 89            	pushw	x
3774       00000002      OFST:	set	2
3777                     ; 1569   ITStatus bitstatus = RESET;
3779                     ; 1571   u8 TIM2_itStatus = 0x0, TIM2_itEnable = 0x0;
3783                     ; 1574   assert_param(IS_TIM2_GET_IT_OK(TIM2_IT));
3785                     ; 1576   TIM2_itStatus = (u8)(TIM2->SR1 & TIM2_IT);
3787  03ef c45302        	and	a,21250
3788  03f2 6b01          	ld	(OFST-1,sp),a
3789                     ; 1578   TIM2_itEnable = (u8)(TIM2->IER & TIM2_IT);
3791  03f4 c65301        	ld	a,21249
3792  03f7 1403          	and	a,(OFST+1,sp)
3793  03f9 6b02          	ld	(OFST+0,sp),a
3794                     ; 1580   if ((TIM2_itStatus != (u8)RESET ) && (TIM2_itEnable != (u8)RESET ))
3796  03fb 7b01          	ld	a,(OFST-1,sp)
3797  03fd 2708          	jreq	L3002
3799  03ff 7b02          	ld	a,(OFST+0,sp)
3800  0401 2704          	jreq	L3002
3801                     ; 1582     bitstatus = SET;
3803  0403 a601          	ld	a,#1
3805  0405 2001          	jra	L5002
3806  0407               L3002:
3807                     ; 1586     bitstatus = RESET;
3809  0407 4f            	clr	a
3810  0408               L5002:
3811                     ; 1588   return (ITStatus)(bitstatus);
3815  0408 5b03          	addw	sp,#3
3816  040a 81            	ret	
3852                     ; 1611 void TIM2_ClearITPendingBit(TIM2_IT_TypeDef TIM2_IT)
3852                     ; 1612 {
3853                     	switch	.text
3854  040b               _TIM2_ClearITPendingBit:
3858                     ; 1614   assert_param(IS_TIM2_IT_OK(TIM2_IT));
3860                     ; 1617   TIM2->SR1 = (u8)(~TIM2_IT);
3862  040b 43            	cpl	a
3863  040c c75302        	ld	21250,a
3864                     ; 1618 }
3867  040f 81            	ret	
3919                     ; 1646 static void TI1_Config(u8 TIM2_ICPolarity,
3919                     ; 1647                        u8 TIM2_ICSelection,
3919                     ; 1648                        u8 TIM2_ICFilter)
3919                     ; 1649 {
3920                     	switch	.text
3921  0410               L3_TI1_Config:
3923  0410 89            	pushw	x
3924       00000001      OFST:	set	1
3927                     ; 1651   TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC1E);
3929  0411 72115308      	bres	21256,#0
3930  0415 88            	push	a
3931                     ; 1654   TIM2->CCMR1  = (u8)((TIM2->CCMR1 & (u8)(~( TIM2_CCMR_CCxS     |        TIM2_CCMR_ICxF    ))) | (u8)(( (TIM2_ICSelection)) | ((u8)( TIM2_ICFilter << 4))));
3933  0416 7b06          	ld	a,(OFST+5,sp)
3934  0418 97            	ld	xl,a
3935  0419 a610          	ld	a,#16
3936  041b 42            	mul	x,a
3937  041c 9f            	ld	a,xl
3938  041d 1a03          	or	a,(OFST+2,sp)
3939  041f 6b01          	ld	(OFST+0,sp),a
3940  0421 c65305        	ld	a,21253
3941  0424 a40c          	and	a,#12
3942  0426 1a01          	or	a,(OFST+0,sp)
3943  0428 c75305        	ld	21253,a
3944                     ; 1657   if (TIM2_ICPolarity != TIM2_ICPOLARITY_RISING)
3946  042b 7b02          	ld	a,(OFST+1,sp)
3947  042d 2706          	jreq	L3502
3948                     ; 1659     TIM2->CCER1 |= TIM2_CCER1_CC1P;
3950  042f 72125308      	bset	21256,#1
3952  0433 2004          	jra	L5502
3953  0435               L3502:
3954                     ; 1663     TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC1P);
3956  0435 72135308      	bres	21256,#1
3957  0439               L5502:
3958                     ; 1666   TIM2->CCER1 |= TIM2_CCER1_CC1E;
3960  0439 72105308      	bset	21256,#0
3961                     ; 1667 }
3964  043d 5b03          	addw	sp,#3
3965  043f 81            	ret	
4017                     ; 1695 static void TI2_Config(u8 TIM2_ICPolarity,
4017                     ; 1696                        u8 TIM2_ICSelection,
4017                     ; 1697                        u8 TIM2_ICFilter)
4017                     ; 1698 {
4018                     	switch	.text
4019  0440               L5_TI2_Config:
4021  0440 89            	pushw	x
4022       00000001      OFST:	set	1
4025                     ; 1700   TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC2E);
4027  0441 72195308      	bres	21256,#4
4028  0445 88            	push	a
4029                     ; 1703   TIM2->CCMR2 = (u8)((TIM2->CCMR2 & (u8)(~( TIM2_CCMR_CCxS     |        TIM2_CCMR_ICxF    ))) | (u8)(( (TIM2_ICSelection)) | ((u8)( TIM2_ICFilter << 4))));
4031  0446 7b06          	ld	a,(OFST+5,sp)
4032  0448 97            	ld	xl,a
4033  0449 a610          	ld	a,#16
4034  044b 42            	mul	x,a
4035  044c 9f            	ld	a,xl
4036  044d 1a03          	or	a,(OFST+2,sp)
4037  044f 6b01          	ld	(OFST+0,sp),a
4038  0451 c65306        	ld	a,21254
4039  0454 a40c          	and	a,#12
4040  0456 1a01          	or	a,(OFST+0,sp)
4041  0458 c75306        	ld	21254,a
4042                     ; 1707   if (TIM2_ICPolarity != TIM2_ICPOLARITY_RISING)
4044  045b 7b02          	ld	a,(OFST+1,sp)
4045  045d 2706          	jreq	L5012
4046                     ; 1709     TIM2->CCER1 |= TIM2_CCER1_CC2P;
4048  045f 721a5308      	bset	21256,#5
4050  0463 2004          	jra	L7012
4051  0465               L5012:
4052                     ; 1713     TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC2P);
4054  0465 721b5308      	bres	21256,#5
4055  0469               L7012:
4056                     ; 1717   TIM2->CCER1 |= TIM2_CCER1_CC2E;
4058  0469 72185308      	bset	21256,#4
4059                     ; 1719 }
4062  046d 5b03          	addw	sp,#3
4063  046f 81            	ret	
4115                     ; 1744 static void TI3_Config(u8 TIM2_ICPolarity, u8 TIM2_ICSelection,
4115                     ; 1745                        u8 TIM2_ICFilter)
4115                     ; 1746 {
4116                     	switch	.text
4117  0470               L7_TI3_Config:
4119  0470 89            	pushw	x
4120       00000001      OFST:	set	1
4123                     ; 1748   TIM2->CCER2 &=  (u8)(~TIM2_CCER2_CC3E);
4125  0471 72115309      	bres	21257,#0
4126  0475 88            	push	a
4127                     ; 1751   TIM2->CCMR3 = (u8)((TIM2->CCMR3 & (u8)(~( TIM2_CCMR_CCxS     |        TIM2_CCMR_ICxF    ))) | (u8)(( (TIM2_ICSelection)) | ((u8)( TIM2_ICFilter << 4))));
4129  0476 7b06          	ld	a,(OFST+5,sp)
4130  0478 97            	ld	xl,a
4131  0479 a610          	ld	a,#16
4132  047b 42            	mul	x,a
4133  047c 9f            	ld	a,xl
4134  047d 1a03          	or	a,(OFST+2,sp)
4135  047f 6b01          	ld	(OFST+0,sp),a
4136  0481 c65307        	ld	a,21255
4137  0484 a40c          	and	a,#12
4138  0486 1a01          	or	a,(OFST+0,sp)
4139  0488 c75307        	ld	21255,a
4140                     ; 1755   if (TIM2_ICPolarity != TIM2_ICPOLARITY_RISING)
4142  048b 7b02          	ld	a,(OFST+1,sp)
4143  048d 2706          	jreq	L7312
4144                     ; 1757     TIM2->CCER2 |= TIM2_CCER2_CC3P;
4146  048f 72125309      	bset	21257,#1
4148  0493 2004          	jra	L1412
4149  0495               L7312:
4150                     ; 1761     TIM2->CCER2 &= (u8)(~TIM2_CCER2_CC3P);
4152  0495 72135309      	bres	21257,#1
4153  0499               L1412:
4154                     ; 1764   TIM2->CCER2 |= TIM2_CCER2_CC3E;
4156  0499 72105309      	bset	21257,#0
4157                     ; 1765 }
4160  049d 5b03          	addw	sp,#3
4161  049f 81            	ret	
4174                     	xdef	_TIM2_ClearITPendingBit
4175                     	xdef	_TIM2_GetITStatus
4176                     	xdef	_TIM2_ClearFlag
4177                     	xdef	_TIM2_GetFlagStatus
4178                     	xdef	_TIM2_GetPrescaler
4179                     	xdef	_TIM2_GetCounter
4180                     	xdef	_TIM2_GetCapture3
4181                     	xdef	_TIM2_GetCapture2
4182                     	xdef	_TIM2_GetCapture1
4183                     	xdef	_TIM2_SetIC3Prescaler
4184                     	xdef	_TIM2_SetIC2Prescaler
4185                     	xdef	_TIM2_SetIC1Prescaler
4186                     	xdef	_TIM2_SetCompare3
4187                     	xdef	_TIM2_SetCompare2
4188                     	xdef	_TIM2_SetCompare1
4189                     	xdef	_TIM2_SetAutoreload
4190                     	xdef	_TIM2_SetCounter
4191                     	xdef	_TIM2_SelectOCxM
4192                     	xdef	_TIM2_CCxCmd
4193                     	xdef	_TIM2_OC3PolarityConfig
4194                     	xdef	_TIM2_OC2PolarityConfig
4195                     	xdef	_TIM2_OC1PolarityConfig
4196                     	xdef	_TIM2_GenerateEvent
4197                     	xdef	_TIM2_OC3PreloadConfig
4198                     	xdef	_TIM2_OC2PreloadConfig
4199                     	xdef	_TIM2_OC1PreloadConfig
4200                     	xdef	_TIM2_ARRPreloadConfig
4201                     	xdef	_TIM2_ForcedOC3Config
4202                     	xdef	_TIM2_ForcedOC2Config
4203                     	xdef	_TIM2_ForcedOC1Config
4204                     	xdef	_TIM2_PrescalerConfig
4205                     	xdef	_TIM2_SelectOnePulseMode
4206                     	xdef	_TIM2_UpdateRequestConfig
4207                     	xdef	_TIM2_UpdateDisableConfig
4208                     	xdef	_TIM2_ITConfig
4209                     	xdef	_TIM2_Cmd
4210                     	xdef	_TIM2_PWMIConfig
4211                     	xdef	_TIM2_ICInit
4212                     	xdef	_TIM2_OC3Init
4213                     	xdef	_TIM2_OC2Init
4214                     	xdef	_TIM2_OC1Init
4215                     	xdef	_TIM2_TimeBaseInit
4216                     	xdef	_TIM2_DeInit
4235                     	end

⌨️ 快捷键说明

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