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

📄 stm8s_tim3.ls

📁 STM8全部资料
💻 LS
📖 第 1 页 / 共 4 页
字号:
   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                     ; 62 void TIM3_DeInit(void)
  43                     ; 63 {
  45                     	switch	.text
  46  0000               _TIM3_DeInit:
  50                     ; 65   TIM3->CR1 = (u8)TIM3_CR1_RESET_VALUE;
  52  0000 725f5320      	clr	21280
  53                     ; 66   TIM3->IER = (u8)TIM3_IER_RESET_VALUE;
  55  0004 725f5321      	clr	21281
  56                     ; 67   TIM3->SR2 = (u8)TIM3_SR2_RESET_VALUE;
  58  0008 725f5323      	clr	21283
  59                     ; 70   TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
  61  000c 725f5327      	clr	21287
  62                     ; 73   TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
  64  0010 725f5327      	clr	21287
  65                     ; 74   TIM3->CCMR1 = (u8)TIM3_CCMR1_RESET_VALUE;
  67  0014 725f5325      	clr	21285
  68                     ; 75   TIM3->CCMR2 = (u8)TIM3_CCMR2_RESET_VALUE;
  70  0018 725f5326      	clr	21286
  71                     ; 76   TIM3->CNTRH = (u8)TIM3_CNTRH_RESET_VALUE;
  73  001c 725f5328      	clr	21288
  74                     ; 77   TIM3->CNTRL = (u8)TIM3_CNTRL_RESET_VALUE;
  76  0020 725f5329      	clr	21289
  77                     ; 78   TIM3->PSCR = (u8)TIM3_PSCR_RESET_VALUE;
  79  0024 725f532a      	clr	21290
  80                     ; 79   TIM3->ARRH  = (u8)TIM3_ARRH_RESET_VALUE;
  82  0028 35ff532b      	mov	21291,#255
  83                     ; 80   TIM3->ARRL  = (u8)TIM3_ARRL_RESET_VALUE;
  85  002c 35ff532c      	mov	21292,#255
  86                     ; 81   TIM3->CCR1H = (u8)TIM3_CCR1H_RESET_VALUE;
  88  0030 725f532d      	clr	21293
  89                     ; 82   TIM3->CCR1L = (u8)TIM3_CCR1L_RESET_VALUE;
  91  0034 725f532e      	clr	21294
  92                     ; 83   TIM3->CCR2H = (u8)TIM3_CCR2H_RESET_VALUE;
  94  0038 725f532f      	clr	21295
  95                     ; 84   TIM3->CCR2L = (u8)TIM3_CCR2L_RESET_VALUE;
  97  003c 725f5330      	clr	21296
  98                     ; 85   TIM3->SR1 = (u8)TIM3_SR1_RESET_VALUE;
 100  0040 725f5322      	clr	21282
 101                     ; 86 }
 104  0044 81            	ret
 270                     ; 106 void TIM3_TimeBaseInit( TIM3_Prescaler_TypeDef TIM3_Prescaler,
 270                     ; 107                         u16 TIM3_Period)
 270                     ; 108 {
 271                     	switch	.text
 272  0045               _TIM3_TimeBaseInit:
 274  0045 88            	push	a
 275       00000000      OFST:	set	0
 278                     ; 110   TIM3->PSCR = (u8)(TIM3_Prescaler);
 280  0046 c7532a        	ld	21290,a
 281                     ; 112   TIM3->ARRH = (u8)(TIM3_Period >> 8);
 283  0049 7b04          	ld	a,(OFST+4,sp)
 284  004b c7532b        	ld	21291,a
 285                     ; 113   TIM3->ARRL = (u8)(TIM3_Period);
 287  004e 7b05          	ld	a,(OFST+5,sp)
 288  0050 c7532c        	ld	21292,a
 289                     ; 114 }
 292  0053 84            	pop	a
 293  0054 81            	ret
 448                     ; 137 void TIM3_OC1Init(TIM3_OCMode_TypeDef TIM3_OCMode,
 448                     ; 138                   TIM3_OutputState_TypeDef TIM3_OutputState,
 448                     ; 139                   u16 TIM3_Pulse,
 448                     ; 140                   TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
 448                     ; 141 {
 449                     	switch	.text
 450  0055               _TIM3_OC1Init:
 452  0055 89            	pushw	x
 453  0056 88            	push	a
 454       00000001      OFST:	set	1
 457                     ; 143   assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
 459                     ; 144   assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
 461                     ; 145   assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
 463                     ; 148   TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC1E | TIM3_CCER1_CC1P));
 465  0057 c65327        	ld	a,21287
 466  005a a4fc          	and	a,#252
 467  005c c75327        	ld	21287,a
 468                     ; 150   TIM3->CCER1 |= (u8)((TIM3_OutputState  & TIM3_CCER1_CC1E   ) | (TIM3_OCPolarity   & TIM3_CCER1_CC1P   ));
 470  005f 7b08          	ld	a,(OFST+7,sp)
 471  0061 a402          	and	a,#2
 472  0063 6b01          	ld	(OFST+0,sp),a
 473  0065 9f            	ld	a,xl
 474  0066 a401          	and	a,#1
 475  0068 1a01          	or	a,(OFST+0,sp)
 476  006a ca5327        	or	a,21287
 477  006d c75327        	ld	21287,a
 478                     ; 153   TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
 480  0070 c65325        	ld	a,21285
 481  0073 a48f          	and	a,#143
 482  0075 1a02          	or	a,(OFST+1,sp)
 483  0077 c75325        	ld	21285,a
 484                     ; 156   TIM3->CCR1H = (u8)(TIM3_Pulse >> 8);
 486  007a 7b06          	ld	a,(OFST+5,sp)
 487  007c c7532d        	ld	21293,a
 488                     ; 157   TIM3->CCR1L = (u8)(TIM3_Pulse);
 490  007f 7b07          	ld	a,(OFST+6,sp)
 491  0081 c7532e        	ld	21294,a
 492                     ; 158 }
 495  0084 5b03          	addw	sp,#3
 496  0086 81            	ret
 558                     ; 182 void TIM3_OC2Init(TIM3_OCMode_TypeDef TIM3_OCMode,
 558                     ; 183                   TIM3_OutputState_TypeDef TIM3_OutputState,
 558                     ; 184                   u16 TIM3_Pulse,
 558                     ; 185                   TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
 558                     ; 186 {
 559                     	switch	.text
 560  0087               _TIM3_OC2Init:
 562  0087 89            	pushw	x
 563  0088 88            	push	a
 564       00000001      OFST:	set	1
 567                     ; 188   assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
 569                     ; 189   assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
 571                     ; 190   assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
 573                     ; 194   TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC2E |  TIM3_CCER1_CC2P ));
 575  0089 c65327        	ld	a,21287
 576  008c a4cf          	and	a,#207
 577  008e c75327        	ld	21287,a
 578                     ; 196   TIM3->CCER1 |= (u8)((TIM3_OutputState  & TIM3_CCER1_CC2E   ) | (TIM3_OCPolarity   & TIM3_CCER1_CC2P ));
 580  0091 7b08          	ld	a,(OFST+7,sp)
 581  0093 a420          	and	a,#32
 582  0095 6b01          	ld	(OFST+0,sp),a
 583  0097 9f            	ld	a,xl
 584  0098 a410          	and	a,#16
 585  009a 1a01          	or	a,(OFST+0,sp)
 586  009c ca5327        	or	a,21287
 587  009f c75327        	ld	21287,a
 588                     ; 200   TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
 590  00a2 c65326        	ld	a,21286
 591  00a5 a48f          	and	a,#143
 592  00a7 1a02          	or	a,(OFST+1,sp)
 593  00a9 c75326        	ld	21286,a
 594                     ; 204   TIM3->CCR2H = (u8)(TIM3_Pulse >> 8);
 596  00ac 7b06          	ld	a,(OFST+5,sp)
 597  00ae c7532f        	ld	21295,a
 598                     ; 205   TIM3->CCR2L = (u8)(TIM3_Pulse);
 600  00b1 7b07          	ld	a,(OFST+6,sp)
 601  00b3 c75330        	ld	21296,a
 602                     ; 206 }
 605  00b6 5b03          	addw	sp,#3
 606  00b8 81            	ret
 788                     ; 236 void TIM3_ICInit(TIM3_Channel_TypeDef TIM3_Channel,
 788                     ; 237                  TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
 788                     ; 238                  TIM3_ICSelection_TypeDef TIM3_ICSelection,
 788                     ; 239                  TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
 788                     ; 240                  u8 TIM3_ICFilter)
 788                     ; 241 {
 789                     	switch	.text
 790  00b9               _TIM3_ICInit:
 792  00b9 89            	pushw	x
 793       00000000      OFST:	set	0
 796                     ; 243   assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
 798                     ; 244   assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
 800                     ; 245   assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
 802                     ; 246   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
 804                     ; 247   assert_param(IS_TIM3_IC_FILTER_OK(TIM3_ICFilter));
 806                     ; 249   if (TIM3_Channel != TIM3_CHANNEL_2)
 808  00ba 9e            	ld	a,xh
 809  00bb a101          	cp	a,#1
 810  00bd 2714          	jreq	L333
 811                     ; 252     TI1_Config(TIM3_ICPolarity,
 811                     ; 253                TIM3_ICSelection,
 811                     ; 254                TIM3_ICFilter);
 813  00bf 7b07          	ld	a,(OFST+7,sp)
 814  00c1 88            	push	a
 815  00c2 7b06          	ld	a,(OFST+6,sp)
 816  00c4 97            	ld	xl,a
 817  00c5 7b03          	ld	a,(OFST+3,sp)
 818  00c7 95            	ld	xh,a
 819  00c8 cd0363        	call	L3_TI1_Config
 821  00cb 84            	pop	a
 822                     ; 257     TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
 824  00cc 7b06          	ld	a,(OFST+6,sp)
 825  00ce cd0285        	call	_TIM3_SetIC1Prescaler
 828  00d1 2012          	jra	L533
 829  00d3               L333:
 830                     ; 262     TI2_Config(TIM3_ICPolarity,
 830                     ; 263                TIM3_ICSelection,
 830                     ; 264                TIM3_ICFilter);
 832  00d3 7b07          	ld	a,(OFST+7,sp)
 833  00d5 88            	push	a
 834  00d6 7b06          	ld	a,(OFST+6,sp)
 835  00d8 97            	ld	xl,a
 836  00d9 7b03          	ld	a,(OFST+3,sp)
 837  00db 95            	ld	xh,a
 838  00dc cd0393        	call	L5_TI2_Config
 840  00df 84            	pop	a
 841                     ; 267     TIM3_SetIC2Prescaler(TIM3_ICPrescaler);
 843  00e0 7b06          	ld	a,(OFST+6,sp)
 844  00e2 cd0292        	call	_TIM3_SetIC2Prescaler
 846  00e5               L533:
 847                     ; 269 }
 850  00e5 85            	popw	x
 851  00e6 81            	ret
 941                     ; 296 void TIM3_PWMIConfig(TIM3_Channel_TypeDef TIM3_Channel,
 941                     ; 297                      TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
 941                     ; 298                      TIM3_ICSelection_TypeDef TIM3_ICSelection,
 941                     ; 299                      TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
 941                     ; 300                      u8 TIM3_ICFilter)
 941                     ; 301 {
 942                     	switch	.text
 943  00e7               _TIM3_PWMIConfig:
 945  00e7 89            	pushw	x
 946  00e8 89            	pushw	x
 947       00000002      OFST:	set	2
 950                     ; 302   u8 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
 952                     ; 303   u8 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
 954                     ; 306   assert_param(IS_TIM3_PWMI_CHANNEL_OK(TIM3_Channel));
 956                     ; 307   assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
 958                     ; 308   assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
 960                     ; 309   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
 962                     ; 312   if (TIM3_ICPolarity != TIM3_ICPOLARITY_FALLING)
 964  00e9 9f            	ld	a,xl
 965  00ea a144          	cp	a,#68
 966  00ec 2706          	jreq	L773
 967                     ; 314     icpolarity = (u8)TIM3_ICPOLARITY_FALLING;
 969  00ee a644          	ld	a,#68
 970  00f0 6b01          	ld	(OFST-1,sp),a
 972  00f2 2002          	jra	L104
 973  00f4               L773:
 974                     ; 318     icpolarity = (u8)TIM3_ICPOLARITY_RISING;
 976  00f4 0f01          	clr	(OFST-1,sp)
 977  00f6               L104:
 978                     ; 322   if (TIM3_ICSelection == TIM3_ICSELECTION_DIRECTTI)
 980  00f6 7b07          	ld	a,(OFST+5,sp)
 981  00f8 a101          	cp	a,#1
 982  00fa 2606          	jrne	L304
 983                     ; 324     icselection = (u8)TIM3_ICSELECTION_INDIRECTTI;
 985  00fc a602          	ld	a,#2
 986  00fe 6b02          	ld	(OFST+0,sp),a
 988  0100 2004          	jra	L504
 989  0102               L304:
 990                     ; 328     icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
 992  0102 a601          	ld	a,#1
 993  0104 6b02          	ld	(OFST+0,sp),a
 994  0106               L504:
 995                     ; 331   if (TIM3_Channel != TIM3_CHANNEL_2)
 997  0106 7b03          	ld	a,(OFST+1,sp)
 998  0108 a101          	cp	a,#1
 999  010a 2726          	jreq	L704
1000                     ; 334     TI1_Config(TIM3_ICPolarity, TIM3_ICSelection,
1000                     ; 335                TIM3_ICFilter);
1002  010c 7b09          	ld	a,(OFST+7,sp)
1003  010e 88            	push	a
1004  010f 7b08          	ld	a,(OFST+6,sp)
1005  0111 97            	ld	xl,a
1006  0112 7b05          	ld	a,(OFST+3,sp)
1007  0114 95            	ld	xh,a
1008  0115 cd0363        	call	L3_TI1_Config
1010  0118 84            	pop	a
1011                     ; 338     TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
1013  0119 7b08          	ld	a,(OFST+6,sp)
1014  011b cd0285        	call	_TIM3_SetIC1Prescaler
1016                     ; 341     TI2_Config(icpolarity, icselection, TIM3_ICFilter);
1018  011e 7b09          	ld	a,(OFST+7,sp)
1019  0120 88            	push	a
1020  0121 7b03          	ld	a,(OFST+1,sp)
1021  0123 97            	ld	xl,a
1022  0124 7b02          	ld	a,(OFST+0,sp)
1023  0126 95            	ld	xh,a
1024  0127 cd0393        	call	L5_TI2_Config
1026  012a 84            	pop	a
1027                     ; 344     TIM3_SetIC2Prescaler(TIM3_ICPrescaler);
1029  012b 7b08          	ld	a,(OFST+6,sp)
1030  012d cd0292        	call	_TIM3_SetIC2Prescaler
1033  0130 2024          	jra	L114
1034  0132               L704:
1035                     ; 349     TI2_Config(TIM3_ICPolarity, TIM3_ICSelection,
1035                     ; 350                TIM3_ICFilter);
1037  0132 7b09          	ld	a,(OFST+7,sp)

⌨️ 快捷键说明

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