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

📄 stm8s_tim1.ls

📁 STM8-触摸例程
💻 LS
📖 第 1 页 / 共 5 页
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
   3                     ; Optimizer V4.2.8 - 03 Dec 2008
  33                     ; 69 void TIM1_DeInit(void)
  33                     ; 70 {
  35                     	switch	.text
  36  0000               _TIM1_DeInit:
  40                     ; 71   TIM1->CR1  = TIM1_CR1_RESET_VALUE;
  42  0000 725f5250      	clr	21072
  43                     ; 72   TIM1->CR2  = TIM1_CR2_RESET_VALUE;
  45  0004 725f5251      	clr	21073
  46                     ; 73   TIM1->SMCR = TIM1_SMCR_RESET_VALUE;
  48  0008 725f5252      	clr	21074
  49                     ; 74   TIM1->ETR  = TIM1_ETR_RESET_VALUE;
  51  000c 725f5253      	clr	21075
  52                     ; 75   TIM1->IER  = TIM1_IER_RESET_VALUE;
  54  0010 725f5254      	clr	21076
  55                     ; 76   TIM1->SR2  = TIM1_SR2_RESET_VALUE;
  57  0014 725f5256      	clr	21078
  58                     ; 78   TIM1->CCER1 = TIM1_CCER1_RESET_VALUE;
  60  0018 725f525c      	clr	21084
  61                     ; 79   TIM1->CCER2 = TIM1_CCER2_RESET_VALUE;
  63  001c 725f525d      	clr	21085
  64                     ; 81   TIM1->CCMR1 = 0x01;
  66  0020 35015258      	mov	21080,#1
  67                     ; 82   TIM1->CCMR2 = 0x01;
  69  0024 35015259      	mov	21081,#1
  70                     ; 83   TIM1->CCMR3 = 0x01;
  72  0028 3501525a      	mov	21082,#1
  73                     ; 84   TIM1->CCMR4 = 0x01;
  75  002c 3501525b      	mov	21083,#1
  76                     ; 86   TIM1->CCER1 = TIM1_CCER1_RESET_VALUE;
  78  0030 725f525c      	clr	21084
  79                     ; 87   TIM1->CCER2 = TIM1_CCER2_RESET_VALUE;
  81  0034 725f525d      	clr	21085
  82                     ; 88   TIM1->CCMR1 = TIM1_CCMR1_RESET_VALUE;
  84  0038 725f5258      	clr	21080
  85                     ; 89   TIM1->CCMR2 = TIM1_CCMR2_RESET_VALUE;
  87  003c 725f5259      	clr	21081
  88                     ; 90   TIM1->CCMR3 = TIM1_CCMR3_RESET_VALUE;
  90  0040 725f525a      	clr	21082
  91                     ; 91   TIM1->CCMR4 = TIM1_CCMR4_RESET_VALUE;
  93  0044 725f525b      	clr	21083
  94                     ; 92   TIM1->CNTRH = TIM1_CNTRH_RESET_VALUE;
  96  0048 725f525e      	clr	21086
  97                     ; 93   TIM1->CNTRL = TIM1_CNTRL_RESET_VALUE;
  99  004c 725f525f      	clr	21087
 100                     ; 94   TIM1->PSCRH = TIM1_PSCRH_RESET_VALUE;
 102  0050 725f5260      	clr	21088
 103                     ; 95   TIM1->PSCRL = TIM1_PSCRL_RESET_VALUE;
 105  0054 725f5261      	clr	21089
 106                     ; 96   TIM1->ARRH  = TIM1_ARRH_RESET_VALUE;
 108  0058 35ff5262      	mov	21090,#255
 109                     ; 97   TIM1->ARRL  = TIM1_ARRL_RESET_VALUE;
 111  005c 35ff5263      	mov	21091,#255
 112                     ; 98   TIM1->CCR1H = TIM1_CCR1H_RESET_VALUE;
 114  0060 725f5265      	clr	21093
 115                     ; 99   TIM1->CCR1L = TIM1_CCR1L_RESET_VALUE;
 117  0064 725f5266      	clr	21094
 118                     ; 100   TIM1->CCR2H = TIM1_CCR2H_RESET_VALUE;
 120  0068 725f5267      	clr	21095
 121                     ; 101   TIM1->CCR2L = TIM1_CCR2L_RESET_VALUE;
 123  006c 725f5268      	clr	21096
 124                     ; 102   TIM1->CCR3H = TIM1_CCR3H_RESET_VALUE;
 126  0070 725f5269      	clr	21097
 127                     ; 103   TIM1->CCR3L = TIM1_CCR3L_RESET_VALUE;
 129  0074 725f526a      	clr	21098
 130                     ; 104   TIM1->CCR4H = TIM1_CCR4H_RESET_VALUE;
 132  0078 725f526b      	clr	21099
 133                     ; 105   TIM1->CCR4L = TIM1_CCR4L_RESET_VALUE;
 135  007c 725f526c      	clr	21100
 136                     ; 106   TIM1->OISR  = TIM1_OISR_RESET_VALUE;
 138  0080 725f526f      	clr	21103
 139                     ; 107   TIM1->EGR   = 0x01; /* TIM1_EGR_UG */
 141  0084 35015257      	mov	21079,#1
 142                     ; 108   TIM1->DTR   = TIM1_DTR_RESET_VALUE;
 144  0088 725f526e      	clr	21102
 145                     ; 109   TIM1->BKR   = TIM1_BKR_RESET_VALUE;
 147  008c 725f526d      	clr	21101
 148                     ; 110   TIM1->RCR   = TIM1_RCR_RESET_VALUE;
 150  0090 725f5264      	clr	21092
 151                     ; 111   TIM1->SR1   = TIM1_SR1_RESET_VALUE;
 153  0094 725f5255      	clr	21077
 154                     ; 112 }
 157  0098 81            	ret	
 266                     ; 135 void TIM1_TimeBaseInit(u16 TIM1_Prescaler,
 266                     ; 136                        TIM1_CounterMode_TypeDef TIM1_CounterMode,
 266                     ; 137                        u16 TIM1_Period,
 266                     ; 138                        u8 TIM1_RepetitionCounter)
 266                     ; 139 {
 267                     	switch	.text
 268  0099               _TIM1_TimeBaseInit:
 270  0099 89            	pushw	x
 271       00000000      OFST:	set	0
 274                     ; 142   assert_param(IS_TIM1_COUNTER_MODE_OK(TIM1_CounterMode));
 276                     ; 145   TIM1->ARRH = (u8)(TIM1_Period >> 8);
 278  009a 7b06          	ld	a,(OFST+6,sp)
 279  009c c75262        	ld	21090,a
 280                     ; 146   TIM1->ARRL = (u8)(TIM1_Period);
 282  009f 7b07          	ld	a,(OFST+7,sp)
 283  00a1 c75263        	ld	21091,a
 284                     ; 149   TIM1->PSCRH = (u8)(TIM1_Prescaler >> 8);
 286  00a4 9e            	ld	a,xh
 287  00a5 c75260        	ld	21088,a
 288                     ; 150   TIM1->PSCRL = (u8)(TIM1_Prescaler);
 290  00a8 9f            	ld	a,xl
 291  00a9 c75261        	ld	21089,a
 292                     ; 153   TIM1->CR1 = (u8)(((TIM1->CR1) & (u8)(~(TIM1_CR1_CMS | TIM1_CR1_DIR))) | (u8)(TIM1_CounterMode));
 294  00ac c65250        	ld	a,21072
 295  00af a48f          	and	a,#143
 296  00b1 1a05          	or	a,(OFST+5,sp)
 297  00b3 c75250        	ld	21072,a
 298                     ; 156   TIM1->RCR = TIM1_RepetitionCounter;
 300  00b6 7b08          	ld	a,(OFST+8,sp)
 301  00b8 c75264        	ld	21092,a
 302                     ; 158 }
 305  00bb 85            	popw	x
 306  00bc 81            	ret	
 591                     ; 189 void TIM1_OC1Init(TIM1_OCMode_TypeDef TIM1_OCMode,
 591                     ; 190                   TIM1_OutputState_TypeDef TIM1_OutputState,
 591                     ; 191                   TIM1_OutputNState_TypeDef TIM1_OutputNState,
 591                     ; 192                   u16 TIM1_Pulse,
 591                     ; 193                   TIM1_OCPolarity_TypeDef TIM1_OCPolarity,
 591                     ; 194                   TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity,
 591                     ; 195                   TIM1_OCIdleState_TypeDef TIM1_OCIdleState,
 591                     ; 196                   TIM1_OCNIdleState_TypeDef TIM1_OCNIdleState)
 591                     ; 197 {
 592                     	switch	.text
 593  00bd               _TIM1_OC1Init:
 595  00bd 89            	pushw	x
 596  00be 5203          	subw	sp,#3
 597       00000003      OFST:	set	3
 600                     ; 199   assert_param(IS_TIM1_OC_MODE_OK(TIM1_OCMode));
 602                     ; 200   assert_param(IS_TIM1_OUTPUT_STATE_OK(TIM1_OutputState));
 604                     ; 201   assert_param(IS_TIM1_OUTPUTN_STATE_OK(TIM1_OutputNState));
 606                     ; 202   assert_param(IS_TIM1_OC_POLARITY_OK(TIM1_OCPolarity));
 608                     ; 203   assert_param(IS_TIM1_OCN_POLARITY_OK(TIM1_OCNPolarity));
 610                     ; 204   assert_param(IS_TIM1_OCIDLE_STATE_OK(TIM1_OCIdleState));
 612                     ; 205   assert_param(IS_TIM1_OCNIDLE_STATE_OK(TIM1_OCNIdleState));
 614                     ; 208   TIM1->CCER1 &= (u8)(~( TIM1_CCER1_CC1E | TIM1_CCER1_CC1NE | TIM1_CCER1_CC1P | TIM1_CCER1_CC1NP));
 616  00c0 c6525c        	ld	a,21084
 617  00c3 a4f0          	and	a,#240
 618  00c5 c7525c        	ld	21084,a
 619                     ; 210   TIM1->CCER1 |= (u8)((TIM1_OutputState & TIM1_CCER1_CC1E  ) | (TIM1_OutputNState & TIM1_CCER1_CC1NE ) | (TIM1_OCPolarity  & TIM1_CCER1_CC1P  ) | (TIM1_OCNPolarity & TIM1_CCER1_CC1NP ));
 621  00c8 7b0c          	ld	a,(OFST+9,sp)
 622  00ca a408          	and	a,#8
 623  00cc 6b03          	ld	(OFST+0,sp),a
 624  00ce 7b0b          	ld	a,(OFST+8,sp)
 625  00d0 a402          	and	a,#2
 626  00d2 6b02          	ld	(OFST-1,sp),a
 627  00d4 7b08          	ld	a,(OFST+5,sp)
 628  00d6 a404          	and	a,#4
 629  00d8 6b01          	ld	(OFST-2,sp),a
 630  00da 9f            	ld	a,xl
 631  00db a401          	and	a,#1
 632  00dd 1a01          	or	a,(OFST-2,sp)
 633  00df 1a02          	or	a,(OFST-1,sp)
 634  00e1 1a03          	or	a,(OFST+0,sp)
 635  00e3 ca525c        	or	a,21084
 636  00e6 c7525c        	ld	21084,a
 637                     ; 213   TIM1->CCMR1 = (u8)((TIM1->CCMR1 & (u8)(~TIM1_CCMR_OCM)) | (u8)TIM1_OCMode);
 639  00e9 c65258        	ld	a,21080
 640  00ec a48f          	and	a,#143
 641  00ee 1a04          	or	a,(OFST+1,sp)
 642  00f0 c75258        	ld	21080,a
 643                     ; 216   TIM1->OISR &= (u8)(~(TIM1_OISR_OIS1 | TIM1_OISR_OIS1N));
 645  00f3 c6526f        	ld	a,21103
 646  00f6 a4fc          	and	a,#252
 647  00f8 c7526f        	ld	21103,a
 648                     ; 218   TIM1->OISR |= (u8)(( TIM1_OCIdleState & TIM1_OISR_OIS1 ) | ( TIM1_OCNIdleState & TIM1_OISR_OIS1N ));
 650  00fb 7b0e          	ld	a,(OFST+11,sp)
 651  00fd a402          	and	a,#2
 652  00ff 6b03          	ld	(OFST+0,sp),a
 653  0101 7b0d          	ld	a,(OFST+10,sp)
 654  0103 a401          	and	a,#1
 655  0105 1a03          	or	a,(OFST+0,sp)
 656  0107 ca526f        	or	a,21103
 657  010a c7526f        	ld	21103,a
 658                     ; 221   TIM1->CCR1H = (u8)(TIM1_Pulse >> 8);
 660  010d 7b09          	ld	a,(OFST+6,sp)
 661  010f c75265        	ld	21093,a
 662                     ; 222   TIM1->CCR1L = (u8)(TIM1_Pulse);
 664  0112 7b0a          	ld	a,(OFST+7,sp)
 665  0114 c75266        	ld	21094,a
 666                     ; 223 }
 669  0117 5b05          	addw	sp,#5
 670  0119 81            	ret	
 774                     ; 254 void TIM1_OC2Init(TIM1_OCMode_TypeDef TIM1_OCMode,
 774                     ; 255                   TIM1_OutputState_TypeDef TIM1_OutputState,
 774                     ; 256                   TIM1_OutputNState_TypeDef TIM1_OutputNState,
 774                     ; 257                   u16 TIM1_Pulse,
 774                     ; 258                   TIM1_OCPolarity_TypeDef TIM1_OCPolarity,
 774                     ; 259                   TIM1_OCNPolarity_TypeDef TIM1_OCNPolarity,
 774                     ; 260                   TIM1_OCIdleState_TypeDef TIM1_OCIdleState,
 774                     ; 261                   TIM1_OCNIdleState_TypeDef TIM1_OCNIdleState)
 774                     ; 262 {
 775                     	switch	.text
 776  011a               _TIM1_OC2Init:
 778  011a 89            	pushw	x
 779  011b 5203          	subw	sp,#3
 780       00000003      OFST:	set	3
 783                     ; 266   assert_param(IS_TIM1_OC_MODE_OK(TIM1_OCMode));
 785                     ; 267   assert_param(IS_TIM1_OUTPUT_STATE_OK(TIM1_OutputState));
 787                     ; 268   assert_param(IS_TIM1_OUTPUTN_STATE_OK(TIM1_OutputNState));
 789                     ; 269   assert_param(IS_TIM1_OC_POLARITY_OK(TIM1_OCPolarity));
 791                     ; 270   assert_param(IS_TIM1_OCN_POLARITY_OK(TIM1_OCNPolarity));
 793                     ; 271   assert_param(IS_TIM1_OCIDLE_STATE_OK(TIM1_OCIdleState));
 795                     ; 272   assert_param(IS_TIM1_OCNIDLE_STATE_OK(TIM1_OCNIdleState));
 797                     ; 275   TIM1->CCER1 &= (u8)(~( TIM1_CCER1_CC2E | TIM1_CCER1_CC2NE | TIM1_CCER1_CC2P | TIM1_CCER1_CC2NP));
 799  011d c6525c        	ld	a,21084
 800  0120 a40f          	and	a,#15
 801  0122 c7525c        	ld	21084,a
 802                     ; 277   TIM1->CCER1 |= (u8)((TIM1_OutputState & TIM1_CCER1_CC2E  ) | (TIM1_OutputNState & TIM1_CCER1_CC2NE ) | (TIM1_OCPolarity  & TIM1_CCER1_CC2P  ) | (TIM1_OCNPolarity & TIM1_CCER1_CC2NP ));
 804  0125 7b0c          	ld	a,(OFST+9,sp)
 805  0127 a480          	and	a,#128
 806  0129 6b03          	ld	(OFST+0,sp),a
 807  012b 7b0b          	ld	a,(OFST+8,sp)
 808  012d a420          	and	a,#32
 809  012f 6b02          	ld	(OFST-1,sp),a
 810  0131 7b08          	ld	a,(OFST+5,sp)
 811  0133 a440          	and	a,#64
 812  0135 6b01          	ld	(OFST-2,sp),a
 813  0137 9f            	ld	a,xl
 814  0138 a410          	and	a,#16
 815  013a 1a01          	or	a,(OFST-2,sp)
 816  013c 1a02          	or	a,(OFST-1,sp)
 817  013e 1a03          	or	a,(OFST+0,sp)
 818  0140 ca525c        	or	a,21084
 819  0143 c7525c        	ld	21084,a
 820                     ; 281   TIM1->CCMR2 = (u8)((TIM1->CCMR2 & (u8)(~TIM1_CCMR_OCM)) | (u8)TIM1_OCMode);
 822  0146 c65259        	ld	a,21081
 823  0149 a48f          	and	a,#143
 824  014b 1a04          	or	a,(OFST+1,sp)
 825  014d c75259        	ld	21081,a
 826                     ; 284   TIM1->OISR &= (u8)(~(TIM1_OISR_OIS2 | TIM1_OISR_OIS2N));
 828  0150 c6526f        	ld	a,21103
 829  0153 a4f3          	and	a,#243
 830  0155 c7526f        	ld	21103,a
 831                     ; 286   TIM1->OISR |= (u8)((TIM1_OISR_OIS2 & TIM1_OCIdleState) | (TIM1_OISR_OIS2N & TIM1_OCNIdleState));
 833  0158 7b0e          	ld	a,(OFST+11,sp)
 834  015a a408          	and	a,#8
 835  015c 6b03          	ld	(OFST+0,sp),a
 836  015e 7b0d          	ld	a,(OFST+10,sp)
 837  0160 a404          	and	a,#4
 838  0162 1a03          	or	a,(OFST+0,sp)
 839  0164 ca526f        	or	a,21103
 840  0167 c7526f        	ld	21103,a
 841                     ; 289   TIM1->CCR2H = (u8)(TIM1_Pulse >> 8);
 843  016a 7b09          	ld	a,(OFST+6,sp)

⌨️ 快捷键说明

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