基于MSP430F1232的ADC10系列通道单次采样实验

发布者:CuriousObserver最新更新时间:2021-05-26 来源: eefocus关键字:MSP430F1232  通道  单次采样 手机看文章 扫描二维码
随时随地手机看文章

简介: 基于MSP430F1232的ADC10系列通道单次采样实验。

/******************************************************************************************************************************

*

* 文件名:    main.c

*

* 文件描述:  基于MSP430F1232的ADC10系列通道单次采样实验

*

* 版本号:    1.0

* 修改记录:

*

********************************************************************************************************************************/

//==============================================================================================================================

#include    "io430.h"

#include    "in430.h"

//==============================================================================================================================

unsigned  long int result[3]; //用来存放转换结果的数组

unsigned  int AD_VALUE[3]; 

char   ADC10FLAG=0;  //转换标志

/*==============================================================================================================================

*

* 函 数 名: readdata.

*

* 参 数:    无

*

* 功能描述:    

*         

*          将转换数据读出,存放在 result[3]中;

*

* 返 回 值: 无

*

* 作 者: areak 2009/8/16

*

================================================================================================================================*/

void readdata(void)

{

 char i,j=2;

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

 {

  result[j] = AD_VALUE[i];

  j=j-1;

 }

 _NOP();

}

/*==============================================================================================================================

*

* 函 数 名: Init_Clk.

*

* 参 数:    无

*

* 功能描述:    

*         

*          基础时钟初始化设置;

*

* 返 回 值: 无

*

* 作 者: areak 2009/8/16

*

================================================================================================================================*/

void Init_Clk(void)

{   

 int i;   

  

 BCSCTL1 = XTS + DIVA_3;

 do

 {

  BCSCTL1 &= ~XT2OFF; //turn on XT2

  IFG1 &= ~OFIFG;  //high frequency crystal is stable

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

  { }

 }while ((IFG1 & OFIFG) !=0);


 // MClk = 6M / 1 = 6M ; 

 // SMClk = 6M / 8 = 750K;

 // AClk = 6M / 8 = 750K;

 BCSCTL2 |= SELM_2 + DIVM_0 + SELS + DIVS_3;

}

/*==============================================================================================================================

*

* 函 数 名: TimerA_Uint.

*

* 参 数:    无

*

* 功能描述:    

*         

*          定时器初始化设置,定时1秒;

*

* 返 回 值: 无

*

* 作 者: areak 2009/8/16

*

================================================================================================================================*/

void TimerA_Uint(void)

{

    P2DIR  |= 0x02;   // P2.1 output

 TACTL  = TACLR;

 TACCR0  = 46875;   //750K/8/46875 =2Hz    

 TACCTL0  = CCIE;

 TACTL  = TASSEL_2 + ID_3 + MC_1;

}

/*==============================================================================================================================

*

* 函 数 名: ADC_Uint.

*

* 参 数:    无

*

* 功能描述:    

*         

*          ADC10设置,系列通道单次采样;

*

* 返 回 值: 无

*

* 作 者: areak 2009/8/16

*

================================================================================================================================*/

void ADC_Uint(void)

   ADC10CTL0  &=  ~ENC;

 

 ADC10DTC0  =  ADC10CT; //选择为连续转移数据

 

 ADC10CTL0 |= SREF_1;

 ADC10CTL0 |= ADC10SHT_3;

        ADC10CTL0 |= REFON;

 ADC10CTL0 |= REF2_5V;

 ADC10CTL0 |= MSC;  //连续采样转换

 ADC10CTL0 |= ADC10IE;

 ADC10CTL0 |= ADC10ON;

 

 ADC10CTL1 |= INCH_2;  //A2--A0

 ADC10CTL1 |= SHS_0;

 ADC10CTL1 |= CONSEQ_1; //系列通道单次采样

 

 ADC10DTC1  =  0x03;   // 连续采样3次中断一次

 

 ADC10SA  = (unsigned int)AD_VALUE + 1; //数据转移起始地址

 

 ADC10CTL0  |=  ENC  + ADC10SC; 

}

/*==============================================================================================================================

*

* 函 数 名: main.

*

* 参 数:    无

*

* 功能描述:    

*         

*          系统主程序

*

* 返 回 值: 无

*

* 作 者: areak 2009/8/16

*

================================================================================================================================*/

void main(void)

{

 WDTCTL   =  WDTPW  +  WDTHOLD; 

 Init_Clk();    

    TimerA_Uint();

 ADC_Uint();

 

 _EINT();


while(1)

{

   if(ADC10FLAG==1)

   {

     ADC10FLAG = 0;

     readdata();

     _NOP();

   }

}

}

/*==============================================================================================================================

*

* 函 数 名: ADC10_ISR.

*

* 参 数:    无

*

* 功能描述:    

*         

*          ADC10中断服务程序,用于设置转换结束标志;

*

* 返 回 值: 无

*

* 作 者: areak 2009/8/16

*

================================================================================================================================*/

// ADC10 interrupt service routine

#pragma vector=ADC10_VECTOR

__interrupt void ADC10_ISR (void)

{

 ADC10FLAG = 1;

}

/*==============================================================================================================================

*

* 函 数 名: Timer_A.

*

* 参 数:    无

*

* 功能描述:    

*         

*          Timer_A中断服务程序,定时1秒钟启动一次转换;

*

* 返 回 值: 无

*

* 作 者: areak 2009/8/16

*

================================================================================================================================*/

#pragma vector=TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

    P2OUT ^= 0x02;                            // Toggle P2.1

    ADC10CTL0  |=  ENC  + ADC10SC;

}

//==============================================================================================================================

//END OF FILE

//==============================================================================================================================


关键字:MSP430F1232  通道  单次采样 引用地址:基于MSP430F1232的ADC10系列通道单次采样实验

上一篇:MSP430系统时钟寄存器详解
下一篇:单片机调EEPROM存储器24C256

推荐阅读最新更新时间:2024-11-04 18:20

TIDSKplusBoard在房间声回授通道特性测量中的应用
    摘要: 介绍一种新的测量房间声回授通道特性的实验方法。用TI(Texas Instruments)公司提供的DSKplus Board开发套件,实现数据的回时发送和采集,并把采集的数据送入主机保存,以备主机进行房间声回波通道特性的分析计算。     关键词: 声回波对消 DSP芯征 声回授通道特性 为满足电视电话电话会议、车载免提电话、热线电话等高质量话音通信的需要,一种消极的处理方法是进行功率控制,降低功率增益以不产生啸叫,这样做是以牺牲音量为低价的。目前,公认最有效的回改朝换声抑制方法是采用自适应回声对消。在回波对消的研究过程中,必须有效模拟出讲话者所在空间的声回授通道特性。本文重点介绍
[应用]
关于DMA传输外设地址的说明
ADC1外设的DMA请求通道为DMA1的通道1,见下图1所示。DMA 传输的外设地址 ADC1_DR_Address是一个自定义的宏: #define ADC1_DR_Address ((u32)0x4001244C) ADC_DR数据寄存器保存了ADC转换后的数值,以它作为 DMA 的传输源地址。它的地址是由 ADC1 外设的基地址(0x4001 2400) 加上 ADC 数据寄存器(ADC_DR)的地址偏移 (0x4c)计算得到的,其值见下图2,3所示。 0x4001244C=0x40012400+0x4c 图1(摘自STM32技术手册147页) 图2(摘自STM32技术手册28页) 图3(摘自ST
[单片机]
关于DMA传输外设地址的说明
基于两通道PWM的LED调光调色方法
   引 言   2002 年美国Brown 大学David Berson 等人在哺乳动物的视网膜上发现了第三种感光细胞,它主要在调节人体内分泌、控制生理节律等非视觉生物效应方面发挥功能。照明设计也从单一地考虑视觉功能逐步过渡到考虑视觉与非视觉双重功能上。研究表明,动态照明在治疗失眠、减轻飞机时差效应、提高工作效率等方面发挥作用。   为实现LED 的动态照明设计,需对光源的光色量进行实时地控制,调制出符合光生物学要求的光谱。   这里的光色量是光度量和色度量的合称。LED 常用的调光方法有模拟调光和PWM(Pulse Width Modulation)调光两种。前者是线性调节LED 电流,后者是使用开关电路以相对于人眼识别
[电源管理]
基于两<font color='red'>通道</font>PWM的LED调光调色方法
基于XC164的六通道ABS开发板设计
摘要:汽车防抱制动系统(ABS)的电子控制单元(ECU)是ABS的最重要部件之一。为模拟ABS的实际工作过程,制造了具有六通道电子控制单元的ABS开发板,包括单片机、电磁阀驱动、电源模块、轮速处理等模块等。该系统很好的模拟了 ABS的工作过程,为验证控制软件提供了方便,缩短了开发周期。 关键词:开发板;ABS;ECU;XC164 ABS 的匹配是一个非常复杂的过程,需要做大量的实车试验。由于试验存在着很大的危险性,所以在进行实车试验之前一定要先对控制软件做一定程度的验证,如轮速、轮加减速度、滑移率计算的准确性,以及电磁阀、报警灯、电机的正确运转等。车载的ABS电子控制单元不具备信号发生和数据显示的功能,而开发板弥补了这一缺陷。
[应用]
使用一个FPGA便可实现的64通道下变频器
RF Engines公司的ChannelCore64使设计者能够用一个可对FPGA编程的IP核来替代多达16个DDC(直接下变频器)ASIC,可显著减少PCB面积,降低功耗而且增加灵活性。和原来的方法相比,新方法是降低成本的典型代表,随着通道数目的增加,降低成本的需求愈加突出。在提供灵活性和简化设计的同时,这种方法也能降低功耗。ChannelCore64的应用包括无线基站,卫星地面站和其它多通道无线电接收器等。在这些系统应用中,需要从一个频带非常宽的信号中提取很多具有不同带宽的通道(或者信号),然后将整个系统的其它部分与之匹配来简化设计。   ChannelCore64 几乎所有的无线接收器都要通过下变频,从一个非常宽的输入频谱
[嵌入式]
STM32多通道ADC规则转换实现
vu16 ADC_RCVTab ; //自己添加 int main(void) { #ifdef DEBUG debug(); #endif RCC_Configuration(); NVIC_Configuration(); GPIO_Configuration(); LcdShow_Init(); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);//使能DMA时钟 DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_A
[单片机]
凌华科技发布四通道2 MS/s同步采样USB接口数据采集模块
兼具高精确度与便携式的完美平衡 适用于高速量测应用。 2014年10月23日,北京讯---亚洲最大的数据采集与PXI平台产品供货商——凌华科技,发布新款四通道USB 2.0接口数据采集模块—USB-1210。USB-1210支持16位分辨率及四通道同步采样,每通道提供高达2 MS/s采样率,搭配256M Samples FIFO缓存设计,可确保长时间连续执行数据采集时零数据遗失。USB-1210为目前市面上支持2 MS/s采样率的USB接口数据采集模块中,唯一一款可支持USB端口供电的产品,其兼具高采样率、高动态性能与即插即用便利性的产品特性,可广泛适用于各种便携式及外接扩展量测应用,如超声波、光传感器信号量测等。
[测试测量]
凌华科技发布四<font color='red'>通道</font>2 MS/s同步<font color='red'>采样</font>USB接口数据采集模块
圣邦推出四通道白光LED驱动SGM3132
圣邦微电子(SGMICRO)最新推出SGM3132,是面向中小尺寸液晶模组背光LED驱动的低压差模式的4通道白光驱动,可以帮助客户简化产品背光设计,降低客户系统设计成本。SGM3132与RT9364完全兼容,可广泛应用于手机、GPS、消费类电子市场。 SGM3132作为圣邦微电子新近推出的低压差单线调光模式白光LED灯驱动,相对市场上现有同类产品在性能上做了充分的改善,压差降低到20mA电流条件下小于35mV,可以完美支持4颗LED在较低的电池电压下( 3.5V)稳定工作,工作电压为2.5~5.0V, 通道间电流误差小于3%,可以实现较高的通道亮度匹配度。支持单线脉冲调光,脉冲宽度支持最低1μS,启动时间小于30μS
[电源管理]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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