电力电子技术
直播中

杨靖

7年用户 174经验值
私信 关注
[问答]

请问一下lpc1768ADC怎么使用?

请问一下lpc1768ADC怎么使用?

回帖(1)

施稚惇

2021-6-10 11:36:00
  Lpc1768内置有一个ad外设,该外设有八路复用输入,所以,可以同时接八路ad设备,同时还支持触发转换模式,由外部端口进行ad触发,ad转换完成之后可以产生中断
  Lpc1768支持的转换模式有两种,分别会连续转换模式和软件单次转换模式,连续转换模式可以自动的按照我们选择的转换位进行ad的依次转换,单次转换模式是软件转换,只能一次转换一个ad值
  使用AD分为以下几步
  打开ADC时钟,注意,顺带gpio的时钟也要打开
  
  设置gpio的功能为ad
  
  设置转换模式和转换引脚
  
  设置转换时钟,设置转换器正常工作模式都是在cr中完整
  设置转换完成中断
  
  在转换完成之后提取转换结果
  
  代码例程如下
  void adc_init(u8 div)//最大时钟不得大于13M
  {
  //打开ADC和IO口时钟
  LPC_SC-》PCONP |= (1《《15)|(1《《12);
  LPC_PINCON-》PINSEL0 &= ~(3《《14);
  LPC_PINCON-》PINSEL0 |= 1《《14;//选择adc功能
  LPC_ADC-》ADCR = 0X00;
  LPC_ADC-》ADCR |= (1《《ch)|(div《《8)|(1《《21);//正常工作 非规则转换 并选中响应通道
  LPC_ADC-》ADINTEN = 0x00;//禁用全部中断
  }
  u16 adc_cover(u8 ch)
  {
  u16 temp;
  LPC_ADC-》ADCR &= ~(0x000000ff);
  LPC_ADC-》ADCR |= (1《《ch);
  LPC_ADC-》ADCR |= 1《《24;//启动转换
  while(!(LPC_ADC-》ADGDR &(1u《《31)));//等待转换结束
  temp = (u16)((LPC_ADC-》ADGDR & 0x00000fff0)》》4);
  return temp;
  }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分