当前位置:首页 > 单片机 > 单片机
[导读]Lpc1768内置有一个ad外设,该外设有八路复用输入,所以,可以同时接八路ad设备,同时还支持触发转换模式,由外部端口进行ad触发,ad转换完成之后可以产生中断 Lpc1768支持的转换模式有两种,分别会连续转换模式和软件单次转

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<

LPC_ADC->ADINTEN=0x00;//禁用全部中断

}

u16 adc_cover(u8 ch)

{

u16 temp;

LPC_ADC->ADCR&=~(0x000000ff);

LPC_ADC->ADCR|=(1<

LPC_ADC->ADCR|=1<<24;//启动转换

while(!(LPC_ADC->ADGDR&(1u<<31)));//等待转换结束

temp=(u16)((LPC_ADC->ADGDR&0x00000fff0)>>4);

returntemp;

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭