历史上的今天
返回首页

历史上的今天

今天是: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() ;


    

}

推荐阅读

史海拾趣

永丰盈(CST)公司的发展小趣事

作为一家有社会责任感的企业,CST始终关注环境保护和社会公益事业。公司严格执行环保法规,积极推广绿色生产理念,努力减少生产过程中的污染排放。此外,CST还积极参与社会公益活动,为当地的教育、文化等事业做出了积极贡献。这些举措进一步提升了CST的企业形象和社会声誉。

BB公司的发展小趣事

2000年,BB公司迎来了发展史上的一个重要时刻——被美国德州仪器公司收购。这一收购对于BB公司来说,既是挑战也是机遇。德州仪器作为全球领先的半导体公司,为BB公司提供了更广阔的平台和更丰富的资源。在德州仪器的支持下,BB公司得以继续深化技术创新和市场拓展,进一步提升了其在电子行业的地位。

DIPTRONICS MANUFACTURING INC公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,圜达实业始终坚持创新发展。公司不断推出新产品、新技术,以满足客户的多样化需求。同时,公司还积极与国内外知名企业开展合作,共同研发新技术、新产品,推动电子开关行业的持续发展。

请注意,以上故事梗概仅基于公开信息和一般行业趋势进行编写,可能无法涵盖圜达实业发展的所有细节和具体情况。

Ferranti Electric Inc公司的发展小趣事

Ferranti Electric Inc公司非常重视知识产权的保护和积累。通过不断的技术研发和创新,公司积累了大量的知识产权,包括商标、专利等。这些知识产权的拥有不仅彰显了公司的技术实力和创新能力,也为公司的市场竞争提供了有力的保障。公司不断加大在研发和创新方面的投入,以保持其在电气行业的领先地位。

广东长利光电(Changli Optoelectronic)公司的发展小趣事

在广东长利光电的发展历程中,公司始终注重企业文化建设和社会责任履行。公司倡导“以人为本、诚信务实、创新进取”的价值观,为员工提供了良好的工作环境和培训机会。同时,公司还积极参与社会公益事业,为社区的发展和环境保护做出了贡献。这些举措不仅提升了公司的品牌形象,还增强了员工的归属感和凝聚力。

以上五个故事,展现了广东长利光电在电子行业的发展历程和取得的成就。从初创时期的坚持与创新,到质量管理的突破,再到市场拓展与全球化布局,以及技术升级与产品创新,最后到企业文化建设与社会责任履行,每一个阶段都充满了挑战与机遇。广东长利光电正是凭借着对LED技术的深刻理解和市场需求的敏锐洞察,不断创新和发展,成为了电子行业中的佼佼者。

FTDI公司的发展小趣事

进入21世纪,广东长利光电开始将目光投向国际市场。公司积极参加各种国际展览和交流活动,与世界各地的客户建立了广泛的联系。凭借优质的产品和服务,公司逐渐在国际市场上崭露头角。为了更好地服务全球客户,广东长利光电在中国设立了多个办事处,并建立了完善的销售和服务网络。

问答坊 | AI 解惑

铁电存储器的技术原理

铁电存储器(FRAM)能兼容RAM的一切功能,并且和ROM技术一样,是一种非易失性的存储器。铁电存储器在这两类存储类型间搭起了一座跨越沟壑的桥梁——一种非易失性的RAM。 相对于其它类型的半导体技术而言,铁电存储器具有一些独一无二的特性。传统的主 ...…

查看全部问答>

传说中的!昔日的传销——摇摆器! (转)

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 谁见过这个情景啊 ?传销中传说的摇摆器 公司里边,专门有一个诊病室,各种头衔的专家教授亲自给人诊病。“专家”们说:拥有摇摆机,你就拥有了健康,有了健康你才能拥有妻子、儿子、房子、车 ...…

查看全部问答>

看看你是不是安防达人,从图像辨故障

今天看到了一个关于“从图像判断故障”的文章,觉得写的非常具体, 大家在实际应用中,怎么去判断呢,不妨来交流下。 文章如下: 监视器上无图像 1、监控主机等设备及其连接引起无图像显示的原因及解决法 ·微机切换主机输出至监视器的同轴 ...…

查看全部问答>

手机内置天线技术要求

内置天线技术要求 内置天线材料为铍铜、不锈钢等其他材料,具体支撑视结构而定。铍铜(外面镀金) 天线的RF 性能比较好,但是价格稍高于不锈钢材料。 内置天线性能的保证对结构要求较严,基本的要求如下,否则天线性能将受到较大影 响,具体影 ...…

查看全部问答>

EMC 之电源线滤波器基础知识

电源线滤波器主要起什么作用,选型时主要考虑哪些参数,使用电源线滤波器时要注意什么问题? 电源线滤波器的作用是抑制传导发射电流沿着电源线传播。选型时要考虑插入损耗(共模和差模)、额定电流、电压、有效的频率范围等参数,使用时要注意安装 ...…

查看全部问答>

6年LED灯珠生产技术工程师经验(LED生产过程漏电的原因分析供工程师讨论)原创

一  选好芯片芯片的抗静电能力要好一点。 二  主要是双线双电极会漏点也就是说白光蓝光和绿光,红的黄的单电极的不怎么会漏电      如果芯片的抗静电能力很好的话,做出的产品还会有漏电的话,那主要原 ...…

查看全部问答>

89C51\52入门请教

本人想比较快速掌握89C51\\52的程序设计,请各位高手赐招.汇编和C语言我已学过了,还可以. 推荐几本书,什么的.....…

查看全部问答>

电压跳动导致电池读数变动的问题

现在发现一个问题,由于电池端的电压在不同负载的时候会有所跳动,因此计算出的电池电量也会变化。 比如说,我再正常使用的时候电池电量显示75%,这个时候在播放MP3。不做其他操作,过了一分钟,背光会自动变暗,这是电量显示就变成80%,再过一分 ...…

查看全部问答>

我的STLINK好像烧了

                                 今天中午用STLINK调试PS2接口,这个PS2键盘好像有问题,所以中间把四根线和目标板分离了一次,然后再调试,发现读 ...…

查看全部问答>

LF2407A烧写次数大约是多少?请大家根据自己经验都来答一下!

我用了两片,都写了十几次就坏了,unlock成功后也不好用,可能是flash真的坏了, 在此我想统计一下,请帮个忙,大家都答一下。 …

查看全部问答>