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

📄 stm8s_tim3.ls

📁 STM8S105 BLDC源代码
💻 LS
📖 第 1 页 / 共 4 页
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Parser V4.9.10 - 10 Feb 2011
   3                     ; Generator (Limited) V4.3.6 - 15 Feb 2011
   4                     ; Optimizer V4.3.5 - 15 Feb 2011
  47                     ; 62 void TIM3_DeInit(void)
  47                     ; 63 {
  49                     	switch	.text
  50  0000               _TIM3_DeInit:
  54                     ; 65   TIM3->CR1 = (u8)TIM3_CR1_RESET_VALUE;
  56  0000 725f5320      	clr	21280
  57                     ; 66   TIM3->IER = (u8)TIM3_IER_RESET_VALUE;
  59  0004 725f5321      	clr	21281
  60                     ; 67   TIM3->SR2 = (u8)TIM3_SR2_RESET_VALUE;
  62  0008 725f5323      	clr	21283
  63                     ; 70   TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
  65  000c 725f5327      	clr	21287
  66                     ; 73   TIM3->CCER1 = (u8)TIM3_CCER1_RESET_VALUE;
  68  0010 725f5327      	clr	21287
  69                     ; 74   TIM3->CCMR1 = (u8)TIM3_CCMR1_RESET_VALUE;
  71  0014 725f5325      	clr	21285
  72                     ; 75   TIM3->CCMR2 = (u8)TIM3_CCMR2_RESET_VALUE;
  74  0018 725f5326      	clr	21286
  75                     ; 76   TIM3->CNTRH = (u8)TIM3_CNTRH_RESET_VALUE;
  77  001c 725f5328      	clr	21288
  78                     ; 77   TIM3->CNTRL = (u8)TIM3_CNTRL_RESET_VALUE;
  80  0020 725f5329      	clr	21289
  81                     ; 78   TIM3->PSCR = (u8)TIM3_PSCR_RESET_VALUE;
  83  0024 725f532a      	clr	21290
  84                     ; 79   TIM3->ARRH  = (u8)TIM3_ARRH_RESET_VALUE;
  86  0028 35ff532b      	mov	21291,#255
  87                     ; 80   TIM3->ARRL  = (u8)TIM3_ARRL_RESET_VALUE;
  89  002c 35ff532c      	mov	21292,#255
  90                     ; 81   TIM3->CCR1H = (u8)TIM3_CCR1H_RESET_VALUE;
  92  0030 725f532d      	clr	21293
  93                     ; 82   TIM3->CCR1L = (u8)TIM3_CCR1L_RESET_VALUE;
  95  0034 725f532e      	clr	21294
  96                     ; 83   TIM3->CCR2H = (u8)TIM3_CCR2H_RESET_VALUE;
  98  0038 725f532f      	clr	21295
  99                     ; 84   TIM3->CCR2L = (u8)TIM3_CCR2L_RESET_VALUE;
 101  003c 725f5330      	clr	21296
 102                     ; 85   TIM3->SR1 = (u8)TIM3_SR1_RESET_VALUE;
 104  0040 725f5322      	clr	21282
 105                     ; 86 }
 108  0044 81            	ret	
 276                     ; 106 void TIM3_TimeBaseInit( TIM3_Prescaler_TypeDef TIM3_Prescaler,
 276                     ; 107                         u16 TIM3_Period)
 276                     ; 108 {
 277                     	switch	.text
 278  0045               _TIM3_TimeBaseInit:
 280       00000000      OFST:	set	0
 283                     ; 110   TIM3->PSCR = (u8)(TIM3_Prescaler);
 285  0045 c7532a        	ld	21290,a
 286  0048 88            	push	a
 287                     ; 112   TIM3->ARRH = (u8)(TIM3_Period >> 8);
 289  0049 7b04          	ld	a,(OFST+4,sp)
 290  004b c7532b        	ld	21291,a
 291                     ; 113   TIM3->ARRL = (u8)(TIM3_Period);
 293  004e 7b05          	ld	a,(OFST+5,sp)
 294  0050 c7532c        	ld	21292,a
 295                     ; 114 }
 298  0053 84            	pop	a
 299  0054 81            	ret	
 456                     ; 137 void TIM3_OC1Init(TIM3_OCMode_TypeDef TIM3_OCMode,
 456                     ; 138                   TIM3_OutputState_TypeDef TIM3_OutputState,
 456                     ; 139                   u16 TIM3_Pulse,
 456                     ; 140                   TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
 456                     ; 141 {
 457                     	switch	.text
 458  0055               _TIM3_OC1Init:
 460  0055 89            	pushw	x
 461  0056 88            	push	a
 462       00000001      OFST:	set	1
 465                     ; 143   assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
 467                     ; 144   assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
 469                     ; 145   assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
 471                     ; 148   TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC1E | TIM3_CCER1_CC1P));
 473  0057 c65327        	ld	a,21287
 474  005a a4fc          	and	a,#252
 475  005c c75327        	ld	21287,a
 476                     ; 150   TIM3->CCER1 |= (u8)((TIM3_OutputState  & TIM3_CCER1_CC1E   ) | (TIM3_OCPolarity   & TIM3_CCER1_CC1P   ));
 478  005f 7b08          	ld	a,(OFST+7,sp)
 479  0061 a402          	and	a,#2
 480  0063 6b01          	ld	(OFST+0,sp),a
 481  0065 9f            	ld	a,xl
 482  0066 a401          	and	a,#1
 483  0068 1a01          	or	a,(OFST+0,sp)
 484  006a ca5327        	or	a,21287
 485  006d c75327        	ld	21287,a
 486                     ; 153   TIM3->CCMR1 = (u8)((TIM3->CCMR1 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
 488  0070 c65325        	ld	a,21285
 489  0073 a48f          	and	a,#143
 490  0075 1a02          	or	a,(OFST+1,sp)
 491  0077 c75325        	ld	21285,a
 492                     ; 156   TIM3->CCR1H = (u8)(TIM3_Pulse >> 8);
 494  007a 7b06          	ld	a,(OFST+5,sp)
 495  007c c7532d        	ld	21293,a
 496                     ; 157   TIM3->CCR1L = (u8)(TIM3_Pulse);
 498  007f 7b07          	ld	a,(OFST+6,sp)
 499  0081 c7532e        	ld	21294,a
 500                     ; 158 }
 503  0084 5b03          	addw	sp,#3
 504  0086 81            	ret	
 568                     ; 182 void TIM3_OC2Init(TIM3_OCMode_TypeDef TIM3_OCMode,
 568                     ; 183                   TIM3_OutputState_TypeDef TIM3_OutputState,
 568                     ; 184                   u16 TIM3_Pulse,
 568                     ; 185                   TIM3_OCPolarity_TypeDef TIM3_OCPolarity)
 568                     ; 186 {
 569                     	switch	.text
 570  0087               _TIM3_OC2Init:
 572  0087 89            	pushw	x
 573  0088 88            	push	a
 574       00000001      OFST:	set	1
 577                     ; 188   assert_param(IS_TIM3_OC_MODE_OK(TIM3_OCMode));
 579                     ; 189   assert_param(IS_TIM3_OUTPUT_STATE_OK(TIM3_OutputState));
 581                     ; 190   assert_param(IS_TIM3_OC_POLARITY_OK(TIM3_OCPolarity));
 583                     ; 194   TIM3->CCER1 &= (u8)(~( TIM3_CCER1_CC2E |  TIM3_CCER1_CC2P ));
 585  0089 c65327        	ld	a,21287
 586  008c a4cf          	and	a,#207
 587  008e c75327        	ld	21287,a
 588                     ; 196   TIM3->CCER1 |= (u8)((TIM3_OutputState  & TIM3_CCER1_CC2E   ) | (TIM3_OCPolarity   & TIM3_CCER1_CC2P ));
 590  0091 7b08          	ld	a,(OFST+7,sp)
 591  0093 a420          	and	a,#32
 592  0095 6b01          	ld	(OFST+0,sp),a
 593  0097 9f            	ld	a,xl
 594  0098 a410          	and	a,#16
 595  009a 1a01          	or	a,(OFST+0,sp)
 596  009c ca5327        	or	a,21287
 597  009f c75327        	ld	21287,a
 598                     ; 200   TIM3->CCMR2 = (u8)((TIM3->CCMR2 & (u8)(~TIM3_CCMR_OCM)) | (u8)TIM3_OCMode);
 600  00a2 c65326        	ld	a,21286
 601  00a5 a48f          	and	a,#143
 602  00a7 1a02          	or	a,(OFST+1,sp)
 603  00a9 c75326        	ld	21286,a
 604                     ; 204   TIM3->CCR2H = (u8)(TIM3_Pulse >> 8);
 606  00ac 7b06          	ld	a,(OFST+5,sp)
 607  00ae c7532f        	ld	21295,a
 608                     ; 205   TIM3->CCR2L = (u8)(TIM3_Pulse);
 610  00b1 7b07          	ld	a,(OFST+6,sp)
 611  00b3 c75330        	ld	21296,a
 612                     ; 206 }
 615  00b6 5b03          	addw	sp,#3
 616  00b8 81            	ret	
 800                     ; 236 void TIM3_ICInit(TIM3_Channel_TypeDef TIM3_Channel,
 800                     ; 237                  TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
 800                     ; 238                  TIM3_ICSelection_TypeDef TIM3_ICSelection,
 800                     ; 239                  TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
 800                     ; 240                  u8 TIM3_ICFilter)
 800                     ; 241 {
 801                     	switch	.text
 802  00b9               _TIM3_ICInit:
 804  00b9 89            	pushw	x
 805       00000000      OFST:	set	0
 808                     ; 243   assert_param(IS_TIM3_CHANNEL_OK(TIM3_Channel));
 810                     ; 244   assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
 812                     ; 245   assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
 814                     ; 246   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
 816                     ; 247   assert_param(IS_TIM3_IC_FILTER_OK(TIM3_ICFilter));
 818                     ; 249   if (TIM3_Channel != TIM3_CHANNEL_2)
 820  00ba 9e            	ld	a,xh
 821  00bb 4a            	dec	a
 822  00bc 2714          	jreq	L343
 823                     ; 252     TI1_Config(TIM3_ICPolarity,
 823                     ; 253                TIM3_ICSelection,
 823                     ; 254                TIM3_ICFilter);
 825  00be 7b07          	ld	a,(OFST+7,sp)
 826  00c0 88            	push	a
 827  00c1 7b06          	ld	a,(OFST+6,sp)
 828  00c3 97            	ld	xl,a
 829  00c4 7b03          	ld	a,(OFST+3,sp)
 830  00c6 95            	ld	xh,a
 831  00c7 cd032e        	call	L3_TI1_Config
 833  00ca 84            	pop	a
 834                     ; 257     TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
 836  00cb 7b06          	ld	a,(OFST+6,sp)
 837  00cd cd0274        	call	_TIM3_SetIC1Prescaler
 840  00d0 2012          	jra	L543
 841  00d2               L343:
 842                     ; 262     TI2_Config(TIM3_ICPolarity,
 842                     ; 263                TIM3_ICSelection,
 842                     ; 264                TIM3_ICFilter);
 844  00d2 7b07          	ld	a,(OFST+7,sp)
 845  00d4 88            	push	a
 846  00d5 7b06          	ld	a,(OFST+6,sp)
 847  00d7 97            	ld	xl,a
 848  00d8 7b03          	ld	a,(OFST+3,sp)
 849  00da 95            	ld	xh,a
 850  00db cd035e        	call	L5_TI2_Config
 852  00de 84            	pop	a
 853                     ; 267     TIM3_SetIC2Prescaler(TIM3_ICPrescaler);
 855  00df 7b06          	ld	a,(OFST+6,sp)
 856  00e1 cd0281        	call	_TIM3_SetIC2Prescaler
 858  00e4               L543:
 859                     ; 269 }
 862  00e4 85            	popw	x
 863  00e5 81            	ret	
 959                     ; 296 void TIM3_PWMIConfig(TIM3_Channel_TypeDef TIM3_Channel,
 959                     ; 297                      TIM3_ICPolarity_TypeDef TIM3_ICPolarity,
 959                     ; 298                      TIM3_ICSelection_TypeDef TIM3_ICSelection,
 959                     ; 299                      TIM3_ICPSC_TypeDef TIM3_ICPrescaler,
 959                     ; 300                      u8 TIM3_ICFilter)
 959                     ; 301 {
 960                     	switch	.text
 961  00e6               _TIM3_PWMIConfig:
 963  00e6 89            	pushw	x
 964  00e7 89            	pushw	x
 965       00000002      OFST:	set	2
 968                     ; 302   u8 icpolarity = (u8)TIM3_ICPOLARITY_RISING;
 970                     ; 303   u8 icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
 972                     ; 306   assert_param(IS_TIM3_PWMI_CHANNEL_OK(TIM3_Channel));
 974                     ; 307   assert_param(IS_TIM3_IC_POLARITY_OK(TIM3_ICPolarity));
 976                     ; 308   assert_param(IS_TIM3_IC_SELECTION_OK(TIM3_ICSelection));
 978                     ; 309   assert_param(IS_TIM3_IC_PRESCALER_OK(TIM3_ICPrescaler));
 980                     ; 312   if (TIM3_ICPolarity != TIM3_ICPOLARITY_FALLING)
 982  00e8 9f            	ld	a,xl
 983  00e9 a144          	cp	a,#68
 984  00eb 2706          	jreq	L514
 985                     ; 314     icpolarity = (u8)TIM3_ICPOLARITY_FALLING;
 987  00ed a644          	ld	a,#68
 988  00ef 6b01          	ld	(OFST-1,sp),a
 990  00f1 2002          	jra	L714
 991  00f3               L514:
 992                     ; 318     icpolarity = (u8)TIM3_ICPOLARITY_RISING;
 994  00f3 0f01          	clr	(OFST-1,sp)
 995  00f5               L714:
 996                     ; 322   if (TIM3_ICSelection == TIM3_ICSELECTION_DIRECTTI)
 998  00f5 7b07          	ld	a,(OFST+5,sp)
 999  00f7 4a            	dec	a
1000  00f8 2604          	jrne	L124
1001                     ; 324     icselection = (u8)TIM3_ICSELECTION_INDIRECTTI;
1003  00fa a602          	ld	a,#2
1005  00fc 2002          	jra	L324
1006  00fe               L124:
1007                     ; 328     icselection = (u8)TIM3_ICSELECTION_DIRECTTI;
1009  00fe a601          	ld	a,#1
1010  0100               L324:
1011  0100 6b02          	ld	(OFST+0,sp),a
1012                     ; 331   if (TIM3_Channel != TIM3_CHANNEL_2)
1014  0102 7b03          	ld	a,(OFST+1,sp)
1015  0104 4a            	dec	a
1016  0105 2726          	jreq	L524
1017                     ; 334     TI1_Config(TIM3_ICPolarity, TIM3_ICSelection,
1017                     ; 335                TIM3_ICFilter);
1019  0107 7b09          	ld	a,(OFST+7,sp)
1020  0109 88            	push	a
1021  010a 7b08          	ld	a,(OFST+6,sp)
1022  010c 97            	ld	xl,a
1023  010d 7b05          	ld	a,(OFST+3,sp)
1024  010f 95            	ld	xh,a
1025  0110 cd032e        	call	L3_TI1_Config
1027  0113 84            	pop	a
1028                     ; 338     TIM3_SetIC1Prescaler(TIM3_ICPrescaler);
1030  0114 7b08          	ld	a,(OFST+6,sp)
1031  0116 cd0274        	call	_TIM3_SetIC1Prescaler
1033                     ; 341     TI2_Config(icpolarity, icselection, TIM3_ICFilter);
1035  0119 7b09          	ld	a,(OFST+7,sp)
1036  011b 88            	push	a
1037  011c 7b03          	ld	a,(OFST+1,sp)
1038  011e 97            	ld	xl,a
1039  011f 7b02          	ld	a,(OFST+0,sp)

⌨️ 快捷键说明

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