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使用的更多相关文章
随机推荐
- db2数据导出导入
C:\Users\yexuxia>set db2instance=TCASHMAN C:\Users\yexuxia>db2(c) Copyright IBM Corporation 19 ...
- UVALive 2521 Game Prediction 题解
这个我上来把题目理解错了,我以为所有人的牌都是一样的,感觉这个题太麻烦了吧,而且题目样例过不去啊……后来发现理解错了,给出的数据是他一个人的数据,就是让我们求他一定能赢的轮数,所有的牌是固定的(1 - ...
- linux和windows之间上传 下载文件 非ftp方式
用 命令 rz 上传 sz 下载 文件夹加上 -r rz上传替换时用 -y 谁用谁知道 两台linux传 : scp -r 文件夹 username@ip:路径 (如果传输文件就 ...
- android 市场发布应用小结
1:360平台发布应用 网址:http://dev.app.360.cn/ 2:腾讯应用宝 平台发布应用: 地址:http://op.open.qq.com/ (未审核通过的不能更新版本) 3:发布 ...
- Git学习 -- 简介
Git是什么? 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 特点 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本 ...
- windbg 之 如何定位进程入口点地址
载入HelloWorld.exe之后我们看看加载了哪些模块:
- jquery页面滑到底部加载更多
$(window).scroll(function(){ var _scrolltop = $('body').scrollTop();if(_scrolltop+_winHeight>_doc ...
- Android AudioPolicyService服务启动过程
AudioPolicyService是策略的制定者,比如什么时候打开音频接口设备.某种Stream类型的音频对应什么设备等等.而AudioFlinger则是策略的执行者,例如具体如何与音频设备通信,如 ...
- dubbo Forbid blacklist
http://www.jameswxx.com/dubbo/%E8%A7%A3%E5%86%B3dubbo%E9%97%AE%E9%A2%98%EF%BC%9Aforbid-consumer/
- Application对象
Application对象报讯是应用程序参数的额,多个用户可以共享一个Application.用于启动和管理ASP.NET应用程序. Count 属性 获取Application对象变量的个数,集合 ...