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

📄 stm8s_adc2.ls

📁 STM8S105 BLDC源代码
💻 LS
📖 第 1 页 / 共 2 页
字号:
 985  00c6 26fc          	jrne	L24
 986  00c8               L04:
 987  00c8 43            	cpl	a
 988  00c9 c45406        	and	a,21510
 990  00cc 2010          	jp	LC001
 991  00ce               L514:
 992                     ; 296       ADC2->TDRH |= (u8)((u8)0x01 << ((u8)ADC2_SchmittTriggerChannel - (u8)8));
 994  00ce a008          	sub	a,#8
 995  00d0 5f            	clrw	x
 996  00d1 97            	ld	xl,a
 997  00d2 a601          	ld	a,#1
 998  00d4 5d            	tnzw	x
 999  00d5 2704          	jreq	L44
1000  00d7               L64:
1001  00d7 48            	sll	a
1002  00d8 5a            	decw	x
1003  00d9 26fc          	jrne	L64
1004  00db               L44:
1005  00db ca5406        	or	a,21510
1006  00de               LC001:
1007  00de c75406        	ld	21510,a
1008  00e1               L304:
1009                     ; 300 }
1012  00e1 85            	popw	x
1013  00e2 81            	ret	
1070                     ; 322 void ADC2_ConversionConfig(ADC2_ConvMode_TypeDef ADC2_ConversionMode, ADC2_Channel_TypeDef ADC2_Channel, ADC2_Align_TypeDef ADC2_Align)
1070                     ; 323 {
1071                     	switch	.text
1072  00e3               _ADC2_ConversionConfig:
1074       00000000      OFST:	set	0
1077                     ; 326   assert_param(IS_ADC2_CONVERSIONMODE_OK(ADC2_ConversionMode));
1079                     ; 327   assert_param(IS_ADC2_CHANNEL_OK(ADC2_Channel));
1081                     ; 328   assert_param(IS_ADC2_ALIGN_OK(ADC2_Align));
1083                     ; 331   ADC2->CR2 &= (u8)(~ADC2_CR2_ALIGN);
1085  00e3 72175402      	bres	21506,#3
1086  00e7 89            	pushw	x
1087                     ; 333   ADC2->CR2 |= (u8)(ADC2_Align);
1089  00e8 c65402        	ld	a,21506
1090  00eb 1a05          	or	a,(OFST+5,sp)
1091  00ed c75402        	ld	21506,a
1092                     ; 335   if (ADC2_ConversionMode == ADC2_CONVERSIONMODE_CONTINUOUS)
1094  00f0 9e            	ld	a,xh
1095  00f1 4a            	dec	a
1096  00f2 2606          	jrne	L744
1097                     ; 338     ADC2->CR1 |= ADC2_CR1_CONT;
1099  00f4 72125401      	bset	21505,#1
1101  00f8 2004          	jra	L154
1102  00fa               L744:
1103                     ; 343     ADC2->CR1 &= (u8)(~ADC2_CR1_CONT);
1105  00fa 72135401      	bres	21505,#1
1106  00fe               L154:
1107                     ; 347   ADC2->CSR &= (u8)(~ADC2_CSR_CH);
1109  00fe c65400        	ld	a,21504
1110  0101 a4f0          	and	a,#240
1111  0103 c75400        	ld	21504,a
1112                     ; 349   ADC2->CSR |= (u8)(ADC2_Channel);
1114  0106 c65400        	ld	a,21504
1115  0109 1a02          	or	a,(OFST+2,sp)
1116  010b c75400        	ld	21504,a
1117                     ; 351 }
1120  010e 85            	popw	x
1121  010f 81            	ret	
1167                     ; 373 void ADC2_ExternalTriggerConfig(ADC2_ExtTrig_TypeDef ADC2_ExtTrigger, FunctionalState ADC2_ExtTrigState)
1167                     ; 374 {
1168                     	switch	.text
1169  0110               _ADC2_ExternalTriggerConfig:
1171  0110 89            	pushw	x
1172       00000000      OFST:	set	0
1175                     ; 377   assert_param(IS_ADC2_EXTTRIG_OK(ADC2_ExtTrigger));
1177                     ; 378   assert_param(IS_FUNCTIONALSTATE_OK(ADC2_ExtTrigState));
1179                     ; 381   ADC2->CR2 &= (u8)(~ADC2_CR2_EXTSEL);
1181  0111 c65402        	ld	a,21506
1182  0114 a4cf          	and	a,#207
1183  0116 c75402        	ld	21506,a
1184                     ; 383   if (ADC2_ExtTrigState != DISABLE)
1186  0119 9f            	ld	a,xl
1187  011a 4d            	tnz	a
1188  011b 2706          	jreq	L574
1189                     ; 386     ADC2->CR2 |= (u8)(ADC2_CR2_EXTTRIG);
1191  011d 721c5402      	bset	21506,#6
1193  0121 2004          	jra	L774
1194  0123               L574:
1195                     ; 391     ADC2->CR2 &= (u8)(~ADC2_CR2_EXTTRIG);
1197  0123 721d5402      	bres	21506,#6
1198  0127               L774:
1199                     ; 395   ADC2->CR2 |= (u8)(ADC2_ExtTrigger);
1201  0127 c65402        	ld	a,21506
1202  012a 1a01          	or	a,(OFST+1,sp)
1203  012c c75402        	ld	21506,a
1204                     ; 397 }
1207  012f 85            	popw	x
1208  0130 81            	ret	
1232                     ; 417 void ADC2_StartConversion(void)
1232                     ; 418 {
1233                     	switch	.text
1234  0131               _ADC2_StartConversion:
1238                     ; 419   ADC2->CR1 |= ADC2_CR1_ADON;
1240  0131 72105401      	bset	21505,#0
1241                     ; 420 }
1244  0135 81            	ret	
1288                     ; 438 u16 ADC2_GetConversionValue(void)
1288                     ; 439 {
1289                     	switch	.text
1290  0136               _ADC2_GetConversionValue:
1292  0136 5205          	subw	sp,#5
1293       00000005      OFST:	set	5
1296                     ; 441   u16 temph = 0;
1298                     ; 442   u8 templ = 0;
1300                     ; 444   if (ADC2->CR2 & ADC2_CR2_ALIGN) /* Right alignment */
1302  0138 720754020e    	btjf	21506,#3,L335
1303                     ; 447     templ = ADC2->DRL;
1305  013d c65405        	ld	a,21509
1306  0140 6b03          	ld	(OFST-2,sp),a
1307                     ; 449     temph = ADC2->DRH;
1309  0142 c65404        	ld	a,21508
1310  0145 97            	ld	xl,a
1311                     ; 451     temph = (u16)(templ | (u16)(temph << (u8)8));
1313  0146 7b03          	ld	a,(OFST-2,sp)
1314  0148 02            	rlwa	x,a
1316  0149 201a          	jra	L535
1317  014b               L335:
1318                     ; 456     temph = ADC2->DRH;
1320  014b c65404        	ld	a,21508
1321  014e 97            	ld	xl,a
1322                     ; 458     templ = ADC2->DRL;
1324  014f c65405        	ld	a,21509
1325  0152 6b03          	ld	(OFST-2,sp),a
1326                     ; 460     temph = (u16)((u16)(templ << (u8)6) | (u16)(temph << (u8)8));
1328  0154 4f            	clr	a
1329  0155 02            	rlwa	x,a
1330  0156 1f01          	ldw	(OFST-4,sp),x
1331  0158 7b03          	ld	a,(OFST-2,sp)
1332  015a 97            	ld	xl,a
1333  015b a640          	ld	a,#64
1334  015d 42            	mul	x,a
1335  015e 01            	rrwa	x,a
1336  015f 1a02          	or	a,(OFST-3,sp)
1337  0161 01            	rrwa	x,a
1338  0162 1a01          	or	a,(OFST-4,sp)
1339  0164 01            	rrwa	x,a
1340  0165               L535:
1341                     ; 463   return ((u16)temph);
1345  0165 5b05          	addw	sp,#5
1346  0167 81            	ret	
1390                     ; 483 FlagStatus ADC2_GetFlagStatus(void)
1390                     ; 484 {
1391                     	switch	.text
1392  0168               _ADC2_GetFlagStatus:
1396                     ; 486   return ((u8)(ADC2->CSR & ADC2_CSR_EOC));
1398  0168 c65400        	ld	a,21504
1399  016b a480          	and	a,#128
1402  016d 81            	ret	
1425                     ; 505 void ADC2_ClearFlag(void)
1425                     ; 506 {
1426                     	switch	.text
1427  016e               _ADC2_ClearFlag:
1431                     ; 507     ADC2->CSR &= (u8)(~ADC2_CSR_EOC);
1433  016e 721f5400      	bres	21504,#7
1434                     ; 508 }
1437  0172 81            	ret	
1461                     ; 526 ITStatus ADC2_GetITStatus(void)
1461                     ; 527 {
1462                     	switch	.text
1463  0173               _ADC2_GetITStatus:
1467                     ; 528   return ((u8)(ADC2->CSR & ADC2_CSR_EOC));
1469  0173 c65400        	ld	a,21504
1470  0176 a480          	and	a,#128
1473  0178 81            	ret	
1497                     ; 546 void ADC2_ClearITPendingBit(void)
1497                     ; 547 {
1498                     	switch	.text
1499  0179               _ADC2_ClearITPendingBit:
1503                     ; 548     ADC2->CSR &= (u8)(~ADC2_CSR_EOC);
1505  0179 721f5400      	bres	21504,#7
1506                     ; 549 }
1509  017d 81            	ret	
1522                     	xdef	_ADC2_ClearITPendingBit
1523                     	xdef	_ADC2_GetITStatus
1524                     	xdef	_ADC2_ClearFlag
1525                     	xdef	_ADC2_GetFlagStatus
1526                     	xdef	_ADC2_GetConversionValue
1527                     	xdef	_ADC2_StartConversion
1528                     	xdef	_ADC2_ExternalTriggerConfig
1529                     	xdef	_ADC2_ConversionConfig
1530                     	xdef	_ADC2_SchmittTriggerConfig
1531                     	xdef	_ADC2_PrescalerConfig
1532                     	xdef	_ADC2_ITConfig
1533                     	xdef	_ADC2_Cmd
1534                     	xdef	_ADC2_Init
1535                     	xdef	_ADC2_DeInit
1554                     	end

⌨️ 快捷键说明

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