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