|
這是雙通道AD轉換器,可以設置兩個通道同時采樣!
MCU不停向PC機發送數據,顯示AD7705采樣值- /*****************************************************
- 程序功能:MCU不停向PC機發送數據,顯示AD7705采樣值 打開
- usr-TCP232能夠以4位16進制顯示 串口監視器只能以2位16進制顯示
- ------------------------------------------------------
- 通信格式:9600 n 8 1 N:不進行奇偶校驗
- ------------------------------------------------------
- 測試說明:打開串口調試精靈,正確設置通信格式,觀察屏幕
- ******************************************************/
- #include "msp430x16x.h"
- #include "AD7705.h"
- #include "typedef.h"
- void PutString(uint *ptr);
- unsigned int Data1=0,Data2=0;
- void main()
- {
- // uint *tishi = " MCU sends 0~127 to PC and the\
- \n screen will display their corresponding\
- \n ASCII code as follows:";
-
- WDTCTL = WDTPW + WDTHOLD;
- BCSCTL1 &= ~XT2OFF; //打開XT2高頻晶體振蕩器
- do
- {
- IFG1 &= ~OFIFG; //清除晶振失敗標志
- for (unsigned int z = 0xFF; z > 0; z--); //等待8MHz晶體起振
- }
- while ((IFG1 & OFIFG)); //晶振失效標志仍然存在?
-
- BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK選擇高頻晶振
-
- BCSCTL2 |=DIVM_0+DIVS_0; //M S 均1分頻
- BCSCTL1 |=DIVA_0; //A1分頻
- CS_0;
- RST_1;
- P3SEL|=0X30; //00110000 P34TX P35RX作為外圍原件UART端口(不是IO端口)
- ME1|=UTXE0+URXE0;//使能uart0收發端口
- UCTL0|=CHAR; //8位數據
- UTCTL0|=SSEL0; //SSEL0,SSEL1 0外部時鐘 1ACLK 2SMCLK 3MCLK
- UBR10=0X00;
- UBR00=0X03; //32kHz/3`約等于9600 UBR00不小于3
- UMCTL0=0X4A;//微調波特率 將上述值調制9600
- UCTL0&=~SWRST;//使能USART模塊
- IE1|=URXIE0;//使能USART0中斷
- _EINT();//UART相關操作也是中斷 故要使能全局中斷
- // PutString(tishi);
-
- while(1)
- {
- AD7705_CH1init();
- wait();
- Data1=get_data_V();
- /*
- while(!(IFG1 & UTXIFG0));
- TXBUF0=Data1;
- while(!(IFG1 & UTXIFG0));
- TXBUF0=Data1>>8;
- */
-
- }
- }
- /*******************************************
- 函數名稱:PutSting
- 功 能:向PC機發送字符串
- 參 數:無
- 返回值 :無
- ********************************************/
- void PutString(uint *ptr)
- {
- while(*ptr != '\0')
- {
- while (!(IFG1 & UTXIFG0)); // TX緩存空閑?
- TXBUF0 = *ptr++; // 發送數據
- }
- while (!(IFG1 & UTXIFG0));
- TXBUF0 = '\n';
- }
-
復制代碼
|
-
-
AD770501.zip
2018-2-24 19:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
35.85 KB, 下載次數: 15, 下載積分: 黑幣 -5
|