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

📄 stm8s_tim3.ls

📁 STM8-触摸例程
💻 LS
📖 第 1 页 / 共 4 页
字号:
2142  0207               _TIM3_CCxCmd:
2144  0207 89            	pushw	x
2145       00000000      OFST:	set	0
2148                     ; 855   assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
2150                     ; 856   assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2152                     ; 858   if (TIM3_Channel == TIM3_CHANNEL_1)
2154  0208 9e            	ld	a,xh
2155  0209 4d            	tnz	a
2156  020a 2610          	jrne	L3311
2157                     ; 861     if (NewState != DISABLE)
2159  020c 9f            	ld	a,xl
2160  020d 4d            	tnz	a
2161  020e 2706          	jreq	L5311
2162                     ; 863       TIM3->CCER1 |= TIM3_CCER1_CC1E;
2164  0210 72105327      	bset	21287,#0
2166  0214 2014          	jra	L1411
2167  0216               L5311:
2168                     ; 867       TIM3->CCER1 &= (u8)(~TIM3_CCER1_CC1E);
2170  0216 72115327      	bres	21287,#0
2171  021a 200e          	jra	L1411
2172  021c               L3311:
2173                     ; 874     if (NewState != DISABLE)
2175  021c 7b02          	ld	a,(OFST+2,sp)
2176  021e 2706          	jreq	L3411
2177                     ; 876       TIM3->CCER1 |= TIM3_CCER1_CC2E;
2179  0220 72185327      	bset	21287,#4
2181  0224 2004          	jra	L1411
2182  0226               L3411:
2183                     ; 880       TIM3->CCER1 &= (u8)(~TIM3_CCER1_CC2E);
2185  0226 72195327      	bres	21287,#4
2186  022a               L1411:
2187                     ; 884 }
2190  022a 85            	popw	x
2191  022b 81            	ret	
2236                     ; 914 void TIM3_SelectOCxM(TIM3_Channel_TypeDef TIM3_Channel, TIM3_OCMode_TypeDef TIM3_OCMode)
2236                     ; 915 {
2237                     	switch	.text
2238  022c               _TIM3_SelectOCxM:
2240  022c 89            	pushw	x
2241       00000000      OFST:	set	0
2244                     ; 917   assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
2246                     ; 918   assert_param(IS_TIM3_OCM_OK(TIM3_OCMode));
2248                     ; 920   if (TIM3_Channel == TIM3_CHANNEL_1)
2250  022d 9e            	ld	a,xh
2251  022e 4d            	tnz	a
2252  022f 2610          	jrne	L1711
2253                     ; 923     TIM3->CCER1 &= (u8)(~TIM3_CCER1_CC1E);
2255  0231 72115327      	bres	21287,#0
2256                     ; 926     TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
2258  0235 c65325        	ld	a,21285
2259  0238 a48f          	and	a,#143
2260  023a 1a02          	or	a,(OFST+2,sp)
2261  023c c75325        	ld	21285,a
2263  023f 200e          	jra	L3711
2264  0241               L1711:
2265                     ; 931     TIM3->CCER1 &= (u8)(~TIM3_CCER1_CC2E);
2267  0241 72195327      	bres	21287,#4
2268                     ; 934     TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
2270  0245 c65326        	ld	a,21286
2271  0248 a48f          	and	a,#143
2272  024a 1a02          	or	a,(OFST+2,sp)
2273  024c c75326        	ld	21286,a
2274  024f               L3711:
2275                     ; 936 }
2278  024f 85            	popw	x
2279  0250 81            	ret	
2313                     ; 954 void TIM3_SetCounter(u16 Counter)
2313                     ; 955 {
2314                     	switch	.text
2315  0251               _TIM3_SetCounter:
2319                     ; 957   TIM3->CNTRH = (u8)(Counter >> 8);
2321  0251 9e            	ld	a,xh
2322  0252 c75328        	ld	21288,a
2323                     ; 958   TIM3->CNTRL = (u8)(Counter);
2325  0255 9f            	ld	a,xl
2326  0256 c75329        	ld	21289,a
2327                     ; 960 }
2330  0259 81            	ret	
2364                     ; 978 void TIM3_SetAutoreload(u16 Autoreload)
2364                     ; 979 {
2365                     	switch	.text
2366  025a               _TIM3_SetAutoreload:
2370                     ; 981   TIM3->ARRH = (u8)(Autoreload >> 8);
2372  025a 9e            	ld	a,xh
2373  025b c7532b        	ld	21291,a
2374                     ; 982   TIM3->ARRL = (u8)(Autoreload);
2376  025e 9f            	ld	a,xl
2377  025f c7532c        	ld	21292,a
2378                     ; 983 }
2381  0262 81            	ret	
2415                     ; 1001 void TIM3_SetCompare1(u16 Compare1)
2415                     ; 1002 {
2416                     	switch	.text
2417  0263               _TIM3_SetCompare1:
2421                     ; 1004   TIM3->CCR1H = (u8)(Compare1 >> 8);
2423  0263 9e            	ld	a,xh
2424  0264 c7532d        	ld	21293,a
2425                     ; 1005   TIM3->CCR1L = (u8)(Compare1);
2427  0267 9f            	ld	a,xl
2428  0268 c7532e        	ld	21294,a
2429                     ; 1006 }
2432  026b 81            	ret	
2466                     ; 1024 void TIM3_SetCompare2(u16 Compare2)
2466                     ; 1025 {
2467                     	switch	.text
2468  026c               _TIM3_SetCompare2:
2472                     ; 1027   TIM3->CCR2H = (u8)(Compare2 >> 8);
2474  026c 9e            	ld	a,xh
2475  026d c7532f        	ld	21295,a
2476                     ; 1028   TIM3->CCR2L = (u8)(Compare2);
2478  0270 9f            	ld	a,xl
2479  0271 c75330        	ld	21296,a
2480                     ; 1029 }
2483  0274 81            	ret	
2519                     ; 1051 void TIM3_SetIC1Prescaler(TIM3_ICPSC_TypeDef TIM3_IC1Prescaler)
2519                     ; 1052 {
2520                     	switch	.text
2521  0275               _TIM3_SetIC1Prescaler:
2523  0275 88            	push	a
2524       00000000      OFST:	set	0
2527                     ; 1054   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_IC1Prescaler));
2529                     ; 1057   TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_ICxPSC)) | (u8)TIM3_IC1Prescaler);
2531  0276 c65325        	ld	a,21285
2532  0279 a4f3          	and	a,#243
2533  027b 1a01          	or	a,(OFST+1,sp)
2534  027d c75325        	ld	21285,a
2535                     ; 1058 }
2538  0280 84            	pop	a
2539  0281 81            	ret	
2575                     ; 1079 void TIM3_SetIC2Prescaler(TIM3_ICPSC_TypeDef TIM3_IC2Prescaler)
2575                     ; 1080 {
2576                     	switch	.text
2577  0282               _TIM3_SetIC2Prescaler:
2579  0282 88            	push	a
2580       00000000      OFST:	set	0
2583                     ; 1082   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_IC2Prescaler));
2585                     ; 1085   TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_ICxPSC)) | (u8)TIM3_IC2Prescaler);
2587  0283 c65326        	ld	a,21286
2588  0286 a4f3          	and	a,#243
2589  0288 1a01          	or	a,(OFST+1,sp)
2590  028a c75326        	ld	21286,a
2591                     ; 1086 }
2594  028d 84            	pop	a
2595  028e 81            	ret	
2647                     ; 1103 u16 TIM3_GetCapture1(void)
2647                     ; 1104 {
2648                     	switch	.text
2649  028f               _TIM3_GetCapture1:
2651  028f 5204          	subw	sp,#4
2652       00000004      OFST:	set	4
2655                     ; 1106    u16 tmpccr1 = 0;
2657                     ; 1107    u8 tmpccr1l=0, tmpccr1h=0;
2661                     ; 1109     tmpccr1h = TIM3->CCR1H;
2663  0291 c6532d        	ld	a,21293
2664  0294 6b02          	ld	(OFST-2,sp),a
2665                     ; 1110 	tmpccr1l = TIM3->CCR1L;
2667  0296 c6532e        	ld	a,21294
2668  0299 6b01          	ld	(OFST-3,sp),a
2669                     ; 1112     tmpccr1 = (u16)(tmpccr1l);
2671  029b 5f            	clrw	x
2672  029c 97            	ld	xl,a
2673  029d 1f03          	ldw	(OFST-1,sp),x
2674                     ; 1113     tmpccr1 |= (u16)((u16)tmpccr1h << 8);
2676  029f 7b02          	ld	a,(OFST-2,sp)
2677  02a1 97            	ld	xl,a
2678  02a2 7b04          	ld	a,(OFST+0,sp)
2679  02a4 01            	rrwa	x,a
2680  02a5 1a03          	or	a,(OFST-1,sp)
2681  02a7 01            	rrwa	x,a
2682                     ; 1115     return (u16)tmpccr1;
2686  02a8 5b04          	addw	sp,#4
2687  02aa 81            	ret	
2739                     ; 1134 u16 TIM3_GetCapture2(void)
2739                     ; 1135 {
2740                     	switch	.text
2741  02ab               _TIM3_GetCapture2:
2743  02ab 5204          	subw	sp,#4
2744       00000004      OFST:	set	4
2747                     ; 1137    u16 tmpccr2 = 0;
2749                     ; 1138    u8 tmpccr2l=0, tmpccr2h=0;
2753                     ; 1140     tmpccr2h = TIM3->CCR2H;
2755  02ad c6532f        	ld	a,21295
2756  02b0 6b02          	ld	(OFST-2,sp),a
2757                     ; 1141 	tmpccr2l = TIM3->CCR2L;
2759  02b2 c65330        	ld	a,21296
2760  02b5 6b01          	ld	(OFST-3,sp),a
2761                     ; 1143     tmpccr2 = (u16)(tmpccr2l);
2763  02b7 5f            	clrw	x
2764  02b8 97            	ld	xl,a
2765  02b9 1f03          	ldw	(OFST-1,sp),x
2766                     ; 1144     tmpccr2 |= (u16)((u16)tmpccr2h << 8);
2768  02bb 7b02          	ld	a,(OFST-2,sp)
2769  02bd 97            	ld	xl,a
2770  02be 7b04          	ld	a,(OFST+0,sp)
2771  02c0 01            	rrwa	x,a
2772  02c1 1a03          	or	a,(OFST-1,sp)
2773  02c3 01            	rrwa	x,a
2774                     ; 1146     return (u16)tmpccr2;
2778  02c4 5b04          	addw	sp,#4
2779  02c6 81            	ret	
2802                     ; 1165 u16 TIM3_GetCounter(void)
2802                     ; 1166 {
2803                     	switch	.text
2804  02c7               _TIM3_GetCounter:
2806  02c7 89            	pushw	x
2807       00000002      OFST:	set	2
2810                     ; 1168   return (u16)(((u16)TIM3->CNTRH << 8) | (u16)(TIM3->CNTRL));
2812  02c8 c65329        	ld	a,21289
2813  02cb 5f            	clrw	x
2814  02cc 97            	ld	xl,a
2815  02cd 1f01          	ldw	(OFST-1,sp),x
2816  02cf c65328        	ld	a,21288
2817  02d2 97            	ld	xl,a
2818  02d3 7b02          	ld	a,(OFST+0,sp)
2819  02d5 01            	rrwa	x,a
2820  02d6 1a01          	or	a,(OFST-1,sp)
2821  02d8 01            	rrwa	x,a
2824  02d9 5b02          	addw	sp,#2
2825  02db 81            	ret	
2849                     ; 1188 TIM3_Prescaler_TypeDef TIM3_GetPrescaler(void)
2849                     ; 1189 {
2850                     	switch	.text
2851  02dc               _TIM3_GetPrescaler:
2855                     ; 1191   return (TIM3_Prescaler_TypeDef)(TIM3->PSCR);
2857  02dc c6532a        	ld	a,21290
2860  02df 81            	ret	
2985                     ; 1216 FlagStatus TIM3_GetFlagStatus(TIM3_FLAG_TypeDef TIM3_FLAG)
2985                     ; 1217 {
2986                     	switch	.text
2987  02e0               _TIM3_GetFlagStatus:
2989  02e0 89            	pushw	x
2990  02e1 5203          	subw	sp,#3
2991       00000003      OFST:	set	3
2994                     ; 1218   FlagStatus bitstatus = RESET;
2996  02e3 7b03          	ld	a,(OFST+0,sp)
2997  02e5 97            	ld	xl,a
2998                     ; 1222   assert_param(IS_TIM3_GET_FLAG_OK(TIM3_FLAG));
3000                     ; 1224   tim3_flag_l = (u8)(TIM3_FLAG);
3002  02e6 7b05          	ld	a,(OFST+2,sp)
3003  02e8 6b02          	ld	(OFST-1,sp),a
3004                     ; 1225   tim3_flag_h = (u8)(TIM3_FLAG >> 8);
3006  02ea 7b04          	ld	a,(OFST+1,sp)
3007  02ec 6b03          	ld	(OFST+0,sp),a
3008                     ; 1227   if (((TIM3->SR1 & tim3_flag_l) | (TIM3->SR2 & tim3_flag_h)) != (u8)RESET )
3010  02ee c45323        	and	a,21283
3011  02f1 6b01          	ld	(OFST-2,sp),a
3012  02f3 c65322        	ld	a,21282
3013  02f6 1402          	and	a,(OFST-1,sp)
3014  02f8 1a01          	or	a,(OFST-2,sp)
3015  02fa 2702          	jreq	L5741
3016                     ; 1229     bitstatus = SET;
3018  02fc a601          	ld	a,#1
3020  02fe               L5741:
3021                     ; 1233     bitstatus = RESET;
3023                     ; 1235   return (FlagStatus)bitstatus;
3027  02fe 5b05          	addw	sp,#5
3028  0300 81            	ret	
3063                     ; 1259 void TIM3_ClearFlag(TIM3_FLAG_TypeDef TIM3_FLAG)
3063                     ; 1260 {
3064                     	switch	.text
3065  0301               _TIM3_ClearFlag:

⌨️ 快捷键说明

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