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