使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)

使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)

ID:853105

大?。?20.03 KB

頁數(shù):16頁

時間:2017-09-20

使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
資源描述:

《使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、使用串行接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)一:設(shè)計任務(wù)與要求1.連接單片機基本電路,檢查電路,直到測量出晶振有振蕩波形。2.連接串口芯片MAX232C,使用STC編程軟件,可以測量到芯片存在。3.編寫基本的串口測試實驗,可以將串口數(shù)據(jù)傳輸?shù)絇C機。4.連接TL431,用電壓表測量輸出電壓為2.5V,給單片機芯片作為參考電壓。5.編寫AD讀取程序,將AD讀取的測量值通過串口傳輸?shù)絇C機,驗證其正確性。在輸入端加入不同的直流電壓,調(diào)節(jié)程序在屏幕上顯示的正確的直流電壓值。6.在AD端加入低頻正弦/脈沖/三角信號,

2、在屏幕上正確的波形。7.采用合適的方法,能夠準確測量輸入信號的時間參數(shù)。二:系統(tǒng)設(shè)計單片機采用串口編程的STC5616AD單片機,根據(jù)其技術(shù)文檔,做出單片機最小系統(tǒng)。同時焊接TL431使其輸出電壓為2.5V作為基準電壓。再把采樣的數(shù)據(jù)發(fā)送給PC。其系統(tǒng)框圖為:單片機PC信號TL431Max2322.5V基準電壓三:數(shù)據(jù)采集具體原理圖:此程序由RS232串口發(fā)送程序和AD采樣程序組成。AD采樣采用查詢方式,為了提高采樣的進度,我們應用的2.5V的參考電壓,但是由于此單片機沒有直接的參考電壓輸入端,不能直接

3、輸入?yún)⒖茧妷骸K悦看螠y量時,先測量2.5V參考電壓,得到10位參考AD值ref,再采集需要測量的通道的電壓值,得到另一個10位AD值Vad,那么所測電壓的計算公式就是:V=2.5*(Vad/ref)。具體AD,串口發(fā)送程序:#includetypedefunsignedcharINT8U;typedefunsignedintINT16U;#defineAD_SPEED0x00//最低采樣速率voiddelay(INT8Udelay_time)//延時函數(shù){INT16Un

4、;while(delay_time--){n=6000;while(--n);}}INT16Uget_AD_result(INT8Uchannel){ADC_DATA=0;channel&=0x07;//0000,0111清0高5位ADC_CONTR=AD_SPEED;ADC_CONTR=0xE0;//1110,0000清ADC_FLAG,ADC_START位和低3位ADC_CONTR

5、=channel;//選擇A/D當前通道delay(1);//使輸入電壓達到穩(wěn)定ADC_CONTR

6、=0x08;//0

7、000,1000令ADCS=1,啟動A/D轉(zhuǎn)換kaishizhuanhuan,while(1)//等待A/D轉(zhuǎn)換結(jié)束{if(ADC_CONTR&0x10)//0001,0000測試A/D轉(zhuǎn)flag=1zhuanhuanwancheng換結(jié)束否{break;}}ADC_CONTR&=0xe7;//1110,0111清ADC_FLAG位,關(guān)閉A/D轉(zhuǎn)換,qingchuFLAGreturn(ADC_DATA<<8

8、ADC_LOW2);//返回A/D10位轉(zhuǎn)返回fanhui10bit換結(jié)果}voidinitia

9、te_RS232(void)//串口初始化{ES=0;//禁止串口中斷TMOD=0x20;//設(shè)置T1為波特率發(fā)生器SCON=0x50;//0101,00008位數(shù)據(jù)位,無奇偶校驗TH1=TL1=-(22118400/12/32/9600);//botelvgaodiweishezhiRI=0;TR1=1;ES=1;//允許串口中斷}voidSend_Byte(INT8Uone_byte)//發(fā)送一個字節(jié){TI=0;//清零串口發(fā)送中斷標志SBUF=one_byte;//fasongshujuwhile

10、(!TI);TI=0;//清零串口發(fā)送中斷標志}voidmain(){INT16UADC_10bit,ADC_REF;initiate_RS232();//波特率=9600botelvADC_CONTR

11、=0x80;//1000,0000打開A/DdakaiAD轉(zhuǎn)換電源while(1){ADC_REF=get_AD_result(6);delay(0x1);ADC_10bit=get_AD_result(0);Send_Byte(ADC_REF>>8);Send_Byte(ADC_REF<<6);Sen

12、d_Byte(ADC_10bit>>8);Send_Byte(ADC_10bit<<6);delay(0x30);//延時}}STC12C56AD.H程序:/*sfrAUXR=0x8e;*//*sfrIPH=0xb7;*//*WatchdogTimerRegister*/sfrWDT_CONTR=0xe1;/*ISP_IAP_EEPROMRegister*/sfrISP_DATA=0xe2;sfrISP_ADDRH=0xe3;sfrISP_

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。