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

📄 stm8s_adc1.ls

📁 STM8全部资料
💻 LS
📖 第 1 页 / 共 3 页
字号:
   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 ADC1_DeInit(void)
  43                     ; 66 {
  45                     	switch	.text
  46  0000               _ADC1_DeInit:
  50                     ; 67   ADC1->CSR  = ADC1_CSR_RESET_VALUE;
  52  0000 725f5400      	clr	21504
  53                     ; 68   ADC1->CR1  = ADC1_CR1_RESET_VALUE;
  55  0004 725f5401      	clr	21505
  56                     ; 69   ADC1->CR2  = ADC1_CR2_RESET_VALUE;
  58  0008 725f5402      	clr	21506
  59                     ; 70   ADC1->CR3  = ADC1_CR3_RESET_VALUE;
  61  000c 725f5403      	clr	21507
  62                     ; 71   ADC1->TDRH = ADC1_TDRH_RESET_VALUE;
  64  0010 725f5406      	clr	21510
  65                     ; 72   ADC1->TDRL = ADC1_TDRL_RESET_VALUE;
  67  0014 725f5407      	clr	21511
  68                     ; 73   ADC1->HTRH = ADC1_HTRH_RESET_VALUE;
  70  0018 35035408      	mov	21512,#3
  71                     ; 74   ADC1->HTRL = ADC1_HTRL_RESET_VALUE;
  73  001c 35ff5409      	mov	21513,#255
  74                     ; 75   ADC1->LTRH = ADC1_LTRH_RESET_VALUE;
  76  0020 725f540a      	clr	21514
  77                     ; 76   ADC1->LTRL = ADC1_LTRL_RESET_VALUE;
  79  0024 725f540b      	clr	21515
  80                     ; 77   ADC1->AWCRH = ADC1_AWCRH_RESET_VALUE;
  82  0028 725f540e      	clr	21518
  83                     ; 78   ADC1->AWCRL = ADC1_AWCRL_RESET_VALUE;
  85  002c 725f540f      	clr	21519
  86                     ; 79 }
  89  0030 81            	ret
 614                     ; 115 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_ExtTrigState, ADC1_Align_TypeDef ADC1_Align, ADC1_SchmittTrigg_TypeDef ADC1_SchmittTriggerChannel, FunctionalState ADC1_SchmittTriggerState)
 614                     ; 116 {
 615                     	switch	.text
 616  0031               _ADC1_Init:
 618  0031 89            	pushw	x
 619       00000000      OFST:	set	0
 622                     ; 119   assert_param(IS_ADC1_CONVERSIONMODE_OK(ADC1_ConversionMode));
 624                     ; 120   assert_param(IS_ADC1_CHANNEL_OK(ADC1_Channel));
 626                     ; 121   assert_param(IS_ADC1_PRESSEL_OK(ADC1_PrescalerSelection));
 628                     ; 122   assert_param(IS_ADC1_EXTTRIG_OK(ADC1_ExtTrigger));
 630                     ; 123   assert_param(IS_FUNCTIONALSTATE_OK(((ADC1_ExtTrigState))));
 632                     ; 124   assert_param(IS_ADC1_ALIGN_OK(ADC1_Align));
 634                     ; 125   assert_param(IS_ADC1_SCHMITTTRIG_OK(ADC1_SchmittTriggerChannel));
 636                     ; 126   assert_param(IS_FUNCTIONALSTATE_OK(ADC1_SchmittTriggerState));
 638                     ; 131   ADC1_ConversionConfig(ADC1_ConversionMode, ADC1_Channel, ADC1_Align);
 640  0032 7b08          	ld	a,(OFST+8,sp)
 641  0034 88            	push	a
 642  0035 9f            	ld	a,xl
 643  0036 97            	ld	xl,a
 644  0037 7b02          	ld	a,(OFST+2,sp)
 645  0039 95            	ld	xh,a
 646  003a cd013d        	call	_ADC1_ConversionConfig
 648  003d 84            	pop	a
 649                     ; 133   ADC1_PrescalerConfig(ADC1_PrescalerSelection);
 651  003e 7b05          	ld	a,(OFST+5,sp)
 652  0040 ad5a          	call	_ADC1_PrescalerConfig
 654                     ; 138   ADC1_ExternalTriggerConfig(ADC1_ExtTrigger, ADC1_ExtTrigState);
 656  0042 7b07          	ld	a,(OFST+7,sp)
 657  0044 97            	ld	xl,a
 658  0045 7b06          	ld	a,(OFST+6,sp)
 659  0047 95            	ld	xh,a
 660  0048 cd016b        	call	_ADC1_ExternalTriggerConfig
 662                     ; 143   ADC1_SchmittTriggerConfig(ADC1_SchmittTriggerChannel, ADC1_SchmittTriggerState);
 664  004b 7b0a          	ld	a,(OFST+10,sp)
 665  004d 97            	ld	xl,a
 666  004e 7b09          	ld	a,(OFST+9,sp)
 667  0050 95            	ld	xh,a
 668  0051 ad5c          	call	_ADC1_SchmittTriggerConfig
 670                     ; 146   ADC1->CR1 |= ADC1_CR1_ADON;
 672  0053 72105401      	bset	21505,#0
 673                     ; 148 }
 676  0057 85            	popw	x
 677  0058 81            	ret
 712                     ; 165 void ADC1_Cmd(FunctionalState NewState)
 712                     ; 166 {
 713                     	switch	.text
 714  0059               _ADC1_Cmd:
 718                     ; 169   assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 720                     ; 171   if (NewState != DISABLE)
 722  0059 4d            	tnz	a
 723  005a 2706          	jreq	L703
 724                     ; 173     ADC1->CR1 |= ADC1_CR1_ADON;
 726  005c 72105401      	bset	21505,#0
 728  0060 2004          	jra	L113
 729  0062               L703:
 730                     ; 177     ADC1->CR1 &= (u8)(~ADC1_CR1_ADON);
 732  0062 72115401      	bres	21505,#0
 733  0066               L113:
 734                     ; 180 }
 737  0066 81            	ret
 772                     ; 196 void ADC1_ScanModeCmd(FunctionalState NewState)
 772                     ; 197 {
 773                     	switch	.text
 774  0067               _ADC1_ScanModeCmd:
 778                     ; 200   assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 780                     ; 202   if (NewState != DISABLE)
 782  0067 4d            	tnz	a
 783  0068 2706          	jreq	L133
 784                     ; 204     ADC1->CR2 |= ADC1_CR2_SCAN;
 786  006a 72125402      	bset	21506,#1
 788  006e 2004          	jra	L333
 789  0070               L133:
 790                     ; 208     ADC1->CR2 &= (u8)(~ADC1_CR2_SCAN);
 792  0070 72135402      	bres	21506,#1
 793  0074               L333:
 794                     ; 211 }
 797  0074 81            	ret
 832                     ; 227 void ADC1_DataBufferCmd(FunctionalState NewState)
 832                     ; 228 {
 833                     	switch	.text
 834  0075               _ADC1_DataBufferCmd:
 838                     ; 231   assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 840                     ; 233   if (NewState != DISABLE)
 842  0075 4d            	tnz	a
 843  0076 2706          	jreq	L353
 844                     ; 235     ADC1->CR3 |= ADC1_CR3_DBUF;
 846  0078 721e5403      	bset	21507,#7
 848  007c 2004          	jra	L553
 849  007e               L353:
 850                     ; 239     ADC1->CR3 &= (u8)(~ADC1_CR3_DBUF);
 852  007e 721f5403      	bres	21507,#7
 853  0082               L553:
 854                     ; 242 }
 857  0082 81            	ret
1006                     ; 262 void ADC1_ITConfig(ADC1_IT_TypeDef ADC1_IT, FunctionalState ADC1_ITEnable)
1006                     ; 263 {
1007                     	switch	.text
1008  0083               _ADC1_ITConfig:
1010  0083 89            	pushw	x
1011       00000000      OFST:	set	0
1014                     ; 266   assert_param(IS_ADC1_IT_OK(ADC1_IT));
1016                     ; 267   assert_param(IS_FUNCTIONALSTATE_OK(ADC1_ITEnable));
1018                     ; 269   if (ADC1_ITEnable != DISABLE)
1020  0084 0d05          	tnz	(OFST+5,sp)
1021  0086 2709          	jreq	L144
1022                     ; 272     ADC1->CSR |= (u8)ADC1_IT;
1024  0088 9f            	ld	a,xl
1025  0089 ca5400        	or	a,21504
1026  008c c75400        	ld	21504,a
1028  008f 2009          	jra	L344
1029  0091               L144:
1030                     ; 277     ADC1->CSR &= (u8)(~ADC1_IT);
1032  0091 7b02          	ld	a,(OFST+2,sp)
1033  0093 43            	cpl	a
1034  0094 c45400        	and	a,21504
1035  0097 c75400        	ld	21504,a
1036  009a               L344:
1037                     ; 280 }
1040  009a 85            	popw	x
1041  009b 81            	ret
1077                     ; 297 void ADC1_PrescalerConfig(ADC1_PresSel_TypeDef ADC1_Prescaler)
1077                     ; 298 {
1078                     	switch	.text
1079  009c               _ADC1_PrescalerConfig:
1081  009c 88            	push	a
1082       00000000      OFST:	set	0
1085                     ; 301   assert_param(IS_ADC1_PRESSEL_OK(ADC1_Prescaler));
1087                     ; 304   ADC1->CR1 &= (u8)(~ADC1_CR1_SPSEL);
1089  009d c65401        	ld	a,21505
1090  00a0 a48f          	and	a,#143
1091  00a2 c75401        	ld	21505,a
1092                     ; 306   ADC1->CR1 |= (u8)(ADC1_Prescaler);
1094  00a5 c65401        	ld	a,21505
1095  00a8 1a01          	or	a,(OFST+1,sp)
1096  00aa c75401        	ld	21505,a
1097                     ; 308 }
1100  00ad 84            	pop	a
1101  00ae 81            	ret
1149                     ; 328 void ADC1_SchmittTriggerConfig(ADC1_SchmittTrigg_TypeDef ADC1_SchmittTriggerChannel, FunctionalState ADC1_SchmittTriggerState)
1149                     ; 329 {
1150                     	switch	.text
1151  00af               _ADC1_SchmittTriggerConfig:
1153  00af 89            	pushw	x
1154       00000000      OFST:	set	0
1157                     ; 332   assert_param(IS_ADC1_SCHMITTTRIG_OK(ADC1_SchmittTriggerChannel));
1159                     ; 333   assert_param(IS_FUNCTIONALSTATE_OK(ADC1_SchmittTriggerState));
1161                     ; 335   if (ADC1_SchmittTriggerChannel == ADC1_SCHMITTTRIG_ALL)
1163  00b0 9e            	ld	a,xh
1164  00b1 a11f          	cp	a,#31
1165  00b3 2620          	jrne	L505
1166                     ; 337     if (ADC1_SchmittTriggerState != DISABLE)
1168  00b5 9f            	ld	a,xl
1169  00b6 4d            	tnz	a
1170  00b7 270a          	jreq	L705
1171                     ; 339       ADC1->TDRL &= (u8)0x0;
1173  00b9 725f5407      	clr	21511
1174                     ; 340       ADC1->TDRH &= (u8)0x0;
1176  00bd 725f5406      	clr	21510
1178  00c1 2078          	jra	L315
1179  00c3               L705:
1180                     ; 344       ADC1->TDRL |= (u8)0xFF;
1182  00c3 c65407        	ld	a,21511
1183  00c6 aaff          	or	a,#255
1184  00c8 c75407        	ld	21511,a
1185                     ; 345       ADC1->TDRH |= (u8)0xFF;
1187  00cb c65406        	ld	a,21510
1188  00ce aaff          	or	a,#255
1189  00d0 c75406        	ld	21510,a
1190  00d3 2066          	jra	L315
1191  00d5               L505:
1192                     ; 348   else if (ADC1_SchmittTriggerChannel < ADC1_SCHMITTTRIG_CHANNEL8)
1194  00d5 7b01          	ld	a,(OFST+1,sp)
1195  00d7 a108          	cp	a,#8
1196  00d9 242f          	jruge	L515
1197                     ; 350     if (ADC1_SchmittTriggerState != DISABLE)
1199  00db 0d02          	tnz	(OFST+2,sp)
1200  00dd 2716          	jreq	L715
1201                     ; 352       ADC1->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC1_SchmittTriggerChannel));
1203  00df 7b01          	ld	a,(OFST+1,sp)
1204  00e1 5f            	clrw	x
1205  00e2 97            	ld	xl,a
1206  00e3 a601          	ld	a,#1
1207  00e5 5d            	tnzw	x
1208  00e6 2704          	jreq	L42
1209  00e8               L62:
1210  00e8 48            	sll	a
1211  00e9 5a            	decw	x
1212  00ea 26fc          	jrne	L62
1213  00ec               L42:
1214  00ec 43            	cpl	a
1215  00ed c45407        	and	a,21511
1216  00f0 c75407        	ld	21511,a
1218  00f3 2046          	jra	L315
1219  00f5               L715:
1220                     ; 356       ADC1->TDRL |= (u8)((u8)0x01 << (u8)ADC1_SchmittTriggerChannel);
1222  00f5 7b01          	ld	a,(OFST+1,sp)
1223  00f7 5f            	clrw	x
1224  00f8 97            	ld	xl,a
1225  00f9 a601          	ld	a,#1
1226  00fb 5d            	tnzw	x
1227  00fc 2704          	jreq	L03
1228  00fe               L23:
1229  00fe 48            	sll	a
1230  00ff 5a            	decw	x
1231  0100 26fc          	jrne	L23
1232  0102               L03:
1233  0102 ca5407        	or	a,21511
1234  0105 c75407        	ld	21511,a
1235  0108 2031          	jra	L315
1236  010a               L515:
1237                     ; 361     if (ADC1_SchmittTriggerState != DISABLE)
1239  010a 0d02          	tnz	(OFST+2,sp)
1240  010c 2718          	jreq	L525
1241                     ; 363       ADC1->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC1_SchmittTriggerChannel - (u8)8)));
1243  010e 7b01          	ld	a,(OFST+1,sp)
1244  0110 a008          	sub	a,#8
1245  0112 5f            	clrw	x
1246  0113 97            	ld	xl,a
1247  0114 a601          	ld	a,#1
1248  0116 5d            	tnzw	x
1249  0117 2704          	jreq	L43
1250  0119               L63:
1251  0119 48            	sll	a
1252  011a 5a            	decw	x
1253  011b 26fc          	jrne	L63
1254  011d               L43:
1255  011d 43            	cpl	a
1256  011e c45406        	and	a,21510
1257  0121 c75406        	ld	21510,a
1259  0124 2015          	jra	L315
1260  0126               L525:
1261                     ; 367       ADC1->TDRH |= (u8)((u8)0x01 << ((u8)ADC1_SchmittTriggerChannel - (u8)8));
1263  0126 7b01          	ld	a,(OFST+1,sp)
1264  0128 a008          	sub	a,#8
1265  012a 5f            	clrw	x
1266  012b 97            	ld	xl,a
1267  012c a601          	ld	a,#1
1268  012e 5d            	tnzw	x
1269  012f 2704          	jreq	L04
1270  0131               L24:
1271  0131 48            	sll	a
1272  0132 5a            	decw	x
1273  0133 26fc          	jrne	L24
1274  0135               L04:
1275  0135 ca5406        	or	a,21510
1276  0138 c75406        	ld	21510,a
1277  013b               L315:
1278                     ; 371 }
1281  013b 85            	popw	x
1282  013c 81            	ret
1339                     ; 393 void ADC1_ConversionConfig(ADC1_ConvMode_TypeDef ADC1_ConversionMode, ADC1_Channel_TypeDef ADC1_Channel, ADC1_Align_TypeDef ADC1_Align)
1339                     ; 394 {
1340                     	switch	.text
1341  013d               _ADC1_ConversionConfig:
1343  013d 89            	pushw	x
1344       00000000      OFST:	set	0
1347                     ; 397   assert_param(IS_ADC1_CONVERSIONMODE_OK(ADC1_ConversionMode));
1349                     ; 398   assert_param(IS_ADC1_CHANNEL_OK(ADC1_Channel));
1351                     ; 399   assert_param(IS_ADC1_ALIGN_OK(ADC1_Align));
1353                     ; 402   ADC1->CR2 &= (u8)(~ADC1_CR2_ALIGN);
1355  013e 72175402      	bres	21506,#3
1356                     ; 404   ADC1->CR2 |= (u8)(ADC1_Align);
1358  0142 c65402        	ld	a,21506
1359  0145 1a05          	or	a,(OFST+5,sp)
1360  0147 c75402        	ld	21506,a
1361                     ; 406   if (ADC1_ConversionMode == ADC1_CONVERSIONMODE_CONTINUOUS)
1363  014a 9e            	ld	a,xh
1364  014b a101          	cp	a,#1
1365  014d 2606          	jrne	L755
1366                     ; 409     ADC1->CR1 |= ADC1_CR1_CONT;
1368  014f 72125401      	bset	21505,#1
1370  0153 2004          	jra	L165
1371  0155               L755:
1372                     ; 414     ADC1->CR1 &= (u8)(~ADC1_CR1_CONT);
1374  0155 72135401      	bres	21505,#1
1375  0159               L165:
1376                     ; 418   ADC1->CSR &= (u8)(~ADC1_CSR_CH);
1378  0159 c65400        	ld	a,21504
1379  015c a4f0          	and	a,#240
1380  015e c75400        	ld	21504,a
1381                     ; 420   ADC1->CSR |= (u8)(ADC1_Channel);
1383  0161 c65400        	ld	a,21504
1384  0164 1a02          	or	a,(OFST+2,sp)
1385  0166 c75400        	ld	21504,a
1386                     ; 422 }
1389  0169 85            	popw	x
1390  016a 81            	ret
1436                     ; 444 void ADC1_ExternalTriggerConfig(ADC1_ExtTrig_TypeDef ADC1_ExtTrigger, FunctionalState ADC1_ExtTrigState)

⌨️ 快捷键说明

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