Msp430学习笔记—ADC12(一)
编自CSX_锅!
ADC12:
- 采样→保持→量化→编码
- 12 bits;200ksps(kilo samples per second)
- 逐次逼近法实现 analog to digital;
ADC12具有多路通道模拟输入,却只有一个__转换内核__,故需要__模拟多路通道__每次将待转换的通道接入转换内核。转换内核由__采样保持器__和__转换器__构成;
基准电压
所有的ADC/DAC都需要一个基准电压,即Vref+ & Vref-;
reference voltage分为external和internal(on-chip)两种;可通过软件选择;
on-chip reference voltage 又有1.5V和2.5V两种选择;
REFON = 1; //enable the internal reference
REF2_5 = 1; //reference voltage is 2.5V
当模拟输入>=最大reference voltage 数字输出为 full scale;(反向同理)
Conversion Formula:(12位)
The reference can be turned off to save power when not in use!!
相关寄存器
转换控制寄存器
ADC12CTL0
ADC12CTL1
中断控制寄存器
ADC12IFG & ADC12IE & ADC12IV
储存控制寄存器
ADC12MCTLx --> 通道控制寄存器
ADC12MEMx --> 通道储存寄存器
!寄存器不同控制位作用详见用户手册(或下一篇笔记);TI用户手册网址
时钟源
ADC工作时同样需要时钟驱动;ADC12CLK;Possible clock source:
SMCLK、MCLK、ACLK、internal oscillator ADC12OSC;
- Using ADC12SSELx bits to select source clock.
- Clock can be divided from 1-8 using the ADC12DIVx bits.
转换模式
- 单通道单次转换
- 序列通道单次转换
- 单通道多次转换
- 序列通道多次转换
可采用软件查询式和中断查询式两种方式读取转换数值。
中断
共18个中断源,共用一个中断向量!
ENC must be set to 1 before any conversion can take place!
void InitADC()
{ADC12CTL1 |= ADC12SSEL_2; //ADC时钟MCLKADC12CTL1 |= ADC12DIV_0; //ADC二分频ADC12CTL0 |= SREF_1; //ADC基准源选择内部基准源ADC12CTL0 |= REF2_5V; //ADC基准源选择2.5VADC12CTL0 |= ADC12SHT_3; //ADC采样保持时间ADC12CTL0 &= ~ADC12SR; //ADC采样率ADC12CTL0 |= REFON; //开启基准;ADC12CTL1 |= INCH_0; //选择ADC输入通道ADC12CTL1 |= 0x0001; //允许A0模拟输入ADC12CTL0 |= ADC12ON; //开启ADC
}
uint16_t GetADCValue(void)
{ADC12CTL0 |= ENC + ADC12SC;while(ADC10CTL1&ADC10BUSY);return ADC12MEM;
}
The ADC12 can be turned off when not in use to save power!
Msp430学习笔记—ADC12(一)相关推荐
- MSP430学习笔记2---两个LED同时亮灭和顺闪
参照学习笔记1,再看看板子上写着P1.0(LED1) P1.6(LED2)很容易写出同时点亮两个LED的程序: 1 #include <msp430x14x.h> 2 3 void mai ...
- MSP430学习笔记
系统的复位电路由POR和PUC信号驱动. 一个POR信号之后,初始化MSP430的条件如下:在复位模式时,RST/NMI引脚被配置.I/O引脚被设置为输出.外围设备模块被初 ...
- MSP430学习笔记-定时器A
16 位定时器 A 模块寄存器 TACTL TIMER_A 控制寄存器 15-10 9-8 Unused TASSELx 7-6 5-4 3 2 1 0 IDx MCx Unused TACLR TA ...
- MSP430学习笔记(2)定时器A
欢迎访问我的个人网站:http://www.qingshuimonk.com/ 3. 定时器A: 所有MSP430系列的FLASH型单片机都含有定时器A(Timer_A),由一个16位定 ...
- MSP430学习笔记5-利用蜂鸣器演奏音乐
这个小程序仍然是定时器的运用,比较简单,具体的地方都在注释中注明了,参考注释. /********************************************* 程序功能:MCU控制蜂鸣器 ...
- MSP430学习笔记6-动态数码管的显示
这个程序主要部分是我改写的,程序把看门狗当做普通定时器使用,在看门狗中断中进行数码管扫描,另外我加入了显示的缓冲区,想在数码管上显示什么数字只需要对缓冲数组中的值进行操作即可.最后加入了小数点的操作, ...
- MSP430学习笔记11-八路ADC采集诺基亚5110液晶显示
本程序采用的是八路ADC单次采集的模式,根据配置,在单次的模式下转换完成后ADC12SC会自动复位,因此需要在循环中进行ADC12CTL0 |= ADC12SC;操作,而如果配置成连续采集的模式,只需 ...
- MSP430F5529 DriverLib 库函数学习笔记(八)模数转换模块(ADC12)
目录 硬知识 模数转换概述 MSP430单片机ADC12模块介绍 MSP430单片机ADC12模块操作 ADC12的转换模式 采样和转换 转换存储器 使用片内集成温度传感器 ADC12模块寄存器 AD ...
- UML时序图(Sequence Diagram)学习笔记
UML时序图(Sequence Diagram)学习笔记 原创 SuperMan-zhang 最后发布于2018-07-04 14:37:25 阅读数 94844 收藏 发布于2018-07-04 1 ...
最新文章
- mysql5.7和8.0的区别_Windows Terminal 1.0 和 Linux 版有啥区别
- mysql delete 注意
- 类: property
- Linux安装/卸载软件教程
- Silverlight 2 学习笔记之事件的重复绑定问题
- 为什么企业需要IT资产管理
- 具有CompletableFuture的异步超时
- 二值化图像是什么?图像如何二值化?
- App Start Up Step
- SMT工艺培训一日谈
- 编程实践精华总结集锦系列1: SpringBoot/Maven/IDEA/Java/Kotlin/Redis等等
- 群晖Docker青龙面板部署方法V2.11.0
- linux bond双活跟主备的区别,“双活中心”比“主备”方式更可靠
- web.xml 3.0
- 复旦大学计算机学院教师简介,复旦大学计算机科学技术学院导师教师师资介绍简介-危辉...
- EDA程序设计--计时器设计
- ❤️❤️❤️Unity废柴看过来,手把手教你做植物大战僵尸(二)—— 序列帧动画
- hadoop配置、运行错误总结[一]
- 机器学习——“物以类聚,人以群分”之聚类分析(层次聚类,K-means)
- 实体词典 情感词典_基于词典的文本情感分析(附代码)
热门文章
- iPhone苹果手机语音备忘录M4A文件损坏显示时长无法播放修复方法
- 微信支付异常(“应答的微信支付签名验证失败“)记录
- 面向端到端的情感对话生成研究综述
- 基于S7-1200 PLC实现PIDNN控制仿真
- EduSoho网校系统产品更新:PPT动画转码
- css 使用 :placeholder-shown 实现MaterialDesign风格的交互
- Mono 3.2 测试NPinyin 中文转换拼音代码
- pythonGUI(二)基本元素之二
- 操作系统安装前的操心
- OD破解软件找断点方法系列【2】----万能断点法(XP系统)