📄 stm8s_tim3.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Generator V4.2.8 - 03 Dec 2008
3 ; Optimizer V4.2.8 - 03 Dec 2008
33 ; 62 void TIM3_DeInit(void)
33 ; 63 {
35 switch .text
36 0000 _TIM3_DeInit:
40 ; 65 TIM3->CR1 = (u8)TIM3_CR1_RESET_VALUE;
42 0000 725f5320 clr 21280
43 ; 66 TIM3->IER = (u8)TIM3_IER_RESET_VALUE;
45 0004 725f5321 clr 21281
46 ; 67 TIM3->SR2 = (u8)TIM3_SR2_RESET_VALUE;
48 0008 725f5323 clr 21283
49 ; 70 TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
51 000c 725f5327 clr 21287
52 ; 73 TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
54 0010 725f5327 clr 21287
55 ; 74 TIM3->CCMR1 = (u8)TIM3_CCMR1_RESET_VALUE;
57 0014 725f5325 clr 21285
58 ; 75 TIM3->CCMR2 = (u8)TIM3_CCMR2_RESET_VALUE;
60 0018 725f5326 clr 21286
61 ; 76 TIM3->CNTRH = (u8)TIM3_CNTRH_RESET_VALUE;
63 001c 725f5328 clr 21288
64 ; 77 TIM3->CNTRL = (u8)TIM3_CNTRL_RESET_VALUE;
66 0020 725f5329 clr 21289
67 ; 78 TIM3->PSCR = (u8)TIM3_PSCR_RESET_VALUE;
69 0024 725f532a clr 21290
70 ; 79 TIM3->ARRH = (u8)TIM3_ARRH_RESET_VALUE;
72 0028 35ff532b mov 21291,#255
73 ; 80 TIM3->ARRL = (u8)TIM3_ARRL_RESET_VALUE;
75 002c 35ff532c mov 21292,#255
76 ; 81 TIM3->CCR1H = (u8)TIM3_CCR1H_RESET_VALUE;
78 0030 725f532d clr 21293
79 ; 82 TIM3->CCR1L = (u8)TIM3_CCR1L_RESET_VALUE;
81 0034 725f532e clr 21294
82 ; 83 TIM3->CCR2H = (u8)TIM3_CCR2H_RESET_VALUE;
84 0038 725f532f clr 21295
85 ; 84 TIM3->CCR2L = (u8)TIM3_CCR2L_RESET_VALUE;
87 003c 725f5330 clr 21296
88 ; 85 TIM3->SR1 = (u8)TIM3_SR1_RESET_VALUE;
90 0040 725f5322 clr 21282
91 ; 86 }
94 0044 81 ret
262 ; 106 void TIM3_TimeBaseInit( TIM3_Prescaler_TypeDef TIM3_Prescaler,
262 ; 107 u16 TIM3_Period)
262 ; 108 {
263 switch .text
264 0045 _TIM3_TimeBaseInit:
266 00000000 OFST: set 0
269 ; 110 TIM3->PSCR = (u8)(TIM3_Prescaler);
271 0045 c7532a ld 21290,a
272 0048 88 push a
273 ; 112 TIM3->ARRH = (u8)(TIM3_Period >> 8);
275 0049 7b04 ld a,(OFST+4,sp)
276 004b c7532b ld 21291,a
277 ; 113 TIM3->ARRL = (u8)(TIM3_Period);
279 004e 7b05 ld a,(OFST+5,sp)
280 0050 c7532c ld 21292,a
281 ; 114 }
284 0053 84 pop a
285 0054 81 ret
442 ; 137 void TIM3_OC1Init(TIM3_OCMode_TypeDef TIM3_OCMode,
442 ; 138 TIM3_OutputState_TypeDef TIM3_OutputState,
442 ; 139 u16 TIM3_Pulse,
442 ; 140 TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
442 ; 141 {
443 switch .text
444 0055 _TIM3_OC1Init:
446 0055 89 pushw x
447 0056 88 push a
448 00000001 OFST: set 1
451 ; 143 assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
453 ; 144 assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
455 ; 145 assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
457 ; 148 TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC1E | TIM3_CCER1_CC1P));
459 0057 c65327 ld a,21287
460 005a a4fc and a,#252
461 005c c75327 ld 21287,a
462 ; 150 TIM3->CCER1 |= (u8)((TIM3_OutputState & TIM3_CCER1_CC1E ) | (TIM3_OCPolarity & TIM3_CCER1_CC1P ));
464 005f 7b08 ld a,(OFST+7,sp)
465 0061 a402 and a,#2
466 0063 6b01 ld (OFST+0,sp),a
467 0065 9f ld a,xl
468 0066 a401 and a,#1
469 0068 1a01 or a,(OFST+0,sp)
470 006a ca5327 or a,21287
471 006d c75327 ld 21287,a
472 ; 153 TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
474 0070 c65325 ld a,21285
475 0073 a48f and a,#143
476 0075 1a02 or a,(OFST+1,sp)
477 0077 c75325 ld 21285,a
478 ; 156 TIM3->CCR1H = (u8)(TIM3_Pulse >> 8);
480 007a 7b06 ld a,(OFST+5,sp)
481 007c c7532d ld 21293,a
482 ; 157 TIM3->CCR1L = (u8)(TIM3_Pulse);
484 007f 7b07 ld a,(OFST+6,sp)
485 0081 c7532e ld 21294,a
486 ; 158 }
489 0084 5b03 addw sp,#3
490 0086 81 ret
554 ; 182 void TIM3_OC2Init(TIM3_OCMode_TypeDef TIM3_OCMode,
554 ; 183 TIM3_OutputState_TypeDef TIM3_OutputState,
554 ; 184 u16 TIM3_Pulse,
554 ; 185 TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
554 ; 186 {
555 switch .text
556 0087 _TIM3_OC2Init:
558 0087 89 pushw x
559 0088 88 push a
560 00000001 OFST: set 1
563 ; 188 assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
565 ; 189 assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
567 ; 190 assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
569 ; 194 TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC2E | TIM3_CCER1_CC2P ));
571 0089 c65327 ld a,21287
572 008c a4cf and a,#207
573 008e c75327 ld 21287,a
574 ; 196 TIM3->CCER1 |= (u8)((TIM3_OutputState & TIM3_CCER1_CC2E ) | (TIM3_OCPolarity & TIM3_CCER1_CC2P ));
576 0091 7b08 ld a,(OFST+7,sp)
577 0093 a420 and a,#32
578 0095 6b01 ld (OFST+0,sp),a
579 0097 9f ld a,xl
580 0098 a410 and a,#16
581 009a 1a01 or a,(OFST+0,sp)
582 009c ca5327 or a,21287
583 009f c75327 ld 21287,a
584 ; 200 TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
586 00a2 c65326 ld a,21286
587 00a5 a48f and a,#143
588 00a7 1a02 or a,(OFST+1,sp)
589 00a9 c75326 ld 21286,a
590 ; 204 TIM3->CCR2H = (u8)(TIM3_Pulse >> 8);
592 00ac 7b06 ld a,(OFST+5,sp)
593 00ae c7532f ld 21295,a
594 ; 205 TIM3->CCR2L = (u8)(TIM3_Pulse);
596 00b1 7b07 ld a,(OFST+6,sp)
597 00b3 c75330 ld 21296,a
598 ; 206 }
601 00b6 5b03 addw sp,#3
602 00b8 81 ret
786 ; 236 void TIM3_ICInit(TIM3_Channel_TypeDef TIM3_Channel,
786 ; 237 TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
786 ; 238 TIM3_ICSelection_TypeDef TIM3_ICSelection,
786 ; 239 TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
786 ; 240 u8 TIM3_ICFilter)
786 ; 241 {
787 switch .text
788 00b9 _TIM3_ICInit:
790 00b9 89 pushw x
791 00000000 OFST: set 0
794 ; 243 assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
796 ; 244 assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
798 ; 245 assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
800 ; 246 assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
802 ; 247 assert_param(IS_TIM3_IC_FILTER_OK(TIM3_ICFilter));
804 ; 249 if (TIM3_Channel != TIM3_CHANNEL_2)
806 00ba 9e ld a,xh
807 00bb 4a dec a
808 00bc 2714 jreq L343
809 ; 252 TI1_Config(TIM3_ICPolarity,
809 ; 253 TIM3_ICSelection,
809 ; 254 TIM3_ICFilter);
811 00be 7b07 ld a,(OFST+7,sp)
812 00c0 88 push a
813 00c1 7b06 ld a,(OFST+6,sp)
814 00c3 97 ld xl,a
815 00c4 7b03 ld a,(OFST+3,sp)
816 00c6 95 ld xh,a
817 00c7 cd0337 call L3_TI1_Config
819 00ca 84 pop a
820 ; 257 TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
822 00cb 7b06 ld a,(OFST+6,sp)
823 00cd cd0275 call _TIM3_SetIC1Prescaler
826 00d0 2012 jra L543
827 00d2 L343:
828 ; 262 TI2_Config(TIM3_ICPolarity,
828 ; 263 TIM3_ICSelection,
828 ; 264 TIM3_ICFilter);
830 00d2 7b07 ld a,(OFST+7,sp)
831 00d4 88 push a
832 00d5 7b06 ld a,(OFST+6,sp)
833 00d7 97 ld xl,a
834 00d8 7b03 ld a,(OFST+3,sp)
835 00da 95 ld xh,a
836 00db cd0367 call L5_TI2_Config
838 00de 84 pop a
839 ; 267 TIM3_SetIC2Prescaler(TIM3_ICPrescaler);
841 00df 7b06 ld a,(OFST+6,sp)
842 00e1 cd0282 call _TIM3_SetIC2Prescaler
844 00e4 L543:
845 ; 269 }
848 00e4 85 popw x
849 00e5 81 ret
945 ; 296 void TIM3_PWMIConfig(TIM3_Channel_TypeDef TIM3_Channel,
945 ; 297 TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
945 ; 298 TIM3_ICSelection_TypeDef TIM3_ICSelection,
945 ; 299 TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
945 ; 300 u8 TIM3_ICFilter)
945 ; 301 {
946 switch .text
947 00e6 _TIM3_PWMIConfig:
949 00e6 89 pushw x
950 00e7 89 pushw x
951 00000002 OFST: set 2
954 ; 302 u8 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
956 ; 303 u8 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
958 ; 306 assert_param(IS_TIM3_PWMI_CHANNEL_OK(TIM3_Channel));
960 ; 307 assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
962 ; 308 assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
964 ; 309 assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
966 ; 312 if (TIM3_ICPolarity != TIM3_ICPOLARITY_FALLING)
968 00e8 7b04 ld a,(OFST+2,sp)
969 00ea a144 cp a,#68
970 00ec 2706 jreq L514
971 ; 314 icpolarity = (u8)TIM3_ICPOLARITY_FALLING;
973 00ee a644 ld a,#68
974 00f0 6b01 ld (OFST-1,sp),a
976 00f2 2002 jra L714
977 00f4 L514:
978 ; 318 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
980 00f4 0f01 clr (OFST-1,sp)
981 00f6 L714:
982 ; 322 if (TIM3_ICSelection == TIM3_ICSELECTION_DIRECTTI)
984 00f6 7b07 ld a,(OFST+5,sp)
985 00f8 4a dec a
986 00f9 2604 jrne L124
987 ; 324 icselection = (u8)TIM3_ICSELECTION_INDIRECTTI;
989 00fb a602 ld a,#2
991 00fd 2002 jra L324
992 00ff L124:
993 ; 328 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
995 00ff a601 ld a,#1
996 0101 L324:
997 0101 6b02 ld (OFST+0,sp),a
998 ; 331 if (TIM3_Channel != TIM3_CHANNEL_2)
1000 0103 7b03 ld a,(OFST+1,sp)
1001 0105 4a dec a
1002 0106 2726 jreq L524
1003 ; 334 TI1_Config(TIM3_ICPolarity, TIM3_ICSelection,
1003 ; 335 TIM3_ICFilter);
1005 0108 7b09 ld a,(OFST+7,sp)
1006 010a 88 push a
1007 010b 7b08 ld a,(OFST+6,sp)
1008 010d 97 ld xl,a
1009 010e 7b05 ld a,(OFST+3,sp)
1010 0110 95 ld xh,a
1011 0111 cd0337 call L3_TI1_Config
1013 0114 84 pop a
1014 ; 338 TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
1016 0115 7b08 ld a,(OFST+6,sp)
1017 0117 cd0275 call _TIM3_SetIC1Prescaler
1019 ; 341 TI2_Config(icpolarity, icselection, TIM3_ICFilter);
1021 011a 7b09 ld a,(OFST+7,sp)
1022 011c 88 push a
1023 011d 7b03 ld a,(OFST+1,sp)
1024 011f 97 ld xl,a
1025 0120 7b02 ld a,(OFST+0,sp)
1026 0122 95 ld xh,a
1027 0123 cd0367 call L5_TI2_Config
1029 0126 84 pop a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -