如何使用STM8S单片机的多通道AD转换
展开全部
int ADC_Work(unsigned char CN)
{
unsigned int i;
ADC_CR2 =0x00; // A/D结果数据左对齐
ADC_CR1 =0x50; //ADC时钟=主时钟/10
// ADC转换模式=单次
// 禁止ADC转换
ADC_CSR =CN; // 选择通道
ADC_TDRL =0x01; //禁止施密特触发
ADC_CR1 |=0x01; // CR1寄存器的最低位置1,使能ADC转换
for(i=0;i<200;i++); // 延时一段时间,至少7uS,保证ADC 模块的上电完成
ADC_CR1 =ADC_CR1 | 0x01; // 再次将CR1寄存器的最低位置1 // 使能ADC转换
while((ADC_CSR & 0x80) == 0); //等待ADC结束
DATAH =ADC_DRH; // 读出ADC结果的高8位
//DATAH&=0x03;
DATAL =ADC_DRL;
DATA =(DATAH<<2) + DATAL ;//得到十位精度的数据
return DATA;
}
void step1 (void)
{
int dat3=0;source_on;
delay_ms(1000);
clear_LCD_display();
LCD12864_SetPos(0,0);
LCD12864_DisplayString(" MC-8250 ");
LCD12864_SetPos(1,0);
LCD12864_DisplayString(" 产品电流测试 ");
LCD12864_SetPos(3,0);
dat3=ADC_Work(9);//此处为AD9,修改数字就可以改变。
check_adj_Voltage_A(dat3);
delay_ms(1000);
if((dat3>=1)&&(dat3<=40))//最低4MA最大20MA
{
LCD12864_SetPos(3,6);
LCD12864_DisplayString("PASS ");
result=1;delay_ms(1000);
}
else{
LCD12864_SetPos(3,6);
LCD12864_DisplayString("FAIL ");
result=0;delay_ms(1000);
}
}
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询