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. AIX创建用户

    -bash-3.2# mkuser test                    创建用户3004-689 User "test" exists.-bash-3.2# finge ...

  2. android下m、mm、mmm编译命令的使用

    android下m.mm.mmm编译命令的使用 通过查看android源码目录下的build/envsetup.sh文件,可知: - m:       Makes from the top of th ...

  3. 80x86的3种工作方式

    80x86中的32位CPU全面支持32位的数据.指令和寻址方式,提供了3种工作方式:是地址方式.保护方式和保护方式下的虚拟8086方式.在计算机上电或复位后,32位CPU首先初始化为是地址方式,再通过 ...

  4. 为什么总是要求使用position的时候父类是relative

    当我们使用position的时候,一般来说外面的框架是使用relative,里面的元素使用absolute的,这里有两个注意点: 1.如果我们不给父类一个position属性的时候,那么子元素就会以b ...

  5. java 方法的重载的语法规则

    class People { float hello(int a,int b) { return a+b; } float hello(long a,int b) { return a-b; } do ...

  6. [原]JavaScript总结

    匿名函数 var ff = function () {             return 'hhqybsl';         };         var result = ff();      ...

  7. (一)、Struts第一天

    (一).Struts第一天 1. JavaWeb知识回顾 n 客户端编程 HTLM/CSS/JS n XML技术 会写XML * 基本语法 * DTD * Schema 会读XML * Dom4J读取 ...

  8. jsp自动刷新(转)

    1.页面自动刷新:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20">,其中 ...

  9. UIButton 解析

    IOS之按钮控件--Button全解析及使用 转载自:forget  IOS开发中伴随我们始终的 最常用的几个空间之一 -- UIButton 按钮,对于button今天在此做一些浅析,并介绍下主流用 ...

  10. 转:web_reg_save_param的使用详解

    [摘要]利用实际案例说明如何使用Mercury LoadRunner提取包含在 HTML 页内的动态信息并创建参数. [关键词]性能测试,压力测试,Mercury LoadRunner 应用范围 在使 ...