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

📄 stm8s_tim3.ls

📁 STM8-触摸例程
💻 LS
📖 第 1 页 / 共 4 页
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
   3                     ; Optimizer V4.2.8 - 03 Dec 2008
  33                     ; 62 void TIM3_DeInit(void)
  33                     ; 63 {
  35                     	switch	.text
  36  0000               _TIM3_DeInit:
  40                     ; 65   TIM3->CR1 = (u8)TIM3_CR1_RESET_VALUE;
  42  0000 725f5320      	clr	21280
  43                     ; 66   TIM3->IER = (u8)TIM3_IER_RESET_VALUE;
  45  0004 725f5321      	clr	21281
  46                     ; 67   TIM3->SR2 = (u8)TIM3_SR2_RESET_VALUE;
  48  0008 725f5323      	clr	21283
  49                     ; 70   TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
  51  000c 725f5327      	clr	21287
  52                     ; 73   TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
  54  0010 725f5327      	clr	21287
  55                     ; 74   TIM3->CCMR1 = (u8)TIM3_CCMR1_RESET_VALUE;
  57  0014 725f5325      	clr	21285
  58                     ; 75   TIM3->CCMR2 = (u8)TIM3_CCMR2_RESET_VALUE;
  60  0018 725f5326      	clr	21286
  61                     ; 76   TIM3->CNTRH = (u8)TIM3_CNTRH_RESET_VALUE;
  63  001c 725f5328      	clr	21288
  64                     ; 77   TIM3->CNTRL = (u8)TIM3_CNTRL_RESET_VALUE;
  66  0020 725f5329      	clr	21289
  67                     ; 78   TIM3->PSCR = (u8)TIM3_PSCR_RESET_VALUE;
  69  0024 725f532a      	clr	21290
  70                     ; 79   TIM3->ARRH  = (u8)TIM3_ARRH_RESET_VALUE;
  72  0028 35ff532b      	mov	21291,#255
  73                     ; 80   TIM3->ARRL  = (u8)TIM3_ARRL_RESET_VALUE;
  75  002c 35ff532c      	mov	21292,#255
  76                     ; 81   TIM3->CCR1H = (u8)TIM3_CCR1H_RESET_VALUE;
  78  0030 725f532d      	clr	21293
  79                     ; 82   TIM3->CCR1L = (u8)TIM3_CCR1L_RESET_VALUE;
  81  0034 725f532e      	clr	21294
  82                     ; 83   TIM3->CCR2H = (u8)TIM3_CCR2H_RESET_VALUE;
  84  0038 725f532f      	clr	21295
  85                     ; 84   TIM3->CCR2L = (u8)TIM3_CCR2L_RESET_VALUE;
  87  003c 725f5330      	clr	21296
  88                     ; 85   TIM3->SR1 = (u8)TIM3_SR1_RESET_VALUE;
  90  0040 725f5322      	clr	21282
  91                     ; 86 }
  94  0044 81            	ret	
 262                     ; 106 void TIM3_TimeBaseInit( TIM3_Prescaler_TypeDef TIM3_Prescaler,
 262                     ; 107                         u16 TIM3_Period)
 262                     ; 108 {
 263                     	switch	.text
 264  0045               _TIM3_TimeBaseInit:
 266       00000000      OFST:	set	0
 269                     ; 110   TIM3->PSCR = (u8)(TIM3_Prescaler);
 271  0045 c7532a        	ld	21290,a
 272  0048 88            	push	a
 273                     ; 112   TIM3->ARRH = (u8)(TIM3_Period >> 8);
 275  0049 7b04          	ld	a,(OFST+4,sp)
 276  004b c7532b        	ld	21291,a
 277                     ; 113   TIM3->ARRL = (u8)(TIM3_Period);
 279  004e 7b05          	ld	a,(OFST+5,sp)
 280  0050 c7532c        	ld	21292,a
 281                     ; 114 }
 284  0053 84            	pop	a
 285  0054 81            	ret	
 442                     ; 137 void TIM3_OC1Init(TIM3_OCMode_TypeDef TIM3_OCMode,
 442                     ; 138                   TIM3_OutputState_TypeDef TIM3_OutputState,
 442                     ; 139                   u16 TIM3_Pulse,
 442                     ; 140                   TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
 442                     ; 141 {
 443                     	switch	.text
 444  0055               _TIM3_OC1Init:
 446  0055 89            	pushw	x
 447  0056 88            	push	a
 448       00000001      OFST:	set	1
 451                     ; 143   assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
 453                     ; 144   assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
 455                     ; 145   assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
 457                     ; 148   TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC1E | TIM3_CCER1_CC1P));
 459  0057 c65327        	ld	a,21287
 460  005a a4fc          	and	a,#252
 461  005c c75327        	ld	21287,a
 462                     ; 150   TIM3->CCER1 |= (u8)((TIM3_OutputState  & TIM3_CCER1_CC1E   ) | (TIM3_OCPolarity   & TIM3_CCER1_CC1P   ));
 464  005f 7b08          	ld	a,(OFST+7,sp)
 465  0061 a402          	and	a,#2
 466  0063 6b01          	ld	(OFST+0,sp),a
 467  0065 9f            	ld	a,xl
 468  0066 a401          	and	a,#1
 469  0068 1a01          	or	a,(OFST+0,sp)
 470  006a ca5327        	or	a,21287
 471  006d c75327        	ld	21287,a
 472                     ; 153   TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
 474  0070 c65325        	ld	a,21285
 475  0073 a48f          	and	a,#143
 476  0075 1a02          	or	a,(OFST+1,sp)
 477  0077 c75325        	ld	21285,a
 478                     ; 156   TIM3->CCR1H = (u8)(TIM3_Pulse >> 8);
 480  007a 7b06          	ld	a,(OFST+5,sp)
 481  007c c7532d        	ld	21293,a
 482                     ; 157   TIM3->CCR1L = (u8)(TIM3_Pulse);
 484  007f 7b07          	ld	a,(OFST+6,sp)
 485  0081 c7532e        	ld	21294,a
 486                     ; 158 }
 489  0084 5b03          	addw	sp,#3
 490  0086 81            	ret	
 554                     ; 182 void TIM3_OC2Init(TIM3_OCMode_TypeDef TIM3_OCMode,
 554                     ; 183                   TIM3_OutputState_TypeDef TIM3_OutputState,
 554                     ; 184                   u16 TIM3_Pulse,
 554                     ; 185                   TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
 554                     ; 186 {
 555                     	switch	.text
 556  0087               _TIM3_OC2Init:
 558  0087 89            	pushw	x
 559  0088 88            	push	a
 560       00000001      OFST:	set	1
 563                     ; 188   assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
 565                     ; 189   assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
 567                     ; 190   assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
 569                     ; 194   TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC2E |  TIM3_CCER1_CC2P ));
 571  0089 c65327        	ld	a,21287
 572  008c a4cf          	and	a,#207
 573  008e c75327        	ld	21287,a
 574                     ; 196   TIM3->CCER1 |= (u8)((TIM3_OutputState  & TIM3_CCER1_CC2E   ) | (TIM3_OCPolarity   & TIM3_CCER1_CC2P ));
 576  0091 7b08          	ld	a,(OFST+7,sp)
 577  0093 a420          	and	a,#32
 578  0095 6b01          	ld	(OFST+0,sp),a
 579  0097 9f            	ld	a,xl
 580  0098 a410          	and	a,#16
 581  009a 1a01          	or	a,(OFST+0,sp)
 582  009c ca5327        	or	a,21287
 583  009f c75327        	ld	21287,a
 584                     ; 200   TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
 586  00a2 c65326        	ld	a,21286
 587  00a5 a48f          	and	a,#143
 588  00a7 1a02          	or	a,(OFST+1,sp)
 589  00a9 c75326        	ld	21286,a
 590                     ; 204   TIM3->CCR2H = (u8)(TIM3_Pulse >> 8);
 592  00ac 7b06          	ld	a,(OFST+5,sp)
 593  00ae c7532f        	ld	21295,a
 594                     ; 205   TIM3->CCR2L = (u8)(TIM3_Pulse);
 596  00b1 7b07          	ld	a,(OFST+6,sp)
 597  00b3 c75330        	ld	21296,a
 598                     ; 206 }
 601  00b6 5b03          	addw	sp,#3
 602  00b8 81            	ret	
 786                     ; 236 void TIM3_ICInit(TIM3_Channel_TypeDef TIM3_Channel,
 786                     ; 237                  TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
 786                     ; 238                  TIM3_ICSelection_TypeDef TIM3_ICSelection,
 786                     ; 239                  TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
 786                     ; 240                  u8 TIM3_ICFilter)
 786                     ; 241 {
 787                     	switch	.text
 788  00b9               _TIM3_ICInit:
 790  00b9 89            	pushw	x
 791       00000000      OFST:	set	0
 794                     ; 243   assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
 796                     ; 244   assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
 798                     ; 245   assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
 800                     ; 246   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
 802                     ; 247   assert_param(IS_TIM3_IC_FILTER_OK(TIM3_ICFilter));
 804                     ; 249   if (TIM3_Channel != TIM3_CHANNEL_2)
 806  00ba 9e            	ld	a,xh
 807  00bb 4a            	dec	a
 808  00bc 2714          	jreq	L343
 809                     ; 252     TI1_Config(TIM3_ICPolarity,
 809                     ; 253                TIM3_ICSelection,
 809                     ; 254                TIM3_ICFilter);
 811  00be 7b07          	ld	a,(OFST+7,sp)
 812  00c0 88            	push	a
 813  00c1 7b06          	ld	a,(OFST+6,sp)
 814  00c3 97            	ld	xl,a
 815  00c4 7b03          	ld	a,(OFST+3,sp)
 816  00c6 95            	ld	xh,a
 817  00c7 cd0337        	call	L3_TI1_Config
 819  00ca 84            	pop	a
 820                     ; 257     TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
 822  00cb 7b06          	ld	a,(OFST+6,sp)
 823  00cd cd0275        	call	_TIM3_SetIC1Prescaler
 826  00d0 2012          	jra	L543
 827  00d2               L343:
 828                     ; 262     TI2_Config(TIM3_ICPolarity,
 828                     ; 263                TIM3_ICSelection,
 828                     ; 264                TIM3_ICFilter);
 830  00d2 7b07          	ld	a,(OFST+7,sp)
 831  00d4 88            	push	a
 832  00d5 7b06          	ld	a,(OFST+6,sp)
 833  00d7 97            	ld	xl,a
 834  00d8 7b03          	ld	a,(OFST+3,sp)
 835  00da 95            	ld	xh,a
 836  00db cd0367        	call	L5_TI2_Config
 838  00de 84            	pop	a
 839                     ; 267     TIM3_SetIC2Prescaler(TIM3_ICPrescaler);
 841  00df 7b06          	ld	a,(OFST+6,sp)
 842  00e1 cd0282        	call	_TIM3_SetIC2Prescaler
 844  00e4               L543:
 845                     ; 269 }
 848  00e4 85            	popw	x
 849  00e5 81            	ret	
 945                     ; 296 void TIM3_PWMIConfig(TIM3_Channel_TypeDef TIM3_Channel,
 945                     ; 297                      TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
 945                     ; 298                      TIM3_ICSelection_TypeDef TIM3_ICSelection,
 945                     ; 299                      TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
 945                     ; 300                      u8 TIM3_ICFilter)
 945                     ; 301 {
 946                     	switch	.text
 947  00e6               _TIM3_PWMIConfig:
 949  00e6 89            	pushw	x
 950  00e7 89            	pushw	x
 951       00000002      OFST:	set	2
 954                     ; 302   u8 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
 956                     ; 303   u8 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
 958                     ; 306   assert_param(IS_TIM3_PWMI_CHANNEL_OK(TIM3_Channel));
 960                     ; 307   assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
 962                     ; 308   assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
 964                     ; 309   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
 966                     ; 312   if (TIM3_ICPolarity != TIM3_ICPOLARITY_FALLING)
 968  00e8 7b04          	ld	a,(OFST+2,sp)
 969  00ea a144          	cp	a,#68
 970  00ec 2706          	jreq	L514
 971                     ; 314     icpolarity = (u8)TIM3_ICPOLARITY_FALLING;
 973  00ee a644          	ld	a,#68
 974  00f0 6b01          	ld	(OFST-1,sp),a
 976  00f2 2002          	jra	L714
 977  00f4               L514:
 978                     ; 318     icpolarity = (u8)TIM3_ICPOLARITY_RISING;
 980  00f4 0f01          	clr	(OFST-1,sp)
 981  00f6               L714:
 982                     ; 322   if (TIM3_ICSelection == TIM3_ICSELECTION_DIRECTTI)
 984  00f6 7b07          	ld	a,(OFST+5,sp)
 985  00f8 4a            	dec	a
 986  00f9 2604          	jrne	L124
 987                     ; 324     icselection = (u8)TIM3_ICSELECTION_INDIRECTTI;
 989  00fb a602          	ld	a,#2
 991  00fd 2002          	jra	L324
 992  00ff               L124:
 993                     ; 328     icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
 995  00ff a601          	ld	a,#1
 996  0101               L324:
 997  0101 6b02          	ld	(OFST+0,sp),a
 998                     ; 331   if (TIM3_Channel != TIM3_CHANNEL_2)
1000  0103 7b03          	ld	a,(OFST+1,sp)
1001  0105 4a            	dec	a
1002  0106 2726          	jreq	L524
1003                     ; 334     TI1_Config(TIM3_ICPolarity, TIM3_ICSelection,
1003                     ; 335                TIM3_ICFilter);
1005  0108 7b09          	ld	a,(OFST+7,sp)
1006  010a 88            	push	a
1007  010b 7b08          	ld	a,(OFST+6,sp)
1008  010d 97            	ld	xl,a
1009  010e 7b05          	ld	a,(OFST+3,sp)
1010  0110 95            	ld	xh,a
1011  0111 cd0337        	call	L3_TI1_Config
1013  0114 84            	pop	a
1014                     ; 338     TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
1016  0115 7b08          	ld	a,(OFST+6,sp)
1017  0117 cd0275        	call	_TIM3_SetIC1Prescaler
1019                     ; 341     TI2_Config(icpolarity, icselection, TIM3_ICFilter);
1021  011a 7b09          	ld	a,(OFST+7,sp)
1022  011c 88            	push	a
1023  011d 7b03          	ld	a,(OFST+1,sp)
1024  011f 97            	ld	xl,a
1025  0120 7b02          	ld	a,(OFST+0,sp)
1026  0122 95            	ld	xh,a
1027  0123 cd0367        	call	L5_TI2_Config
1029  0126 84            	pop	a

⌨️ 快捷键说明

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