Lpc1768内置有一个ad外设,该外设有八路复用输入,所以,可以同时接八路ad设备,同时还支持触发转换模式,由外部端口进行ad触发,ad转换完成之后可以产生中断

Lpc1768支持的转换模式有两种,分别会连续转换模式和软件单次转换模式,连续转换模式可以自动的按照我们选择的转换位进行ad的依次转换,单次转换模式是软件转换,只能一次转换一个ad值

使用AD分为以下几步

  1. 打开ADC时钟,注意,顺带gpio的时钟也要打开

  1. 设置gpio的功能为ad

  1. 设置转换模式和转换引脚

设置转换时钟,设置转换器正常工作模式都是在cr中完整

  1. 设置转换完成中断

  1. 在转换完成之后提取转换结果

代码例程如下

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;

}

lpc1768ADC使用的更多相关文章

随机推荐

  1. c3p0连接池的使用

    利用c3p0连接池获取数据库连接,即不再通过DriverManager的getConnection(url,user,password)方法获取connection,而是通过c3p0数据源的类来获取连 ...

  2. poll和select

    都允许进程决定是否可以对一个或者多个打开的文件做非阻塞的读取或写入.这些调用也会阻塞进程,直到给定的文件描述符集合中的任何一个可读取或写入.常常用于那些要使用多个输入或输出流而又不会阻塞与其中任意一个 ...

  3. HDU1874 最短路 SPFA

    最短路 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 24  Solved: 17 [Submit][Status][Web Board] Descr ...

  4. UVALive 2035 The Monocycle(BFS状态处理+优先队列)

    这道题目真是非常坎坷啊,WA了很多次,但所有的思路都是奔着广搜去想的,一开始出现了比答案大的数据,才想到了应该是优先队列,再说加上也肯定不会错.一开始我读错了题意,以为旋转并且前行需要的时间跟其他一样 ...

  5. HDU - 2502 Subway

    题目链接:http://poj.org/problem?id=2502 分析: 告诉一些地铁线路,从起点到终点,中途可以步行,可以坐地铁,找一条最短的路 主要是把图建立好,然后直接dijkstra或者 ...

  6. CD冷却效果实现

    在NGUI中实现CD转圈的特效,可以用图片控件中UISprite组件的Fill Amount属性去控制. 在上图中skill表示需要冷却技能的图片:其子控件Label表示右下角的快捷键“Y”:子控件S ...

  7. L10,not for jazz

    expressions: It is called a clavichord这被称为古钢琴 a friend of my father's我父亲的朋友   words: musical,adj,音乐的 ...

  8. Android如何使用API

    转自:http://www.cnblogs.com/vanezkw/archive/2012/07/03/2574559.html 本文针对Android开发如何使用API文档进行一些经验分享. 1. ...

  9. acm的第一场比赛的总结

    6.4-6.5号很激动的去湖南湘潭打了一场邀请赛,这是第一次acm的旅程吧.毕竟大一上册刚开始接触c,然后现在就能抱着学长的大腿(拖着学长的后腿)打比赛,也是有一点小小的激动. 第一天很早就起床了,由 ...

  10. redmine配置邮件

    作为一个项目管理平台,必须能够通知项目成员有关项目和任务的各种状态变化.这也是一种典型的观察者模式.开发人员可以跟踪某个任务,当任务状态.备注.文档.优先级等变化时开发人员就可以得到通知. 对于新配置 ...