历史上的今天
今天是:2025年04月12日(星期六)
2019年04月12日 | MSP430 中ADC12用法
2019-04-12 来源:eefocus
1.1. 介绍

Figure 4 AD模块图
在处AD时,我们关注的对象有如下几个,参考源、通道、存储地址、时钟、触发方式、精度,速度(200k)。
在上图中我们都可以找到,msp430f149的参考正电源有VRFE+ VeREF+ ,Vcc,同时有对应的负电源。采样通道有16个,存储地址则有对应16个通道,时钟则是有内部时钟及3种时钟源的分频,触发方式有4种。
因此,对于这些特点我们可以实现4种模式,单通道单次采样,单通道多次采样,多通道单次采样,多通道多次采样。
1.2. 相关寄存器
ADC12CTL0:前面8位是对采样保持时间的设置。后8位分别对应8种设置
ADC12CTL1:前4位进行通道选择,后12位中有其它设置
ADC12MEMX:存储地址
ADC12MCTLX:通道,是否结速,在ENC=0时才可写
1.3. 样例代码
单通道单次采样:
P6SEL |= 0x01; // 使能A/D 通道A0
ADC12CTL0 = ADC12ON+SHT0_2; // 打开 ADC12, 设置采样时钟
ADC12CTL1 = SHP; // 使用采样时钟
//ADC12MCTL0 = SREF_2; // Vr+ = VeREF+ (外部)
ADC12CTL0 |= ENC+ADC12SC; // 使能转换
While(1)
{
ADC12CTL0 |= ADC12SC; // 开始转换
while ((ADC12IFG & ADC12BUSY)==0);
value=ADC12MEM0;
}
单通道多次采样:
P6SEL |= 0x01; // 使能A/D 通道A0
ADC12CTL0 = ADC12ON+SHT0_2; // 打开 ADC12, 设置采样时钟
ADC12CTL1 = SHP+CONSEQ_2; // 使用采样时钟
//ADC12MCTL0 = SREF_2; // Vr+ = VeREF+ (外部)
ADC12CTL0 |= ENC+ADC12SC+MSC; // 使能转换
While(1)
{
while ((ADC12IFG & ADC12BUSY)==0);
value=ADC12MEM0;
}
多通道单次采样
P6SEL |= 0xff; // 使能A/D 通道A0
ADC12CTL0 = ADC12ON+SHT0_2; // 打开 ADC12, 设置采样时钟
ADC12CTL1 = SHP+CONSEQ_1; // 使用采样时钟
//ADC12MCTL0 = SREF_2; // Vr+ = VeREF+ (外部)
ADC12MCTL4|=INCH_5;
ADC12MCTL6|=EOS+INCH_4;
ADC12CTL0 |= ENC+ADC12SC+MSC; // 使能转换
While(1)
{
ADC12CTL0 |= ADC12SC; // 开始转换
while ((ADC12IFG & ADC12BUSY)==0);
value=ADC12MEM0;
// value=ADC12MEM1;
}
多通道多次转换
P6SEL |= 0xff; // 使能A/D 通道A0
ADC12CTL0 = ADC12ON+SHT0_2; // 打开 ADC12, 设置采样时钟
ADC12CTL1 = SHP+CONSEQ_3; // 使用采样时钟
//ADC12MCTL0 = SREF_2; // Vr+ = VeREF+ (外部)
ADC12MCTL4|=INCH_5;
ADC12MCTL6|=EOS+INCH_4;
ADC12CTL0 |= ENC+ADC12SC+MSC; // 使能转换
ADC12CTL0 |= ADC12SC; // 开始转换
while(1)
{
while ((ADC12IFG & ADC12BUSY)==0);
value=ADC12MEM0;
Delay_nop(1000);
}
史海拾趣
|
大家知道起重机么?看看右图就有个直观的了解咯。起重机又称吊车,属于物料搬运机械。起重机的工作特点是做间歇性运动,即在一个工作循环中取料、运移、卸载等动作的相应机构是交替工作的哟,在我们的建筑业中是不可缺少的重要工具哦。 那么 ...… 查看全部问答> |
|
【摘 要】 介绍了嵌入式实时操作系统uCO S2II 的特点和内核结构, 并通过对A TM EL 公司A T 91M 55800A 的体系结构的分析, 讨论了移植的可能性, 同时提出了移植过程中出现的问题及解决的方法, 最终通过设计多 任务的应用程序证实了移植的成功L… 查看全部问答> |
|
在只安装有.net framework环境下,在运行到连接sqlce数据库时就无法通过,但也不明确提示什么错, 在安装有开发环境下,能正常运行,不知道怎么回事~~~ 总不至于在客户那边都给装上开发环境吧~~ 我试着装过net framework compact,sql ce,都没效果~~ ...… 查看全部问答> |
|
今天用GRLIB将手机界面做出来了,加入touch.c就完成了触摸功能,就可以完成任务了。然后又把UC/OS_II加入,以前一直做多就绪任务最高优先级查询,但一直没弄清楚,现在弄明白了。也和大家分享一下心得。 要弄清楚,首先要了解两个变量和两个数组。 ...… 查看全部问答> |
|
我在做同步相量测量(PMU) 就是把AD采集的三项交流电压和电流值打上时标然后上传,在接收PC发送的控制命令,如控制继电器开关的命令。由于要对数据打时标(时间戳),底层的PMU采集装置散布在不同的点,每一个点(PMU)安装一个GPS 不现实 ...… 查看全部问答> |




