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

📄 stm8s_adc1.ls

📁 STM8s
💻 LS
📖 第 1 页 / 共 3 页
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
  32                     ; 47 void ADC1_DeInit(void)
  32                     ; 48 {
  34                     	switch	.text
  35  0000               _ADC1_DeInit:
  39                     ; 49     ADC1->CSR  = ADC1_CSR_RESET_VALUE;
  41  0000 725f5400      	clr	21504
  42                     ; 50     ADC1->CR1  = ADC1_CR1_RESET_VALUE;
  44  0004 725f5401      	clr	21505
  45                     ; 51     ADC1->CR2  = ADC1_CR2_RESET_VALUE;
  47  0008 725f5402      	clr	21506
  48                     ; 52     ADC1->CR3  = ADC1_CR3_RESET_VALUE;
  50  000c 725f5403      	clr	21507
  51                     ; 53     ADC1->TDRH = ADC1_TDRH_RESET_VALUE;
  53  0010 725f5406      	clr	21510
  54                     ; 54     ADC1->TDRL = ADC1_TDRL_RESET_VALUE;
  56  0014 725f5407      	clr	21511
  57                     ; 55     ADC1->HTRH = ADC1_HTRH_RESET_VALUE;
  59  0018 35ff5408      	mov	21512,#255
  60                     ; 56     ADC1->HTRL = ADC1_HTRL_RESET_VALUE;
  62  001c 35035409      	mov	21513,#3
  63                     ; 57     ADC1->LTRH = ADC1_LTRH_RESET_VALUE;
  65  0020 725f540a      	clr	21514
  66                     ; 58     ADC1->LTRL = ADC1_LTRL_RESET_VALUE;
  68  0024 725f540b      	clr	21515
  69                     ; 59     ADC1->AWCRH = ADC1_AWCRH_RESET_VALUE;
  71  0028 725f540e      	clr	21518
  72                     ; 60     ADC1->AWCRL = ADC1_AWCRL_RESET_VALUE;
  74  002c 725f540f      	clr	21519
  75                     ; 61 }
  78  0030 81            	ret
 514                     ; 84 void ADC1_Init(ADC1_ConvMode_TypeDef ADC1_ConversionMode, ADC1_Channel_TypeDef ADC1_Channel, ADC1_PresSel_TypeDef ADC1_PrescalerSelection, ADC1_ExtTrig_TypeDef ADC1_ExtTrigger, FunctionalState ADC1_ExtTriggerState, ADC1_Align_TypeDef ADC1_Align, ADC1_SchmittTrigg_TypeDef ADC1_SchmittTriggerChannel, FunctionalState ADC1_SchmittTriggerState)
 514                     ; 85 {
 515                     	switch	.text
 516  0031               _ADC1_Init:
 518  0031 89            	pushw	x
 519       00000000      OFST:	set	0
 522                     ; 88     assert_param(IS_ADC1_CONVERSIONMODE_OK(ADC1_ConversionMode));
 524                     ; 89     assert_param(IS_ADC1_CHANNEL_OK(ADC1_Channel));
 526                     ; 90     assert_param(IS_ADC1_PRESSEL_OK(ADC1_PrescalerSelection));
 528                     ; 91     assert_param(IS_ADC1_EXTTRIG_OK(ADC1_ExtTrigger));
 530                     ; 92     assert_param(IS_FUNCTIONALSTATE_OK(((ADC1_ExtTriggerState))));
 532                     ; 93     assert_param(IS_ADC1_ALIGN_OK(ADC1_Align));
 534                     ; 94     assert_param(IS_ADC1_SCHMITTTRIG_OK(ADC1_SchmittTriggerChannel));
 536                     ; 95     assert_param(IS_FUNCTIONALSTATE_OK(ADC1_SchmittTriggerState));
 538                     ; 100     ADC1_ConversionConfig(ADC1_ConversionMode, ADC1_Channel, ADC1_Align);
 540  0032 7b08          	ld	a,(OFST+8,sp)
 541  0034 88            	push	a
 542  0035 9f            	ld	a,xl
 543  0036 97            	ld	xl,a
 544  0037 7b02          	ld	a,(OFST+2,sp)
 545  0039 95            	ld	xh,a
 546  003a cd013d        	call	_ADC1_ConversionConfig
 548  003d 84            	pop	a
 549                     ; 102     ADC1_PrescalerConfig(ADC1_PrescalerSelection);
 551  003e 7b05          	ld	a,(OFST+5,sp)
 552  0040 ad5a          	call	_ADC1_PrescalerConfig
 554                     ; 107     ADC1_ExternalTriggerConfig(ADC1_ExtTrigger, ADC1_ExtTriggerState);
 556  0042 7b07          	ld	a,(OFST+7,sp)
 557  0044 97            	ld	xl,a
 558  0045 7b06          	ld	a,(OFST+6,sp)
 559  0047 95            	ld	xh,a
 560  0048 cd016b        	call	_ADC1_ExternalTriggerConfig
 562                     ; 112     ADC1_SchmittTriggerConfig(ADC1_SchmittTriggerChannel, ADC1_SchmittTriggerState);
 564  004b 7b0a          	ld	a,(OFST+10,sp)
 565  004d 97            	ld	xl,a
 566  004e 7b09          	ld	a,(OFST+9,sp)
 567  0050 95            	ld	xh,a
 568  0051 ad5c          	call	_ADC1_SchmittTriggerConfig
 570                     ; 115     ADC1->CR1 |= ADC1_CR1_ADON;
 572  0053 72105401      	bset	21505,#0
 573                     ; 117 }
 576  0057 85            	popw	x
 577  0058 81            	ret
 612                     ; 125 void ADC1_Cmd(FunctionalState NewState)
 612                     ; 126 {
 613                     	switch	.text
 614  0059               _ADC1_Cmd:
 618                     ; 129     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 620                     ; 131     if (NewState != DISABLE)
 622  0059 4d            	tnz	a
 623  005a 2706          	jreq	L752
 624                     ; 133         ADC1->CR1 |= ADC1_CR1_ADON;
 626  005c 72105401      	bset	21505,#0
 628  0060 2004          	jra	L162
 629  0062               L752:
 630                     ; 137         ADC1->CR1 &= (u8)(~ADC1_CR1_ADON);
 632  0062 72115401      	bres	21505,#0
 633  0066               L162:
 634                     ; 140 }
 637  0066 81            	ret
 672                     ; 147 void ADC1_ScanModeCmd(FunctionalState NewState)
 672                     ; 148 {
 673                     	switch	.text
 674  0067               _ADC1_ScanModeCmd:
 678                     ; 151     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 680                     ; 153     if (NewState != DISABLE)
 682  0067 4d            	tnz	a
 683  0068 2706          	jreq	L103
 684                     ; 155         ADC1->CR2 |= ADC1_CR2_SCAN;
 686  006a 72125402      	bset	21506,#1
 688  006e 2004          	jra	L303
 689  0070               L103:
 690                     ; 159         ADC1->CR2 &= (u8)(~ADC1_CR2_SCAN);
 692  0070 72135402      	bres	21506,#1
 693  0074               L303:
 694                     ; 162 }
 697  0074 81            	ret
 732                     ; 169 void ADC1_DataBufferCmd(FunctionalState NewState)
 732                     ; 170 {
 733                     	switch	.text
 734  0075               _ADC1_DataBufferCmd:
 738                     ; 173     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 740                     ; 175     if (NewState != DISABLE)
 742  0075 4d            	tnz	a
 743  0076 2706          	jreq	L323
 744                     ; 177         ADC1->CR3 |= ADC1_CR3_DBUF;
 746  0078 721e5403      	bset	21507,#7
 748  007c 2004          	jra	L523
 749  007e               L323:
 750                     ; 181         ADC1->CR3 &= (u8)(~ADC1_CR3_DBUF);
 752  007e 721f5403      	bres	21507,#7
 753  0082               L523:
 754                     ; 184 }
 757  0082 81            	ret
 906                     ; 195 void ADC1_ITConfig(ADC1_IT_TypeDef ADC1_IT, FunctionalState NewState)
 906                     ; 196 {
 907                     	switch	.text
 908  0083               _ADC1_ITConfig:
 910  0083 89            	pushw	x
 911       00000000      OFST:	set	0
 914                     ; 199     assert_param(IS_ADC1_IT_OK(ADC1_IT));
 916                     ; 200     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 918                     ; 202     if (NewState != DISABLE)
 920  0084 0d05          	tnz	(OFST+5,sp)
 921  0086 2709          	jreq	L114
 922                     ; 205         ADC1->CSR |= (u8)ADC1_IT;
 924  0088 9f            	ld	a,xl
 925  0089 ca5400        	or	a,21504
 926  008c c75400        	ld	21504,a
 928  008f 2009          	jra	L314
 929  0091               L114:
 930                     ; 210         ADC1->CSR &= (u8)(~ADC1_IT);
 932  0091 7b02          	ld	a,(OFST+2,sp)
 933  0093 43            	cpl	a
 934  0094 c45400        	and	a,21504
 935  0097 c75400        	ld	21504,a
 936  009a               L314:
 937                     ; 213 }
 940  009a 85            	popw	x
 941  009b 81            	ret
 977                     ; 221 void ADC1_PrescalerConfig(ADC1_PresSel_TypeDef ADC1_Prescaler)
 977                     ; 222 {
 978                     	switch	.text
 979  009c               _ADC1_PrescalerConfig:
 981  009c 88            	push	a
 982       00000000      OFST:	set	0
 985                     ; 225     assert_param(IS_ADC1_PRESSEL_OK(ADC1_Prescaler));
 987                     ; 228     ADC1->CR1 &= (u8)(~ADC1_CR1_SPSEL);
 989  009d c65401        	ld	a,21505
 990  00a0 a48f          	and	a,#143
 991  00a2 c75401        	ld	21505,a
 992                     ; 230     ADC1->CR1 |= (u8)(ADC1_Prescaler);
 994  00a5 c65401        	ld	a,21505
 995  00a8 1a01          	or	a,(OFST+1,sp)
 996  00aa c75401        	ld	21505,a
 997                     ; 232 }
1000  00ad 84            	pop	a
1001  00ae 81            	ret
1048                     ; 243 void ADC1_SchmittTriggerConfig(ADC1_SchmittTrigg_TypeDef ADC1_SchmittTriggerChannel, FunctionalState NewState)
1048                     ; 244 {
1049                     	switch	.text
1050  00af               _ADC1_SchmittTriggerConfig:
1052  00af 89            	pushw	x
1053       00000000      OFST:	set	0
1056                     ; 247     assert_param(IS_ADC1_SCHMITTTRIG_OK(ADC1_SchmittTriggerChannel));
1058                     ; 248     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
1060                     ; 250     if (ADC1_SchmittTriggerChannel == ADC1_SCHMITTTRIG_ALL)
1062  00b0 9e            	ld	a,xh
1063  00b1 a1ff          	cp	a,#255
1064  00b3 2620          	jrne	L554
1065                     ; 252         if (NewState != DISABLE)
1067  00b5 9f            	ld	a,xl
1068  00b6 4d            	tnz	a
1069  00b7 270a          	jreq	L754
1070                     ; 254             ADC1->TDRL &= (u8)0x0;
1072  00b9 725f5407      	clr	21511
1073                     ; 255             ADC1->TDRH &= (u8)0x0;
1075  00bd 725f5406      	clr	21510
1077  00c1 2078          	jra	L364
1078  00c3               L754:
1079                     ; 259             ADC1->TDRL |= (u8)0xFF;
1081  00c3 c65407        	ld	a,21511
1082  00c6 aaff          	or	a,#255
1083  00c8 c75407        	ld	21511,a
1084                     ; 260             ADC1->TDRH |= (u8)0xFF;
1086  00cb c65406        	ld	a,21510
1087  00ce aaff          	or	a,#255
1088  00d0 c75406        	ld	21510,a
1089  00d3 2066          	jra	L364
1090  00d5               L554:
1091                     ; 263     else if (ADC1_SchmittTriggerChannel < ADC1_SCHMITTTRIG_CHANNEL8)
1093  00d5 7b01          	ld	a,(OFST+1,sp)
1094  00d7 a108          	cp	a,#8
1095  00d9 242f          	jruge	L564
1096                     ; 265         if (NewState != DISABLE)
1098  00db 0d02          	tnz	(OFST+2,sp)
1099  00dd 2716          	jreq	L764
1100                     ; 267             ADC1->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC1_SchmittTriggerChannel));
1102  00df 7b01          	ld	a,(OFST+1,sp)
1103  00e1 5f            	clrw	x
1104  00e2 97            	ld	xl,a
1105  00e3 a601          	ld	a,#1
1106  00e5 5d            	tnzw	x
1107  00e6 2704          	jreq	L42
1108  00e8               L62:
1109  00e8 48            	sll	a
1110  00e9 5a            	decw	x
1111  00ea 26fc          	jrne	L62
1112  00ec               L42:
1113  00ec 43            	cpl	a
1114  00ed c45407        	and	a,21511
1115  00f0 c75407        	ld	21511,a
1117  00f3 2046          	jra	L364
1118  00f5               L764:
1119                     ; 271             ADC1->TDRL |= (u8)((u8)0x01 << (u8)ADC1_SchmittTriggerChannel);
1121  00f5 7b01          	ld	a,(OFST+1,sp)
1122  00f7 5f            	clrw	x
1123  00f8 97            	ld	xl,a
1124  00f9 a601          	ld	a,#1
1125  00fb 5d            	tnzw	x
1126  00fc 2704          	jreq	L03
1127  00fe               L23:
1128  00fe 48            	sll	a
1129  00ff 5a            	decw	x
1130  0100 26fc          	jrne	L23
1131  0102               L03:
1132  0102 ca5407        	or	a,21511
1133  0105 c75407        	ld	21511,a
1134  0108 2031          	jra	L364
1135  010a               L564:
1136                     ; 276         if (NewState != DISABLE)
1138  010a 0d02          	tnz	(OFST+2,sp)
1139  010c 2718          	jreq	L574
1140                     ; 278             ADC1->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC1_SchmittTriggerChannel - (u8)8)));
1142  010e 7b01          	ld	a,(OFST+1,sp)
1143  0110 a008          	sub	a,#8
1144  0112 5f            	clrw	x
1145  0113 97            	ld	xl,a
1146  0114 a601          	ld	a,#1
1147  0116 5d            	tnzw	x
1148  0117 2704          	jreq	L43
1149  0119               L63:
1150  0119 48            	sll	a
1151  011a 5a            	decw	x
1152  011b 26fc          	jrne	L63
1153  011d               L43:
1154  011d 43            	cpl	a
1155  011e c45406        	and	a,21510
1156  0121 c75406        	ld	21510,a
1158  0124 2015          	jra	L364
1159  0126               L574:
1160                     ; 282             ADC1->TDRH |= (u8)((u8)0x01 << ((u8)ADC1_SchmittTriggerChannel - (u8)8));
1162  0126 7b01          	ld	a,(OFST+1,sp)
1163  0128 a008          	sub	a,#8
1164  012a 5f            	clrw	x
1165  012b 97            	ld	xl,a
1166  012c a601          	ld	a,#1
1167  012e 5d            	tnzw	x
1168  012f 2704          	jreq	L04
1169  0131               L24:
1170  0131 48            	sll	a
1171  0132 5a            	decw	x
1172  0133 26fc          	jrne	L24
1173  0135               L04:
1174  0135 ca5406        	or	a,21510
1175  0138 c75406        	ld	21510,a
1176  013b               L364:
1177                     ; 286 }
1180  013b 85            	popw	x
1181  013c 81            	ret
1238                     ; 299 void ADC1_ConversionConfig(ADC1_ConvMode_TypeDef ADC1_ConversionMode, ADC1_Channel_TypeDef ADC1_Channel, ADC1_Align_TypeDef ADC1_Align)
1238                     ; 300 {
1239                     	switch	.text
1240  013d               _ADC1_ConversionConfig:
1242  013d 89            	pushw	x
1243       00000000      OFST:	set	0
1246                     ; 303     assert_param(IS_ADC1_CONVERSIONMODE_OK(ADC1_ConversionMode));
1248                     ; 304     assert_param(IS_ADC1_CHANNEL_OK(ADC1_Channel));
1250                     ; 305     assert_param(IS_ADC1_ALIGN_OK(ADC1_Align));
1252                     ; 308     ADC1->CR2 &= (u8)(~ADC1_CR2_ALIGN);
1254  013e 72175402      	bres	21506,#3
1255                     ; 310     ADC1->CR2 |= (u8)(ADC1_Align);
1257  0142 c65402        	ld	a,21506
1258  0145 1a05          	or	a,(OFST+5,sp)
1259  0147 c75402        	ld	21506,a
1260                     ; 312     if (ADC1_ConversionMode == ADC1_CONVERSIONMODE_CONTINUOUS)
1262  014a 9e            	ld	a,xh
1263  014b a101          	cp	a,#1
1264  014d 2606          	jrne	L725
1265                     ; 315         ADC1->CR1 |= ADC1_CR1_CONT;
1267  014f 72125401      	bset	21505,#1
1269  0153 2004          	jra	L135
1270  0155               L725:
1271                     ; 320         ADC1->CR1 &= (u8)(~ADC1_CR1_CONT);
1273  0155 72135401      	bres	21505,#1
1274  0159               L135:
1275                     ; 324     ADC1->CSR &= (u8)(~ADC1_CSR_CH);
1277  0159 c65400        	ld	a,21504
1278  015c a4f0          	and	a,#240
1279  015e c75400        	ld	21504,a
1280                     ; 326     ADC1->CSR |= (u8)(ADC1_Channel);
1282  0161 c65400        	ld	a,21504
1283  0164 1a02          	or	a,(OFST+2,sp)
1284  0166 c75400        	ld	21504,a
1285                     ; 328 }
1288  0169 85            	popw	x
1289  016a 81            	ret
1335                     ; 341 void ADC1_ExternalTriggerConfig(ADC1_ExtTrig_TypeDef ADC1_ExtTrigger, FunctionalState NewState)
1335                     ; 342 {
1336                     	switch	.text
1337  016b               _ADC1_ExternalTriggerConfig:
1339  016b 89            	pushw	x
1340       00000000      OFST:	set	0
1343                     ; 345     assert_param(IS_ADC1_EXTTRIG_OK(ADC1_ExtTrigger));
1345                     ; 346     assert_param(IS_FUNCTIONALSTATE_OK(NewState));

⌨️ 快捷键说明

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