📄 stm8s_tim1.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 ; 69 void TIM1_DeInit(void)
33 ; 70 {
35 switch .text
36 0000 _TIM1_DeInit:
40 ; 71 TIM1->CR1 = TIM1_CR1_RESET_VALUE;
42 0000 725f5250 clr 21072
43 ; 72 TIM1->CR2 = TIM1_CR2_RESET_VALUE;
45 0004 725f5251 clr 21073
46 ; 73 TIM1->SMCR = TIM1_SMCR_RESET_VALUE;
48 0008 725f5252 clr 21074
49 ; 74 TIM1->ETR = TIM1_ETR_RESET_VALUE;
51 000c 725f5253 clr 21075
52 ; 75 TIM1->IER = TIM1_IER_RESET_VALUE;
54 0010 725f5254 clr 21076
55 ; 76 TIM1->SR2 = TIM1_SR2_RESET_VALUE;
57 0014 725f5256 clr 21078
58 ; 78 TIM1->CCER1 = TIM1_CCER1_RESET_VALUE;
60 0018 725f525c clr 21084
61 ; 79 TIM1->CCER2 = TIM1_CCER2_RESET_VALUE;
63 001c 725f525d clr 21085
64 ; 81 TIM1->CCMR1 = 0x01;
66 0020 35015258 mov 21080,#1
67 ; 82 TIM1->CCMR2 = 0x01;
69 0024 35015259 mov 21081,#1
70 ; 83 TIM1->CCMR3 = 0x01;
72 0028 3501525a mov 21082,#1
73 ; 84 TIM1->CCMR4 = 0x01;
75 002c 3501525b mov 21083,#1
76 ; 86 TIM1->CCER1 = TIM1_CCER1_RESET_VALUE;
78 0030 725f525c clr 21084
79 ; 87 TIM1->CCER2 = TIM1_CCER2_RESET_VALUE;
81 0034 725f525d clr 21085
82 ; 88 TIM1->CCMR1 = TIM1_CCMR1_RESET_VALUE;
84 0038 725f5258 clr 21080
85 ; 89 TIM1->CCMR2 = TIM1_CCMR2_RESET_VALUE;
87 003c 725f5259 clr 21081
88 ; 90 TIM1->CCMR3 = TIM1_CCMR3_RESET_VALUE;
90 0040 725f525a clr 21082
91 ; 91 TIM1->CCMR4 = TIM1_CCMR4_RESET_VALUE;
93 0044 725f525b clr 21083
94 ; 92 TIM1->CNTRH = TIM1_CNTRH_RESET_VALUE;
96 0048 725f525e clr 21086
97 ; 93 TIM1->CNTRL = TIM1_CNTRL_RESET_VALUE;
99 004c 725f525f clr 21087
100 ; 94 TIM1->PSCRH = TIM1_PSCRH_RESET_VALUE;
102 0050 725f5260 clr 21088
103 ; 95 TIM1->PSCRL = TIM1_PSCRL_RESET_VALUE;
105 0054 725f5261 clr 21089
106 ; 96 TIM1->ARRH = TIM1_ARRH_RESET_VALUE;
108 0058 35ff5262 mov 21090,#255
109 ; 97 TIM1->ARRL = TIM1_ARRL_RESET_VALUE;
111 005c 35ff5263 mov 21091,#255
112 ; 98 TIM1->CCR1H = TIM1_CCR1H_RESET_VALUE;
114 0060 725f5265 clr 21093
115 ; 99 TIM1->CCR1L = TIM1_CCR1L_RESET_VALUE;
117 0064 725f5266 clr 21094
118 ; 100 TIM1->CCR2H = TIM1_CCR2H_RESET_VALUE;
120 0068 725f5267 clr 21095
121 ; 101 TIM1->CCR2L = TIM1_CCR2L_RESET_VALUE;
123 006c 725f5268 clr 21096
124 ; 102 TIM1->CCR3H = TIM1_CCR3H_RESET_VALUE;
126 0070 725f5269 clr 21097
127 ; 103 TIM1->CCR3L = TIM1_CCR3L_RESET_VALUE;
129 0074 725f526a clr 21098
130 ; 104 TIM1->CCR4H = TIM1_CCR4H_RESET_VALUE;
132 0078 725f526b clr 21099
133 ; 105 TIM1->CCR4L = TIM1_CCR4L_RESET_VALUE;
135 007c 725f526c clr 21100
136 ; 106 TIM1->OISR = TIM1_OISR_RESET_VALUE;
138 0080 725f526f clr 21103
139 ; 107 TIM1->EGR = 0x01; /* TIM1_EGR_UG */
141 0084 35015257 mov 21079,#1
142 ; 108 TIM1->DTR = TIM1_DTR_RESET_VALUE;
144 0088 725f526e clr 21102
145 ; 109 TIM1->BKR = TIM1_BKR_RESET_VALUE;
147 008c 725f526d clr 21101
148 ; 110 TIM1->RCR = TIM1_RCR_RESET_VALUE;
150 0090 725f5264 clr 21092
151 ; 111 TIM1->SR1 = TIM1_SR1_RESET_VALUE;
153 0094 725f5255 clr 21077
154 ; 112 }
157 0098 81 ret
266 ; 135 void TIM1_TimeBaseInit(u16 TIM1_Prescaler,
266 ; 136 TIM1_CounterMode_TypeDef TIM1_CounterMode,
266 ; 137 u16 TIM1_Period,
266 ; 138 u8 TIM1_RepetitionCounter)
266 ; 139 {
267 switch .text
268 0099 _TIM1_TimeBaseInit:
270 0099 89 pushw x
271 00000000 OFST: set 0
274 ; 142 assert_param(IS_TIM1_COUNTER_MODE_OK(TIM1_CounterMode));
276 ; 145 TIM1->ARRH = (u8)(TIM1_Period >> 8);
278 009a 7b06 ld a,(OFST+6,sp)
279 009c c75262 ld 21090,a
280 ; 146 TIM1->ARRL = (u8)(TIM1_Period);
282 009f 7b07 ld a,(OFST+7,sp)
283 00a1 c75263 ld 21091,a
284 ; 149 TIM1->PSCRH = (u8)(TIM1_Prescaler >> 8);
286 00a4 9e ld a,xh
287 00a5 c75260 ld 21088,a
288 ; 150 TIM1->PSCRL = (u8)(TIM1_Prescaler);
290 00a8 9f ld a,xl
291 00a9 c75261 ld 21089,a
292 ; 153 TIM1->CR1 = (u8)(((TIM1->CR1) & (u8)(~(TIM1_CR1_CMS | TIM1_CR1_DIR))) | (u8)(TIM1_CounterMode));
294 00ac c65250 ld a,21072
295 00af a48f and a,#143
296 00b1 1a05 or a,(OFST+5,sp)
297 00b3 c75250 ld 21072,a
298 ; 156 TIM1->RCR = TIM1_RepetitionCounter;
300 00b6 7b08 ld a,(OFST+8,sp)
301 00b8 c75264 ld 21092,a
302 ; 158 }
305 00bb 85 popw x
306 00bc 81 ret
591 ; 189 void TIM1_OC1Init(TIM1_OCMode_TypeDef TIM1_OCMode,
591 ; 190 TIM1_OutputState_TypeDef TIM1_OutputState,
591 ; 191 TIM1_OutputNState_TypeDef TIM1_OutputNState,
591 ; 192 u16 TIM1_Pulse,
591 ; 193 TIM1_OCPolarity_TypeDef TIM1_OCPolarity,
591 ; 194 TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity,
591 ; 195 TIM1_OCIdleState_TypeDef TIM1_OCIdleState,
591 ; 196 TIM1_OCNIdleState_TypeDef TIM1_OCNIdleState)
591 ; 197 {
592 switch .text
593 00bd _TIM1_OC1Init:
595 00bd 89 pushw x
596 00be 5203 subw sp,#3
597 00000003 OFST: set 3
600 ; 199 assert_param(IS_TIM1_OC_MODE_OK(TIM1_OCMode));
602 ; 200 assert_param(IS_TIM1_OUTPUT_STATE_OK(TIM1_OutputState));
604 ; 201 assert_param(IS_TIM1_OUTPUTN_STATE_OK(TIM1_OutputNState));
606 ; 202 assert_param(IS_TIM1_OC_POLARITY_OK(TIM1_OCPolarity));
608 ; 203 assert_param(IS_TIM1_OCN_POLARITY_OK(TIM1_OCNPolarity));
610 ; 204 assert_param(IS_TIM1_OCIDLE_STATE_OK(TIM1_OCIdleState));
612 ; 205 assert_param(IS_TIM1_OCNIDLE_STATE_OK(TIM1_OCNIdleState));
614 ; 208 TIM1->CCER1 &= (u8)(~( TIM1_CCER1_CC1E | TIM1_CCER1_CC1NE | TIM1_CCER1_CC1P | TIM1_CCER1_CC1NP));
616 00c0 c6525c ld a,21084
617 00c3 a4f0 and a,#240
618 00c5 c7525c ld 21084,a
619 ; 210 TIM1->CCER1 |= (u8)((TIM1_OutputState & TIM1_CCER1_CC1E ) | (TIM1_OutputNState & TIM1_CCER1_CC1NE ) | (TIM1_OCPolarity & TIM1_CCER1_CC1P ) | (TIM1_OCNPolarity & TIM1_CCER1_CC1NP ));
621 00c8 7b0c ld a,(OFST+9,sp)
622 00ca a408 and a,#8
623 00cc 6b03 ld (OFST+0,sp),a
624 00ce 7b0b ld a,(OFST+8,sp)
625 00d0 a402 and a,#2
626 00d2 6b02 ld (OFST-1,sp),a
627 00d4 7b08 ld a,(OFST+5,sp)
628 00d6 a404 and a,#4
629 00d8 6b01 ld (OFST-2,sp),a
630 00da 9f ld a,xl
631 00db a401 and a,#1
632 00dd 1a01 or a,(OFST-2,sp)
633 00df 1a02 or a,(OFST-1,sp)
634 00e1 1a03 or a,(OFST+0,sp)
635 00e3 ca525c or a,21084
636 00e6 c7525c ld 21084,a
637 ; 213 TIM1->CCMR1 = (u8)((TIM1->CCMR1 & (u8)(~TIM1_CCMR_OCM)) | (u8)TIM1_OCMode);
639 00e9 c65258 ld a,21080
640 00ec a48f and a,#143
641 00ee 1a04 or a,(OFST+1,sp)
642 00f0 c75258 ld 21080,a
643 ; 216 TIM1->OISR &= (u8)(~(TIM1_OISR_OIS1 | TIM1_OISR_OIS1N));
645 00f3 c6526f ld a,21103
646 00f6 a4fc and a,#252
647 00f8 c7526f ld 21103,a
648 ; 218 TIM1->OISR |= (u8)(( TIM1_OCIdleState & TIM1_OISR_OIS1 ) | ( TIM1_OCNIdleState & TIM1_OISR_OIS1N ));
650 00fb 7b0e ld a,(OFST+11,sp)
651 00fd a402 and a,#2
652 00ff 6b03 ld (OFST+0,sp),a
653 0101 7b0d ld a,(OFST+10,sp)
654 0103 a401 and a,#1
655 0105 1a03 or a,(OFST+0,sp)
656 0107 ca526f or a,21103
657 010a c7526f ld 21103,a
658 ; 221 TIM1->CCR1H = (u8)(TIM1_Pulse >> 8);
660 010d 7b09 ld a,(OFST+6,sp)
661 010f c75265 ld 21093,a
662 ; 222 TIM1->CCR1L = (u8)(TIM1_Pulse);
664 0112 7b0a ld a,(OFST+7,sp)
665 0114 c75266 ld 21094,a
666 ; 223 }
669 0117 5b05 addw sp,#5
670 0119 81 ret
774 ; 254 void TIM1_OC2Init(TIM1_OCMode_TypeDef TIM1_OCMode,
774 ; 255 TIM1_OutputState_TypeDef TIM1_OutputState,
774 ; 256 TIM1_OutputNState_TypeDef TIM1_OutputNState,
774 ; 257 u16 TIM1_Pulse,
774 ; 258 TIM1_OCPolarity_TypeDef TIM1_OCPolarity,
774 ; 259 TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity,
774 ; 260 TIM1_OCIdleState_TypeDef TIM1_OCIdleState,
774 ; 261 TIM1_OCNIdleState_TypeDef TIM1_OCNIdleState)
774 ; 262 {
775 switch .text
776 011a _TIM1_OC2Init:
778 011a 89 pushw x
779 011b 5203 subw sp,#3
780 00000003 OFST: set 3
783 ; 266 assert_param(IS_TIM1_OC_MODE_OK(TIM1_OCMode));
785 ; 267 assert_param(IS_TIM1_OUTPUT_STATE_OK(TIM1_OutputState));
787 ; 268 assert_param(IS_TIM1_OUTPUTN_STATE_OK(TIM1_OutputNState));
789 ; 269 assert_param(IS_TIM1_OC_POLARITY_OK(TIM1_OCPolarity));
791 ; 270 assert_param(IS_TIM1_OCN_POLARITY_OK(TIM1_OCNPolarity));
793 ; 271 assert_param(IS_TIM1_OCIDLE_STATE_OK(TIM1_OCIdleState));
795 ; 272 assert_param(IS_TIM1_OCNIDLE_STATE_OK(TIM1_OCNIdleState));
797 ; 275 TIM1->CCER1 &= (u8)(~( TIM1_CCER1_CC2E | TIM1_CCER1_CC2NE | TIM1_CCER1_CC2P | TIM1_CCER1_CC2NP));
799 011d c6525c ld a,21084
800 0120 a40f and a,#15
801 0122 c7525c ld 21084,a
802 ; 277 TIM1->CCER1 |= (u8)((TIM1_OutputState & TIM1_CCER1_CC2E ) | (TIM1_OutputNState & TIM1_CCER1_CC2NE ) | (TIM1_OCPolarity & TIM1_CCER1_CC2P ) | (TIM1_OCNPolarity & TIM1_CCER1_CC2NP ));
804 0125 7b0c ld a,(OFST+9,sp)
805 0127 a480 and a,#128
806 0129 6b03 ld (OFST+0,sp),a
807 012b 7b0b ld a,(OFST+8,sp)
808 012d a420 and a,#32
809 012f 6b02 ld (OFST-1,sp),a
810 0131 7b08 ld a,(OFST+5,sp)
811 0133 a440 and a,#64
812 0135 6b01 ld (OFST-2,sp),a
813 0137 9f ld a,xl
814 0138 a410 and a,#16
815 013a 1a01 or a,(OFST-2,sp)
816 013c 1a02 or a,(OFST-1,sp)
817 013e 1a03 or a,(OFST+0,sp)
818 0140 ca525c or a,21084
819 0143 c7525c ld 21084,a
820 ; 281 TIM1->CCMR2 = (u8)((TIM1->CCMR2 & (u8)(~TIM1_CCMR_OCM)) | (u8)TIM1_OCMode);
822 0146 c65259 ld a,21081
823 0149 a48f and a,#143
824 014b 1a04 or a,(OFST+1,sp)
825 014d c75259 ld 21081,a
826 ; 284 TIM1->OISR &= (u8)(~(TIM1_OISR_OIS2 | TIM1_OISR_OIS2N));
828 0150 c6526f ld a,21103
829 0153 a4f3 and a,#243
830 0155 c7526f ld 21103,a
831 ; 286 TIM1->OISR |= (u8)((TIM1_OISR_OIS2 & TIM1_OCIdleState) | (TIM1_OISR_OIS2N & TIM1_OCNIdleState));
833 0158 7b0e ld a,(OFST+11,sp)
834 015a a408 and a,#8
835 015c 6b03 ld (OFST+0,sp),a
836 015e 7b0d ld a,(OFST+10,sp)
837 0160 a404 and a,#4
838 0162 1a03 or a,(OFST+0,sp)
839 0164 ca526f or a,21103
840 0167 c7526f ld 21103,a
841 ; 289 TIM1->CCR2H = (u8)(TIM1_Pulse >> 8);
843 016a 7b09 ld a,(OFST+6,sp)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -