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

📄 stm8s_tim2.ls

📁 STM8全部资料
💻 LS
📖 第 1 页 / 共 4 页
字号:
2365                     ; 951   if (TIM2_OCPolarity != TIM2_OCPOLARITY_HIGH)
2367  0281 4d            	tnz	a
2368  0282 2706          	jreq	L3711
2369                     ; 953     TIM2->CCER1 |= TIM2_CCER1_CC2P;
2371  0284 721a5308      	bset	21256,#5
2373  0288 2004          	jra	L5711
2374  028a               L3711:
2375                     ; 957     TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC2P);
2377  028a 721b5308      	bres	21256,#5
2378  028e               L5711:
2379                     ; 959 }
2382  028e 81            	ret
2418                     ; 979 void TIM2_OC3PolarityConfig(TIM2_OCPolarity_TypeDef TIM2_OCPolarity)
2418                     ; 980 {
2419                     	switch	.text
2420  028f               _TIM2_OC3PolarityConfig:
2424                     ; 982   assert_param(IS_TIM2_OC_POLARITY_OK(TIM2_OCPolarity));
2426                     ; 985   if (TIM2_OCPolarity != TIM2_OCPOLARITY_HIGH)
2428  028f 4d            	tnz	a
2429  0290 2706          	jreq	L5121
2430                     ; 987     TIM2->CCER2 |= TIM2_CCER2_CC3P;
2432  0292 72125309      	bset	21257,#1
2434  0296 2004          	jra	L7121
2435  0298               L5121:
2436                     ; 991     TIM2->CCER2 &= (u8)(~TIM2_CCER2_CC3P);
2438  0298 72135309      	bres	21257,#1
2439  029c               L7121:
2440                     ; 993 }
2443  029c 81            	ret
2488                     ; 1016 void TIM2_CCxCmd(TIM2_Channel_TypeDef TIM2_Channel, FunctionalState NewState)
2488                     ; 1017 {
2489                     	switch	.text
2490  029d               _TIM2_CCxCmd:
2492  029d 89            	pushw	x
2493       00000000      OFST:	set	0
2496                     ; 1019   assert_param(IS_TIM2_CHANNEL_OK(TIM2_Channel));
2498                     ; 1020   assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2500                     ; 1022   if (TIM2_Channel == TIM2_CHANNEL_1)
2502  029e 9e            	ld	a,xh
2503  029f 4d            	tnz	a
2504  02a0 2610          	jrne	L3421
2505                     ; 1025     if (NewState != DISABLE)
2507  02a2 9f            	ld	a,xl
2508  02a3 4d            	tnz	a
2509  02a4 2706          	jreq	L5421
2510                     ; 1027       TIM2->CCER1 |= TIM2_CCER1_CC1E;
2512  02a6 72105308      	bset	21256,#0
2514  02aa 202a          	jra	L1521
2515  02ac               L5421:
2516                     ; 1031       TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC1E);
2518  02ac 72115308      	bres	21256,#0
2519  02b0 2024          	jra	L1521
2520  02b2               L3421:
2521                     ; 1035   else if (TIM2_Channel == TIM2_CHANNEL_2)
2523  02b2 7b01          	ld	a,(OFST+1,sp)
2524  02b4 a101          	cp	a,#1
2525  02b6 2610          	jrne	L3521
2526                     ; 1038     if (NewState != DISABLE)
2528  02b8 0d02          	tnz	(OFST+2,sp)
2529  02ba 2706          	jreq	L5521
2530                     ; 1040       TIM2->CCER1 |= TIM2_CCER1_CC2E;
2532  02bc 72185308      	bset	21256,#4
2534  02c0 2014          	jra	L1521
2535  02c2               L5521:
2536                     ; 1044       TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC2E);
2538  02c2 72195308      	bres	21256,#4
2539  02c6 200e          	jra	L1521
2540  02c8               L3521:
2541                     ; 1050     if (NewState != DISABLE)
2543  02c8 0d02          	tnz	(OFST+2,sp)
2544  02ca 2706          	jreq	L3621
2545                     ; 1052       TIM2->CCER2 |= TIM2_CCER2_CC3E;
2547  02cc 72105309      	bset	21257,#0
2549  02d0 2004          	jra	L1521
2550  02d2               L3621:
2551                     ; 1056       TIM2->CCER2 &= (u8)(~TIM2_CCER2_CC3E);
2553  02d2 72115309      	bres	21257,#0
2554  02d6               L1521:
2555                     ; 1059 }
2558  02d6 85            	popw	x
2559  02d7 81            	ret
2604                     ; 1090 void TIM2_SelectOCxM(TIM2_Channel_TypeDef TIM2_Channel, TIM2_OCMode_TypeDef TIM2_OCMode)
2604                     ; 1091 {
2605                     	switch	.text
2606  02d8               _TIM2_SelectOCxM:
2608  02d8 89            	pushw	x
2609       00000000      OFST:	set	0
2612                     ; 1093   assert_param(IS_TIM2_CHANNEL_OK(TIM2_Channel));
2614                     ; 1094   assert_param(IS_TIM2_OCM_OK(TIM2_OCMode));
2616                     ; 1096   if (TIM2_Channel == TIM2_CHANNEL_1)
2618  02d9 9e            	ld	a,xh
2619  02da 4d            	tnz	a
2620  02db 2610          	jrne	L1131
2621                     ; 1099     TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC1E);
2623  02dd 72115308      	bres	21256,#0
2624                     ; 1102     TIM2->CCMR1 = (u8)((TIM2->CCMR1 & (u8)(~TIM2_CCMR_OCM)) | (u8)TIM2_OCMode);
2626  02e1 c65305        	ld	a,21253
2627  02e4 a48f          	and	a,#143
2628  02e6 1a02          	or	a,(OFST+2,sp)
2629  02e8 c75305        	ld	21253,a
2631  02eb 2024          	jra	L3131
2632  02ed               L1131:
2633                     ; 1104   else if (TIM2_Channel == TIM2_CHANNEL_2)
2635  02ed 7b01          	ld	a,(OFST+1,sp)
2636  02ef a101          	cp	a,#1
2637  02f1 2610          	jrne	L5131
2638                     ; 1107     TIM2->CCER1 &= (u8)(~TIM2_CCER1_CC2E);
2640  02f3 72195308      	bres	21256,#4
2641                     ; 1110     TIM2->CCMR2 = (u8)((TIM2->CCMR2 & (u8)(~TIM2_CCMR_OCM)) | (u8)TIM2_OCMode);
2643  02f7 c65306        	ld	a,21254
2644  02fa a48f          	and	a,#143
2645  02fc 1a02          	or	a,(OFST+2,sp)
2646  02fe c75306        	ld	21254,a
2648  0301 200e          	jra	L3131
2649  0303               L5131:
2650                     ; 1115     TIM2->CCER2 &= (u8)(~TIM2_CCER2_CC3E);
2652  0303 72115309      	bres	21257,#0
2653                     ; 1118     TIM2->CCMR3 = (u8)((TIM2->CCMR3 & (u8)(~TIM2_CCMR_OCM)) | (u8)TIM2_OCMode);
2655  0307 c65307        	ld	a,21255
2656  030a a48f          	and	a,#143
2657  030c 1a02          	or	a,(OFST+2,sp)
2658  030e c75307        	ld	21255,a
2659  0311               L3131:
2660                     ; 1120 }
2663  0311 85            	popw	x
2664  0312 81            	ret
2696                     ; 1138 void TIM2_SetCounter(u16 Counter)
2696                     ; 1139 {
2697                     	switch	.text
2698  0313               _TIM2_SetCounter:
2702                     ; 1141   TIM2->CNTRH = (u8)(Counter >> 8);
2704  0313 9e            	ld	a,xh
2705  0314 c7530a        	ld	21258,a
2706                     ; 1142   TIM2->CNTRL = (u8)(Counter);
2708  0317 9f            	ld	a,xl
2709  0318 c7530b        	ld	21259,a
2710                     ; 1144 }
2713  031b 81            	ret
2745                     ; 1162 void TIM2_SetAutoreload(u16 Autoreload)
2745                     ; 1163 {
2746                     	switch	.text
2747  031c               _TIM2_SetAutoreload:
2751                     ; 1166   TIM2->ARRH = (u8)(Autoreload >> 8);
2753  031c 9e            	ld	a,xh
2754  031d c7530d        	ld	21261,a
2755                     ; 1167   TIM2->ARRL = (u8)(Autoreload);
2757  0320 9f            	ld	a,xl
2758  0321 c7530e        	ld	21262,a
2759                     ; 1169 }
2762  0324 81            	ret
2794                     ; 1187 void TIM2_SetCompare1(u16 Compare1)
2794                     ; 1188 {
2795                     	switch	.text
2796  0325               _TIM2_SetCompare1:
2800                     ; 1190   TIM2->CCR1H = (u8)(Compare1 >> 8);
2802  0325 9e            	ld	a,xh
2803  0326 c7530f        	ld	21263,a
2804                     ; 1191   TIM2->CCR1L = (u8)(Compare1);
2806  0329 9f            	ld	a,xl
2807  032a c75310        	ld	21264,a
2808                     ; 1193 }
2811  032d 81            	ret
2843                     ; 1211 void TIM2_SetCompare2(u16 Compare2)
2843                     ; 1212 {
2844                     	switch	.text
2845  032e               _TIM2_SetCompare2:
2849                     ; 1214   TIM2->CCR2H = (u8)(Compare2 >> 8);
2851  032e 9e            	ld	a,xh
2852  032f c75311        	ld	21265,a
2853                     ; 1215   TIM2->CCR2L = (u8)(Compare2);
2855  0332 9f            	ld	a,xl
2856  0333 c75312        	ld	21266,a
2857                     ; 1217 }
2860  0336 81            	ret
2892                     ; 1235 void TIM2_SetCompare3(u16 Compare3)
2892                     ; 1236 {
2893                     	switch	.text
2894  0337               _TIM2_SetCompare3:
2898                     ; 1238   TIM2->CCR3H = (u8)(Compare3 >> 8);
2900  0337 9e            	ld	a,xh
2901  0338 c75313        	ld	21267,a
2902                     ; 1239   TIM2->CCR3L = (u8)(Compare3);
2904  033b 9f            	ld	a,xl
2905  033c c75314        	ld	21268,a
2906                     ; 1241 }
2909  033f 81            	ret
2945                     ; 1263 void TIM2_SetIC1Prescaler(TIM2_ICPSC_TypeDef TIM2_IC1Prescaler)
2945                     ; 1264 {
2946                     	switch	.text
2947  0340               _TIM2_SetIC1Prescaler:
2949  0340 88            	push	a
2950       00000000      OFST:	set	0
2953                     ; 1266   assert_param(IS_TIM2_IC_PRESCALER_OK(TIM2_IC1Prescaler));
2955                     ; 1269   TIM2->CCMR1 = (u8)((TIM2->CCMR1 & (u8)(~TIM2_CCMR_ICxPSC)) | (u8)TIM2_IC1Prescaler);
2957  0341 c65305        	ld	a,21253
2958  0344 a4f3          	and	a,#243
2959  0346 1a01          	or	a,(OFST+1,sp)
2960  0348 c75305        	ld	21253,a
2961                     ; 1270 }
2964  034b 84            	pop	a
2965  034c 81            	ret
3001                     ; 1291 void TIM2_SetIC2Prescaler(TIM2_ICPSC_TypeDef TIM2_IC2Prescaler)
3001                     ; 1292 {
3002                     	switch	.text
3003  034d               _TIM2_SetIC2Prescaler:
3005  034d 88            	push	a
3006       00000000      OFST:	set	0
3009                     ; 1294   assert_param(IS_TIM2_IC_PRESCALER_OK(TIM2_IC2Prescaler));
3011                     ; 1297   TIM2->CCMR2 = (u8)((TIM2->CCMR2 & (u8)(~TIM2_CCMR_ICxPSC)) | (u8)TIM2_IC2Prescaler);
3013  034e c65306        	ld	a,21254
3014  0351 a4f3          	and	a,#243
3015  0353 1a01          	or	a,(OFST+1,sp)
3016  0355 c75306        	ld	21254,a
3017                     ; 1298 }
3020  0358 84            	pop	a
3021  0359 81            	ret
3057                     ; 1319 void TIM2_SetIC3Prescaler(TIM2_ICPSC_TypeDef TIM2_IC3Prescaler)
3057                     ; 1320 {
3058                     	switch	.text
3059  035a               _TIM2_SetIC3Prescaler:
3061  035a 88            	push	a
3062       00000000      OFST:	set	0
3065                     ; 1323   assert_param(IS_TIM2_IC_PRESCALER_OK(TIM2_IC3Prescaler));
3067                     ; 1325   TIM2->CCMR3 = (u8)((TIM2->CCMR3 & (u8)(~TIM2_CCMR_ICxPSC)) | (u8)TIM2_IC3Prescaler);
3069  035b c65307        	ld	a,21255
3070  035e a4f3          	and	a,#243
3071  0360 1a01          	or	a,(OFST+1,sp)
3072  0362 c75307        	ld	21255,a
3073                     ; 1326 }
3076  0365 84            	pop	a
3077  0366 81            	ret
3123                     ; 1344 u16 TIM2_GetCapture1(void)
3123                     ; 1345 {
3124                     	switch	.text
3125  0367               _TIM2_GetCapture1:
3127  0367 5204          	subw	sp,#4
3128       00000004      OFST:	set	4
3131                     ; 1347    u16 tmpccr1 = 0;
3133                     ; 1348    u8 tmpccr1l=0, tmpccr1h=0;
3137                     ; 1350     tmpccr1h = TIM2->CCR1H;
3139  0369 c6530f        	ld	a,21263
3140  036c 6b02          	ld	(OFST-2,sp),a
3141                     ; 1351 	tmpccr1l = TIM2->CCR1L;
3143  036e c65310        	ld	a,21264
3144  0371 6b01          	ld	(OFST-3,sp),a
3145                     ; 1353     tmpccr1 = (u16)(tmpccr1l);
3147  0373 7b01          	ld	a,(OFST-3,sp)
3148  0375 5f            	clrw	x
3149  0376 97            	ld	xl,a
3150  0377 1f03          	ldw	(OFST-1,sp),x
3151                     ; 1354     tmpccr1 |= (u16)((u16)tmpccr1h << 8);
3153  0379 7b02          	ld	a,(OFST-2,sp)
3154  037b 5f            	clrw	x
3155  037c 97            	ld	xl,a
3156  037d 4f            	clr	a
3157  037e 02            	rlwa	x,a
3158  037f 01            	rrwa	x,a
3159  0380 1a04          	or	a,(OFST+0,sp)
3160  0382 01            	rrwa	x,a
3161  0383 1a03          	or	a,(OFST-1,sp)
3162  0385 01            	rrwa	x,a
3163  0386 1f03          	ldw	(OFST-1,sp),x
3164                     ; 1356     return (u16)tmpccr1;
3166  0388 1e03          	ldw	x,(OFST-1,sp)
3169  038a 5b04          	addw	sp,#4
3170  038c 81            	ret
3216                     ; 1375 u16 TIM2_GetCapture2(void)
3216                     ; 1376 {
3217                     	switch	.text
3218  038d               _TIM2_GetCapture2:
3220  038d 5204          	subw	sp,#4
3221       00000004      OFST:	set	4
3224                     ; 1378    u16 tmpccr2 = 0;
3226                     ; 1379    u8 tmpccr2l=0, tmpccr2h=0;
3230                     ; 1381     tmpccr2h = TIM2->CCR2H;
3232  038f c65311        	ld	a,21265
3233  0392 6b02          	ld	(OFST-2,sp),a
3234                     ; 1382 	tmpccr2l = TIM2->CCR2L;
3236  0394 c65312        	ld	a,21266
3237  0397 6b01          	ld	(OFST-3,sp),a
3238                     ; 1384     tmpccr2 = (u16)(tmpccr2l);
3240  0399 7b01          	ld	a,(OFST-3,sp)
3241  039b 5f            	clrw	x
3242  039c 97            	ld	xl,a
3243  039d 1f03          	ldw	(OFST-1,sp),x
3244                     ; 1385     tmpccr2 |= (u16)((u16)tmpccr2h << 8);
3246  039f 7b02          	ld	a,(OFST-2,sp)
3247  03a1 5f            	clrw	x
3248  03a2 97            	ld	xl,a
3249  03a3 4f            	clr	a
3250  03a4 02            	rlwa	x,a
3251  03a5 01            	rrwa	x,a
3252  03a6 1a04          	or	a,(OFST+0,sp)
3253  03a8 01            	rrwa	x,a
3254  03a9 1a03          	or	a,(OFST-1,sp)
3255  03ab 01            	rrwa	x,a
3256  03ac 1f03          	ldw	(OFST-1,sp),x
3257                     ; 1387     return (u16)tmpccr2;
3259  03ae 1e03          	ldw	x,(OFST-1,sp)
3262  03b0 5b04          	addw	sp,#4
3263  03b2 81            	ret
3309                     ; 1406 u16 TIM2_GetCapture3(void)
3309                     ; 1407 {
3310                     	switch	.text
3311  03b3               _TIM2_GetCapture3:
3313  03b3 5204          	subw	sp,#4
3314       00000004      OFST:	set	4
3317                     ; 1409     u16 tmpccr3 = 0;
3319                     ; 1410     u8 tmpccr3l=0, tmpccr3h=0;
3323                     ; 1412     tmpccr3h = TIM2->CCR3H;

⌨️ 快捷键说明

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