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 vector 和ArrayList的区别
相同点: 1.都是使用数组存储数据 不同点: 1.Vector是显示安全的,ArrayList是线程不安全的 Vector部分代码: public synchronized boolean add(E ...
- Moya 浅析
Moya是一个高度抽象的网络库,他的理念是让你不用关心网络请求的底层的实现细节,只用定义你关心的业务.且Moya采用桥接和组合来进行封装(默认桥接了Alamofire),使得Moya非常好扩展,让你不 ...
- Android 使用存放在存assets文件夹下的SQLite数据库
因为这次的项目需要自带数据,所以就就把数据都放到一个SQLite的数据库文件中了,之后把该文件放到了assets文件夹下面.一开始打算每次都从assets文件夹下面把该文件夹拷贝到手机的SD卡或者手机 ...
- 初探JavaScript魅力
<style> #div1{width:200px; height:200px; background:red;} </style> </head> <scr ...
- jz2440 环境搭建遇到的问题
已解决:
- html标签中head中两个标签的作用
<meta name="render" content="webkit"> //浏览器使用急速模式打开 <meta http-equi ...
- CenOS下LAMP搭建过程
CentOS虚拟机中安装LAMP: Linux+Apache+MySQL+PHP 安装前先关闭防火墙和Selinux 把所有安装包解压到/lamp下(根目录下的lamp目录) 安装gcc, gcc-c ...
- TM3、4波段GeoTiff数据计算NDVI
源码: 1: PRO TIFF_NDVI,F1,F2,FOUT 2: F1 = DIALOG_PICKFILE(TITLE = 'B4 TIFF',FILTER='*.TIF',/READ) 3: ...
- css初始化值
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,textarea,input,p,th,td,tr,table,tbody,thead,tfoot, ...
- PL/SQL DEVELOPER 导出表数据
http://jingyan.baidu.com/album/fcb5aff78e6a48edab4a7146.html?picindex=4 1. 导出表数据 打开pl/sql客户端 在左侧 点击t ...