基于LabVIEW與USB接口的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)
2.1.1 STC12C5410AD單片機(jī)
STC12C5410AD系列單片機(jī)是單時(shí)鐘/機(jī)器周期(1T)的兼容8051內(nèi)核單片機(jī),是高速/低功耗的新一代增強(qiáng)型8051單片機(jī),內(nèi)部集成MAX810專(zhuān)用復(fù)位電路。10KBFLASH程序存儲(chǔ)器,512字節(jié)SRAM,有8路10位高速A/D轉(zhuǎn)換器,速度可達(dá)100KHz。實(shí)際工作頻率可達(dá)48MHz。在應(yīng)用時(shí),需根據(jù)實(shí)際情況設(shè)定晶振頻率,本系統(tǒng)采用11.0592MHz的晶振。本例中采用P1.0作為A/D轉(zhuǎn)換通道。由于各A/D轉(zhuǎn)換通道的輸入電壓范圍為0~5V,對(duì)于雙極性信號(hào)來(lái)說(shuō),直接輸入會(huì)被削掉負(fù)半波。為了解決上述問(wèn)題,采用了高速低噪聲雙運(yùn)算放大器NE5532,根據(jù)運(yùn)放電路的虛短、虛斷原則,其輸出OUT=2.5-IN。可以將-2.5v~2.5V的電平轉(zhuǎn)換到0~5v,這樣滿(mǎn)足了輸入信號(hào)的雙極性要求。
2.1.2 CH341T芯片
隨著計(jì)算機(jī)通訊技術(shù)的不斷發(fā)展,串口的通訊速度越來(lái)越不能滿(mǎn)足現(xiàn)在的通信要求。因此越來(lái)越多的計(jì)算機(jī),尤其是筆記本電腦都不再保留串行接口,取而代之的是方便、高速、標(biāo)準(zhǔn)的USB接口。然而對(duì)于需要用串口通信的設(shè)備來(lái)說(shuō),是個(gè)麻煩的問(wèn)題。為了解決這個(gè)問(wèn)題,本系統(tǒng)采用CH341T芯片將單片機(jī)通過(guò)USB接口直接連接到PC機(jī)上,方便了沒(méi)有串口的上位機(jī)與下位機(jī)的通信,解決了上位機(jī)沒(méi)有串行接口的問(wèn)題。CH341T芯片的特點(diǎn)如下:
(1)仿真標(biāo)準(zhǔn)串口,用于升級(jí)原串口外圍設(shè)備,或者通過(guò)USB增加額外串口。
(2)計(jì)算機(jī)端Windows操作系統(tǒng)下的串口應(yīng)用程序完全兼容,無(wú)需修改。
(3)硬件全雙工串口,內(nèi)置收發(fā)緩沖區(qū),支持通訊波特率50b/s~2Mb/s。
(4)支持5、6、7或者8個(gè)數(shù)據(jù)位,支持奇校驗(yàn)、偶校驗(yàn)、空白、標(biāo)志以及無(wú)校驗(yàn)。
2.2 軟件設(shè)計(jì)部分
本系統(tǒng)將STCl2C5410AD的P1.0口作為A/D轉(zhuǎn)換的通道,要使用A/D轉(zhuǎn)換功能就必須進(jìn)行相應(yīng)的寄存器設(shè)置。STC單片機(jī)的寄存器見(jiàn)表1所示。
1)P1M0,P1M1:P1口工作模式設(shè)置PlM0=0x01,P1M1=0x01。將P1口設(shè)置為開(kāi)漏模式。
2)ADC CONTR:A/D轉(zhuǎn)換控制器
ADC_POWER:ADC電源控制位。
ADC_ POWER=0:關(guān)閉ADC電源。ADC POWER=1:打開(kāi)A/D轉(zhuǎn)換器電源,初次打開(kāi)內(nèi)部A/D轉(zhuǎn)換模擬電源,需適當(dāng)延時(shí),等內(nèi)部模擬電源穩(wěn)定后,再啟動(dòng)A/D轉(zhuǎn)換。
ADC_START:模數(shù)轉(zhuǎn)換器(ADC)轉(zhuǎn)換啟動(dòng)控制位,設(shè)置為1時(shí),開(kāi)始轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后為0。
SPEED1,SPEED0:模數(shù)轉(zhuǎn)換器轉(zhuǎn)換速度控制位。
ADC_FLAG:模數(shù)轉(zhuǎn)換器轉(zhuǎn)換結(jié)束標(biāo)志位,當(dāng)A/D轉(zhuǎn)換完成后,ADC_FLAG=1,一定要軟件清0。
CHS2/CHS1/CHS0:模擬輸入通道選擇如表2所示。本文引用地址:http://www.ex-cimer.com/article/195506.htm
下位機(jī)程序流程圖如圖3所示。下位機(jī)的程序主要包括三個(gè)部分:串口初始化子程序、A/D轉(zhuǎn)換初始化子程序、串口發(fā)送子程序。其中A/D轉(zhuǎn)換初始化子程序主要是設(shè)置ADC CONTR、P1M0、P1M1等寄存器。
評(píng)論