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

📄 stm8s_adc2.ls

📁 STM8-触摸例程
💻 LS
📖 第 1 页 / 共 2 页
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
   3                     ; Optimizer V4.2.8 - 03 Dec 2008
  33                     ; 65 void ADC2_DeInit(void)
  33                     ; 66 {
  35                     	switch	.text
  36  0000               _ADC2_DeInit:
  40                     ; 67   ADC2->CSR  = ADC2_CSR_RESET_VALUE;
  42  0000 725f5400      	clr	21504
  43                     ; 68   ADC2->CR1  = ADC2_CR1_RESET_VALUE;
  45  0004 725f5401      	clr	21505
  46                     ; 69   ADC2->CR2  = ADC2_CR2_RESET_VALUE;
  48  0008 725f5402      	clr	21506
  49                     ; 70   ADC2->TDRH = ADC2_TDRH_RESET_VALUE;
  51  000c 725f5406      	clr	21510
  52                     ; 71   ADC2->TDRL = ADC2_TDRL_RESET_VALUE;
  54  0010 725f5407      	clr	21511
  55                     ; 72 }
  58  0014 81            	ret	
 583                     ; 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)
 583                     ; 108 {
 584                     	switch	.text
 585  0015               _ADC2_Init:
 587  0015 89            	pushw	x
 588       00000000      OFST:	set	0
 591                     ; 111   assert_param(IS_ADC2_CONVERSIONMODE_OK(ADC2_ConversionMode));
 593                     ; 112   assert_param(IS_ADC2_CHANNEL_OK(ADC2_Channel));
 595                     ; 113   assert_param(IS_ADC2_PRESSEL_OK(ADC2_PrescalerSelection));
 597                     ; 114   assert_param(IS_ADC2_EXTTRIG_OK(ADC2_ExtTrigger));
 599                     ; 115   assert_param(IS_FUNCTIONALSTATE_OK(((ADC2_ExtTrigState))));
 601                     ; 116   assert_param(IS_ADC2_ALIGN_OK(ADC2_Align));
 603                     ; 117   assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
 605                     ; 118   assert_param(IS_FUNCTIONALSTATE_OK(ADC2_SchmittTriggerState));
 607                     ; 123   ADC2_ConversionConfig(ADC2_ConversionMode, ADC2_Channel, ADC2_Align);
 609  0016 7b08          	ld	a,(OFST+8,sp)
 610  0018 88            	push	a
 611  0019 7b02          	ld	a,(OFST+2,sp)
 612  001b 95            	ld	xh,a
 613  001c cd00e3        	call	_ADC2_ConversionConfig
 615  001f 84            	pop	a
 616                     ; 125   ADC2_PrescalerConfig(ADC2_PrescalerSelection);
 618  0020 7b05          	ld	a,(OFST+5,sp)
 619  0022 ad31          	call	_ADC2_PrescalerConfig
 621                     ; 130   ADC2_ExternalTriggerConfig(ADC2_ExtTrigger, ADC2_ExtTrigState);
 623  0024 7b07          	ld	a,(OFST+7,sp)
 624  0026 97            	ld	xl,a
 625  0027 7b06          	ld	a,(OFST+6,sp)
 626  0029 95            	ld	xh,a
 627  002a cd0110        	call	_ADC2_ExternalTriggerConfig
 629                     ; 135   ADC2_SchmittTriggerConfig(ADC2_SchmittTriggerChannel, ADC2_SchmittTriggerState);
 631  002d 7b0a          	ld	a,(OFST+10,sp)
 632  002f 97            	ld	xl,a
 633  0030 7b09          	ld	a,(OFST+9,sp)
 634  0032 95            	ld	xh,a
 635  0033 ad33          	call	_ADC2_SchmittTriggerConfig
 637                     ; 138   ADC2->CR1 |= ADC2_CR1_ADON;
 639  0035 72105401      	bset	21505,#0
 640                     ; 140 }
 643  0039 85            	popw	x
 644  003a 81            	ret	
 679                     ; 157 void ADC2_Cmd(FunctionalState NewState)
 679                     ; 158 {
 680                     	switch	.text
 681  003b               _ADC2_Cmd:
 685                     ; 161   assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 687                     ; 163   if (NewState != DISABLE)
 689  003b 4d            	tnz	a
 690  003c 2705          	jreq	L703
 691                     ; 165     ADC2->CR1 |= ADC2_CR1_ADON;
 693  003e 72105401      	bset	21505,#0
 696  0042 81            	ret	
 697  0043               L703:
 698                     ; 169     ADC2->CR1 &= (u8)(~ADC2_CR1_ADON);
 700  0043 72115401      	bres	21505,#0
 701                     ; 172 }
 704  0047 81            	ret	
 739                     ; 192 void ADC2_ITConfig(FunctionalState ADC2_ITEnable)
 739                     ; 193 {
 740                     	switch	.text
 741  0048               _ADC2_ITConfig:
 745                     ; 196   assert_param(IS_FUNCTIONALSTATE_OK(ADC2_ITEnable));
 747                     ; 198   if (ADC2_ITEnable != DISABLE)
 749  0048 4d            	tnz	a
 750  0049 2705          	jreq	L133
 751                     ; 201     ADC2->CSR |= (u8)ADC2_CSR_EOCIE;
 753  004b 721a5400      	bset	21504,#5
 756  004f 81            	ret	
 757  0050               L133:
 758                     ; 206     ADC2->CSR &= (u8)(~ADC2_CSR_EOCIE);
 760  0050 721b5400      	bres	21504,#5
 761                     ; 209 }
 764  0054 81            	ret	
 800                     ; 226 void ADC2_PrescalerConfig(ADC2_PresSel_TypeDef ADC2_Prescaler)
 800                     ; 227 {
 801                     	switch	.text
 802  0055               _ADC2_PrescalerConfig:
 804  0055 88            	push	a
 805       00000000      OFST:	set	0
 808                     ; 230   assert_param(IS_ADC2_PRESSEL_OK(ADC2_Prescaler));
 810                     ; 233   ADC2->CR1 &= (u8)(~ADC2_CR1_SPSEL);
 812  0056 c65401        	ld	a,21505
 813  0059 a48f          	and	a,#143
 814  005b c75401        	ld	21505,a
 815                     ; 235   ADC2->CR1 |= (u8)(ADC2_Prescaler);
 817  005e c65401        	ld	a,21505
 818  0061 1a01          	or	a,(OFST+1,sp)
 819  0063 c75401        	ld	21505,a
 820                     ; 237 }
 823  0066 84            	pop	a
 824  0067 81            	ret	
 872                     ; 257 void ADC2_SchmittTriggerConfig(ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState ADC2_SchmittTriggerState)
 872                     ; 258 {
 873                     	switch	.text
 874  0068               _ADC2_SchmittTriggerConfig:
 876  0068 89            	pushw	x
 877       00000000      OFST:	set	0
 880                     ; 261   assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
 882                     ; 262   assert_param(IS_FUNCTIONALSTATE_OK(ADC2_SchmittTriggerState));
 884                     ; 264   if (ADC2_SchmittTriggerChannel == ADC2_SCHMITTTRIG_ALL)
 886  0069 9e            	ld	a,xh
 887  006a a11f          	cp	a,#31
 888  006c 261d          	jrne	L573
 889                     ; 266     if (ADC2_SchmittTriggerState != DISABLE)
 891  006e 9f            	ld	a,xl
 892  006f 4d            	tnz	a
 893  0070 270a          	jreq	L773
 894                     ; 268       ADC2->TDRL &= (u8)0x0;
 896  0072 725f5407      	clr	21511
 897                     ; 269       ADC2->TDRH &= (u8)0x0;
 899  0076 725f5406      	clr	21510
 901  007a 2065          	jra	L304
 902  007c               L773:
 903                     ; 273       ADC2->TDRL |= (u8)0xFF;
 905  007c c65407        	ld	a,21511
 906  007f aaff          	or	a,#255
 907  0081 c75407        	ld	21511,a
 908                     ; 274       ADC2->TDRH |= (u8)0xFF;
 910  0084 c65406        	ld	a,21510
 911  0087 aaff          	or	a,#255
 912  0089 2053          	jp	LC001
 913  008b               L573:
 914                     ; 277   else if (ADC2_SchmittTriggerChannel < ADC2_SCHMITTTRIG_CHANNEL8)
 916  008b 7b01          	ld	a,(OFST+1,sp)
 917  008d a108          	cp	a,#8
 918  008f 0d02          	tnz	(OFST+2,sp)
 919  0091 2426          	jruge	L504
 920                     ; 279     if (ADC2_SchmittTriggerState != DISABLE)
 922  0093 2714          	jreq	L704
 923                     ; 281       ADC2->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel));
 925  0095 5f            	clrw	x
 926  0096 97            	ld	xl,a
 927  0097 a601          	ld	a,#1
 928  0099 5d            	tnzw	x
 929  009a 2704          	jreq	L03
 930  009c               L23:
 931  009c 48            	sll	a
 932  009d 5a            	decw	x
 933  009e 26fc          	jrne	L23
 934  00a0               L03:
 935  00a0 43            	cpl	a
 936  00a1 c45407        	and	a,21511
 937  00a4               LC002:
 938  00a4 c75407        	ld	21511,a
 940  00a7 2038          	jra	L304
 941  00a9               L704:
 942                     ; 285       ADC2->TDRL |= (u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel);
 944  00a9 5f            	clrw	x
 945  00aa 97            	ld	xl,a
 946  00ab a601          	ld	a,#1
 947  00ad 5d            	tnzw	x
 948  00ae 2704          	jreq	L43
 949  00b0               L63:
 950  00b0 48            	sll	a
 951  00b1 5a            	decw	x
 952  00b2 26fc          	jrne	L63
 953  00b4               L43:
 954  00b4 ca5407        	or	a,21511
 955  00b7 20eb          	jp	LC002
 956  00b9               L504:
 957                     ; 290     if (ADC2_SchmittTriggerState != DISABLE)
 959  00b9 2713          	jreq	L514
 960                     ; 292       ADC2->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC2_SchmittTriggerChannel - (u8)8)));
 962  00bb a008          	sub	a,#8
 963  00bd 5f            	clrw	x
 964  00be 97            	ld	xl,a
 965  00bf a601          	ld	a,#1
 966  00c1 5d            	tnzw	x
 967  00c2 2704          	jreq	L04
 968  00c4               L24:
 969  00c4 48            	sll	a
 970  00c5 5a            	decw	x
 971  00c6 26fc          	jrne	L24

⌨️ 快捷键说明

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