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

📄 stm8s_adc2.ls

📁 STM8s
💻 LS
📖 第 1 页 / 共 2 页
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
  32                     ; 46 void ADC2_DeInit(void)
  32                     ; 47 {
  34                     	switch	.text
  35  0000               _ADC2_DeInit:
  39                     ; 48     ADC2->CSR  = ADC2_CSR_RESET_VALUE;
  41  0000 725f5400      	clr	21504
  42                     ; 49     ADC2->CR1  = ADC2_CR1_RESET_VALUE;
  44  0004 725f5401      	clr	21505
  45                     ; 50     ADC2->CR2  = ADC2_CR2_RESET_VALUE;
  47  0008 725f5402      	clr	21506
  48                     ; 51     ADC2->TDRH = ADC2_TDRH_RESET_VALUE;
  50  000c 725f5406      	clr	21510
  51                     ; 52     ADC2->TDRL = ADC2_TDRL_RESET_VALUE;
  53  0010 725f5407      	clr	21511
  54                     ; 53 }
  57  0014 81            	ret
 583                     ; 75 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_ExtTriggerState, ADC2_Align_TypeDef ADC2_Align, ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState ADC2_SchmittTriggerState)
 583                     ; 76 {
 584                     	switch	.text
 585  0015               _ADC2_Init:
 587  0015 89            	pushw	x
 588       00000000      OFST:	set	0
 591                     ; 79     assert_param(IS_ADC2_CONVERSIONMODE_OK(ADC2_ConversionMode));
 593                     ; 80     assert_param(IS_ADC2_CHANNEL_OK(ADC2_Channel));
 595                     ; 81     assert_param(IS_ADC2_PRESSEL_OK(ADC2_PrescalerSelection));
 597                     ; 82     assert_param(IS_ADC2_EXTTRIG_OK(ADC2_ExtTrigger));
 599                     ; 83     assert_param(IS_FUNCTIONALSTATE_OK(((ADC2_ExtTriggerState))));
 601                     ; 84     assert_param(IS_ADC2_ALIGN_OK(ADC2_Align));
 603                     ; 85     assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
 605                     ; 86     assert_param(IS_FUNCTIONALSTATE_OK(ADC2_SchmittTriggerState));
 607                     ; 91     ADC2_ConversionConfig(ADC2_ConversionMode, ADC2_Channel, ADC2_Align);
 609  0016 7b08          	ld	a,(OFST+8,sp)
 610  0018 88            	push	a
 611  0019 9f            	ld	a,xl
 612  001a 97            	ld	xl,a
 613  001b 7b02          	ld	a,(OFST+2,sp)
 614  001d 95            	ld	xh,a
 615  001e cd00fa        	call	_ADC2_ConversionConfig
 617  0021 84            	pop	a
 618                     ; 93     ADC2_PrescalerConfig(ADC2_PrescalerSelection);
 620  0022 7b05          	ld	a,(OFST+5,sp)
 621  0024 ad33          	call	_ADC2_PrescalerConfig
 623                     ; 98     ADC2_ExternalTriggerConfig(ADC2_ExtTrigger, ADC2_ExtTriggerState);
 625  0026 7b07          	ld	a,(OFST+7,sp)
 626  0028 97            	ld	xl,a
 627  0029 7b06          	ld	a,(OFST+6,sp)
 628  002b 95            	ld	xh,a
 629  002c cd0128        	call	_ADC2_ExternalTriggerConfig
 631                     ; 103     ADC2_SchmittTriggerConfig(ADC2_SchmittTriggerChannel, ADC2_SchmittTriggerState);
 633  002f 7b0a          	ld	a,(OFST+10,sp)
 634  0031 97            	ld	xl,a
 635  0032 7b09          	ld	a,(OFST+9,sp)
 636  0034 95            	ld	xh,a
 637  0035 ad35          	call	_ADC2_SchmittTriggerConfig
 639                     ; 106     ADC2->CR1 |= ADC2_CR1_ADON;
 641  0037 72105401      	bset	21505,#0
 642                     ; 108 }
 645  003b 85            	popw	x
 646  003c 81            	ret
 681                     ; 116 void ADC2_Cmd(FunctionalState NewState)
 681                     ; 117 {
 682                     	switch	.text
 683  003d               _ADC2_Cmd:
 687                     ; 120     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 689                     ; 122     if (NewState != DISABLE)
 691  003d 4d            	tnz	a
 692  003e 2706          	jreq	L703
 693                     ; 124         ADC2->CR1 |= ADC2_CR1_ADON;
 695  0040 72105401      	bset	21505,#0
 697  0044 2004          	jra	L113
 698  0046               L703:
 699                     ; 128         ADC2->CR1 &= (u8)(~ADC2_CR1_ADON);
 701  0046 72115401      	bres	21505,#0
 702  004a               L113:
 703                     ; 131 }
 706  004a 81            	ret
 741                     ; 138 void ADC2_ITConfig(FunctionalState NewState)
 741                     ; 139 {
 742                     	switch	.text
 743  004b               _ADC2_ITConfig:
 747                     ; 142     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 749                     ; 144     if (NewState != DISABLE)
 751  004b 4d            	tnz	a
 752  004c 2706          	jreq	L133
 753                     ; 147         ADC2->CSR |= (u8)ADC2_CSR_EOCIE;
 755  004e 721a5400      	bset	21504,#5
 757  0052 2004          	jra	L333
 758  0054               L133:
 759                     ; 152         ADC2->CSR &= (u8)(~ADC2_CSR_EOCIE);
 761  0054 721b5400      	bres	21504,#5
 762  0058               L333:
 763                     ; 155 }
 766  0058 81            	ret
 802                     ; 163 void ADC2_PrescalerConfig(ADC2_PresSel_TypeDef ADC2_Prescaler)
 802                     ; 164 {
 803                     	switch	.text
 804  0059               _ADC2_PrescalerConfig:
 806  0059 88            	push	a
 807       00000000      OFST:	set	0
 810                     ; 167     assert_param(IS_ADC2_PRESSEL_OK(ADC2_Prescaler));
 812                     ; 170     ADC2->CR1 &= (u8)(~ADC2_CR1_SPSEL);
 814  005a c65401        	ld	a,21505
 815  005d a48f          	and	a,#143
 816  005f c75401        	ld	21505,a
 817                     ; 172     ADC2->CR1 |= (u8)(ADC2_Prescaler);
 819  0062 c65401        	ld	a,21505
 820  0065 1a01          	or	a,(OFST+1,sp)
 821  0067 c75401        	ld	21505,a
 822                     ; 174 }
 825  006a 84            	pop	a
 826  006b 81            	ret
 873                     ; 185 void ADC2_SchmittTriggerConfig(ADC2_SchmittTrigg_TypeDef ADC2_SchmittTriggerChannel, FunctionalState NewState)
 873                     ; 186 {
 874                     	switch	.text
 875  006c               _ADC2_SchmittTriggerConfig:
 877  006c 89            	pushw	x
 878       00000000      OFST:	set	0
 881                     ; 189     assert_param(IS_ADC2_SCHMITTTRIG_OK(ADC2_SchmittTriggerChannel));
 883                     ; 190     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 885                     ; 192     if (ADC2_SchmittTriggerChannel == ADC2_SCHMITTTRIG_ALL)
 887  006d 9e            	ld	a,xh
 888  006e a11f          	cp	a,#31
 889  0070 2620          	jrne	L573
 890                     ; 194         if (NewState != DISABLE)
 892  0072 9f            	ld	a,xl
 893  0073 4d            	tnz	a
 894  0074 270a          	jreq	L773
 895                     ; 196             ADC2->TDRL &= (u8)0x0;
 897  0076 725f5407      	clr	21511
 898                     ; 197             ADC2->TDRH &= (u8)0x0;
 900  007a 725f5406      	clr	21510
 902  007e 2078          	jra	L304
 903  0080               L773:
 904                     ; 201             ADC2->TDRL |= (u8)0xFF;
 906  0080 c65407        	ld	a,21511
 907  0083 aaff          	or	a,#255
 908  0085 c75407        	ld	21511,a
 909                     ; 202             ADC2->TDRH |= (u8)0xFF;
 911  0088 c65406        	ld	a,21510
 912  008b aaff          	or	a,#255
 913  008d c75406        	ld	21510,a
 914  0090 2066          	jra	L304
 915  0092               L573:
 916                     ; 205     else if (ADC2_SchmittTriggerChannel < ADC2_SCHMITTTRIG_CHANNEL8)
 918  0092 7b01          	ld	a,(OFST+1,sp)
 919  0094 a108          	cp	a,#8
 920  0096 242f          	jruge	L504
 921                     ; 207         if (NewState != DISABLE)
 923  0098 0d02          	tnz	(OFST+2,sp)
 924  009a 2716          	jreq	L704
 925                     ; 209             ADC2->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel));
 927  009c 7b01          	ld	a,(OFST+1,sp)
 928  009e 5f            	clrw	x
 929  009f 97            	ld	xl,a
 930  00a0 a601          	ld	a,#1
 931  00a2 5d            	tnzw	x
 932  00a3 2704          	jreq	L02
 933  00a5               L22:
 934  00a5 48            	sll	a
 935  00a6 5a            	decw	x
 936  00a7 26fc          	jrne	L22
 937  00a9               L02:
 938  00a9 43            	cpl	a
 939  00aa c45407        	and	a,21511
 940  00ad c75407        	ld	21511,a
 942  00b0 2046          	jra	L304
 943  00b2               L704:
 944                     ; 213             ADC2->TDRL |= (u8)((u8)0x01 << (u8)ADC2_SchmittTriggerChannel);
 946  00b2 7b01          	ld	a,(OFST+1,sp)
 947  00b4 5f            	clrw	x
 948  00b5 97            	ld	xl,a
 949  00b6 a601          	ld	a,#1
 950  00b8 5d            	tnzw	x
 951  00b9 2704          	jreq	L42
 952  00bb               L62:
 953  00bb 48            	sll	a
 954  00bc 5a            	decw	x
 955  00bd 26fc          	jrne	L62
 956  00bf               L42:
 957  00bf ca5407        	or	a,21511
 958  00c2 c75407        	ld	21511,a
 959  00c5 2031          	jra	L304
 960  00c7               L504:
 961                     ; 218         if (NewState != DISABLE)
 963  00c7 0d02          	tnz	(OFST+2,sp)
 964  00c9 2718          	jreq	L514
 965                     ; 220             ADC2->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC2_SchmittTriggerChannel - (u8)8)));
 967  00cb 7b01          	ld	a,(OFST+1,sp)
 968  00cd a008          	sub	a,#8
 969  00cf 5f            	clrw	x
 970  00d0 97            	ld	xl,a
 971  00d1 a601          	ld	a,#1
 972  00d3 5d            	tnzw	x
 973  00d4 2704          	jreq	L03
 974  00d6               L23:
 975  00d6 48            	sll	a
 976  00d7 5a            	decw	x
 977  00d8 26fc          	jrne	L23
 978  00da               L03:
 979  00da 43            	cpl	a
 980  00db c45406        	and	a,21510
 981  00de c75406        	ld	21510,a
 983  00e1 2015          	jra	L304

⌨️ 快捷键说明

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