历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2021年02月01日 | msp430g2553的ADC10多通道输入

2021-02-01 来源:eefocus

msp430g2553有8个外部通道可以输入,下面将完成3路输入控制3个LED亮灭的程序。

寄存器说明

msp430g2553的ADC10寄存器

代码说明

在熟悉adc10的几个寄存器后,来看代码

1、ADC10CTL1 = INCH_5+CONSEQ_1;控制寄存器设置了最高的通道和转换模式。

2、ADC10AE0|= BIT5+BIT4+BIT3;输入使能寄存器设置了要输入的引脚。

3、采样次数和存放位置:

ADC10DTC1 = 0x03;设置采样次数

unsigned int a[]={0};

ADC10SA = (unsigned int)a; 存放地址

若p1.5,p1.4,p1.3输入,采样3次,通道序列单次(转换模式)

则a[0]存放p1.5采样结果,则a[1]存放p1.4采样结果,则a[2]存放p1.3采样结果

若p1.5,p1.4,p1.3输入,采样6次,通道序重复(转换模式)

则a[0]存放p1.5采样结果,则a[1]存放p1.4采样结果,则a[2]存放p1.3采样结果

则a[3]存放p1.5采样结果,则a[4]存放p1.4采样结果,则a[5]存放p1.3采样结果

eg:4通道4次重复采样

unsigned int adc[4];

unsigned int adc_temp[16];

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

adc[i]=(adc_temp[i]+adc_temp[i+4]+adc_temp[i+8]+adc_temp[i+12])>>2;除4


#include

unsigned int a[]={0};

int main(void)

{

  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT

  ADC10CTL1 = INCH_5+CONSEQ_1;            // A5/A4, single sequence

  ADC10CTL0 = ADC10SHT_1 + MSC + ADC10ON +ADC10IE;

  ADC10DTC1 = 0x03;                         // 2 conversions

  ADC10AE0|= BIT5+BIT4+BIT3;                         // P1.3,2,1 ADC10 option select

  P1DIR |= BIT0+BIT1+BIT2;                            // Set P1.0 output

  for(;;)

   ADC10CTL0 &= ~ENC;

   ADC10SA = (unsigned int)a;                   // Data buffer start

   while (ADC10CTL1 & ADC10BUSY);               // Wait if ADC10 core is active

   ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start

   

   if (a[0] < 0x1FF)

      P1OUT &= ~0x01;                       // Clear P1.0 LED off

    else

      P1OUT |= 0x01;                        // Set P1.0 LED on

       if (a[1] < 0x1FF)

      P1OUT &= ~BIT1;                       // Clear P1.1 LED off

    else

      P1OUT |= BIT1;                        // Set P1.1 LED on

       if (a[2] < 0x1FF)

      P1OUT &= ~BIT2;                       // Clear P1.2 LED off

    else

      P1OUT |= BIT2;                        // Set P1.2 LED on

  }

}


// ADC10 interrupt service routine

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)

#pragma vector=ADC10_VECTOR

__interrupt void ADC10_ISR(void)

#elif defined(__GNUC__)

void __attribute__ ((interrupt(ADC10_VECTOR))) ADC10_ISR (void)

#else

#error Compiler not supported!

#endif

}


推荐阅读

史海拾趣

Defense Logistics Agency公司的发展小趣事

在成功整合供应链之后,DLA开始拓展其业务领域。除了为美军提供后勤保障服务外,DLA还开始向各州、当地政府组织、外国政府和国际组织提供后勤保障服务。这一拓展不仅拓宽了DLA的业务范围,也增强了其国际影响力。

Fischer Elektronik公司的发展小趣事

Fischer Elektronik公司成立于1969年,是德国在高性能散热器和半导体制冷领域的领先制造商。成立之初,公司专注于研发和生产电子元器件的关键部件,如散热器和连接器,以满足当时快速增长的电子行业对高效散热解决方案的需求。凭借其精湛的工艺和严格的质量控制,Fischer Elektronik迅速在市场中站稳脚跟,并开始在仪器仪表、通讯/网络、交通/汽车和工业/自动化等领域展露头角。

C.K Magma公司的发展小趣事

在追求经济效益的同时,C.K Magma公司也积极履行社会责任。他们注重绿色发展和可持续经营,通过采用环保材料和工艺、优化生产过程等方式,降低产品对环境的影响。此外,公司还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的长远发展提供了有力保障。

这五个故事展示了C.K Magma公司在电子行业中的发展历程和取得的成就。通过技术突破、市场拓展、国际合作、创新产品和绿色发展等方面的努力,公司逐渐在行业中崭露头角,成为了一家具有影响力和竞争力的企业。

Flambeau公司的发展小趣事

为了进一步扩大市场份额和提升品牌影响力,Flambeau公司积极实施市场拓展战略。公司不仅在北美市场深耕细作,还逐步将业务拓展到欧洲、亚洲等国际市场。通过参加国际展会、建立海外销售渠道、与当地企业建立合作关系等方式,Flambeau成功地将自己的品牌和产品推向全球。同时,公司还注重品牌建设和客户服务,通过提供优质的售前咨询、售中支持和售后服务,赢得了广大客户的信赖和好评。

CYMBET公司的发展小趣事

随着EnerChip技术的不断完善和市场的认可,CYMBET公司开始积极拓展市场,与全球各地的合作伙伴建立了紧密的合作关系。例如,CYMBET与Digi-Key Corporation签订了全球经销协议,通过Digi-Key的广泛分销网络,EnerChip系列固态可充电薄膜电池及能量采集储能模块得以迅速进入全球市场。此外,CYMBET还与多家知名电子设备制造商建立了长期合作关系,共同开发新产品,推动电子行业的发展。

Coleman Cable Inc公司的发展小趣事

在电子行业的早期,Coleman Cable Inc以其创新性的电缆设计和技术突破,在市场中崭露头角。公司研发出一款具有高效传输和稳定性能的电缆产品,迅速赢得了消费者的青睐。随着技术的不断完善和市场需求的扩大,Coleman Cable逐渐扩大了生产规模,并开始向国际市场拓展,其产品在全球范围内得到了广泛应用。

问答坊 | AI 解惑

2010年英特尔杯大学生电子设计竞赛嵌入式系统专题邀请赛

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 这个貌似是2010年英特尔杯大学生电子设计竞赛嵌入式系统专题邀请赛的官方网站 ,http://nuedc.sjtu.edu.cn/ 大家可以去这里了解一下大致状况,遇到问题,欢迎来坛子询问与讨论。  …

查看全部问答>

计算机组成原理

    本人大二,开设了计算机组成原理,但老师讲的都是些教材上没有的知识,有些跟不上了,我是学软件工程专业的(又向嵌入式方面发展的想法),请各位有经验的高手推荐一下该学习些什么,推荐几本书籍!!最好容易理解!!谢谢!!…

查看全部问答>

请求一个输出40v,10w直流稳压电源的设计方案!!万分感谢!急!!!

请求一个输出40v,10w直流稳压电源的设计方案!!万分感谢!急!!!…

查看全部问答>

多核DSP新课程上线,好课程,火速学!

    EEWORLD大学堂上线了两门新的DSP课程:《多核DSP软件开发套件》、《多核DSP设计》     为了加速客户对Keystone DSP的开发使用,TI提供了相关的软件集成开发环境CCS,及硬件评估板EVM;并免费提供一套综合的多核软件开发包 ...…

查看全部问答>

本人高富帅,用的是你们没见过的示波器

本帖最后由 电子嗷嗷叫 于 2014-6-9 14:40 编辑 1楼嘚瑟专用....…

查看全部问答>

传统燃油测量方法

本帖最后由 德州仪器 于 2014-9-2 17:14 编辑 视频介绍了燃油测量的目是高效能的利用电池的可摄取电源,导致电池无法高效利用的因素分别为充电电压公差和因不正确测量而导致的意外关闭。…

查看全部问答>

【基于瑞萨R7F0C8的多功能测量表之6、 改进精度】

上篇提交以后,网友提醒精度较低。想了想,这千分之几的误差的确有点大,基本到第3位有效数字就不准了。考虑了两个方面,一个是程序中定时器开启并非同时,第二个,一直没有怀疑过内部晶振的精度。因此做了两方面改进。一个是把tau_start的两个ch启 ...…

查看全部问答>

【Nucleo心得】STM32L053 Nucleo直播学习——初探

这块板子虽然不是我的第一块开发板,但是却是我第一个下决心要玩透的一块。之前看介绍时就看的心里痒痒的,终于有机会了立马下手,盼了好久终于盼来了…… 我在这里每晚会抽出一些时间来学习这块板子并坚持持续更新我的学习历程。先说一下我的情况 ...…

查看全部问答>

疑惑

以下是一片论文,小弟着实有很多疑惑 http://wenku.baidu.com/link?url= ... YZeYmHBxsT4GKkqwNoi 1、T0-T1时刻 Vmr为什么会是高电平? 2、在不喂狗的情况下,看门狗芯片WDO端输出会是周期性的低电平吗? …

查看全部问答>

TM4C1230H6PM I2C使用问题

同一模块的I2C的不同引脚可以同时用于I2C通信吗?  同一模块I2C,通过配置不同引脚,当成两路使用? …

查看全部问答>