lpc1768ADC使用
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;
}
lpc1768ADC使用的更多相关文章
随机推荐
- Java中常见的5种WEB服务器介绍
这篇文章主要介绍了Java中常见的5种WEB服务器介绍,它们分别是Tomcat.Resin.JBoss.WebSphere.WebLogic,需要的朋友可以参考下 Web服务器是运行及发布Web应用的 ...
- 关于:hover的一点小问题
今天又用到了:hover这个伪类选择器,一个小问题搞了我好久,就是关于:hover选择的问题, 先看下css代码 .box:hover span { height: 150px; } 接下来是HTML ...
- JDBC的超时原理
1.什么是JDBC jdbc是业务系统连接数据的标准API.SUN公司一共定义了4中类型的JDBC:JDBC-ODBC桥:Native-API 驱动:Network-Protocol 驱动:Datab ...
- PAT1027
People in Mars represent the colors in their computers in a similar way as the Earth people. 火星人在他们的 ...
- Git 分支 - 分支的衍合
分支的衍合 把一个分支中的修改整合到另一个分支的办法有两种:merge 和 rebase(译注:rebase 的翻译暂定为“衍合”,大家知道就可以了.).在本章我们会学习什么是衍合,如何使用衍合,为什 ...
- php报错 Call to undefined function mb_stripos()
错误原因 没有mbstring扩展 本文只介绍Linux解决办法 方法一 编译PHP的时候 带上--enable-mbstring参数 方法二 进入PHP源码/ext/mbstring目录 ./con ...
- qemu -hda /dev/sdc -m 1024 -vga std
同事拿了个烂u盘让我给他做个启动盘,用cp *.iso /dev/sdc怎么也启动不了. 改用dd if=copied/20140923/debian-7.6.0-amd64-DVD-1.iso of ...
- activity管理类 appManager
程序启动第一个界面类: net.oschina.app.AppStart功能描述:一张图片代码细节描述:一个透明度的动画效果,效果动画完成后自动启动新的Activity(Main) 基本BaseAct ...
- java删除文件夹 Java中实现复制文件或文件夹
删除文件夹 import java.io.File; public class DeleteDir { /** * @param args */ public static void main(Str ...
- 转 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
软件开发的一般流程为工程师开发 -> 测试 -> 上线,因此就涉及到三个不同的环境,开发环境.测试环境以及生产环境,通常 ...