msp430g2553的ADC10多通道输入

发布者:zukeq2009最新更新时间:2021-02-01 来源: eefocus关键字:msp430g2553  ADC10 手机看文章 扫描二维码
随时随地手机看文章

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

}


关键字:msp430g2553  ADC10 引用地址:msp430g2553的ADC10多通道输入

上一篇:基于MSP430F149操作数字电位器ISL23425WFVZ
下一篇:MSP430F5529通过定时器A产生两个反相频率占空比可调PWM波

推荐阅读最新更新时间:2024-11-13 13:43

MSP430G2553 WDT的NMI中断例子
将 RST/NMI 引脚设为 NMI 模式,主程序中点亮 P1.0 口 LED,在 NMI 中断中关掉 LED。现象为当按下 RST 按键时,LED 熄灭,并且再也不亮(除非重新上电)。 #include MSP430G2553.h void main( void ) { WDTCTL = WDTPW + WDTHOLD +WDTNMI; //NMI模式(非Reset模式) IE1=NMIIE; //开NMI中断,无需开总中断 P1DIR |=BIT0; //P1.0设为输出口 P1OUT |=BIT0; //亮灯 LPM
[单片机]
MSP430G2553】图形化开发笔记(1) 配置环境
平台: Code Composer Studio 6.2.0 + Grace 2.2.0 MSP430G2553 LaunchPad™ Development Kit (MSP-EXP430G2ET) CCS的配置 支持Grace的最后一个CCS版本为6.2.0, 在更新的版本(如CCS 10)中是无法进入图形化界面的: 下载和安装 CCS各版本下载地址: 官方网址:Code Composer Studio Downloads (需要注册账户才能下载) 我备份的版本:TI CCS6.2.0.00050_win32.zip 选择安装路径 根据自己使用的单片机选择要安装的模块 激活 许可证书的下
[单片机]
【<font color='red'>MSP430G2553</font>】图形化开发笔记(1) 配置环境
MSP430G2553(一)IO外部中断说明
这一篇文章将说明MSP430G2553的IO中断配置,整个P1的IO都可以配置IO中断,但中断处理函数只有一个,MSP430和大多数MCU一样提供上升沿、下降沿选择。 在Launchpad上有按键S2,接在P1.3口,当按下后P1.3将接入高电平,从而触发中断。 所有寄存器的具体名称和地址,可以查看M430G2553 datasheet 第 21页中对于P1的寄存器定义 在实例代码中,配置了P1.3和P1.6的LED灯,当按下P1.3的按键产生中断,LED灯将切换点亮 1.按键的中断配置 要配置按键中断,需要先设置P1.3口为输入,并且设置上拉电阻以保障稳定性, P1DIR &= ~BIT3;//设置P1.
[单片机]
基于MSP430G2553的模拟风扇控制系统
本次设计是通过CCS和AD15设计的一个模拟风扇控制系统,该系统主要包括独立键盘电路模块、直流稳压电路模块、程序下载电路模块、数码管显示模块、三极管LED驱动模块、电机驱动电路模块。本次设计方MSP430G2553为控制核心,合理应用该单片机的资源,以最好的方式实现本设计,并且达到了设计要求中的各项指标。 话不多说,直接上代码: 该代码纯属个人编写,仅供参考,小白一个,哈哈哈哈。当然有好多东西没有封装成函数。 下面展示一些 内联代码片。 // A code block 主函数 // An highlighted block #include msp430.h #include stdint.h #inclu
[单片机]
MSP430G2553与MSP430F5336系列单片机总结[0]——概述
最近用了MSP430系列的两款单片机,一块是MSP430G2553,市面上有卖,管脚和功能比较少,但是网上的例程和资料很多,比较适合MSP430系列的单片机上手;另一块F5336系列有引脚和功能都较多,是我们自己买芯片做的,外部时钟XT1接了32768HZ的晶振,XT2接了20Mhz的晶振,因为项目需要先后接触了这两块板子,对于MSP430系列的编程也有了一定的了解,所以简单总结一下。 先简单说一下我对MSP430系列单片机的理解,不同的单片机各有其特色,51适用范围比较广泛,Arduino容易上手编程简单,而MSP430最大的特点就是低功耗,适用于一些有特定要求的工业领域,它的内部有不同的时钟源选择,与其对应也有不同的低功耗
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved