一 概述
單片機(jī)又稱微控制器(microcontroller)是將中央處理器(CPU)存儲器,、定時器/計(jì)數(shù)器、IO接口電路等部件集成在一塊芯片上的微型計(jì)算機(jī),。目前,,單片機(jī)技術(shù)飛速發(fā)展,在各種場合被廣泛應(yīng)用,。單片機(jī)做為控制核心,,與傳感器、執(zhí)行機(jī)構(gòu)等結(jié)合可以組成自動化的檢測控制系統(tǒng),,本文結(jié)合單片機(jī)的定時/計(jì)數(shù)器的端口功能,,開發(fā)一種實(shí)用的檢測裝置。
二 單片機(jī)組成原理
MCS51是由美國INTEL公司生產(chǎn)的系列單片機(jī),,其中以8051最為典型,,由內(nèi)部總線將邏輯運(yùn)算器ALU、累加器A,、程序計(jì)數(shù)器PC,、指令寄存器IR,、指令譯碼器ID、控制邏輯PLA,、存儲器,、輸入輸出口聯(lián)結(jié)成統(tǒng)一的整體,以實(shí)現(xiàn)其功能,。8051單片機(jī)是8位機(jī)32根I/O線 即4個并口分別記做P0.P1.P2.P3,,集成128K的片內(nèi)RAM和4K片外ROM,其具有的兩個16位定時計(jì)數(shù)可通過編程實(shí)現(xiàn)4種工作模式,。
三計(jì)數(shù)功能的結(jié)構(gòu)與原理
MCS-51的單片機(jī)內(nèi)有兩個16位可編程的定時/計(jì)數(shù)器T0和T1,,它們具有四種工作方式,分別為模式0,、1,、2、3,。其控制字和狀態(tài)均在相應(yīng)的特殊功能寄存器中,,通過對控制寄存器的編程,就可方便地選擇適當(dāng)?shù)墓ぷ鞣绞?。MCS-51單片機(jī)內(nèi)部的定時/計(jì)數(shù)器的結(jié)構(gòu)如下圖所示,,定時器T0特性功能寄存器TL0(低8位)和TH0(高8位)構(gòu)成,定時器T1由特性功能寄存器TL1(低8位)和TH1(高8位)構(gòu)成,。特殊功能寄存器TMOD控制定時寄存器的工作方式,,TCON則用于控制定時器T0和T1的啟動和停止計(jì)數(shù),同時管理定時器T0和T1的溢出標(biāo)志等,。程序開始時需對TL0,、TH0、TL1和TH1進(jìn)行初始化編程,,以定義它們的工作方式和控制T0和T1的計(jì)數(shù),。
由程序設(shè)置M0,M1的值以選擇單片機(jī)的工作方式,,如M1=0,、M0=1時,工作在工作模式1此時T0,、T1的功能時相同的,,用戶可以任意選擇。工作模式1與0的區(qū)別時計(jì)數(shù)器的位數(shù)不同,。工作模式0時13位計(jì)數(shù)器,,工作模式1是16位計(jì)數(shù)器,TLX(8位)、THX(8位)作為16位寄存器,,計(jì)數(shù)值從0開始,,計(jì)到0FFFFH后,再加1,,計(jì)數(shù)器則被溢出復(fù)位,,并將溢出標(biāo)志位TFX置1。
四 應(yīng)用研究
周期的測量
因?yàn)?,周期=脈沖數(shù)/時間 ,為了計(jì)算出單位時間的脈沖數(shù),,首先要有一個時間基準(zhǔn),。如果用單片機(jī)的定時器進(jìn)行定時則直接接入單片機(jī)內(nèi)的信號的最高頻率取決于晶振頻率,由于所測信號的每一個脈沖的高低電平要持續(xù)至少一個機(jī)器周期,,即它的周期不得高于2倍的機(jī)器周期,;另一方面,一個機(jī)器周期等于6個狀態(tài)周期,,一個狀態(tài)周期等于2個晶振周期,。故有: T待測<=24*T晶振。
?。?)低頻信號周期的測量 接線示意圖如圖1,,前端屬于信號調(diào)理電路,工作原理是:用一個計(jì)數(shù)器,,一個定時器,,在設(shè)定的時間內(nèi)對脈沖數(shù)進(jìn)行累加;另一方法是一個定時器一個中斷口,,中斷為下降沿觸發(fā),,在中斷程序中計(jì)數(shù)。很明顯,,該方法所得計(jì)數(shù)值會受到定時誤差的影響,;在精度要求高的場合可以用外接精密脈沖源的方法來規(guī)避此誤差。即:使用外部脈沖進(jìn)行比較計(jì)數(shù)時沒有定時原因造成的誤差,。如圖2,。此時會有如下的關(guān)系式:
F待測*COUNT標(biāo)準(zhǔn)=F標(biāo)準(zhǔn) *CONNT待測
(2) 高頻信號周期的測量,,圖3是一個典型的電路
這個電路中各部分的功能說明如下:AD9686:將非TTL電平信號轉(zhuǎn)變?yōu)門TL電平,屬于前向調(diào)理電路,。
累加器:是二進(jìn)制計(jì)數(shù)器,目的是對信號進(jìn)行分頻,,MR為清零端,。此處用了兩種不同性能的計(jì)數(shù)器,即74LS197和74LS93。其中LS197是四位二進(jìn)制計(jì)數(shù)器,,最高計(jì)數(shù)頻率100MHz,,它可以進(jìn)行16分頻,如果根據(jù)單片機(jī)的主頻計(jì)算分頻后的頻率仍然高于可測頻則需繼續(xù)分頻,,當(dāng)然對后面的分頻芯片的最高工作頻率的要求可以降低,。各管腳的輸出為:
74LS197的輸出: 74LS93的輸出:
Q1:Fin的2分頻 Q2:Fin的4分頻 Q1:Fin的32分頻 Q2:Fin的64分頻
Q3:Fin的8分頻 Q1:Fin的16分頻 Q3:Fin的128分頻 Q1:Fin的256分頻
本電路采用硬件控制方式,門控位置“1”時,,74LS00打開,,待測脈沖與基準(zhǔn)脈沖同時進(jìn)入外部硬件計(jì)數(shù)器計(jì)數(shù),延時一定時間后,,門控位置0,,停止計(jì)數(shù),根據(jù)此時的計(jì)數(shù)值我們有如下關(guān)式
COUNT待測/F待測=COUNT基準(zhǔn)/F基準(zhǔn)
根據(jù)需要可只將相應(yīng)的分頻管腳接入單片機(jī)內(nèi)計(jì)數(shù),,也可采用I/O口全部讀入各位分頻腳的方法,,該種電路的結(jié)構(gòu)具有模塊化的優(yōu)點(diǎn)。
五 結(jié)語
單片機(jī)以其集成度高,、功能強(qiáng)大,、功耗低、擴(kuò)展方便,、開發(fā)周期短等優(yōu)點(diǎn)而被廣泛應(yīng)用,,尤其在工業(yè)控制,智能儀表,、家用電器,、信息通信等領(lǐng)域。本文只是粗略的介紹了單片機(jī)的一個應(yīng)用,,還有很多不足,,依據(jù)該方法可以方便的組成周期檢測系統(tǒng),具有一定的應(yīng)用價值,,希望大家可以共同研究,,開發(fā)出更好的應(yīng)用系統(tǒng)。