📄 stm8s_tim2.ls
字号:
2714 ; 854 {
2715 switch .text
2716 0313 _TIM2_SetCounter:
2720 ; 856 TIM2->CNTRH = (u8)(Counter >> 8);
2722 0313 9e ld a,xh
2723 0314 c7530a ld 21258,a
2724 ; 857 TIM2->CNTRL = (u8)(Counter);
2726 0317 9f ld a,xl
2727 0318 c7530b ld 21259,a
2728 ; 859 }
2731 031b 81 ret
2765 ; 868 void TIM2_SetAutoreload(u16 Autoreload)
2765 ; 869 {
2766 switch .text
2767 031c _TIM2_SetAutoreload:
2771 ; 872 TIM2->ARRH = (u8)(Autoreload >> 8);
2773 031c 9e ld a,xh
2774 031d c7530d ld 21261,a
2775 ; 873 TIM2->ARRL = (u8)(Autoreload);
2777 0320 9f ld a,xl
2778 0321 c7530e ld 21262,a
2779 ; 875 }
2782 0324 81 ret
2816 ; 884 void TIM2_SetCompare1(u16 Compare1)
2816 ; 885 {
2817 switch .text
2818 0325 _TIM2_SetCompare1:
2822 ; 887 TIM2->CCR1H = (u8)(Compare1 >> 8);
2824 0325 9e ld a,xh
2825 0326 c7530f ld 21263,a
2826 ; 888 TIM2->CCR1L = (u8)(Compare1);
2828 0329 9f ld a,xl
2829 032a c75310 ld 21264,a
2830 ; 890 }
2833 032d 81 ret
2867 ; 899 void TIM2_SetCompare2(u16 Compare2)
2867 ; 900 {
2868 switch .text
2869 032e _TIM2_SetCompare2:
2873 ; 902 TIM2->CCR2H = (u8)(Compare2 >> 8);
2875 032e 9e ld a,xh
2876 032f c75311 ld 21265,a
2877 ; 903 TIM2->CCR2L = (u8)(Compare2);
2879 0332 9f ld a,xl
2880 0333 c75312 ld 21266,a
2881 ; 905 }
2884 0336 81 ret
2918 ; 914 void TIM2_SetCompare3(u16 Compare3)
2918 ; 915 {
2919 switch .text
2920 0337 _TIM2_SetCompare3:
2924 ; 917 TIM2->CCR3H = (u8)(Compare3 >> 8);
2926 0337 9e ld a,xh
2927 0338 c75313 ld 21267,a
2928 ; 918 TIM2->CCR3L = (u8)(Compare3);
2930 033b 9f ld a,xl
2931 033c c75314 ld 21268,a
2932 ; 920 }
2935 033f 81 ret
2971 ; 933 void TIM2_SetIC1Prescaler(TIM2_ICPSC_TypeDef TIM2_IC1Prescaler)
2971 ; 934 {
2972 switch .text
2973 0340 _TIM2_SetIC1Prescaler:
2975 0340 88 push a
2976 00000000 OFST: set 0
2979 ; 936 assert_param(IS_TIM2_IC_PRESCALER_OK(TIM2_IC1Prescaler));
2981 ; 939 TIM2->CCMR1 = (u8)((TIM2->CCMR1 & (u8)(~TIM2_CCMR_ICxPSC)) | (u8)TIM2_IC1Prescaler);
2983 0341 c65305 ld a,21253
2984 0344 a4f3 and a,#243
2985 0346 1a01 or a,(OFST+1,sp)
2986 0348 c75305 ld 21253,a
2987 ; 940 }
2990 034b 84 pop a
2991 034c 81 ret
3027 ; 952 void TIM2_SetIC2Prescaler(TIM2_ICPSC_TypeDef TIM2_IC2Prescaler)
3027 ; 953 {
3028 switch .text
3029 034d _TIM2_SetIC2Prescaler:
3031 034d 88 push a
3032 00000000 OFST: set 0
3035 ; 955 assert_param(IS_TIM2_IC_PRESCALER_OK(TIM2_IC2Prescaler));
3037 ; 958 TIM2->CCMR2 = (u8)((TIM2->CCMR2 & (u8)(~TIM2_CCMR_ICxPSC)) | (u8)TIM2_IC2Prescaler);
3039 034e c65306 ld a,21254
3040 0351 a4f3 and a,#243
3041 0353 1a01 or a,(OFST+1,sp)
3042 0355 c75306 ld 21254,a
3043 ; 959 }
3046 0358 84 pop a
3047 0359 81 ret
3083 ; 971 void TIM2_SetIC3Prescaler(TIM2_ICPSC_TypeDef TIM2_IC3Prescaler)
3083 ; 972 {
3084 switch .text
3085 035a _TIM2_SetIC3Prescaler:
3087 035a 88 push a
3088 00000000 OFST: set 0
3091 ; 975 assert_param(IS_TIM2_IC_PRESCALER_OK(TIM2_IC3Prescaler));
3093 ; 977 TIM2->CCMR3 = (u8)((TIM2->CCMR3 & (u8)(~TIM2_CCMR_ICxPSC)) | (u8)TIM2_IC3Prescaler);
3095 035b c65307 ld a,21255
3096 035e a4f3 and a,#243
3097 0360 1a01 or a,(OFST+1,sp)
3098 0362 c75307 ld 21255,a
3099 ; 978 }
3102 0365 84 pop a
3103 0366 81 ret
3155 ; 986 u16 TIM2_GetCapture1(void)
3155 ; 987 {
3156 switch .text
3157 0367 _TIM2_GetCapture1:
3159 0367 5204 subw sp,#4
3160 00000004 OFST: set 4
3163 ; 989 u16 tmpccr1 = 0;
3165 ; 990 u8 tmpccr1l=0, tmpccr1h=0;
3169 ; 992 tmpccr1h = TIM2->CCR1H;
3171 0369 c6530f ld a,21263
3172 036c 6b02 ld (OFST-2,sp),a
3173 ; 993 tmpccr1l = TIM2->CCR1L;
3175 036e c65310 ld a,21264
3176 0371 6b01 ld (OFST-3,sp),a
3177 ; 995 tmpccr1 = (u16)(tmpccr1l);
3179 0373 7b01 ld a,(OFST-3,sp)
3180 0375 5f clrw x
3181 0376 97 ld xl,a
3182 0377 1f03 ldw (OFST-1,sp),x
3183 ; 996 tmpccr1 |= (u16)((u16)tmpccr1h << 8);
3185 0379 7b02 ld a,(OFST-2,sp)
3186 037b 5f clrw x
3187 037c 97 ld xl,a
3188 037d 4f clr a
3189 037e 02 rlwa x,a
3190 037f 01 rrwa x,a
3191 0380 1a04 or a,(OFST+0,sp)
3192 0382 01 rrwa x,a
3193 0383 1a03 or a,(OFST-1,sp)
3194 0385 01 rrwa x,a
3195 0386 1f03 ldw (OFST-1,sp),x
3196 ; 998 return (u16)tmpccr1;
3198 0388 1e03 ldw x,(OFST-1,sp)
3201 038a 5b04 addw sp,#4
3202 038c 81 ret
3254 ; 1007 u16 TIM2_GetCapture2(void)
3254 ; 1008 {
3255 switch .text
3256 038d _TIM2_GetCapture2:
3258 038d 5204 subw sp,#4
3259 00000004 OFST: set 4
3262 ; 1010 u16 tmpccr2 = 0;
3264 ; 1011 u8 tmpccr2l=0, tmpccr2h=0;
3268 ; 1013 tmpccr2h = TIM2->CCR2H;
3270 038f c65311 ld a,21265
3271 0392 6b02 ld (OFST-2,sp),a
3272 ; 1014 tmpccr2l = TIM2->CCR2L;
3274 0394 c65312 ld a,21266
3275 0397 6b01 ld (OFST-3,sp),a
3276 ; 1016 tmpccr2 = (u16)(tmpccr2l);
3278 0399 7b01 ld a,(OFST-3,sp)
3279 039b 5f clrw x
3280 039c 97 ld xl,a
3281 039d 1f03 ldw (OFST-1,sp),x
3282 ; 1017 tmpccr2 |= (u16)((u16)tmpccr2h << 8);
3284 039f 7b02 ld a,(OFST-2,sp)
3285 03a1 5f clrw x
3286 03a2 97 ld xl,a
3287 03a3 4f clr a
3288 03a4 02 rlwa x,a
3289 03a5 01 rrwa x,a
3290 03a6 1a04 or a,(OFST+0,sp)
3291 03a8 01 rrwa x,a
3292 03a9 1a03 or a,(OFST-1,sp)
3293 03ab 01 rrwa x,a
3294 03ac 1f03 ldw (OFST-1,sp),x
3295 ; 1019 return (u16)tmpccr2;
3297 03ae 1e03 ldw x,(OFST-1,sp)
3300 03b0 5b04 addw sp,#4
3301 03b2 81 ret
3353 ; 1028 u16 TIM2_GetCapture3(void)
3353 ; 1029 {
3354 switch .text
3355 03b3 _TIM2_GetCapture3:
3357 03b3 5204 subw sp,#4
3358 00000004 OFST: set 4
3361 ; 1031 u16 tmpccr3 = 0;
3363 ; 1032 u8 tmpccr3l=0, tmpccr3h=0;
3367 ; 1034 tmpccr3h = TIM2->CCR3H;
3369 03b5 c65313 ld a,21267
3370 03b8 6b02 ld (OFST-2,sp),a
3371 ; 1035 tmpccr3l = TIM2->CCR3L;
3373 03ba c65314 ld a,21268
3374 03bd 6b01 ld (OFST-3,sp),a
3375 ; 1037 tmpccr3 = (u16)(tmpccr3l);
3377 03bf 7b01 ld a,(OFST-3,sp)
3378 03c1 5f clrw x
3379 03c2 97 ld xl,a
3380 03c3 1f03 ldw (OFST-1,sp),x
3381 ; 1038 tmpccr3 |= (u16)((u16)tmpccr3h << 8);
3383 03c5 7b02 ld a,(OFST-2,sp)
3384 03c7 5f clrw x
3385 03c8 97 ld xl,a
3386 03c9 4f clr a
3387 03ca 02 rlwa x,a
3388 03cb 01 rrwa x,a
3389 03cc 1a04 or a,(OFST+0,sp)
3390 03ce 01 rrwa x,a
3391 03cf 1a03 or a,(OFST-1,sp)
3392 03d1 01 rrwa x,a
3393 03d2 1f03 ldw (OFST-1,sp),x
3394 ; 1040 return (u16)tmpccr3;
3396 03d4 1e03 ldw x,(OFST-1,sp)
3399 03d6 5b04 addw sp,#4
3400 03d8 81 ret
3423 ; 1049 u16 TIM2_GetCounter(void)
3423 ; 1050 {
3424 switch .text
3425 03d9 _TIM2_GetCounter:
3427 03d9 89 pushw x
3428 00000002 OFST: set 2
3431 ; 1052 return (u16)(((u16)TIM2->CNTRH << 8) | (u16)(TIM2->CNTRL));
3433 03da c6530b ld a,21259
3434 03dd 5f clrw x
3435 03de 97 ld xl,a
3436 03df 1f01 ldw (OFST-1,sp),x
3437 03e1 c6530a ld a,21258
3438 03e4 5f clrw x
3439 03e5 97 ld xl,a
3440 03e6 4f clr a
3441 03e7 02 rlwa x,a
3442 03e8 01 rrwa x,a
3443 03e9 1a02 or a,(OFST+0,sp)
3444 03eb 01 rrwa x,a
3445 03ec 1a01 or a,(OFST-1,sp)
3446 03ee 01 rrwa x,a
3449 03ef 5b02 addw sp,#2
3450 03f1 81 ret
3474 ; 1062 TIM2_Prescaler_TypeDef TIM2_GetPrescaler(void)
3474 ; 1063 {
3475 switch .text
3476 03f2 _TIM2_GetPrescaler:
3480 ; 1065 return (TIM2_Prescaler_TypeDef)(TIM2->PSCR);
3482 03f2 c6530c ld a,21260
3485 03f5 81 ret
3624 ; 1082 FlagStatus TIM2_GetFlagStatus(TIM2_FLAG_TypeDef TIM2_FLAG)
3624 ; 1083 {
3625 switch .text
3626 03f6 _TIM2_GetFlagStatus:
3628 03f6 5204 subw sp,#4
3629 00000004 OFST: set 4
3632 ; 1084 volatile FlagStatus bitstatus = RESET;
3634 03f8 0f04 clr (OFST+0,sp)
3635 ; 1088 assert_param(IS_TIM2_GET_FLAG_OK(TIM2_FLAG));
3637 ; 1090 tim2_flag_l = (u8)(TIM2_FLAG);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -