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

📄 stm8s_adc2.ls

📁 STM8全部资料
💻 LS
📖 第 1 页 / 共 2 页
字号:
   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                     ; 65 void ADC2_DeInit(void)
  43                     ; 66 {
  45                     	switch	.text
  46  0000               _ADC2_DeInit:
  50                     ; 67   ADC2->CSR  = ADC2_CSR_RESET_VALUE;
  52  0000 725f5400      	clr	21504
  53                     ; 68   ADC2->CR1  = ADC2_CR1_RESET_VALUE;
  55  0004 725f5401      	clr	21505
  56                     ; 69   ADC2->CR2  = ADC2_CR2_RESET_VALUE;
  58  0008 725f5402      	clr	21506
  59                     ; 70   ADC2->TDRH = ADC2_TDRH_RESET_VALUE;
  61  000c 725f5406      	clr	21510
  62                     ; 71   ADC2->TDRL = ADC2_TDRL_RESET_VALUE;
  64  0010 725f5407      	clr	21511
  65                     ; 72 }
  68  0014 81            	ret
 593                     ; 107 void ADC2_Init(ADC2_ConvMode_TypeDef ADC2_ConversionMode, ADC2_Channel_TypeDef ADC2_Channel, ADC2_PresSel_TypeDef ADC2_PrescalerSelection, ADC2_ExtTrig_TypeDef ADC2_ExtTrigger, FunctionalState ADC2_ExtTrigState, ADC2_Align_TypeDef ADC2_Align, ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState ADC2_SchmittTriggerState)
 593                     ; 108 {
 594                     	switch	.text
 595  0015               _ADC2_Init:
 597  0015 89            	pushw	x
 598       00000000      OFST:	set	0
 601                     ; 111   assert_param(IS_ADC2_CONVERSIONMODE_OK(ADC2_ConversionMode));
 603                     ; 112   assert_param(IS_ADC2_CHANNEL_OK(ADC2_Channel));
 605                     ; 113   assert_param(IS_ADC2_PRESSEL_OK(ADC2_PrescalerSelection));
 607                     ; 114   assert_param(IS_ADC2_EXTTRIG_OK(ADC2_ExtTrigger));
 609                     ; 115   assert_param(IS_FUNCTIONALSTATE_OK(((ADC2_ExtTrigState))));
 611                     ; 116   assert_param(IS_ADC2_ALIGN_OK(ADC2_Align));
 613                     ; 117   assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
 615                     ; 118   assert_param(IS_FUNCTIONALSTATE_OK(ADC2_SchmittTriggerState));
 617                     ; 123   ADC2_ConversionConfig(ADC2_ConversionMode, ADC2_Channel, ADC2_Align);
 619  0016 7b08          	ld	a,(OFST+8,sp)
 620  0018 88            	push	a
 621  0019 9f            	ld	a,xl
 622  001a 97            	ld	xl,a
 623  001b 7b02          	ld	a,(OFST+2,sp)
 624  001d 95            	ld	xh,a
 625  001e cd00fa        	call	_ADC2_ConversionConfig
 627  0021 84            	pop	a
 628                     ; 125   ADC2_PrescalerConfig(ADC2_PrescalerSelection);
 630  0022 7b05          	ld	a,(OFST+5,sp)
 631  0024 ad33          	call	_ADC2_PrescalerConfig
 633                     ; 130   ADC2_ExternalTriggerConfig(ADC2_ExtTrigger, ADC2_ExtTrigState);
 635  0026 7b07          	ld	a,(OFST+7,sp)
 636  0028 97            	ld	xl,a
 637  0029 7b06          	ld	a,(OFST+6,sp)
 638  002b 95            	ld	xh,a
 639  002c cd0128        	call	_ADC2_ExternalTriggerConfig
 641                     ; 135   ADC2_SchmittTriggerConfig(ADC2_SchmittTriggerChannel, ADC2_SchmittTriggerState);
 643  002f 7b0a          	ld	a,(OFST+10,sp)
 644  0031 97            	ld	xl,a
 645  0032 7b09          	ld	a,(OFST+9,sp)
 646  0034 95            	ld	xh,a
 647  0035 ad35          	call	_ADC2_SchmittTriggerConfig
 649                     ; 138   ADC2->CR1 |= ADC2_CR1_ADON;
 651  0037 72105401      	bset	21505,#0
 652                     ; 140 }
 655  003b 85            	popw	x
 656  003c 81            	ret
 691                     ; 157 void ADC2_Cmd(FunctionalState NewState)
 691                     ; 158 {
 692                     	switch	.text
 693  003d               _ADC2_Cmd:
 697                     ; 161   assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 699                     ; 163   if (NewState != DISABLE)
 701  003d 4d            	tnz	a
 702  003e 2706          	jreq	L703
 703                     ; 165     ADC2->CR1 |= ADC2_CR1_ADON;
 705  0040 72105401      	bset	21505,#0
 707  0044 2004          	jra	L113
 708  0046               L703:
 709                     ; 169     ADC2->CR1 &= (u8)(~ADC2_CR1_ADON);
 711  0046 72115401      	bres	21505,#0
 712  004a               L113:
 713                     ; 172 }
 716  004a 81            	ret
 751                     ; 192 void ADC2_ITConfig(FunctionalState ADC2_ITEnable)
 751                     ; 193 {
 752                     	switch	.text
 753  004b               _ADC2_ITConfig:
 757                     ; 196   assert_param(IS_FUNCTIONALSTATE_OK(ADC2_ITEnable));
 759                     ; 198   if (ADC2_ITEnable != DISABLE)
 761  004b 4d            	tnz	a
 762  004c 2706          	jreq	L133
 763                     ; 201     ADC2->CSR |= (u8)ADC2_CSR_EOCIE;
 765  004e 721a5400      	bset	21504,#5
 767  0052 2004          	jra	L333
 768  0054               L133:
 769                     ; 206     ADC2->CSR &= (u8)(~ADC2_CSR_EOCIE);
 771  0054 721b5400      	bres	21504,#5
 772  0058               L333:
 773                     ; 209 }
 776  0058 81            	ret
 812                     ; 226 void ADC2_PrescalerConfig(ADC2_PresSel_TypeDef ADC2_Prescaler)
 812                     ; 227 {
 813                     	switch	.text
 814  0059               _ADC2_PrescalerConfig:
 816  0059 88            	push	a
 817       00000000      OFST:	set	0
 820                     ; 230   assert_param(IS_ADC2_PRESSEL_OK(ADC2_Prescaler));
 822                     ; 233   ADC2->CR1 &= (u8)(~ADC2_CR1_SPSEL);
 824  005a c65401        	ld	a,21505
 825  005d a48f          	and	a,#143
 826  005f c75401        	ld	21505,a
 827                     ; 235   ADC2->CR1 |= (u8)(ADC2_Prescaler);
 829  0062 c65401        	ld	a,21505
 830  0065 1a01          	or	a,(OFST+1,sp)
 831  0067 c75401        	ld	21505,a
 832                     ; 237 }
 835  006a 84            	pop	a
 836  006b 81            	ret
 884                     ; 257 void ADC2_SchmittTriggerConfig(ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState ADC2_SchmittTriggerState)
 884                     ; 258 {
 885                     	switch	.text
 886  006c               _ADC2_SchmittTriggerConfig:
 888  006c 89            	pushw	x
 889       00000000      OFST:	set	0
 892                     ; 261   assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
 894                     ; 262   assert_param(IS_FUNCTIONALSTATE_OK(ADC2_SchmittTriggerState));
 896                     ; 264   if (ADC2_SchmittTriggerChannel == ADC2_SCHMITTTRIG_ALL)
 898  006d 9e            	ld	a,xh
 899  006e a11f          	cp	a,#31
 900  0070 2620          	jrne	L573
 901                     ; 266     if (ADC2_SchmittTriggerState != DISABLE)
 903  0072 9f            	ld	a,xl
 904  0073 4d            	tnz	a
 905  0074 270a          	jreq	L773
 906                     ; 268       ADC2->TDRL &= (u8)0x0;
 908  0076 725f5407      	clr	21511
 909                     ; 269       ADC2->TDRH &= (u8)0x0;
 911  007a 725f5406      	clr	21510
 913  007e 2078          	jra	L304
 914  0080               L773:
 915                     ; 273       ADC2->TDRL |= (u8)0xFF;
 917  0080 c65407        	ld	a,21511
 918  0083 aaff          	or	a,#255
 919  0085 c75407        	ld	21511,a
 920                     ; 274       ADC2->TDRH |= (u8)0xFF;
 922  0088 c65406        	ld	a,21510
 923  008b aaff          	or	a,#255
 924  008d c75406        	ld	21510,a
 925  0090 2066          	jra	L304
 926  0092               L573:
 927                     ; 277   else if (ADC2_SchmittTriggerChannel < ADC2_SCHMITTTRIG_CHANNEL8)
 929  0092 7b01          	ld	a,(OFST+1,sp)
 930  0094 a108          	cp	a,#8
 931  0096 242f          	jruge	L504
 932                     ; 279     if (ADC2_SchmittTriggerState != DISABLE)
 934  0098 0d02          	tnz	(OFST+2,sp)
 935  009a 2716          	jreq	L704
 936                     ; 281       ADC2->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel));
 938  009c 7b01          	ld	a,(OFST+1,sp)
 939  009e 5f            	clrw	x
 940  009f 97            	ld	xl,a
 941  00a0 a601          	ld	a,#1
 942  00a2 5d            	tnzw	x
 943  00a3 2704          	jreq	L02
 944  00a5               L22:
 945  00a5 48            	sll	a
 946  00a6 5a            	decw	x
 947  00a7 26fc          	jrne	L22
 948  00a9               L02:
 949  00a9 43            	cpl	a
 950  00aa c45407        	and	a,21511
 951  00ad c75407        	ld	21511,a
 953  00b0 2046          	jra	L304
 954  00b2               L704:
 955                     ; 285       ADC2->TDRL |= (u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel);
 957  00b2 7b01          	ld	a,(OFST+1,sp)
 958  00b4 5f            	clrw	x
 959  00b5 97            	ld	xl,a
 960  00b6 a601          	ld	a,#1
 961  00b8 5d            	tnzw	x
 962  00b9 2704          	jreq	L42
 963  00bb               L62:
 964  00bb 48            	sll	a
 965  00bc 5a            	decw	x
 966  00bd 26fc          	jrne	L62
 967  00bf               L42:
 968  00bf ca5407        	or	a,21511
 969  00c2 c75407        	ld	21511,a
 970  00c5 2031          	jra	L304
 971  00c7               L504:
 972                     ; 290     if (ADC2_SchmittTriggerState != DISABLE)
 974  00c7 0d02          	tnz	(OFST+2,sp)
 975  00c9 2718          	jreq	L514
 976                     ; 292       ADC2->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC2_SchmittTriggerChannel - (u8)8)));
 978  00cb 7b01          	ld	a,(OFST+1,sp)
 979  00cd a008          	sub	a,#8
 980  00cf 5f            	clrw	x
 981  00d0 97            	ld	xl,a
 982  00d1 a601          	ld	a,#1
 983  00d3 5d            	tnzw	x
 984  00d4 2704          	jreq	L03
 985  00d6               L23:
 986  00d6 48            	sll	a
 987  00d7 5a            	decw	x
 988  00d8 26fc          	jrne	L23
 989  00da               L03:

⌨️ 快捷键说明

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