📄 stm8s_tim4.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Parser V4.8.32.1 - 30 Mar 2010
3 ; Generator V4.3.4 - 23 Mar 2010
43 ; 60 void TIM4_DeInit(void)
43 ; 61 {
45 switch .text
46 0000 _TIM4_DeInit:
50 ; 62 TIM4->CR1 = TIM4_CR1_RESET_VALUE;
52 0000 725f5340 clr 21312
53 ; 63 TIM4->IER = TIM4_IER_RESET_VALUE;
55 0004 725f5341 clr 21313
56 ; 64 TIM4->CNTR = TIM4_CNTR_RESET_VALUE;
58 0008 725f5344 clr 21316
59 ; 65 TIM4->PSCR = TIM4_PSCR_RESET_VALUE;
61 000c 725f5345 clr 21317
62 ; 66 TIM4->ARR = TIM4_ARR_RESET_VALUE;
64 0010 35ff5346 mov 21318,#255
65 ; 67 TIM4->SR1 = TIM4_SR1_RESET_VALUE;
67 0014 725f5342 clr 21314
68 ; 68 }
71 0018 81 ret
175 ; 87 void TIM4_TimeBaseInit(TIM4_Prescaler_TypeDef TIM4_Prescaler, u8 TIM4_Period)
175 ; 88 {
176 switch .text
177 0019 _TIM4_TimeBaseInit:
181 ; 90 assert_param(IS_TIM4_PRESCALER_OK(TIM4_Prescaler));
183 ; 92 TIM4->PSCR = (u8)(TIM4_Prescaler);
185 0019 9e ld a,xh
186 001a c75345 ld 21317,a
187 ; 94 TIM4->ARR = (u8)(TIM4_Period);
189 001d 9f ld a,xl
190 001e c75346 ld 21318,a
191 ; 95 }
194 0021 81 ret
249 ; 114 void TIM4_Cmd(FunctionalState NewState)
249 ; 115 {
250 switch .text
251 0022 _TIM4_Cmd:
255 ; 117 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
257 ; 120 if (NewState != DISABLE)
259 0022 4d tnz a
260 0023 2706 jreq L311
261 ; 122 TIM4->CR1 |= TIM4_CR1_CEN;
263 0025 72105340 bset 21312,#0
265 0029 2004 jra L511
266 002b L311:
267 ; 126 TIM4->CR1 &= (u8)(~TIM4_CR1_CEN);
269 002b 72115340 bres 21312,#0
270 002f L511:
271 ; 128 }
274 002f 81 ret
332 ; 149 void TIM4_ITConfig(TIM4_IT_TypeDef TIM4_IT, FunctionalState NewState)
332 ; 150 {
333 switch .text
334 0030 _TIM4_ITConfig:
336 0030 89 pushw x
337 00000000 OFST: set 0
340 ; 152 assert_param(IS_TIM4_IT_OK(TIM4_IT));
342 ; 153 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
344 ; 155 if (NewState != DISABLE)
346 0031 9f ld a,xl
347 0032 4d tnz a
348 0033 2709 jreq L741
349 ; 158 TIM4->IER |= TIM4_IT;
351 0035 9e ld a,xh
352 0036 ca5341 or a,21313
353 0039 c75341 ld 21313,a
355 003c 2009 jra L151
356 003e L741:
357 ; 163 TIM4->IER &= (u8)(~TIM4_IT);
359 003e 7b01 ld a,(OFST+1,sp)
360 0040 43 cpl a
361 0041 c45341 and a,21313
362 0044 c75341 ld 21313,a
363 0047 L151:
364 ; 165 }
367 0047 85 popw x
368 0048 81 ret
404 ; 182 void TIM4_UpdateDisableConfig(FunctionalState NewState)
404 ; 183 {
405 switch .text
406 0049 _TIM4_UpdateDisableConfig:
410 ; 185 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
412 ; 188 if (NewState != DISABLE)
414 0049 4d tnz a
415 004a 2706 jreq L171
416 ; 190 TIM4->CR1 |= TIM4_CR1_UDIS;
418 004c 72125340 bset 21312,#1
420 0050 2004 jra L371
421 0052 L171:
422 ; 194 TIM4->CR1 &= (u8)(~TIM4_CR1_UDIS);
424 0052 72135340 bres 21312,#1
425 0056 L371:
426 ; 196 }
429 0056 81 ret
487 ; 215 void TIM4_UpdateRequestConfig(TIM4_UpdateSource_TypeDef TIM4_UpdateSource)
487 ; 216 {
488 switch .text
489 0057 _TIM4_UpdateRequestConfig:
493 ; 218 assert_param(IS_TIM4_UPDATE_SOURCE_OK(TIM4_UpdateSource));
495 ; 221 if (TIM4_UpdateSource != TIM4_UPDATESOURCE_GLOBAL)
497 0057 4d tnz a
498 0058 2706 jreq L322
499 ; 223 TIM4->CR1 |= TIM4_CR1_URS;
501 005a 72145340 bset 21312,#2
503 005e 2004 jra L522
504 0060 L322:
505 ; 227 TIM4->CR1 &= (u8)(~TIM4_CR1_URS);
507 0060 72155340 bres 21312,#2
508 0064 L522:
509 ; 229 }
512 0064 81 ret
569 ; 248 void TIM4_SelectOnePulseMode(TIM4_OPMode_TypeDef TIM4_OPMode)
569 ; 249 {
570 switch .text
571 0065 _TIM4_SelectOnePulseMode:
575 ; 251 assert_param(IS_TIM4_OPM_MODE_OK(TIM4_OPMode));
577 ; 254 if (TIM4_OPMode != TIM4_OPMODE_REPETITIVE)
579 0065 4d tnz a
580 0066 2706 jreq L552
581 ; 256 TIM4->CR1 |= TIM4_CR1_OPM;
583 0068 72165340 bset 21312,#3
585 006c 2004 jra L752
586 006e L552:
587 ; 260 TIM4->CR1 &= (u8)(~TIM4_CR1_OPM);
589 006e 72175340 bres 21312,#3
590 0072 L752:
591 ; 263 }
594 0072 81 ret
662 ; 294 void TIM4_PrescalerConfig(TIM4_Prescaler_TypeDef Prescaler, TIM4_PSCReloadMode_TypeDef TIM4_PSCReloadMode)
662 ; 295 {
663 switch .text
664 0073 _TIM4_PrescalerConfig:
668 ; 297 assert_param(IS_TIM4_PRESCALER_RELOAD_OK(TIM4_PSCReloadMode));
670 ; 298 assert_param(IS_TIM4_PRESCALER_OK(Prescaler));
672 ; 301 TIM4->PSCR = Prescaler;
674 0073 9e ld a,xh
675 0074 c75345 ld 21317,a
676 ; 304 TIM4->EGR = TIM4_PSCReloadMode;
678 0077 9f ld a,xl
679 0078 c75343 ld 21315,a
680 ; 305 }
683 007b 81 ret
719 ; 322 void TIM4_ARRPreloadConfig(FunctionalState NewState)
719 ; 323 {
720 switch .text
721 007c _TIM4_ARRPreloadConfig:
725 ; 325 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
727 ; 328 if (NewState != DISABLE)
729 007c 4d tnz a
730 007d 2706 jreq L133
731 ; 330 TIM4->CR1 |= TIM4_CR1_ARPE;
733 007f 721e5340 bset 21312,#7
735 0083 2004 jra L333
736 0085 L133:
737 ; 334 TIM4->CR1 &= (u8)(~TIM4_CR1_ARPE);
739 0085 721f5340 bres 21312,#7
740 0089 L333:
741 ; 336 }
744 0089 81 ret
793 ; 354 void TIM4_GenerateEvent(TIM4_EventSource_TypeDef TIM4_EventSource)
793 ; 355 {
794 switch .text
795 008a _TIM4_GenerateEvent:
799 ; 357 assert_param(IS_TIM4_EVENT_SOURCE_OK(TIM4_EventSource));
801 ; 360 TIM4->EGR = (u8)(TIM4_EventSource);
803 008a c75343 ld 21315,a
804 ; 361 }
807 008d 81 ret
839 ; 379 void TIM4_SetCounter(u8 Counter)
839 ; 380 {
840 switch .text
841 008e _TIM4_SetCounter:
845 ; 382 TIM4->CNTR = (u8)(Counter);
847 008e c75344 ld 21316,a
848 ; 383 }
851 0091 81 ret
883 ; 401 void TIM4_SetAutoreload(u8 Autoreload)
883 ; 402 {
884 switch .text
885 0092 _TIM4_SetAutoreload:
889 ; 404 TIM4->ARR = (u8)(Autoreload);
891 0092 c75346 ld 21318,a
892 ; 405 }
895 0095 81 ret
918 ; 423 u8 TIM4_GetCounter(void)
918 ; 424 {
919 switch .text
920 0096 _TIM4_GetCounter:
924 ; 426 return (u8)(TIM4->CNTR);
926 0096 c65344 ld a,21316
929 0099 81 ret
953 ; 445 TIM4_Prescaler_TypeDef TIM4_GetPrescaler(void)
953 ; 446 {
954 switch .text
955 009a _TIM4_GetPrescaler:
959 ; 448 return (TIM4_Prescaler_TypeDef)(TIM4->PSCR);
961 009a c65345 ld a,21317
964 009d 81 ret
1033 ; 468 FlagStatus TIM4_GetFlagStatus(TIM4_FLAG_TypeDef TIM4_FLAG)
1033 ; 469 {
1034 switch .text
1035 009e _TIM4_GetFlagStatus:
1039 ; 471 assert_param(IS_TIM4_GET_FLAG_OK(TIM4_FLAG));
1041 ; 473 if ((TIM4->SR1 & TIM4_FLAG) != RESET )
1043 009e c45342 and a,21314
1044 00a1 2703 jreq L564
1045 ; 475 return (FlagStatus)(SET);
1047 00a3 a601 ld a,#1
1050 00a5 81 ret
1051 00a6 L564:
1052 ; 479 return (FlagStatus)(RESET);
1054 00a6 4f clr a
1057 00a7 81 ret
1092 ; 499 void TIM4_ClearFlag(TIM4_FLAG_TypeDef TIM4_FLAG)
1092 ; 500 {
1093 switch .text
1094 00a8 _TIM4_ClearFlag:
1098 ; 502 assert_param(IS_TIM4_GET_FLAG_OK(TIM4_FLAG));
1100 ; 505 TIM4->SR1 = (u8)(~TIM4_FLAG);
1102 00a8 43 cpl a
1103 00a9 c75342 ld 21314,a
1104 ; 507 }
1107 00ac 81 ret
1143 ; 526 ITStatus TIM4_GetITStatus(TIM4_IT_TypeDef TIM4_IT)
1143 ; 527 {
1144 switch .text
1145 00ad _TIM4_GetITStatus:
1147 00ad 88 push a
1148 00000000 OFST: set 0
1151 ; 529 assert_param(IS_TIM4_IT_OK(TIM4_IT));
1153 ; 531 if (((TIM4->SR1 & TIM4_IT) != RESET ) && ((TIM4->IER & TIM4_IT) != RESET ))
1155 00ae c45342 and a,21314
1156 00b1 270c jreq L525
1158 00b3 c65341 ld a,21313
1159 00b6 1501 bcp a,(OFST+1,sp)
1160 00b8 2705 jreq L525
1161 ; 533 return (ITStatus)(SET);
1163 00ba a601 ld a,#1
1166 00bc 5b01 addw sp,#1
1167 00be 81 ret
1168 00bf L525:
1169 ; 537 return (ITStatus)(RESET);
1171 00bf 4f clr a
1174 00c0 5b01 addw sp,#1
1175 00c2 81 ret
1211 ; 557 void TIM4_ClearITPendingBit(TIM4_IT_TypeDef TIM4_IT)
1211 ; 558 {
1212 switch .text
1213 00c3 _TIM4_ClearITPendingBit:
1217 ; 560 assert_param(IS_TIM4_IT_OK(TIM4_IT));
1219 ; 563 TIM4->SR1 = (u8)(~TIM4_IT);
1221 00c3 43 cpl a
1222 00c4 c75342 ld 21314,a
1223 ; 564 }
1226 00c7 81 ret
1239 xdef _TIM4_ClearITPendingBit
1240 xdef _TIM4_GetITStatus
1241 xdef _TIM4_ClearFlag
1242 xdef _TIM4_GetFlagStatus
1243 xdef _TIM4_GetPrescaler
1244 xdef _TIM4_GetCounter
1245 xdef _TIM4_SetAutoreload
1246 xdef _TIM4_SetCounter
1247 xdef _TIM4_GenerateEvent
1248 xdef _TIM4_ARRPreloadConfig
1249 xdef _TIM4_PrescalerConfig
1250 xdef _TIM4_SelectOnePulseMode
1251 xdef _TIM4_UpdateRequestConfig
1252 xdef _TIM4_UpdateDisableConfig
1253 xdef _TIM4_ITConfig
1254 xdef _TIM4_Cmd
1255 xdef _TIM4_TimeBaseInit
1256 xdef _TIM4_DeInit
1275 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -