- 相關(guān)推薦
利用ADuC834構(gòu)成二次儀表系統(tǒng)
摘要:介紹了一種利用ADuC834單片機(jī)設(shè)計(jì)的智能二次儀表,給出了該儀表的硬件和軟件設(shè)計(jì)方法,同時(shí)各部分地介紹了ADuC834的應(yīng)用方法。關(guān)鍵詞:ADuC834二次儀表智能儀器
ADuC834是一種真正意義上的完整的數(shù)據(jù)采集系統(tǒng)芯片。這種嶄新的微處理轉(zhuǎn)換器和先進(jìn)的混合信號(hào)處理工藝顯著提高了數(shù)據(jù)采集系統(tǒng)的性能,并大幅度減少了應(yīng)用系統(tǒng)的開發(fā)時(shí)間和成本。ADuC834是美國(guó)模擬器件(AD)公司最新投入市場(chǎng)的一款微處理轉(zhuǎn)換器產(chǎn)品,它集成了雙路Σ-Δ型ADC、溫度傳感器、增益可程控放大器(PGA)、8位51MCU、62k的可編程程序EEPROM、4k的數(shù)據(jù)FlashMemory、2304字節(jié)的片內(nèi)RAM、12位DAC以及定器、I2C兼容的SPI和標(biāo)準(zhǔn)的串行I/O等。由此可見,ADuC834本身就是一個(gè)內(nèi)嵌MCU的高性能數(shù)據(jù)采集系統(tǒng),利用它可以極方便地構(gòu)成各種二次儀表系統(tǒng)。
1ADuC834芯片介紹
ADuC834內(nèi)部集成了兩路獨(dú)立的Σ-ΔADC,其中主通道ADC為24位,輔助通道ADC的16位。兩個(gè)獨(dú)立的ADC通道由于使用了數(shù)字濾波,因而可以實(shí)現(xiàn)寬動(dòng)范圍的低頻信號(hào)測(cè)量,非常適用于稱重儀、張力應(yīng)變儀、壓力轉(zhuǎn)換器和溫度測(cè)量等方面的應(yīng)用。其中主通道的AD輸入范圍在±20mV~±2.56V之間分為8檔,使用時(shí)可任選一檔。由于使用了Σ-Δ轉(zhuǎn)換技術(shù),因此可以實(shí)現(xiàn)高達(dá)24位無(wú)丟失碼性能,且輔助通道還可以作為溫度傳感器使用。
ADuC834利用32kHz晶振來(lái)驅(qū)動(dòng)片內(nèi)鎖相環(huán)(PLL)以產(chǎn)生內(nèi)部所需要的工作頻率,它的微控制器內(nèi)核與8051兼容。片內(nèi)外圍設(shè)備包括一個(gè)與SPI和I2C兼容的串行端口、多路數(shù)字輸入/輸出端口、看門狗定時(shí)器、電源監(jiān)視器以及時(shí)間間隔計(jì)數(shù)器。同時(shí)片內(nèi)還提供了62kB閃速/電擦除程序存儲(chǔ)器以及2304字節(jié)的片內(nèi)RAM。
ADuC834本身能提供程序串行下載,所以可以直接下載調(diào)試程序,非常方便于程序的開發(fā)和設(shè)計(jì)。因此,利用ADuC834可以非常簡(jiǎn)單地制作各種復(fù)雜的二次儀表。
2二次儀表的硬件電路設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)主要針對(duì)兩路傳器進(jìn)行采樣,然后進(jìn)行數(shù)據(jù)處理和相應(yīng)的數(shù)據(jù)顯示,同時(shí)要求有復(fù)雜菜單設(shè)計(jì)。由于數(shù)據(jù)處理過(guò)程中要用到浮點(diǎn)乘除運(yùn)算,同時(shí)要求有菜單設(shè)置,因此,利用ADuC834的62k程序存儲(chǔ)空間可以進(jìn)行各種復(fù)雜的運(yùn)算和處理,而不需要外擴(kuò)程序存儲(chǔ)器。圖1是其硬件設(shè)計(jì)原理圖。
本系統(tǒng)利用ADuC834的P3口構(gòu)成3×4鍵盤,并通過(guò)P0、P2口和7HC138譯碼器來(lái)構(gòu)成10個(gè)數(shù)碼管動(dòng)態(tài)顯示屏,然后利用ADuC834的P1.0、P1.1和74HC164構(gòu)成8個(gè)發(fā)光LED的顯示,同時(shí)利用ADuC834的串口SPI功能進(jìn)行軟件調(diào)試。
2.1數(shù)碼管的動(dòng)態(tài)顯示
利用ADuC834的P2口的P2.0~P2.4,并通過(guò)74HC138譯碼可以得到8個(gè)地址選通信號(hào),而P2.5和P2.6則用于構(gòu)成剩下的2個(gè)選通信號(hào),同時(shí)把P0口作為顯示的數(shù)據(jù)接口。
用程序可選擇ADuC834定時(shí)器T2的自裝入方式,并可將其定時(shí)為2ms,同時(shí)可采用動(dòng)態(tài)方式刷新數(shù)碼管的顯示緩沖區(qū),以實(shí)現(xiàn)動(dòng)態(tài)顯示。
2.2鍵盤控制電路
由ADuC834的P3口的P3.0~P3.6可以構(gòu)成鍵盤控制電路,其原理圖如圖2所示。
由圖2可以看出,該鍵盤有3行4列共12個(gè)鍵,使用7個(gè)I/O作為控制線,其中采用P3.0、P3.1、P3.2作為行掃描線,采用P3.3~P3.6作為列加復(fù)線來(lái)構(gòu)成矩陣鍵盤。運(yùn)行中,當(dāng)有鍵按下時(shí),程序并不立即進(jìn)行按鍵處理程序,只有在按鍵按下又松開的時(shí)刻才進(jìn)入程序處理,因?yàn)檫@樣可防止按鍵的連擊和抖動(dòng)。
2.3發(fā)光LED設(shè)計(jì)
由于本系統(tǒng)要求有8種狀態(tài)顯示,故需要使用8個(gè)發(fā)光LED來(lái)表示當(dāng)前程序運(yùn)行的不同狀態(tài)。而這可利用P1.0、P1.1和74HC164控制8個(gè)發(fā)光數(shù)碼管來(lái)進(jìn)行顯示。
3二次儀表的軟件程序設(shè)計(jì)
3.1數(shù)據(jù)采集程序
進(jìn)行AD采集時(shí),可選擇ADuC834的內(nèi)部參考電壓(注意此時(shí)內(nèi)部參考電壓是Vref=1.25V,所以ADC通道輸入范圍都縮小一半),并通過(guò)寫寄存器AD0CON的RN2、RN1和RN0來(lái)選擇不同的輸入范圍道替換,以實(shí)現(xiàn)對(duì)兩個(gè)通道輸入電壓的AD采樣。其初始采集程序如下:
EADC=0;/*禁止ADC中斷*/
ADCMODE=0x20;/*啟動(dòng)主
ADC*/
tempfloat=flash_read(2);/*讀取輸入通道選擇配置*/
temp=(uchar)(tempfloat-10001);/*采用24位的ADC,使用內(nèi)部參考電壓,選擇AIN1、AIN2輸入,選擇雙極性編碼,
ANGE=+-TEMP*/
EADC=1;/*允許ADC采樣中斷*/
ADCMODE=0x23;/*進(jìn)行連續(xù)采樣*/
……
下面是ADC中斷服務(wù)子程序,其中ADC的中斷號(hào)為6
voidadc_int(void)interrupt6
{
EADC=0;
RDY0=0;
……
EADC=1;
}
3.2用戶閃速/電擦除數(shù)據(jù)寄存器的編程
ADuC834的用戶閃速/電擦除數(shù)據(jù)存儲(chǔ)器的容量為4kB,利用這些EEPROM可以進(jìn)行系統(tǒng)配置信息的存儲(chǔ)。具體程序如下:
sfrEDARL=0xe6;
#defineF_READ0x01/*讀取頁(yè)*/
。efineF_WRITE0x02/*寫入頁(yè)*/
#defineF_VERIFY0x04/*檢測(cè)頁(yè)*/
#defineF_ERASE0x05/*擦除頁(yè)*/
#define_F_ERASEALL0x06/*全部擦除*/
floatflash_read(unsignedcharf_add)/*從地址f_add讀取浮點(diǎn)數(shù)據(jù)*/
{
floatidataf_data=0;
floatidata*ph;
ucharidata*puc;
pf=&f_data;
puc=(ucharidata*)pf;
EDARL=f_add;
ECON=0x01;
*puc=EDATA1;
++puc;
*puc=EDATA2;
++puc;
*puc=EDATA3;
++puc;
*puc=EDATA4;
returnf_data;
}
unsignedcharflash_write(unsignedcharf_add,floatf_data)
/*寫浮點(diǎn)數(shù)據(jù)f_data到地址f_add*/
{
floatidata*pf;
ucharidata*puc;
ucharidatatemp;
pf=&f_data;
puc=(ucharidata*)pf;
EDARL=f-add;
ECON=0x05;/*首先擦除*/
EDARL=f_add;
EDATA1=*(puc++);
EDATA2=*(puc++);
EDATA3=*(puc++);
EDATA4=*(puc);
ECON=0x02;/*寫數(shù)據(jù)*/
ECON=0x04;/*檢測(cè)數(shù)據(jù)
temp=ECON;
if(temp==0)returnTRUE;
elsereturnFLASE;
}
4結(jié)論
本文所描述的二次儀表的軟硬件設(shè)計(jì)具有采集速度快、精度高、系統(tǒng)體積小的特點(diǎn),特別適用于需要進(jìn)行復(fù)雜運(yùn)算且要求采集精度較高、體積較小的系統(tǒng)中。在實(shí)際的設(shè)計(jì)開發(fā)中,使用ADuC834可在很大程序上縮短開發(fā)時(shí)間并降低成本。另外,筆者設(shè)計(jì)的這款二次儀表在實(shí)際應(yīng)用中也取得了很好的使用效果。
【利用ADuC834構(gòu)成二次儀表系統(tǒng)】相關(guān)文章:
電子商務(wù)應(yīng)用系統(tǒng)的構(gòu)成08-05
智能建筑的系統(tǒng)構(gòu)成及造價(jià)確定08-06
智能小區(qū)管理網(wǎng)絡(luò)系統(tǒng)的構(gòu)成08-06
現(xiàn)代集成制造系統(tǒng)的技術(shù)構(gòu)成及發(fā)展策略研究08-06
DSP和PBL3717A構(gòu)成的步進(jìn)電機(jī)的控制系統(tǒng)08-06