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

📄 stm8s_tim3.ls

📁 STM8全部资料
💻 LS
📖 第 1 页 / 共 4 页
字号:
2153  0219 4d            	tnz	a
2154  021a 2610          	jrne	L5111
2155                     ; 861     if (NewState != DISABLE)
2157  021c 9f            	ld	a,xl
2158  021d 4d            	tnz	a
2159  021e 2706          	jreq	L7111
2160                     ; 863       TIM3->CCER1 |= TIM3_CCER1_CC1E;
2162  0220 72105327      	bset	21287,#0
2164  0224 2014          	jra	L3211
2165  0226               L7111:
2166                     ; 867       TIM3->CCER1 &= (u8)(~TIM3_CCER1_CC1E);
2168  0226 72115327      	bres	21287,#0
2169  022a 200e          	jra	L3211
2170  022c               L5111:
2171                     ; 874     if (NewState != DISABLE)
2173  022c 0d02          	tnz	(OFST+2,sp)
2174  022e 2706          	jreq	L5211
2175                     ; 876       TIM3->CCER1 |= TIM3_CCER1_CC2E;
2177  0230 72185327      	bset	21287,#4
2179  0234 2004          	jra	L3211
2180  0236               L5211:
2181                     ; 880       TIM3->CCER1 &= (u8)(~TIM3_CCER1_CC2E);
2183  0236 72195327      	bres	21287,#4
2184  023a               L3211:
2185                     ; 884 }
2188  023a 85            	popw	x
2189  023b 81            	ret
2234                     ; 914 void TIM3_SelectOCxM(TIM3_Channel_TypeDef TIM3_Channel, TIM3_OCMode_TypeDef TIM3_OCMode)
2234                     ; 915 {
2235                     	switch	.text
2236  023c               _TIM3_SelectOCxM:
2238  023c 89            	pushw	x
2239       00000000      OFST:	set	0
2242                     ; 917   assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
2244                     ; 918   assert_param(IS_TIM3_OCM_OK(TIM3_OCMode));
2246                     ; 920   if (TIM3_Channel == TIM3_CHANNEL_1)
2248  023d 9e            	ld	a,xh
2249  023e 4d            	tnz	a
2250  023f 2610          	jrne	L3511
2251                     ; 923     TIM3->CCER1 &= (u8)(~TIM3_CCER1_CC1E);
2253  0241 72115327      	bres	21287,#0
2254                     ; 926     TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
2256  0245 c65325        	ld	a,21285
2257  0248 a48f          	and	a,#143
2258  024a 1a02          	or	a,(OFST+2,sp)
2259  024c c75325        	ld	21285,a
2261  024f 200e          	jra	L5511
2262  0251               L3511:
2263                     ; 931     TIM3->CCER1 &= (u8)(~TIM3_CCER1_CC2E);
2265  0251 72195327      	bres	21287,#4
2266                     ; 934     TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
2268  0255 c65326        	ld	a,21286
2269  0258 a48f          	and	a,#143
2270  025a 1a02          	or	a,(OFST+2,sp)
2271  025c c75326        	ld	21286,a
2272  025f               L5511:
2273                     ; 936 }
2276  025f 85            	popw	x
2277  0260 81            	ret
2309                     ; 954 void TIM3_SetCounter(u16 Counter)
2309                     ; 955 {
2310                     	switch	.text
2311  0261               _TIM3_SetCounter:
2315                     ; 957   TIM3->CNTRH = (u8)(Counter >> 8);
2317  0261 9e            	ld	a,xh
2318  0262 c75328        	ld	21288,a
2319                     ; 958   TIM3->CNTRL = (u8)(Counter);
2321  0265 9f            	ld	a,xl
2322  0266 c75329        	ld	21289,a
2323                     ; 960 }
2326  0269 81            	ret
2358                     ; 978 void TIM3_SetAutoreload(u16 Autoreload)
2358                     ; 979 {
2359                     	switch	.text
2360  026a               _TIM3_SetAutoreload:
2364                     ; 981   TIM3->ARRH = (u8)(Autoreload >> 8);
2366  026a 9e            	ld	a,xh
2367  026b c7532b        	ld	21291,a
2368                     ; 982   TIM3->ARRL = (u8)(Autoreload);
2370  026e 9f            	ld	a,xl
2371  026f c7532c        	ld	21292,a
2372                     ; 983 }
2375  0272 81            	ret
2407                     ; 1001 void TIM3_SetCompare1(u16 Compare1)
2407                     ; 1002 {
2408                     	switch	.text
2409  0273               _TIM3_SetCompare1:
2413                     ; 1004   TIM3->CCR1H = (u8)(Compare1 >> 8);
2415  0273 9e            	ld	a,xh
2416  0274 c7532d        	ld	21293,a
2417                     ; 1005   TIM3->CCR1L = (u8)(Compare1);
2419  0277 9f            	ld	a,xl
2420  0278 c7532e        	ld	21294,a
2421                     ; 1006 }
2424  027b 81            	ret
2456                     ; 1024 void TIM3_SetCompare2(u16 Compare2)
2456                     ; 1025 {
2457                     	switch	.text
2458  027c               _TIM3_SetCompare2:
2462                     ; 1027   TIM3->CCR2H = (u8)(Compare2 >> 8);
2464  027c 9e            	ld	a,xh
2465  027d c7532f        	ld	21295,a
2466                     ; 1028   TIM3->CCR2L = (u8)(Compare2);
2468  0280 9f            	ld	a,xl
2469  0281 c75330        	ld	21296,a
2470                     ; 1029 }
2473  0284 81            	ret
2509                     ; 1051 void TIM3_SetIC1Prescaler(TIM3_ICPSC_TypeDef TIM3_IC1Prescaler)
2509                     ; 1052 {
2510                     	switch	.text
2511  0285               _TIM3_SetIC1Prescaler:
2513  0285 88            	push	a
2514       00000000      OFST:	set	0
2517                     ; 1054   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_IC1Prescaler));
2519                     ; 1057   TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_ICxPSC)) | (u8)TIM3_IC1Prescaler);
2521  0286 c65325        	ld	a,21285
2522  0289 a4f3          	and	a,#243
2523  028b 1a01          	or	a,(OFST+1,sp)
2524  028d c75325        	ld	21285,a
2525                     ; 1058 }
2528  0290 84            	pop	a
2529  0291 81            	ret
2565                     ; 1079 void TIM3_SetIC2Prescaler(TIM3_ICPSC_TypeDef TIM3_IC2Prescaler)
2565                     ; 1080 {
2566                     	switch	.text
2567  0292               _TIM3_SetIC2Prescaler:
2569  0292 88            	push	a
2570       00000000      OFST:	set	0
2573                     ; 1082   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_IC2Prescaler));
2575                     ; 1085   TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_ICxPSC)) | (u8)TIM3_IC2Prescaler);
2577  0293 c65326        	ld	a,21286
2578  0296 a4f3          	and	a,#243
2579  0298 1a01          	or	a,(OFST+1,sp)
2580  029a c75326        	ld	21286,a
2581                     ; 1086 }
2584  029d 84            	pop	a
2585  029e 81            	ret
2631                     ; 1103 u16 TIM3_GetCapture1(void)
2631                     ; 1104 {
2632                     	switch	.text
2633  029f               _TIM3_GetCapture1:
2635  029f 5204          	subw	sp,#4
2636       00000004      OFST:	set	4
2639                     ; 1106    u16 tmpccr1 = 0;
2641                     ; 1107    u8 tmpccr1l=0, tmpccr1h=0;
2645                     ; 1109     tmpccr1h = TIM3->CCR1H;
2647  02a1 c6532d        	ld	a,21293
2648  02a4 6b02          	ld	(OFST-2,sp),a
2649                     ; 1110 	tmpccr1l = TIM3->CCR1L;
2651  02a6 c6532e        	ld	a,21294
2652  02a9 6b01          	ld	(OFST-3,sp),a
2653                     ; 1112     tmpccr1 = (u16)(tmpccr1l);
2655  02ab 7b01          	ld	a,(OFST-3,sp)
2656  02ad 5f            	clrw	x
2657  02ae 97            	ld	xl,a
2658  02af 1f03          	ldw	(OFST-1,sp),x
2659                     ; 1113     tmpccr1 |= (u16)((u16)tmpccr1h << 8);
2661  02b1 7b02          	ld	a,(OFST-2,sp)
2662  02b3 5f            	clrw	x
2663  02b4 97            	ld	xl,a
2664  02b5 4f            	clr	a
2665  02b6 02            	rlwa	x,a
2666  02b7 01            	rrwa	x,a
2667  02b8 1a04          	or	a,(OFST+0,sp)
2668  02ba 01            	rrwa	x,a
2669  02bb 1a03          	or	a,(OFST-1,sp)
2670  02bd 01            	rrwa	x,a
2671  02be 1f03          	ldw	(OFST-1,sp),x
2672                     ; 1115     return (u16)tmpccr1;
2674  02c0 1e03          	ldw	x,(OFST-1,sp)
2677  02c2 5b04          	addw	sp,#4
2678  02c4 81            	ret
2724                     ; 1134 u16 TIM3_GetCapture2(void)
2724                     ; 1135 {
2725                     	switch	.text
2726  02c5               _TIM3_GetCapture2:
2728  02c5 5204          	subw	sp,#4
2729       00000004      OFST:	set	4
2732                     ; 1137    u16 tmpccr2 = 0;
2734                     ; 1138    u8 tmpccr2l=0, tmpccr2h=0;
2738                     ; 1140     tmpccr2h = TIM3->CCR2H;
2740  02c7 c6532f        	ld	a,21295
2741  02ca 6b02          	ld	(OFST-2,sp),a
2742                     ; 1141 	tmpccr2l = TIM3->CCR2L;
2744  02cc c65330        	ld	a,21296
2745  02cf 6b01          	ld	(OFST-3,sp),a
2746                     ; 1143     tmpccr2 = (u16)(tmpccr2l);
2748  02d1 7b01          	ld	a,(OFST-3,sp)
2749  02d3 5f            	clrw	x
2750  02d4 97            	ld	xl,a
2751  02d5 1f03          	ldw	(OFST-1,sp),x
2752                     ; 1144     tmpccr2 |= (u16)((u16)tmpccr2h << 8);
2754  02d7 7b02          	ld	a,(OFST-2,sp)
2755  02d9 5f            	clrw	x
2756  02da 97            	ld	xl,a
2757  02db 4f            	clr	a
2758  02dc 02            	rlwa	x,a
2759  02dd 01            	rrwa	x,a
2760  02de 1a04          	or	a,(OFST+0,sp)
2761  02e0 01            	rrwa	x,a
2762  02e1 1a03          	or	a,(OFST-1,sp)
2763  02e3 01            	rrwa	x,a
2764  02e4 1f03          	ldw	(OFST-1,sp),x
2765                     ; 1146     return (u16)tmpccr2;
2767  02e6 1e03          	ldw	x,(OFST-1,sp)
2770  02e8 5b04          	addw	sp,#4
2771  02ea 81            	ret
2794                     ; 1165 u16 TIM3_GetCounter(void)
2794                     ; 1166 {
2795                     	switch	.text
2796  02eb               _TIM3_GetCounter:
2798  02eb 89            	pushw	x
2799       00000002      OFST:	set	2
2802                     ; 1168   return (u16)(((u16)TIM3->CNTRH << 8) | (u16)(TIM3->CNTRL));
2804  02ec c65329        	ld	a,21289
2805  02ef 5f            	clrw	x
2806  02f0 97            	ld	xl,a
2807  02f1 1f01          	ldw	(OFST-1,sp),x
2808  02f3 c65328        	ld	a,21288
2809  02f6 5f            	clrw	x
2810  02f7 97            	ld	xl,a
2811  02f8 4f            	clr	a
2812  02f9 02            	rlwa	x,a
2813  02fa 01            	rrwa	x,a
2814  02fb 1a02          	or	a,(OFST+0,sp)
2815  02fd 01            	rrwa	x,a
2816  02fe 1a01          	or	a,(OFST-1,sp)
2817  0300 01            	rrwa	x,a
2820  0301 5b02          	addw	sp,#2
2821  0303 81            	ret
2845                     ; 1188 TIM3_Prescaler_TypeDef TIM3_GetPrescaler(void)
2845                     ; 1189 {
2846                     	switch	.text
2847  0304               _TIM3_GetPrescaler:
2851                     ; 1191   return (TIM3_Prescaler_TypeDef)(TIM3->PSCR);
2853  0304 c6532a        	ld	a,21290
2856  0307 81            	ret
2977                     ; 1216 FlagStatus TIM3_GetFlagStatus(TIM3_FLAG_TypeDef TIM3_FLAG)
2977                     ; 1217 {
2978                     	switch	.text
2979  0308               _TIM3_GetFlagStatus:
2981  0308 5203          	subw	sp,#3
2982       00000003      OFST:	set	3
2985                     ; 1218   FlagStatus bitstatus = RESET;
2987                     ; 1222   assert_param(IS_TIM3_GET_FLAG_OK(TIM3_FLAG));
2989                     ; 1224   tim3_flag_l = (u8)(TIM3_FLAG);
2991  030a 9f            	ld	a,xl
2992  030b 6b02          	ld	(OFST-1,sp),a
2993                     ; 1225   tim3_flag_h = (u8)(TIM3_FLAG >> 8);
2995  030d 9e            	ld	a,xh
2996  030e 6b03          	ld	(OFST+0,sp),a
2997                     ; 1227   if (((TIM3->SR1 & tim3_flag_l) | (TIM3->SR2 & tim3_flag_h)) != (u8)RESET )
2999  0310 c65323        	ld	a,21283
3000  0313 1403          	and	a,(OFST+0,sp)
3001  0315 6b01          	ld	(OFST-2,sp),a
3002  0317 c65322        	ld	a,21282
3003  031a 1402          	and	a,(OFST-1,sp)
3004  031c 1a01          	or	a,(OFST-2,sp)
3005  031e 2706          	jreq	L7241
3006                     ; 1229     bitstatus = SET;
3008  0320 a601          	ld	a,#1
3009  0322 6b03          	ld	(OFST+0,sp),a
3011  0324 2002          	jra	L1341
3012  0326               L7241:
3013                     ; 1233     bitstatus = RESET;
3015  0326 0f03          	clr	(OFST+0,sp)
3016  0328               L1341:
3017                     ; 1235   return (FlagStatus)bitstatus;
3019  0328 7b03          	ld	a,(OFST+0,sp)
3022  032a 5b03          	addw	sp,#3

⌨️ 快捷键说明

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