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;
}
转载于:https://www.cnblogs.com/dengxiaojun/p/4338677.html
lpc1768ADC使用相关推荐
最新文章
- 在全面部署 IPV6 前,你需要了解都在这儿
- python【力扣LeetCode算法题库】69-x 的平方根
- java lists 引用包,在线等java【不在同一类,同一个包的两个LIst可以实现复制么?怎...
- matlab神经网络1:功能特色
- python循环语句打印矩形_Python中使用循环语句打印三角形、菱形
- matlab fopen wt,matlab的fopen和fprintf
- mifare classic 2.2.3中文_Adobe Lightroom Classic CC 2019 v8.4.1 中文完整直装版
- CentOS 7上快速安装saltstack
- java类的引用使用即String类的toUpperCase的使用
- ubuntu14.04 下 mysql 存储目录迁移
- 控制Tello无人机扫描条形码
- 一套键鼠操控多台电脑Mouse without Borders
- html判断闰年,javascript怎么判断是否闰年?
- mysql既有整数又有小树字段类型,事业单位招考计算机专业知识试题
- 各种翻车问题——最长公共前缀
- 程序员励志视频_5个最适合程序员的励志视频
- 批量生成独一无二的NFT猫猫图,这项目王多鱼会投吗?
- 转行程序员需要做好哪些准备?只有这种人能成功转行ǃ
- 2022电大国家开放大学网上形考任务-桥梁工程技术非免费(非答案)
- java 1.7.0 51下载 64_JD7K_jd7k-7u51-windows-x64.exe V7.0u51 64位 官方版
热门文章
- 计算机网络基础课后习题,《计算机网络技术基础》课后习题参考答案
- 如何用PDF编辑器编辑、修改PDF文本和图片?
- 面试阿里巴巴有多难,看看面经你就知道了
- Canvas--文字
- 北京市211学校计算机专业,北京较容易考的2所211大学,王牌专业实力强悍,学生不愁就业...
- python eel vue_张莽子—
- 使用ASMap构建高密度遗传图谱
- 微信公众号Java开发记录(二)接收、回复消息
- MySQL比较两张表数据相同、不同结果记录
- matlab x的平均值符号怎么打出来,教你在Word中输入平均数的符号X上加一横(X拔)...