?? stm8s_tim3.ls
字號:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Generator V4.2.8 - 03 Dec 2008
32 ; 43 void TIM3_DeInit(void)
32 ; 44 {
34 switch .text
35 0000 _TIM3_DeInit:
39 ; 46 TIM3->CR1 = (u8)TIM3_CR1_RESET_VALUE;
41 0000 725f5320 clr 21280
42 ; 47 TIM3->IER = (u8)TIM3_IER_RESET_VALUE;
44 0004 725f5321 clr 21281
45 ; 48 TIM3->SR2 = (u8)TIM3_SR2_RESET_VALUE;
47 0008 725f5323 clr 21283
48 ; 51 TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
50 000c 725f5327 clr 21287
51 ; 54 TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
53 0010 725f5327 clr 21287
54 ; 55 TIM3->CCMR1 = (u8)TIM3_CCMR1_RESET_VALUE;
56 0014 725f5325 clr 21285
57 ; 56 TIM3->CCMR2 = (u8)TIM3_CCMR2_RESET_VALUE;
59 0018 725f5326 clr 21286
60 ; 57 TIM3->CNTRH = (u8)TIM3_CNTRH_RESET_VALUE;
62 001c 725f5328 clr 21288
63 ; 58 TIM3->CNTRL = (u8)TIM3_CNTRL_RESET_VALUE;
65 0020 725f5329 clr 21289
66 ; 59 TIM3->PSCR = (u8)TIM3_PSCR_RESET_VALUE;
68 0024 725f532a clr 21290
69 ; 60 TIM3->ARRH = (u8)TIM3_ARRH_RESET_VALUE;
71 0028 35ff532b mov 21291,#255
72 ; 61 TIM3->ARRL = (u8)TIM3_ARRL_RESET_VALUE;
74 002c 35ff532c mov 21292,#255
75 ; 62 TIM3->CCR1H = (u8)TIM3_CCR1H_RESET_VALUE;
77 0030 725f532d clr 21293
78 ; 63 TIM3->CCR1L = (u8)TIM3_CCR1L_RESET_VALUE;
80 0034 725f532e clr 21294
81 ; 64 TIM3->CCR2H = (u8)TIM3_CCR2H_RESET_VALUE;
83 0038 725f532f clr 21295
84 ; 65 TIM3->CCR2L = (u8)TIM3_CCR2L_RESET_VALUE;
86 003c 725f5330 clr 21296
87 ; 66 TIM3->SR1 = (u8)TIM3_SR1_RESET_VALUE;
89 0040 725f5322 clr 21282
90 ; 67 }
93 0044 81 ret
261 ; 76 void TIM3_TimeBaseInit( TIM3_Prescaler_TypeDef TIM3_Prescaler,
261 ; 77 u16 TIM3_Period)
261 ; 78 {
262 switch .text
263 0045 _TIM3_TimeBaseInit:
265 0045 88 push a
266 00000000 OFST: set 0
269 ; 80 TIM3->PSCR = (u8)(TIM3_Prescaler);
271 0046 c7532a ld 21290,a
272 ; 82 TIM3->ARRH = (u8)(TIM3_Period >> 8);
274 0049 7b04 ld a,(OFST+4,sp)
275 004b c7532b ld 21291,a
276 ; 83 TIM3->ARRL = (u8)(TIM3_Period);
278 004e 7b05 ld a,(OFST+5,sp)
279 0050 c7532c ld 21292,a
280 ; 84 }
283 0053 84 pop a
284 0054 81 ret
441 ; 94 void TIM3_OC1Init(TIM3_OCMode_TypeDef TIM3_OCMode,
441 ; 95 TIM3_OutputState_TypeDef TIM3_OutputState,
441 ; 96 u16 TIM3_Pulse,
441 ; 97 TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
441 ; 98 {
442 switch .text
443 0055 _TIM3_OC1Init:
445 0055 89 pushw x
446 0056 88 push a
447 00000001 OFST: set 1
450 ; 100 assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
452 ; 101 assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
454 ; 102 assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
456 ; 105 TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC1E | TIM3_CCER1_CC1P));
458 0057 c65327 ld a,21287
459 005a a4fc and a,#252
460 005c c75327 ld 21287,a
461 ; 107 TIM3->CCER1 |= (u8)((TIM3_OutputState & TIM3_CCER1_CC1E ) | (TIM3_OCPolarity & TIM3_CCER1_CC1P ));
463 005f 7b08 ld a,(OFST+7,sp)
464 0061 a402 and a,#2
465 0063 6b01 ld (OFST+0,sp),a
466 0065 9f ld a,xl
467 0066 a401 and a,#1
468 0068 1a01 or a,(OFST+0,sp)
469 006a ca5327 or a,21287
470 006d c75327 ld 21287,a
471 ; 110 TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
473 0070 c65325 ld a,21285
474 0073 a48f and a,#143
475 0075 1a02 or a,(OFST+1,sp)
476 0077 c75325 ld 21285,a
477 ; 113 TIM3->CCR1H = (u8)(TIM3_Pulse >> 8);
479 007a 7b06 ld a,(OFST+5,sp)
480 007c c7532d ld 21293,a
481 ; 114 TIM3->CCR1L = (u8)(TIM3_Pulse);
483 007f 7b07 ld a,(OFST+6,sp)
484 0081 c7532e ld 21294,a
485 ; 115 }
488 0084 5b03 addw sp,#3
489 0086 81 ret
553 ; 126 void TIM3_OC2Init(TIM3_OCMode_TypeDef TIM3_OCMode,
553 ; 127 TIM3_OutputState_TypeDef TIM3_OutputState,
553 ; 128 u16 TIM3_Pulse,
553 ; 129 TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
553 ; 130 {
554 switch .text
555 0087 _TIM3_OC2Init:
557 0087 89 pushw x
558 0088 88 push a
559 00000001 OFST: set 1
562 ; 132 assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
564 ; 133 assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
566 ; 134 assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
568 ; 138 TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC2E | TIM3_CCER1_CC2P ));
570 0089 c65327 ld a,21287
571 008c a4cf and a,#207
572 008e c75327 ld 21287,a
573 ; 140 TIM3->CCER1 |= (u8)((TIM3_OutputState & TIM3_CCER1_CC2E ) | (TIM3_OCPolarity & TIM3_CCER1_CC2P ));
575 0091 7b08 ld a,(OFST+7,sp)
576 0093 a420 and a,#32
577 0095 6b01 ld (OFST+0,sp),a
578 0097 9f ld a,xl
579 0098 a410 and a,#16
580 009a 1a01 or a,(OFST+0,sp)
581 009c ca5327 or a,21287
582 009f c75327 ld 21287,a
583 ; 144 TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
585 00a2 c65326 ld a,21286
586 00a5 a48f and a,#143
587 00a7 1a02 or a,(OFST+1,sp)
588 00a9 c75326 ld 21286,a
589 ; 148 TIM3->CCR2H = (u8)(TIM3_Pulse >> 8);
591 00ac 7b06 ld a,(OFST+5,sp)
592 00ae c7532f ld 21295,a
593 ; 149 TIM3->CCR2L = (u8)(TIM3_Pulse);
595 00b1 7b07 ld a,(OFST+6,sp)
596 00b3 c75330 ld 21296,a
597 ; 150 }
600 00b6 5b03 addw sp,#3
601 00b8 81 ret
785 ; 161 void TIM3_ICInit(TIM3_Channel_TypeDef TIM3_Channel,
785 ; 162 TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
785 ; 163 TIM3_ICSelection_TypeDef TIM3_ICSelection,
785 ; 164 TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
785 ; 165 u8 TIM3_ICFilter)
785 ; 166 {
786 switch .text
787 00b9 _TIM3_ICInit:
789 00b9 89 pushw x
790 00000000 OFST: set 0
793 ; 168 assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
795 ; 169 assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
797 ; 170 assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
799 ; 171 assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
801 ; 172 assert_param(IS_TIM3_IC_FILTER_OK(TIM3_ICFilter));
803 ; 174 if (TIM3_Channel != TIM3_CHANNEL_2)
805 00ba 9e ld a,xh
806 00bb a101 cp a,#1
807 00bd 2714 jreq L343
808 ; 177 TI1_Config((u8)TIM3_ICPolarity,
808 ; 178 (u8)TIM3_ICSelection,
808 ; 179 (u8)TIM3_ICFilter);
810 00bf 7b07 ld a,(OFST+7,sp)
811 00c1 88 push a
812 00c2 7b06 ld a,(OFST+6,sp)
813 00c4 97 ld xl,a
814 00c5 7b03 ld a,(OFST+3,sp)
815 00c7 95 ld xh,a
816 00c8 cd0383 call L3_TI1_Config
818 00cb 84 pop a
819 ; 182 TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
821 00cc 7b06 ld a,(OFST+6,sp)
822 00ce cd028c call _TIM3_SetIC1Prescaler
825 00d1 2012 jra L543
826 00d3 L343:
827 ; 187 TI2_Config((u8)TIM3_ICPolarity,
827 ; 188 (u8)TIM3_ICSelection,
827 ; 189 (u8)TIM3_ICFilter);
829 00d3 7b07 ld a,(OFST+7,sp)
830 00d5 88 push a
831 00d6 7b06 ld a,(OFST+6,sp)
832 00d8 97 ld xl,a
833 00d9 7b03 ld a,(OFST+3,sp)
834 00db 95 ld xh,a
835 00dc cd03b3 call L5_TI2_Config
837 00df 84 pop a
838 ; 192 TIM3_SetIC2Prescaler(TIM3_ICPrescaler);
840 00e0 7b06 ld a,(OFST+6,sp)
841 00e2 cd0299 call _TIM3_SetIC2Prescaler
843 00e5 L543:
844 ; 194 }
847 00e5 85 popw x
848 00e6 81 ret
944 ; 204 void TIM3_PWMIConfig(TIM3_Channel_TypeDef TIM3_Channel,
944 ; 205 TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
944 ; 206 TIM3_ICSelection_TypeDef TIM3_ICSelection,
944 ; 207 TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
944 ; 208 u8 TIM3_ICFilter)
944 ; 209 {
945 switch .text
946 00e7 _TIM3_PWMIConfig:
948 00e7 89 pushw x
949 00e8 89 pushw x
950 00000002 OFST: set 2
953 ; 210 u8 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
955 00e9 7b01 ld a,(OFST-1,sp)
956 00eb 97 ld xl,a
957 ; 211 u8 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
959 00ec 7b02 ld a,(OFST+0,sp)
960 00ee 97 ld xl,a
961 ; 214 assert_param(IS_TIM3_PWMI_CHANNEL_OK(TIM3_Channel));
963 ; 215 assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
965 ; 216 assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
967 ; 217 assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
969 ; 220 if (TIM3_ICPolarity != TIM3_ICPOLARITY_FALLING)
971 00ef 7b04 ld a,(OFST+2,sp)
972 00f1 a144 cp a,#68
973 00f3 2706 jreq L514
974 ; 222 icpolarity = (u8)TIM3_ICPOLARITY_FALLING;
976 00f5 a644 ld a,#68
977 00f7 6b01 ld (OFST-1,sp),a
979 00f9 2002 jra L714
980 00fb L514:
981 ; 226 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
983 00fb 0f01 clr (OFST-1,sp)
984 00fd L714:
985 ; 230 if (TIM3_ICSelection == TIM3_ICSELECTION_DIRECTTI)
987 00fd 7b07 ld a,(OFST+5,sp)
988 00ff a101 cp a,#1
989 0101 2606 jrne L124
990 ; 232 icselection = (u8)TIM3_ICSELECTION_INDIRECTTI;
992 0103 a602 ld a,#2
993 0105 6b02 ld (OFST+0,sp),a
995 0107 2004 jra L324
996 0109 L124:
997 ; 236 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
999 0109 a601 ld a,#1
1000 010b 6b02 ld (OFST+0,sp),a
1001 010d L324:
1002 ; 239 if (TIM3_Channel != TIM3_CHANNEL_2)
1004 010d 7b03 ld a,(OFST+1,sp)
1005 010f a101 cp a,#1
1006 0111 2726 jreq L524
1007 ; 242 TI1_Config((u8)TIM3_ICPolarity, (u8)TIM3_ICSelection,
1007 ; 243 (u8)TIM3_ICFilter);
1009 0113 7b09 ld a,(OFST+7,sp)
1010 0115 88 push a
1011 0116 7b08 ld a,(OFST+6,sp)
1012 0118 97 ld xl,a
1013 0119 7b05 ld a,(OFST+3,sp)
1014 011b 95 ld xh,a
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -