⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm8s_tim3.ls

📁 STM8s
💻 LS
📖 第 1 页 / 共 4 页
字号:
   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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -