📄 stm8s_tim3.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Parser V4.9.10 - 10 Feb 2011
3 ; Generator (Limited) V4.3.6 - 15 Feb 2011
4 ; Optimizer V4.3.5 - 15 Feb 2011
47 ; 62 void TIM3_DeInit(void)
47 ; 63 {
49 switch .text
50 0000 _TIM3_DeInit:
54 ; 65 TIM3->CR1 = (u8)TIM3_CR1_RESET_VALUE;
56 0000 725f5320 clr 21280
57 ; 66 TIM3->IER = (u8)TIM3_IER_RESET_VALUE;
59 0004 725f5321 clr 21281
60 ; 67 TIM3->SR2 = (u8)TIM3_SR2_RESET_VALUE;
62 0008 725f5323 clr 21283
63 ; 70 TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
65 000c 725f5327 clr 21287
66 ; 73 TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
68 0010 725f5327 clr 21287
69 ; 74 TIM3->CCMR1 = (u8)TIM3_CCMR1_RESET_VALUE;
71 0014 725f5325 clr 21285
72 ; 75 TIM3->CCMR2 = (u8)TIM3_CCMR2_RESET_VALUE;
74 0018 725f5326 clr 21286
75 ; 76 TIM3->CNTRH = (u8)TIM3_CNTRH_RESET_VALUE;
77 001c 725f5328 clr 21288
78 ; 77 TIM3->CNTRL = (u8)TIM3_CNTRL_RESET_VALUE;
80 0020 725f5329 clr 21289
81 ; 78 TIM3->PSCR = (u8)TIM3_PSCR_RESET_VALUE;
83 0024 725f532a clr 21290
84 ; 79 TIM3->ARRH = (u8)TIM3_ARRH_RESET_VALUE;
86 0028 35ff532b mov 21291,#255
87 ; 80 TIM3->ARRL = (u8)TIM3_ARRL_RESET_VALUE;
89 002c 35ff532c mov 21292,#255
90 ; 81 TIM3->CCR1H = (u8)TIM3_CCR1H_RESET_VALUE;
92 0030 725f532d clr 21293
93 ; 82 TIM3->CCR1L = (u8)TIM3_CCR1L_RESET_VALUE;
95 0034 725f532e clr 21294
96 ; 83 TIM3->CCR2H = (u8)TIM3_CCR2H_RESET_VALUE;
98 0038 725f532f clr 21295
99 ; 84 TIM3->CCR2L = (u8)TIM3_CCR2L_RESET_VALUE;
101 003c 725f5330 clr 21296
102 ; 85 TIM3->SR1 = (u8)TIM3_SR1_RESET_VALUE;
104 0040 725f5322 clr 21282
105 ; 86 }
108 0044 81 ret
276 ; 106 void TIM3_TimeBaseInit( TIM3_Prescaler_TypeDef TIM3_Prescaler,
276 ; 107 u16 TIM3_Period)
276 ; 108 {
277 switch .text
278 0045 _TIM3_TimeBaseInit:
280 00000000 OFST: set 0
283 ; 110 TIM3->PSCR = (u8)(TIM3_Prescaler);
285 0045 c7532a ld 21290,a
286 0048 88 push a
287 ; 112 TIM3->ARRH = (u8)(TIM3_Period >> 8);
289 0049 7b04 ld a,(OFST+4,sp)
290 004b c7532b ld 21291,a
291 ; 113 TIM3->ARRL = (u8)(TIM3_Period);
293 004e 7b05 ld a,(OFST+5,sp)
294 0050 c7532c ld 21292,a
295 ; 114 }
298 0053 84 pop a
299 0054 81 ret
456 ; 137 void TIM3_OC1Init(TIM3_OCMode_TypeDef TIM3_OCMode,
456 ; 138 TIM3_OutputState_TypeDef TIM3_OutputState,
456 ; 139 u16 TIM3_Pulse,
456 ; 140 TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
456 ; 141 {
457 switch .text
458 0055 _TIM3_OC1Init:
460 0055 89 pushw x
461 0056 88 push a
462 00000001 OFST: set 1
465 ; 143 assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
467 ; 144 assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
469 ; 145 assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
471 ; 148 TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC1E | TIM3_CCER1_CC1P));
473 0057 c65327 ld a,21287
474 005a a4fc and a,#252
475 005c c75327 ld 21287,a
476 ; 150 TIM3->CCER1 |= (u8)((TIM3_OutputState & TIM3_CCER1_CC1E ) | (TIM3_OCPolarity & TIM3_CCER1_CC1P ));
478 005f 7b08 ld a,(OFST+7,sp)
479 0061 a402 and a,#2
480 0063 6b01 ld (OFST+0,sp),a
481 0065 9f ld a,xl
482 0066 a401 and a,#1
483 0068 1a01 or a,(OFST+0,sp)
484 006a ca5327 or a,21287
485 006d c75327 ld 21287,a
486 ; 153 TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
488 0070 c65325 ld a,21285
489 0073 a48f and a,#143
490 0075 1a02 or a,(OFST+1,sp)
491 0077 c75325 ld 21285,a
492 ; 156 TIM3->CCR1H = (u8)(TIM3_Pulse >> 8);
494 007a 7b06 ld a,(OFST+5,sp)
495 007c c7532d ld 21293,a
496 ; 157 TIM3->CCR1L = (u8)(TIM3_Pulse);
498 007f 7b07 ld a,(OFST+6,sp)
499 0081 c7532e ld 21294,a
500 ; 158 }
503 0084 5b03 addw sp,#3
504 0086 81 ret
568 ; 182 void TIM3_OC2Init(TIM3_OCMode_TypeDef TIM3_OCMode,
568 ; 183 TIM3_OutputState_TypeDef TIM3_OutputState,
568 ; 184 u16 TIM3_Pulse,
568 ; 185 TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
568 ; 186 {
569 switch .text
570 0087 _TIM3_OC2Init:
572 0087 89 pushw x
573 0088 88 push a
574 00000001 OFST: set 1
577 ; 188 assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
579 ; 189 assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
581 ; 190 assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
583 ; 194 TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC2E | TIM3_CCER1_CC2P ));
585 0089 c65327 ld a,21287
586 008c a4cf and a,#207
587 008e c75327 ld 21287,a
588 ; 196 TIM3->CCER1 |= (u8)((TIM3_OutputState & TIM3_CCER1_CC2E ) | (TIM3_OCPolarity & TIM3_CCER1_CC2P ));
590 0091 7b08 ld a,(OFST+7,sp)
591 0093 a420 and a,#32
592 0095 6b01 ld (OFST+0,sp),a
593 0097 9f ld a,xl
594 0098 a410 and a,#16
595 009a 1a01 or a,(OFST+0,sp)
596 009c ca5327 or a,21287
597 009f c75327 ld 21287,a
598 ; 200 TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
600 00a2 c65326 ld a,21286
601 00a5 a48f and a,#143
602 00a7 1a02 or a,(OFST+1,sp)
603 00a9 c75326 ld 21286,a
604 ; 204 TIM3->CCR2H = (u8)(TIM3_Pulse >> 8);
606 00ac 7b06 ld a,(OFST+5,sp)
607 00ae c7532f ld 21295,a
608 ; 205 TIM3->CCR2L = (u8)(TIM3_Pulse);
610 00b1 7b07 ld a,(OFST+6,sp)
611 00b3 c75330 ld 21296,a
612 ; 206 }
615 00b6 5b03 addw sp,#3
616 00b8 81 ret
800 ; 236 void TIM3_ICInit(TIM3_Channel_TypeDef TIM3_Channel,
800 ; 237 TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
800 ; 238 TIM3_ICSelection_TypeDef TIM3_ICSelection,
800 ; 239 TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
800 ; 240 u8 TIM3_ICFilter)
800 ; 241 {
801 switch .text
802 00b9 _TIM3_ICInit:
804 00b9 89 pushw x
805 00000000 OFST: set 0
808 ; 243 assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
810 ; 244 assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
812 ; 245 assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
814 ; 246 assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
816 ; 247 assert_param(IS_TIM3_IC_FILTER_OK(TIM3_ICFilter));
818 ; 249 if (TIM3_Channel != TIM3_CHANNEL_2)
820 00ba 9e ld a,xh
821 00bb 4a dec a
822 00bc 2714 jreq L343
823 ; 252 TI1_Config(TIM3_ICPolarity,
823 ; 253 TIM3_ICSelection,
823 ; 254 TIM3_ICFilter);
825 00be 7b07 ld a,(OFST+7,sp)
826 00c0 88 push a
827 00c1 7b06 ld a,(OFST+6,sp)
828 00c3 97 ld xl,a
829 00c4 7b03 ld a,(OFST+3,sp)
830 00c6 95 ld xh,a
831 00c7 cd032e call L3_TI1_Config
833 00ca 84 pop a
834 ; 257 TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
836 00cb 7b06 ld a,(OFST+6,sp)
837 00cd cd0274 call _TIM3_SetIC1Prescaler
840 00d0 2012 jra L543
841 00d2 L343:
842 ; 262 TI2_Config(TIM3_ICPolarity,
842 ; 263 TIM3_ICSelection,
842 ; 264 TIM3_ICFilter);
844 00d2 7b07 ld a,(OFST+7,sp)
845 00d4 88 push a
846 00d5 7b06 ld a,(OFST+6,sp)
847 00d7 97 ld xl,a
848 00d8 7b03 ld a,(OFST+3,sp)
849 00da 95 ld xh,a
850 00db cd035e call L5_TI2_Config
852 00de 84 pop a
853 ; 267 TIM3_SetIC2Prescaler(TIM3_ICPrescaler);
855 00df 7b06 ld a,(OFST+6,sp)
856 00e1 cd0281 call _TIM3_SetIC2Prescaler
858 00e4 L543:
859 ; 269 }
862 00e4 85 popw x
863 00e5 81 ret
959 ; 296 void TIM3_PWMIConfig(TIM3_Channel_TypeDef TIM3_Channel,
959 ; 297 TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
959 ; 298 TIM3_ICSelection_TypeDef TIM3_ICSelection,
959 ; 299 TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
959 ; 300 u8 TIM3_ICFilter)
959 ; 301 {
960 switch .text
961 00e6 _TIM3_PWMIConfig:
963 00e6 89 pushw x
964 00e7 89 pushw x
965 00000002 OFST: set 2
968 ; 302 u8 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
970 ; 303 u8 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
972 ; 306 assert_param(IS_TIM3_PWMI_CHANNEL_OK(TIM3_Channel));
974 ; 307 assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
976 ; 308 assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
978 ; 309 assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
980 ; 312 if (TIM3_ICPolarity != TIM3_ICPOLARITY_FALLING)
982 00e8 9f ld a,xl
983 00e9 a144 cp a,#68
984 00eb 2706 jreq L514
985 ; 314 icpolarity = (u8)TIM3_ICPOLARITY_FALLING;
987 00ed a644 ld a,#68
988 00ef 6b01 ld (OFST-1,sp),a
990 00f1 2002 jra L714
991 00f3 L514:
992 ; 318 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
994 00f3 0f01 clr (OFST-1,sp)
995 00f5 L714:
996 ; 322 if (TIM3_ICSelection == TIM3_ICSELECTION_DIRECTTI)
998 00f5 7b07 ld a,(OFST+5,sp)
999 00f7 4a dec a
1000 00f8 2604 jrne L124
1001 ; 324 icselection = (u8)TIM3_ICSELECTION_INDIRECTTI;
1003 00fa a602 ld a,#2
1005 00fc 2002 jra L324
1006 00fe L124:
1007 ; 328 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
1009 00fe a601 ld a,#1
1010 0100 L324:
1011 0100 6b02 ld (OFST+0,sp),a
1012 ; 331 if (TIM3_Channel != TIM3_CHANNEL_2)
1014 0102 7b03 ld a,(OFST+1,sp)
1015 0104 4a dec a
1016 0105 2726 jreq L524
1017 ; 334 TI1_Config(TIM3_ICPolarity, TIM3_ICSelection,
1017 ; 335 TIM3_ICFilter);
1019 0107 7b09 ld a,(OFST+7,sp)
1020 0109 88 push a
1021 010a 7b08 ld a,(OFST+6,sp)
1022 010c 97 ld xl,a
1023 010d 7b05 ld a,(OFST+3,sp)
1024 010f 95 ld xh,a
1025 0110 cd032e call L3_TI1_Config
1027 0113 84 pop a
1028 ; 338 TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
1030 0114 7b08 ld a,(OFST+6,sp)
1031 0116 cd0274 call _TIM3_SetIC1Prescaler
1033 ; 341 TI2_Config(icpolarity, icselection, TIM3_ICFilter);
1035 0119 7b09 ld a,(OFST+7,sp)
1036 011b 88 push a
1037 011c 7b03 ld a,(OFST+1,sp)
1038 011e 97 ld xl,a
1039 011f 7b02 ld a,(OFST+0,sp)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -