查看: 4017|回复: 2

NXP LPC1768宝马开发板第十章ADC

[复制链接]

该用户从未签到

发表于 2015-1-29 10:39:50 | 显示全部楼层 |阅读模式
分享到:
第十章    宝马1768——ADC  
开发环境:集成开发环境μVision4 IDE版本4.60.0.0
主机系统:Microsoft Windows XP
开发平台:旺宝NXP LPC1768开发板


10.1 TIME定时器
10.2 硬件描述
10.3 程序说明
10.4 实验现象

1LPC1768_ADC
LPC1768包含一个ADC模块,12位逐次逼近式模数转换器,由8个引脚复用为模拟输入引脚,200KHz12位转换频率,测量范围是0~VREFP(通常为3V,不超过VDDA),可选择有输入跳变或者定时器触发等方式启动转换。A/D转换器的基本时钟是由APB时钟提供。A/D转换器包含一个可编程的分频器,它可以讲APB时钟调整为主次逼近转换所需的时钟(最大可达13MHz)。并且,完全满足精度要求的转换需要65个这样的时钟。
2、硬件描述:
该例程用到的硬件主要是ADC,其次是辅助硬件串口和LCD屏,主要用作数据的显示。如果使用串口0,则需要把JP6JP7拔掉。
图片17.png
3、程序说明:
首先看主程序,主程序中首先是对LCDUART0的初始化,如果你没有用到LCD显示或者串口的显示,在主函数中可以注释有关代码,然后是ADC的初始化。在while()中,首先连续采集了8ADC数据,然后对得到的数据进行处理,转换成要显示的数据。
图片16.png
图片15.png
接下来看ADC的初始化,程序如下图所示:
图片14.png
从程序当中可以看到首先是对IO口进行设置,将IO配置成模拟输入。
图片13.png
图片12.png
然后是对时钟的使能,在功率控制寄存器PCONP中的第12位置1
图片11.png
ADC的控制器寄存器进行配置,选择通道,分频,以及使能ADC
图片10.png
图片9.png
接下来就是对ADC的值的采集,
图片8.png
图片7.png
首先是启动AD转换,对控制寄存器的26:24三个位写0,即是停止转换,写001是立即启动转换。启动转换之后,读取ADGDR寄存器的31位,判断数据转换是否结束,数据转换结束之后,读取其12位的AD值,最后停止转换,完成一次ADC的数据采集。A/D 全局数据寄存器ADGDR包含最近一次A/D 转换的结果,还包含转换过程中出现的状态标志的复件。
有两种方法可以读取 ADC 的转换结果。一种就是利用A/D 全局数据寄存器来读取ADC的全部数据,另一种是读取A/D通道数据寄存器。固定使用一种方法非常关键,否则DONE 和OVERRUN 标志在AD0GDR 和A/D 通道数据寄存器之间就不会同步,还可能会引起错误中断或DMA 操作。
图片6.png
也可以通过读取ADDR0~ADDR7寄存器中对应的通道的值,来获得对应通道的ADC采集值,
图片5.png 图片4.png
ADC数据转换结束之后,也是会产生中断的,需要对ADINTEN寄存器中,先使能对应通道的中断。
图片3.png
4、实验现象:
如果使用的是串口作为显示,则是下面的实验现象,使用USB线接在USB1接口上,拔掉JP6JP7,查看枚举出来的COM口,设置串口调试助手波特率是115200。注意要插上JP10,转动可调电阻VR1。实验现象如下图:
图片2.png
如果使用3.2寸屏,则显示如下:
图片1.jpg


1768.jpg
回复

使用道具 举报

该用户从未签到

发表于 2017-9-18 16:38:10 | 显示全部楼层
KEYI
feichang  ok
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-3-12 14:31:29 | 显示全部楼层
顶顶顶起来
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-4-26 01:05 , Processed in 0.124706 second(s), 20 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.