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;

}

最新文章

  1. ABP(现代ASP.NET样板开发框架)系列之20、ABP展现层——动态生成WebApi
  2. Web Service概念梳理
  3. 全面解析sizeof(上) 分类: C/C++ StudyNotes 2015-06-15 10:18 188人阅读 评论(0) 收藏
  4. 什么是P3O?
  5. 行集函数:OpenRowSet 和 OpenQuery
  6. POJ3666Making the Grade[DP 离散化 LIS相关]
  7. Bootstrap3.0学习第十九轮(JavaScript插件——标签页)
  8. nl命令详解
  9. android 自定义弹出框AlertDialog ,很炫的哦
  10. Linux下向SVN服务器添加新文件步骤
  11. logstash 处理tomcat access报ArgumentError: comparison of String with 5 failed
  12. javascript遍历Json对象个数
  13. 记载abp中Dbcontext的疑问
  14. JAVA课程设计个人博客 学生成绩管理 201521123023 戴建钊
  15. 十大面试难题解惑,看完秒杀一切 HR 面。程序员必读!
  16. moment.js常用时间示例,时间管理
  17. Android破解学习之路(十二)—— GP录像汉化过程及添加布局
  18. Maven 学习总结 (四)之 测试
  19. Oracle创建表sql语句
  20. linux学习:【第3篇】远程连接及软件安装

热门文章

  1. 直接拿来用!Facebook移动开源项目大合集
  2. vim的vimrc设置
  3. 4--OC --合成存取器方法
  4. KNN邻近分类算法
  5. update set from where
  6. Spring注解基本解读
  7. YII2 随笔 视图最佳实践
  8. 手写js代码(一)javascript数组循环遍历之forEach
  9. 重点block
  10. ida dump内存脚本