历史上的今天
今天是:2025年01月08日(星期三)
2020年01月08日 | MSP430的AD采集程序
2020-01-08 来源:eefocus
/*
基于msp430f169/149的双通道AD采集程序,,内部2.5V参考电压,中断处理方式,采用滑动平均的滤波
方式,在测试时稳定的电压的采集中在小数点后两位保持不动。
*/
#include "ADC.h"
#include "stdio.h"
#include
#define ADC_BUF_LEN 200
uint16_t ADC_Buf0[ADC_BUF_LEN] = {0} ; //ADC数据缓冲
uint16_t ADC_Buf1[ADC_BUF_LEN] = {0} ;
uint32_t ADC_Buf0_Sum = 0 ;
uint32_t ADC_Buf1_Sum = 0 ;
void ADC_Init(void)
{
P6SEL|=(BIT0 + BIT1); //选择ADC通道
ADC12CTL0 &= ~ENC ; //ADC12CTL0寄存器部分重要的位需要bit1 == 0 才能修改
ADC12CTL0 |= ADC12ON + SHT0_15 + REF2_5V + REFON + ADC12OVIE + ADC12TOVIE ; //ADC电源控制开,16个CLK,内部基准2.5V
//ADC12CTL1|= ADC12SSEL1 + ADC12SSEL1 + ADC12DIV_1; //SMCLK做时钟源
ADC12CTL1 = SHP + CONSEQ_3 ;
ADC12MCTL0 = INCH_0 + SREF_1; //p60,参考电压内部2.5
ADC12MCTL1 = INCH_1 + SREF_1 + EOS ; //p61,参考电压内部2.5V
//ADC12MCTL2 = INCH_10 + SREF_1 + EOS; //内部温度传感器
ADC12IE |= BIT0 + BIT1 ; //中断允许
}
/*启动ADC转换*/
void ADC_Start(void)
{
ADC12CTL0 |= ADC12SC + ENC ;
}
/*ADC 中断服务函数*/
#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR (void)
{
/*使用滑动平均值滤波*/
uint16_t res ;
float vol ;
static uint8_t index = 0 ;
uint8_t i ;
ADC12CTL0 &= ~ENC ;
ADC12CTL0 &= ~ADC12SC ;
ADC12CTL0 &= ~(BIT0+BIT1) ;
ADC12IE &= ~(BIT0|BIT1) ; //关中断
//while((ADC12CTL1&0x01)==1); //如果ADC忙,则等待,否则读取ADC转换数值
i = index % ADC_BUF_LEN ;
res = ADC12MEM0 ; //转移通道0的AD数据
ADC_Buf0_Sum -= ADC_Buf0[i] ; //最后一个数组空间放数组的和
ADC_Buf0[i] = res & 0x0FFF ;
ADC_Buf0_Sum += ADC_Buf0[i] ; //将新的数据与总和相加
res = ADC_Buf0_Sum / ADC_BUF_LEN ;
vol = 1.0 * res * 2.5 / 4095 ;
//vol = vol * 1.2184 ; //开发板的参数
vol = vol * 0.9954324 ; //我的实验板
//printf("%ut%ftt",res,vot) ;
res = ADC12MEM1 ; //转移通道1的AD数据
ADC_Buf1_Sum -= ADC_Buf1[i] ; //最后一个数组空间放数组的和
ADC_Buf1[i] = res & 0x0FFF ;
ADC_Buf1_Sum += ADC_Buf1[i] ; //将新的数据与总和相加
res = ADC_Buf1_Sum / ADC_BUF_LEN ;
vol = 1.0 * res * 2.5 / 4095 ;
//vol = vol * 1.2184 ; //开发板的参数
vol = vol * 0.9954324 ; //我的实验板
index++ ;
ADC12IE |= BIT0 + BIT1 ; //中断允许
ADC12CTL0 |= (BIT0+BIT1) ;
ADC_Start() ;
}
史海拾趣
|
铁电存储器(FRAM)能兼容RAM的一切功能,并且和ROM技术一样,是一种非易失性的存储器。铁电存储器在这两类存储类型间搭起了一座跨越沟壑的桥梁——一种非易失性的RAM。 相对于其它类型的半导体技术而言,铁电存储器具有一些独一无二的特性。传统的主 ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 谁见过这个情景啊 ?传销中传说的摇摆器 公司里边,专门有一个诊病室,各种头衔的专家教授亲自给人诊病。“专家”们说:拥有摇摆机,你就拥有了健康,有了健康你才能拥有妻子、儿子、房子、车 ...… 查看全部问答> |
|
今天看到了一个关于“从图像判断故障”的文章,觉得写的非常具体, 大家在实际应用中,怎么去判断呢,不妨来交流下。 文章如下: 监视器上无图像 1、监控主机等设备及其连接引起无图像显示的原因及解决法 ·微机切换主机输出至监视器的同轴 ...… 查看全部问答> |
|
内置天线技术要求 内置天线材料为铍铜、不锈钢等其他材料,具体支撑视结构而定。铍铜(外面镀金) 天线的RF 性能比较好,但是价格稍高于不锈钢材料。 内置天线性能的保证对结构要求较严,基本的要求如下,否则天线性能将受到较大影 响,具体影 ...… 查看全部问答> |
|
电源线滤波器主要起什么作用,选型时主要考虑哪些参数,使用电源线滤波器时要注意什么问题? 电源线滤波器的作用是抑制传导发射电流沿着电源线传播。选型时要考虑插入损耗(共模和差模)、额定电流、电压、有效的频率范围等参数,使用时要注意安装 ...… 查看全部问答> |
|
6年LED灯珠生产技术工程师经验(LED生产过程漏电的原因分析供工程师讨论)原创 一 选好芯片芯片的抗静电能力要好一点。 二 主要是双线双电极会漏点也就是说白光蓝光和绿光,红的黄的单电极的不怎么会漏电 如果芯片的抗静电能力很好的话,做出的产品还会有漏电的话,那主要原 ...… 查看全部问答> |
|
现在发现一个问题,由于电池端的电压在不同负载的时候会有所跳动,因此计算出的电池电量也会变化。 比如说,我再正常使用的时候电池电量显示75%,这个时候在播放MP3。不做其他操作,过了一分钟,背光会自动变暗,这是电量显示就变成80%,再过一分 ...… 查看全部问答> |
|
LF2407A烧写次数大约是多少?请大家根据自己经验都来答一下! 我用了两片,都写了十几次就坏了,unlock成功后也不好用,可能是flash真的坏了, 在此我想统计一下,请帮个忙,大家都答一下。 … 查看全部问答> |




