历史上的今天
返回首页

历史上的今天

今天是:2024年10月10日(星期四)

正在发生

2019年10月10日 | MSP430之AD12笔记及使用一例

2019-10-10 来源:eefocus

MSP430的AD12使用灵活,功能强大.我在学习的过程中特别总结了一下,以后回头来也方便咯,呵呵.


1.AD12(12路输入通道(8路外部输入通道,4路内部输入通道),4种模式)


(1)寄存器:


A.转换控制:ADC12CTL0、ADC12CTRL1


B.中断控制:ADC12IFG  、 ADC12IE  、ADC12IV


C存储控制类:ADC12MCTL0 — ADC12MCTL15(8位寄存器,每个寄存器对应于一个ADCMEM12x,定义参考电压和通道)


D.存储器类:ADC12MEM0 — ADC12MEM15


(2)四种工作模式


A.单通道单次转换


B.单通道多次转换


C.多通道(序列)单次转换


D.多通道(序列)多次转换


(3)ADC12CTL1有两个和时钟相关的设置:


A.SHS:(0-4)采样输入信号源选择控制位.AD采样时钟.


B.ADC12SSEL:(0-3) ADC12内核时钟. 


特别注意二者的区别.


(4)ADC12在AD转换中完全是自动完成的,所以在多次转换中大多在中断处理程序中处理.


在学习中多练习是必要的,如下是单通道单次转换的例子.不同的工作模式需要设置不同的工作标志位(0-3).


/*

MSP430 

ADC12 单通道单次转换

*/


#include

#define ADCMEM ((int *)0x0140)


void Init(void)

{

  WDTCTL = WDTPW + WDTHOLD ;

  /*ADC12 Setting*/

  P6SEL = 0xFF;

  ADC12CTL0 &= ~0x02 ;          //禁止转换

  ADC12MCTL0 = 0x00;            

  ADC12MCTL1 = 0x8A;

  ADC12CTL1 = 0x0202;

  ADC12CTL0 = 0x0010 + SHT0_8;

  ADC12CTL0 |= 0X02;            //使能ADC转换

}

//interrupt[ADC_VECTOR] void ADC12(void) ;

//unsigned int Result ;

int main( void )

{

  unsigned int i ;

  unsigned int j;

  unsigned int Result[2];

  Init();

  while(1)

  {

    for(i = 0;i<2 ;i++)

    {

      ADC12CTL0 |= 0x01 ; //开始转换

      ADC12CTL1 &= ~0x01;

      for(j = 0;j<=1000 ;j++);

    }

    while((ADC12CTL1 & 0x01)==1);

    for(j = 0; j<2 ; j++)

    {

      Result[j] = ADCMEM[j];

    }

    for(i = 0 ; i<10000 ;i++);

  }

  return 0;

}


推荐阅读

史海拾趣

康奈特(CNNT)公司的发展小趣事

随着电子行业的快速发展,康奈特意识到单一的镜片业务已经无法满足市场需求。于是,公司开始积极布局多元化战略,通过收购和合作的方式,拓展了眼镜框、眼镜配件等相关业务。同时,公司还加大了对智能眼镜、VR/AR眼镜等新兴领域的研发投入,为未来的市场竞争打下了坚实基础。

Ferranti Electric Inc公司的发展小趣事

Ferranti Electric Inc公司的历史可追溯到1880年,由Sebastian Ziani de Ferranti(塞巴斯蒂安·齐亚尼·德·费兰蒂)在英国创立。作为发电机及壳式变压器的发明者之一,费兰蒂博士不仅拥有交流发电机、高压电缆、断路器等176项专利,而且他的创新精神也为公司的创立和发展奠定了坚实的基础。初创时期,公司就专注于电气产品的研发和生产,逐渐在电气行业崭露头角。

DIOTECH公司的发展小趣事

随着全球环保意识的不断提高,DIOTECH公司也开始关注绿色环保和可持续发展问题。公司投入大量研发资源,成功开发出了一系列绿色电子产品,这些产品在生产过程中采用了环保材料和生产工艺,并且具有低功耗、长寿命等特点。这些产品的推出不仅满足了市场对环保产品的需求,也提升了公司的社会责任感和品牌形象。

Electroswitch公司的发展小趣事

Electroswitch Electronics Products(以下简称“Electroswitch”)成立于1986年,是Electro Switch Corp的一个子公司,后者早在1946年就已创立。在创立之初,Electroswitch就致力于设计和制造高品质的开关产品,以满足电子应用领域的各种需求。通过不断的技术创新和产品优化,Electroswitch逐渐在电子行业中树立了良好的声誉。

Emmoco公司的发展小趣事

随着产品质量的不断提升和技术的不断创新,Emmoco开始积极拓展市场。公司制定了详细的市场拓展计划,通过参加国际展会、举办技术研讨会等方式,不断提高品牌知名度和影响力。同时,Emmoco还积极与国内外知名企业建立合作关系,共同开拓市场,实现互利共赢。这些举措使得Emmoco的市场份额不断扩大,品牌影响力逐渐增强。

Cardinal Components公司的发展小趣事

1986年,Cardinal Components公司正式成立,标志着其在电子行业的起点。初创时期,公司面临着资金短缺、市场竞争激烈等诸多挑战。然而,凭借创始人的远见卓识和团队的共同努力,Cardinal迅速确立了其在宽线晶体和振荡器制造领域的专业地位。公司不断研发新产品,提高产品质量,逐渐赢得了客户的信任和市场的认可。

问答坊 | AI 解惑

【转贴】16 bits to packed BCD, 51 ASM. 61周期/80字节

TEST_NUM  EQU 65432  ORG 000H    MOV R2, #LOW(TEST_NUM) ; #11111111B     MOV R3, #HIGH(TEST_NUM); #11111111B ; 65535    CALL BIN2BCD    ...…

查看全部问答>

不同焊接方式对电路板上的电容器可靠性影响

作为一种储能和滤波元件,电容器的性能对电路处理信号的稳定性影响是决定性的;使用在滤波电路,电容器的高频阻抗ESR和高频感抗会对电容器的容量在不同频率下的变化值起决定性的影响,当高频阻抗较高时,产品在高频下工作时的实际容量将下降,感抗 ...…

查看全部问答>

大公司好吗?

今天看到个新闻,富士康有员工跳楼了,有句民谣:“招工无好厂,好厂不招工”在智通人才市场,每场招聘会都有富士康,肯定不止一个摊位。我从来没去应聘过,有种感觉告诉我:不应该把时间和青春浪费给他们。上个月我进了中山威斯达电器,几千人的大 ...…

查看全部问答>

二线制温度变送器的设计

二线制温度变送器的设计,实用性较强!!!!…

查看全部问答>

使用STM32的FSMC时地址线数据线复用问题

请教两个使用STM32的FSMC时地址线数据线复用问题:    1. 在使用FSMC时,如果只用到19根地址线,那么A19-A25是不是可以当做通用输入输出口来用?   2. 在使用FSMC时,如果只用到8根数据线,那么D8-D15是不是可以 ...…

查看全部问答>

KEIL C 编译器出现部分语句不编译的情况,求助原因?

#define        SBUFLENS        21 uchar        ArraySPSData [SBUFLENS];                        // data to be ...…

查看全部问答>

S3C24xx 触摸屏 用一段时间后失效

各位大哥,请教一下,     我用 S3C2416 的时候触摸屏用了一会就无效了,     系统没有再进     DdsiTouchPanelGetPoint 函数,     用示波器查看发现     TSXM    TSXP & ...…

查看全部问答>

如何做一个带阻滤波器(二阶)

如题 要求fo=1khz 阻带外抑制度15db 请高手解答阿阿啊啊啊…

查看全部问答>

wince explorer 有人研究吗,有人能描述下这个源代码的执行流程吗

wince下 explorer 有人研究吗,有人能描述下这个源代码的执行流程吗…

查看全部问答>

差不多的结构体,差别怎么这么大呀?

typedef struct { char regAddr; double regValue; char regMast; }reg_A; typedef struct { char regAddr; char regMast; double regValue; }reg_B;   在实际的程序中,我发现:sizeof(reg_A)=24,sizeof(reg_B)=16 ...…

查看全部问答>