-
大小: 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;
}
/********************************************************************
*
- 上一篇:seu編譯原理課程設計
- 下一篇:某電商項目接口文檔
評論
共有 條評論