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

📄 stm8s_adc1.ls

📁 STM8s
💻 LS
📖 第 1 页 / 共 3 页
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Parser V4.9.2 - 29 Jun 2010
   3                     ; Generator V4.3.5 - 02 Jul 2010
  43                     ; 47 void ADC1_DeInit(void)
  43                     ; 48 {
  45                     	switch	.text
  46  0000               _ADC1_DeInit:
  50                     ; 49     ADC1->CSR  = ADC1_CSR_RESET_VALUE;
  52  0000 725f5400      	clr	21504
  53                     ; 50     ADC1->CR1  = ADC1_CR1_RESET_VALUE;
  55  0004 725f5401      	clr	21505
  56                     ; 51     ADC1->CR2  = ADC1_CR2_RESET_VALUE;
  58  0008 725f5402      	clr	21506
  59                     ; 52     ADC1->CR3  = ADC1_CR3_RESET_VALUE;
  61  000c 725f5403      	clr	21507
  62                     ; 53     ADC1->TDRH = ADC1_TDRH_RESET_VALUE;
  64  0010 725f5406      	clr	21510
  65                     ; 54     ADC1->TDRL = ADC1_TDRL_RESET_VALUE;
  67  0014 725f5407      	clr	21511
  68                     ; 55     ADC1->HTRH = ADC1_HTRH_RESET_VALUE;
  70  0018 35ff5408      	mov	21512,#255
  71                     ; 56     ADC1->HTRL = ADC1_HTRL_RESET_VALUE;
  73  001c 35035409      	mov	21513,#3
  74                     ; 57     ADC1->LTRH = ADC1_LTRH_RESET_VALUE;
  76  0020 725f540a      	clr	21514
  77                     ; 58     ADC1->LTRL = ADC1_LTRL_RESET_VALUE;
  79  0024 725f540b      	clr	21515
  80                     ; 59     ADC1->AWCRH = ADC1_AWCRH_RESET_VALUE;
  82  0028 725f540e      	clr	21518
  83                     ; 60     ADC1->AWCRL = ADC1_AWCRL_RESET_VALUE;
  85  002c 725f540f      	clr	21519
  86                     ; 61 }
  89  0030 81            	ret
 525                     ; 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)
 525                     ; 85 {
 526                     	switch	.text
 527  0031               _ADC1_Init:
 529  0031 89            	pushw	x
 530       00000000      OFST:	set	0
 533                     ; 88     assert_param(IS_ADC1_CONVERSIONMODE_OK(ADC1_ConversionMode));
 535                     ; 89     assert_param(IS_ADC1_CHANNEL_OK(ADC1_Channel));
 537                     ; 90     assert_param(IS_ADC1_PRESSEL_OK(ADC1_PrescalerSelection));
 539                     ; 91     assert_param(IS_ADC1_EXTTRIG_OK(ADC1_ExtTrigger));
 541                     ; 92     assert_param(IS_FUNCTIONALSTATE_OK(((ADC1_ExtTriggerState))));
 543                     ; 93     assert_param(IS_ADC1_ALIGN_OK(ADC1_Align));
 545                     ; 94     assert_param(IS_ADC1_SCHMITTTRIG_OK(ADC1_SchmittTriggerChannel));
 547                     ; 95     assert_param(IS_FUNCTIONALSTATE_OK(ADC1_SchmittTriggerState));
 549                     ; 100     ADC1_ConversionConfig(ADC1_ConversionMode, ADC1_Channel, ADC1_Align);
 551  0032 7b08          	ld	a,(OFST+8,sp)
 552  0034 88            	push	a
 553  0035 9f            	ld	a,xl
 554  0036 97            	ld	xl,a
 555  0037 7b02          	ld	a,(OFST+2,sp)
 556  0039 95            	ld	xh,a
 557  003a cd013d        	call	_ADC1_ConversionConfig
 559  003d 84            	pop	a
 560                     ; 102     ADC1_PrescalerConfig(ADC1_PrescalerSelection);
 562  003e 7b05          	ld	a,(OFST+5,sp)
 563  0040 ad5a          	call	_ADC1_PrescalerConfig
 565                     ; 107     ADC1_ExternalTriggerConfig(ADC1_ExtTrigger, ADC1_ExtTriggerState);
 567  0042 7b07          	ld	a,(OFST+7,sp)
 568  0044 97            	ld	xl,a
 569  0045 7b06          	ld	a,(OFST+6,sp)
 570  0047 95            	ld	xh,a
 571  0048 cd016b        	call	_ADC1_ExternalTriggerConfig
 573                     ; 112     ADC1_SchmittTriggerConfig(ADC1_SchmittTriggerChannel, ADC1_SchmittTriggerState);
 575  004b 7b0a          	ld	a,(OFST+10,sp)
 576  004d 97            	ld	xl,a
 577  004e 7b09          	ld	a,(OFST+9,sp)
 578  0050 95            	ld	xh,a
 579  0051 ad5c          	call	_ADC1_SchmittTriggerConfig
 581                     ; 115     ADC1->CR1 |= ADC1_CR1_ADON;
 583  0053 72105401      	bset	21505,#0
 584                     ; 117 }
 587  0057 85            	popw	x
 588  0058 81            	ret
 623                     ; 125 void ADC1_Cmd(FunctionalState NewState)
 623                     ; 126 {
 624                     	switch	.text
 625  0059               _ADC1_Cmd:
 629                     ; 129     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 631                     ; 131     if (NewState != DISABLE)
 633  0059 4d            	tnz	a
 634  005a 2706          	jreq	L752
 635                     ; 133         ADC1->CR1 |= ADC1_CR1_ADON;
 637  005c 72105401      	bset	21505,#0
 639  0060 2004          	jra	L162
 640  0062               L752:
 641                     ; 137         ADC1->CR1 &= (u8)(~ADC1_CR1_ADON);
 643  0062 72115401      	bres	21505,#0
 644  0066               L162:
 645                     ; 140 }
 648  0066 81            	ret
 683                     ; 147 void ADC1_ScanModeCmd(FunctionalState NewState)
 683                     ; 148 {
 684                     	switch	.text
 685  0067               _ADC1_ScanModeCmd:
 689                     ; 151     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 691                     ; 153     if (NewState != DISABLE)
 693  0067 4d            	tnz	a
 694  0068 2706          	jreq	L103
 695                     ; 155         ADC1->CR2 |= ADC1_CR2_SCAN;
 697  006a 72125402      	bset	21506,#1
 699  006e 2004          	jra	L303
 700  0070               L103:
 701                     ; 159         ADC1->CR2 &= (u8)(~ADC1_CR2_SCAN);
 703  0070 72135402      	bres	21506,#1
 704  0074               L303:
 705                     ; 162 }
 708  0074 81            	ret
 743                     ; 169 void ADC1_DataBufferCmd(FunctionalState NewState)
 743                     ; 170 {
 744                     	switch	.text
 745  0075               _ADC1_DataBufferCmd:
 749                     ; 173     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 751                     ; 175     if (NewState != DISABLE)
 753  0075 4d            	tnz	a
 754  0076 2706          	jreq	L323
 755                     ; 177         ADC1->CR3 |= ADC1_CR3_DBUF;
 757  0078 721e5403      	bset	21507,#7
 759  007c 2004          	jra	L523
 760  007e               L323:
 761                     ; 181         ADC1->CR3 &= (u8)(~ADC1_CR3_DBUF);
 763  007e 721f5403      	bres	21507,#7
 764  0082               L523:
 765                     ; 184 }
 768  0082 81            	ret
 917                     ; 195 void ADC1_ITConfig(ADC1_IT_TypeDef ADC1_IT, FunctionalState NewState)
 917                     ; 196 {
 918                     	switch	.text
 919  0083               _ADC1_ITConfig:
 921  0083 89            	pushw	x
 922       00000000      OFST:	set	0
 925                     ; 199     assert_param(IS_ADC1_IT_OK(ADC1_IT));
 927                     ; 200     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
 929                     ; 202     if (NewState != DISABLE)
 931  0084 0d05          	tnz	(OFST+5,sp)
 932  0086 2709          	jreq	L114
 933                     ; 205         ADC1->CSR |= (u8)ADC1_IT;
 935  0088 9f            	ld	a,xl
 936  0089 ca5400        	or	a,21504
 937  008c c75400        	ld	21504,a
 939  008f 2009          	jra	L314
 940  0091               L114:
 941                     ; 210         ADC1->CSR &= (u8)(~ADC1_IT);
 943  0091 7b02          	ld	a,(OFST+2,sp)
 944  0093 43            	cpl	a
 945  0094 c45400        	and	a,21504
 946  0097 c75400        	ld	21504,a
 947  009a               L314:
 948                     ; 213 }
 951  009a 85            	popw	x
 952  009b 81            	ret
 988                     ; 221 void ADC1_PrescalerConfig(ADC1_PresSel_TypeDef ADC1_Prescaler)
 988                     ; 222 {
 989                     	switch	.text
 990  009c               _ADC1_PrescalerConfig:
 992  009c 88            	push	a
 993       00000000      OFST:	set	0
 996                     ; 225     assert_param(IS_ADC1_PRESSEL_OK(ADC1_Prescaler));
 998                     ; 228     ADC1->CR1 &= (u8)(~ADC1_CR1_SPSEL);
1000  009d c65401        	ld	a,21505
1001  00a0 a48f          	and	a,#143
1002  00a2 c75401        	ld	21505,a
1003                     ; 230     ADC1->CR1 |= (u8)(ADC1_Prescaler);
1005  00a5 c65401        	ld	a,21505
1006  00a8 1a01          	or	a,(OFST+1,sp)
1007  00aa c75401        	ld	21505,a
1008                     ; 232 }
1011  00ad 84            	pop	a
1012  00ae 81            	ret
1059                     ; 243 void ADC1_SchmittTriggerConfig(ADC1_SchmittTrigg_TypeDef ADC1_SchmittTriggerChannel, FunctionalState NewState)
1059                     ; 244 {
1060                     	switch	.text
1061  00af               _ADC1_SchmittTriggerConfig:
1063  00af 89            	pushw	x
1064       00000000      OFST:	set	0
1067                     ; 247     assert_param(IS_ADC1_SCHMITTTRIG_OK(ADC1_SchmittTriggerChannel));
1069                     ; 248     assert_param(IS_FUNCTIONALSTATE_OK(NewState));
1071                     ; 250     if (ADC1_SchmittTriggerChannel == ADC1_SCHMITTTRIG_ALL)
1073  00b0 9e            	ld	a,xh
1074  00b1 a1ff          	cp	a,#255
1075  00b3 2620          	jrne	L554
1076                     ; 252         if (NewState != DISABLE)
1078  00b5 9f            	ld	a,xl
1079  00b6 4d            	tnz	a
1080  00b7 270a          	jreq	L754
1081                     ; 254             ADC1->TDRL &= (u8)0x0;
1083  00b9 725f5407      	clr	21511
1084                     ; 255             ADC1->TDRH &= (u8)0x0;
1086  00bd 725f5406      	clr	21510
1088  00c1 2078          	jra	L364
1089  00c3               L754:
1090                     ; 259             ADC1->TDRL |= (u8)0xFF;
1092  00c3 c65407        	ld	a,21511
1093  00c6 aaff          	or	a,#255
1094  00c8 c75407        	ld	21511,a
1095                     ; 260             ADC1->TDRH |= (u8)0xFF;
1097  00cb c65406        	ld	a,21510
1098  00ce aaff          	or	a,#255
1099  00d0 c75406        	ld	21510,a
1100  00d3 2066          	jra	L364
1101  00d5               L554:
1102                     ; 263     else if (ADC1_SchmittTriggerChannel < ADC1_SCHMITTTRIG_CHANNEL8)
1104  00d5 7b01          	ld	a,(OFST+1,sp)
1105  00d7 a108          	cp	a,#8
1106  00d9 242f          	jruge	L564
1107                     ; 265         if (NewState != DISABLE)
1109  00db 0d02          	tnz	(OFST+2,sp)
1110  00dd 2716          	jreq	L764
1111                     ; 267             ADC1->TDRL &= (u8)(~(u8)((u8)0x01 << (u8)ADC1_SchmittTriggerChannel));
1113  00df 7b01          	ld	a,(OFST+1,sp)
1114  00e1 5f            	clrw	x
1115  00e2 97            	ld	xl,a
1116  00e3 a601          	ld	a,#1
1117  00e5 5d            	tnzw	x
1118  00e6 2704          	jreq	L42
1119  00e8               L62:
1120  00e8 48            	sll	a
1121  00e9 5a            	decw	x
1122  00ea 26fc          	jrne	L62
1123  00ec               L42:
1124  00ec 43            	cpl	a
1125  00ed c45407        	and	a,21511
1126  00f0 c75407        	ld	21511,a
1128  00f3 2046          	jra	L364
1129  00f5               L764:
1130                     ; 271             ADC1->TDRL |= (u8)((u8)0x01 << (u8)ADC1_SchmittTriggerChannel);
1132  00f5 7b01          	ld	a,(OFST+1,sp)
1133  00f7 5f            	clrw	x
1134  00f8 97            	ld	xl,a
1135  00f9 a601          	ld	a,#1
1136  00fb 5d            	tnzw	x
1137  00fc 2704          	jreq	L03
1138  00fe               L23:
1139  00fe 48            	sll	a
1140  00ff 5a            	decw	x
1141  0100 26fc          	jrne	L23
1142  0102               L03:
1143  0102 ca5407        	or	a,21511
1144  0105 c75407        	ld	21511,a
1145  0108 2031          	jra	L364
1146  010a               L564:
1147                     ; 276         if (NewState != DISABLE)
1149  010a 0d02          	tnz	(OFST+2,sp)
1150  010c 2718          	jreq	L574
1151                     ; 278             ADC1->TDRH &= (u8)(~(u8)((u8)0x01 << ((u8)ADC1_SchmittTriggerChannel - (u8)8)));
1153  010e 7b01          	ld	a,(OFST+1,sp)
1154  0110 a008          	sub	a,#8
1155  0112 5f            	clrw	x
1156  0113 97            	ld	xl,a
1157  0114 a601          	ld	a,#1
1158  0116 5d            	tnzw	x
1159  0117 2704          	jreq	L43
1160  0119               L63:
1161  0119 48            	sll	a
1162  011a 5a            	decw	x
1163  011b 26fc          	jrne	L63
1164  011d               L43:
1165  011d 43            	cpl	a
1166  011e c45406        	and	a,21510
1167  0121 c75406        	ld	21510,a
1169  0124 2015          	jra	L364
1170  0126               L574:
1171                     ; 282             ADC1->TDRH |= (u8)((u8)0x01 << ((u8)ADC1_SchmittTriggerChannel - (u8)8));
1173  0126 7b01          	ld	a,(OFST+1,sp)
1174  0128 a008          	sub	a,#8
1175  012a 5f            	clrw	x
1176  012b 97            	ld	xl,a
1177  012c a601          	ld	a,#1
1178  012e 5d            	tnzw	x
1179  012f 2704          	jreq	L04
1180  0131               L24:
1181  0131 48            	sll	a
1182  0132 5a            	decw	x
1183  0133 26fc          	jrne	L24
1184  0135               L04:
1185  0135 ca5406        	or	a,21510
1186  0138 c75406        	ld	21510,a
1187  013b               L364:
1188                     ; 286 }
1191  013b 85            	popw	x
1192  013c 81            	ret
1249                     ; 299 void ADC1_ConversionConfig(ADC1_ConvMode_TypeDef ADC1_ConversionMode, ADC1_Channel_TypeDef ADC1_Channel, ADC1_Align_TypeDef ADC1_Align)
1249                     ; 300 {
1250                     	switch	.text
1251  013d               _ADC1_ConversionConfig:
1253  013d 89            	pushw	x
1254       00000000      OFST:	set	0
1257                     ; 303     assert_param(IS_ADC1_CONVERSIONMODE_OK(ADC1_ConversionMode));
1259                     ; 304     assert_param(IS_ADC1_CHANNEL_OK(ADC1_Channel));
1261                     ; 305     assert_param(IS_ADC1_ALIGN_OK(ADC1_Align));
1263                     ; 308     ADC1->CR2 &= (u8)(~ADC1_CR2_ALIGN);
1265  013e 72175402      	bres	21506,#3
1266                     ; 310     ADC1->CR2 |= (u8)(ADC1_Align);
1268  0142 c65402        	ld	a,21506
1269  0145 1a05          	or	a,(OFST+5,sp)
1270  0147 c75402        	ld	21506,a
1271                     ; 312     if (ADC1_ConversionMode == ADC1_CONVERSIONMODE_CONTINUOUS)
1273  014a 9e            	ld	a,xh
1274  014b a101          	cp	a,#1
1275  014d 2606          	jrne	L725
1276                     ; 315         ADC1->CR1 |= ADC1_CR1_CONT;
1278  014f 72125401      	bset	21505,#1
1280  0153 2004          	jra	L135
1281  0155               L725:
1282                     ; 320         ADC1->CR1 &= (u8)(~ADC1_CR1_CONT);
1284  0155 72135401      	bres	21505,#1
1285  0159               L135:
1286                     ; 324     ADC1->CSR &= (u8)(~ADC1_CSR_CH);
1288  0159 c65400        	ld	a,21504
1289  015c a4f0          	and	a,#240
1290  015e c75400        	ld	21504,a
1291                     ; 326     ADC1->CSR |= (u8)(ADC1_Channel);
1293  0161 c65400        	ld	a,21504
1294  0164 1a02          	or	a,(OFST+2,sp)
1295  0166 c75400        	ld	21504,a
1296                     ; 328 }

⌨️ 快捷键说明

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