摘 要: 介紹了一種高性能便攜式PIC單片機(jī)濕度檢測(cè)儀的研制,詳細(xì)闡明了有關(guān)的工作原理和關(guān)鍵技術(shù)。本測(cè)試儀充分應(yīng)用PIC單片機(jī)自身的軟硬件資源,具有智能化,小型便攜、可編程等優(yōu)點(diǎn),在農(nóng)業(yè)、水文系統(tǒng)、環(huán)境監(jiān)測(cè)、氣象等許多領(lǐng)域具有廣泛的應(yīng)用。
關(guān)鍵詞: PIC單片機(jī) 濕度測(cè)試儀 土壤含水量
適時(shí)準(zhǔn)確地測(cè)量周?chē)h(huán)境的濕度和土壤含水量在國(guó)民經(jīng)濟(jì)發(fā)展的許多領(lǐng)域中具有廣泛的應(yīng)用,如在農(nóng)業(yè)上為了科學(xué)地對(duì)土壤進(jìn)行管理,需要經(jīng)常測(cè)試土壤含水量;在水利工程中,如水文站、堤壩上也需經(jīng)常測(cè)試土壤含水量,此外,土壤濕度測(cè)量在環(huán)保、氣象、國(guó)防施工中更是不可缺少的測(cè)量項(xiàng)目。如何使這種繁瑣的測(cè)量以及相關(guān)數(shù)據(jù)處理實(shí)現(xiàn)自動(dòng)化,成為人們急需解決的重要課題。
本文介紹一種高性能、便攜式、可編程的由PIC16C74單片機(jī)為主構(gòu)成的濕度測(cè)試儀,詳細(xì)闡明了該儀器的工作原理、基本功能框圖、關(guān)鍵技術(shù)以及相應(yīng)的工作軟件流程。
1 儀器基本原理及功能框圖
本儀器的系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示,芯片選用價(jià)格低廉,性能優(yōu)良的PIC16C74單片機(jī),充分利用其提供的軟硬件資源,配以相應(yīng)的外圍電路完成土壤含水量檢測(cè)。主要組成部分包括:濕度傳感器,PIC單片機(jī),外存儲(chǔ)器(E2PROM),觸摸式鍵盤(pán),液晶顯示屏(LCD),電池電源通斷控制電路,以及向計(jì)算機(jī)傳送數(shù)據(jù)的通訊接口電路等部分。
傳感器選用的是一種專(zhuān)利產(chǎn)品,其作用是直接將探測(cè)頭插入待測(cè)土壤中,將土壤濕度轉(zhuǎn)化成相應(yīng)模擬電壓,電壓范圍在0~1.2V,該模擬電壓經(jīng)運(yùn)算放大器放大到0~5V范圍內(nèi)的電壓后,送到PIC16C74的I/O口,單片機(jī)內(nèi)有8個(gè)通道的A/D變換器,選一個(gè)口作為模擬電壓輸入通道,然后轉(zhuǎn)換成數(shù)字電壓值,按電壓-含水量公式,經(jīng)過(guò)單片機(jī)運(yùn)算,得出實(shí)際的土壤含水量值,送入外部擴(kuò)展存儲(chǔ)器儲(chǔ)存,以備傳輸和處理之用,同時(shí)送入液晶顯示屏實(shí)時(shí)顯示。
本儀器設(shè)定每批數(shù)據(jù)由16字節(jié)組成,外存儲(chǔ)器容量為64K字節(jié),所以外加存儲(chǔ)器最大存儲(chǔ)容量可達(dá)512批。為了對(duì)測(cè)量數(shù)據(jù)進(jìn)行進(jìn)一步處理,需要把各測(cè)試點(diǎn)的大量數(shù)據(jù)送往計(jì)算機(jī),為完成數(shù)據(jù)傳輸,我們選用RS232標(biāo)準(zhǔn)接口方式,器件選用MAX202作為接口器件,數(shù)據(jù)通過(guò)I/O接口送入計(jì)算機(jī),再由它進(jìn)行進(jìn)一步處理,繪出測(cè)試曲線、圖表,然后進(jìn)行分析、打印和存檔。
由于儀器體積小,按鍵選用觸摸開(kāi)關(guān),能夠完成電源控制(ON),測(cè)量(MEASURE),前翻頁(yè)(UP),后翻頁(yè)(DN),清除(CLEAR),認(rèn)可(ACK)等功能,可使用戶靈活操作。電源采用9V標(biāo)準(zhǔn)電池供電,并由專(zhuān)門(mén)的電源控制電路控制電源通斷,由PIC64C74單片機(jī)監(jiān)測(cè)電池供電情況,電壓在正常工作范圍時(shí),液晶屏顯示“H”,低于所定標(biāo)準(zhǔn)電壓時(shí),顯示“L”,表明需要換電池。
由于我們研制的測(cè)試儀采用了高性能單片機(jī)芯片,可利用的軟硬件資源豐富,需要的外圍器件較少,具有很強(qiáng)的功能,并且功耗低,應(yīng)用領(lǐng)域非常廣泛。
2 關(guān)鍵器件和關(guān)鍵技術(shù)
2.1 PIC16C74單片機(jī)
本儀器芯片選用美國(guó)Microchip公司生產(chǎn)的PIC16C74單片機(jī),這種芯片是一種低功耗、高性能,價(jià)格適中的CMOS全靜態(tài)8位E2PROM單片微型處理器,為40DIP,其中I/O口就有33腳,適于加裝較多外圍器件和設(shè)備。
PIC16C74芯片包含192字節(jié)數(shù)據(jù)存儲(chǔ)器(RAM)和4K字節(jié)程序存儲(chǔ)器(ROM)容量,33個(gè)輸出/輸入口,三個(gè)定時(shí)/計(jì)數(shù)器,三個(gè)捕捉/比較/PWM模數(shù)和兩個(gè)串行口,同步串行口可配置成三線SPI或二線I2O工作方式,串行口可設(shè)置成同步或異步,以及八通道高速A/D變換器部分。軟件結(jié)構(gòu)上,采用RISC指令結(jié)構(gòu),具有8級(jí)堆棧,多個(gè)內(nèi)部和外部中斷位,指令35條,易于編程。
與其它單片機(jī)(如8031芯片)相比,PIC16C74具有如下幾個(gè)其它芯片無(wú)法比擬的特點(diǎn):
·內(nèi)部帶有8個(gè)A/D變換通道,僅此一點(diǎn),在需要進(jìn)行A/D變換時(shí),就省去了附加的A/D轉(zhuǎn)換外圍芯片;
·軟件指令僅35條,利用編程實(shí)現(xiàn);
·低功耗,高速CMOS EPROM技術(shù),在5V 4MHz時(shí)僅耗電2mA,在3V 32kHz時(shí),僅耗電15mA;
·更為重要的是,該芯片具有休眠功能,即執(zhí)行Sleep工作方式,此方式下,芯片耗電極小(小于1mA),當(dāng)需芯片重新工作時(shí),可通過(guò)內(nèi)部或外圍中斷方式喚醒芯片轉(zhuǎn)入正常工作方式;
·具有保密功能。
2.2 A/D變換
PIC16C74單片機(jī)有8路模擬輸入口,共用一個(gè)采樣/保持器,采樣/保持逐次比較,最后把模擬量變成數(shù)字量,對(duì)于本測(cè)試儀來(lái)說(shuō),輸入是傳感器送來(lái)的模擬電壓,其值在0~1.2V范圍內(nèi)變化,經(jīng)放大后的電壓進(jìn)入單片機(jī)內(nèi)進(jìn)行A/D變換和運(yùn)算處理,A/D變換電路如圖2所示。
此外A/D變換器的模擬參考電壓選用RA3/ref,引腳電壓為+5V,在設(shè)計(jì)這種電路時(shí),需要進(jìn)行如下工作:
·A/D變換的精度計(jì)算及誤差
把模擬電壓0~1.25V轉(zhuǎn)換成8位二進(jìn)數(shù)碼,其1LSB=1.25/256=4.9mV≈5mV,在VDD=5V±10%時(shí),且Vref=5V情況下,A/D轉(zhuǎn)換的全范圍精度小于1 LSB,其中包括偏置誤差、滿量程誤差和整數(shù)誤差,并且A/D轉(zhuǎn)換是單調(diào)的。
由于VDD小于5V或Vref小于VDD時(shí),分辨率和精度會(huì)降低,所以我們?cè)O(shè)計(jì)時(shí)采用如下兩條措施,一是選用VDD=5V,且Vref=5V;二是通過(guò)運(yùn)算放大器放大,使輸入模擬電壓在0~5V范圍內(nèi)變化。
·對(duì)輸入模擬信號(hào)量的要求
模擬輸入要進(jìn)行ESD保護(hù),所以在VDD和VCS之間加有反向偏置二極管以保護(hù)器件不會(huì)被損壞,同時(shí)要求接到模擬輸入腳的外部器件應(yīng)具有極低的漏電流。
·A/D采樣要求
對(duì)于要達(dá)到特定精度的A/D轉(zhuǎn)換,輸入通道電壓需充滿充電保持電容,其公式為:采樣時(shí)間=放大器穩(wěn)定時(shí)間+保持電容充電時(shí)間+溫度系數(shù),即可得出。
·A/D轉(zhuǎn)換時(shí)鐘選擇時(shí)鐘選用4MHz。
2.3 鍵盤(pán)控制
PIC16C74有五個(gè)I/O口PORTA~PORTE,其中PORTB是個(gè)雙向口,B口的四個(gè)引腳RB(4~7),在引腳被設(shè)置成輸入方式時(shí),這四個(gè)引腳的狀態(tài)變化會(huì)引起中斷。利用B口的特性,很容易和外部控制鍵盤(pán)接口。本儀器中設(shè)計(jì)了一個(gè)2×4的鍵盤(pán),一共有8個(gè)控制鍵,鍵盤(pán)控制電路如圖3所示。為了對(duì)鍵盤(pán)采樣,首先禁止數(shù)字吸入電流,然后用軟件設(shè)置口B,使RB4~RB7為輸入端,RB2~RB3為輸出端至高電平。允許RB4~RB7的上拉,依次使RB2~RB3為低電平,同時(shí)檢測(cè)RB4至RB7,看是否有擊鍵(低電平),每次掃描會(huì)發(fā)現(xiàn)有多次擊鍵,一旦檢測(cè)到擊鍵,在重新開(kāi)始鍵盤(pán)采樣之前,經(jīng)過(guò)40ms的去抖動(dòng)時(shí)間,直至當(dāng)前鍵被釋放之前,不再檢測(cè)別的擊鍵。
2.4 液晶顯示
測(cè)試儀顯示選用液晶顯示片EDM-1601A,它可同時(shí)顯示16個(gè)ASCII碼字符,每個(gè)字符由5×7點(diǎn)陣組成,這種器件內(nèi)部控制電路主要由指令寄存器,數(shù)據(jù)寄存器,地址寄存器,顯示數(shù)據(jù)寄存器,字符發(fā)生和時(shí)序發(fā)生器等組成。本儀器顯示畫(huà)面顯示如圖4所示。
0號(hào)位顯示電池電壓狀態(tài),當(dāng)電池電壓>7.5V時(shí),顯示“H”表示電池電壓正常,當(dāng)電池電壓<=7.5V時(shí),顯示“L”,表示電壓過(guò)低,需更換電池。1~3號(hào)位數(shù)碼,顯示測(cè)試批數(shù),本測(cè)試儀最多可測(cè)試512批數(shù)據(jù)。4號(hào)位為空格。5~10位顯示所測(cè)點(diǎn)電壓數(shù)值,以毫伏(mV)為單位。11~15號(hào)位數(shù)碼顯示此測(cè)試點(diǎn)的含水量百分?jǐn)?shù)。
每按一次測(cè)量鍵,則顯示出測(cè)試點(diǎn)的相關(guān)電壓數(shù)值和換算出的含水量值,這些值同時(shí)送入外存儲(chǔ)器存儲(chǔ)起來(lái)。
2.5 串口通訊
為了對(duì)采集到的數(shù)據(jù)進(jìn)行深入地分析,需要將數(shù)據(jù)從測(cè)試儀的外存儲(chǔ)器傳送至計(jì)算機(jī),PIC16C74具有串行通訊接口(SCI),SCI是為能與CRT終端及計(jì)算機(jī)等外設(shè)通訊的全雙工異步系統(tǒng),本儀器采用RS-232-C接口方式,傳送波特率為9600比特。數(shù)據(jù)傳輸格式如圖5所示,在這種方式下,SCI采用標(biāo)準(zhǔn)的不歸零(NRZ)格式,開(kāi)始是一位起始位,以邏輯“0”表示,接著是8位數(shù)據(jù)位,最后是一位停止位,以邏輯“1”表示,本儀器不設(shè)奇偶校驗(yàn)位,故一次傳送數(shù)據(jù)長(zhǎng)度為10比特。接口芯片選用MAX232,接收端(計(jì)算機(jī))采用C語(yǔ)言編輯的接收軟件,顯示接收到的數(shù)據(jù),并進(jìn)行進(jìn)一步的處理,如匯總成數(shù)據(jù)表格,畫(huà)出分析曲線以及打印結(jié)果等等,以供工作人員參考。
2.6 電源控制
本儀器采用標(biāo)準(zhǔn)9V干電池供電,為了能保證正常供電,需要對(duì)電源進(jìn)行下面三個(gè)方面的控制。
·電源的通斷控制,按鍵盤(pán)ON鍵,則9V電壓通過(guò)MAX667(MAX公司)輸出,提供儀器所需的5V電壓;
·電池電壓測(cè)試電路,假定標(biāo)準(zhǔn)9V干電池在加載情況下低于規(guī)定的某一電壓時(shí),則儀器不能正常工作,需要更換電池,為達(dá)到此目的,需要對(duì)電池電壓進(jìn)行連續(xù)監(jiān)測(cè);
·自動(dòng)關(guān)機(jī)功能:當(dāng)測(cè)試完成后,如果不對(duì)儀器操作,一分鐘后電源電路自動(dòng)斷開(kāi),實(shí)現(xiàn)自動(dòng)關(guān)機(jī)功能。
上述三種控制都由MAX667器件完成,具體電路如圖6所示。
3 檢測(cè)儀的控制軟件設(shè)計(jì)
本檢測(cè)儀采用PIC16CXX匯編語(yǔ)言編程,控制軟件由主控程序、按鍵功能檢測(cè)、測(cè)量及含水量計(jì)算、顯示、清除、前后翻頁(yè)顯示、通訊等子程序組成。圖7為控制軟件框圖。
4 特點(diǎn)及發(fā)展遠(yuǎn)景
本測(cè)試儀器的基本特點(diǎn)為:
·體積小,150×80×60 mm3,可以放在口袋中隨身攜帶到各個(gè)測(cè)試點(diǎn)進(jìn)行數(shù)據(jù)采樣;
·采集的數(shù)據(jù)量大:由于加了外部E2PROM存儲(chǔ)器,可以采樣512批或1024批數(shù)據(jù),進(jìn)行計(jì)算并存儲(chǔ)起來(lái);
·通過(guò)通訊接口,可以把采集數(shù)據(jù)送到計(jì)算機(jī)上,進(jìn)行進(jìn)一步的處理,如畫(huà)出測(cè)試曲線、進(jìn)行分析、打印結(jié)果并存儲(chǔ)數(shù)據(jù);
·由9V干電池供電,為了減小功耗,延長(zhǎng)使用時(shí)間,該儀器開(kāi)關(guān)機(jī)由專(zhuān)門(mén)控制電路控制,到一定時(shí)間,自動(dòng)關(guān)機(jī)。在測(cè)量間隙,進(jìn)入休眠狀態(tài),節(jié)省能量,其他器件盡量采用CMOS的低功耗小電流器件;
·儀器智能化,可編程,由于采用先進(jìn)的單片機(jī),可以在單片機(jī)內(nèi)部進(jìn)行A/D變換以及各種數(shù)學(xué)計(jì)算,通過(guò)軟件編程可以對(duì)數(shù)據(jù)查閱(前后翻頁(yè))、清除外存儲(chǔ)器中的數(shù)據(jù)以及向計(jì)算機(jī)發(fā)送數(shù)據(jù),這些功能都可以通過(guò)儀表盤(pán)面的相應(yīng)按鍵選擇。
綜上所述,本測(cè)試儀充分應(yīng)用PIC16C74單片機(jī)自身的軟硬件資源,具有智能化,小型便攜,可編程等優(yōu)點(diǎn),另外本測(cè)試儀只需更換傳感器和修改控制軟件,就可擴(kuò)展到其他環(huán)境參數(shù)的測(cè)試應(yīng)用中,使得本測(cè)試儀在農(nóng)業(yè)、水文系統(tǒng)、環(huán)保、氣象等許多領(lǐng)域具有廣泛的應(yīng)用。
參考文獻(xiàn)
1 PIC16C6X/7X/8X單片機(jī)應(yīng)用手冊(cè).武漢力源電子股份有限公司,1996
2 “PICC16CXX系列單片機(jī)原理”.武漢力源電子股份有限公司,1997
3 王士元,吳芝芳編著.IBM PC/XT(長(zhǎng)城0520)接口技術(shù)及應(yīng)用.天津:南開(kāi)大學(xué)出版社,1991