• 大小: 7KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: 其他
  • 标签: msp430g2553  adc  

资源简介

主要是介绍msp430g2553单片机的AD采集程序 单通道多次采集

资源截图

代码片段和文件信息

#include
#include 
#include 
#define uint unsigned int
#define uchar unsigned char
int result;
void delay(uint x)
{
 uint ij;
 for(i=0;i   for(j=0;j<200;j++);
}

/********************************************************************
*静态函数声明
* ********************************************************************/
static void Vs_Printf(char *schar *formatva_list arg);
static void IntToString(int tempchar *pchar);
/********************************************************************
* 函数名 UartInit
* 函数功能初始化msp430g2553的USCI寄存器,使其工作在UART模式
* 形参 无
* 返回值无
* ********************************************************************/
void UartInit()
{
 /****************************************************************************
* P1.1设为输入作为uart的数据输入口
* P1.2设为输出作为UART的数据输出口
****************************************************************************/
P1DIR &=~BIT1;
P1DIR |=(BIT2 );
 /****************************************************************************
* 将P1.1和P1.2口配置为第三功能口,UART功能
 ****************************************************************************/
P1SEL |= BIT1 + BIT2 ;
P1SEL2 |= BIT1 + BIT2;
 /****************************************************************************
* 配置U0CTL1寄存器,在UCSWRST置位的情况下(即保持USCI软件复位的情况下配置各
* 个寄存器的各标志位)置位UCSSEL_2配置时钟源为SMCLK。其他位为0
****************************************************************************/
 UCA0CTL1 |= UCSWRST;           // Set SW Reset
 UCA0CTL1 = UCSSEL_2+ UCSWRST; // Use SMCLK keep SW reset
 /****************************************************************************
* 配置波特率大小,公式:(U0BR1<<8+U0BR0)=(int)(source_clk/baud rate)
* U0MCTL为(source_clk/baud rate)的小数部分乘以8之后的值(四舍五入)对应表中的值,实现控
* 制调制系数
* 大小如表所示:
* ____________________________________________
* |余数*8 |1   |2   |3   |4   |5   |6   |7   |
* |U0MCTL |0x08|0x88|0x2A|0x55|0x6B|0xdd|0xef|
****************************************************************************/
  UCA0BR0 = 0x68;                            // 1MHz 9600
  UCA0BR1 = 0x00;                              // 1MHz 9600
  // UCA0MCTL = UCBRS2 + UCBRS0;  
  UCA0MCTL = 0x08;
  
/****************************************************************
* 解除软件复位,使USCI开始工作
****************************************************************/
UCA0CTL1 &= ~UCSWRST;
/****************************************************************
* 允许接收中断
 ****************************************************************/
 UC0IE |= UCA0RXIE; // Enable RX int
}
/********************************************************************
* 函数名UartPutchar
* 函数功能 向串口终端发送一个字符
* 形参Txdata为待发送的字符
* 返回值 无
*******************************************************************/
void UartPutchar(char Txdata)
{
    if(Txdata==‘\n‘)
    {
       while(UCA0STAT & UCBUSY);
        UCA0TXBUF=‘\r‘;
     }
     while(UCA0STAT & UCBUSY);
     UCA0TXBUF=Txdata;
}
/********************************************************************
*

评论

共有 条评论