如何使用STM8S单片机的多通道AD转换

 我来答
意法半导体(中国)投资有限公司 2020-01-15
展开全部
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
天然呆疼自然萌
2017-09-05 · TA获得超过240个赞
知道小有建树答主
回答量:164
采纳率:100%
帮助的人:62万
展开全部
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 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式