基于89C51的數(shù)字頻率計_第1頁
基于89C51的數(shù)字頻率計_第2頁
基于89C51的數(shù)字頻率計_第3頁
基于89C51的數(shù)字頻率計_第4頁
基于89C51的數(shù)字頻率計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

..單片機系統(tǒng)課程設(shè)計任務(wù)書學(xué)生姓名XX專業(yè)班級XX學(xué)號XX題目基于89C51的數(shù)字頻率計課題性質(zhì)工程設(shè)計課題來源自擬指導(dǎo)教師XXXXX主要內(nèi)容〔參數(shù)利用89C51單片機設(shè)計一個數(shù)字頻率計,實現(xiàn)功能如下:1、通過定時器計數(shù)方式產(chǎn)生頻率信號。2、有足夠?qū)挼臏y量范圍,測試結(jié)果通過LED數(shù)碼管顯示。3、能夠測量正弦信號,方波信號以及其他各種單元時間內(nèi)變化的物理量。任務(wù)要求〔進(jìn)度第1-2天:熟悉課程設(shè)計任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計方案。第3-4天:按照確定的方案設(shè)計單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計要有詳細(xì)論述。第5-6天:軟件設(shè)計,編寫程序。第7-8天:實驗室調(diào)試。第9-10天:撰寫課程設(shè)計報告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計正確,篇幅合理。主要參考資料[1]張毅剛.單片機原理及應(yīng)用〔第2版北京:高等教育出版社,2010[2]偉福LAB6000系列單片機仿真實驗系統(tǒng)使用說明書[3]閻石.?dāng)?shù)字電路技術(shù)基礎(chǔ)〔第五版.北京:高等教育出版社,2006審查意見系〔教研室主任簽字:年月日目錄1引言42系統(tǒng)概述42.1頻率測量原理42.2方案比較42.3方案選擇53系統(tǒng)硬件設(shè)計53.1系統(tǒng)硬件總述53.2信號輸入電路63.3開關(guān)電路83.4計數(shù)電路83.5AT89C51介紹93.6數(shù)字頻率計顯示電路103.7時鐘控制電路114.系統(tǒng)軟件設(shè)計124.1系統(tǒng)軟件總述124.2顯示器初始化設(shè)計134.3計數(shù)子程序144.4數(shù)制轉(zhuǎn)換子程序設(shè)計154.5顯示子程序設(shè)計165系統(tǒng)的功能調(diào)試176結(jié)論19參考文獻(xiàn)19附錄A20附錄B201引言單片機是20世紀(jì)中期發(fā)展起來的一種面向控制的大規(guī)模集成電路模塊,具有功能強、體積小、可靠性高、價格低廉等特點,在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機電一體化、家用電器等領(lǐng)域得到了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動化程度。51系列單片機是國內(nèi)目前應(yīng)用最廣泛的一種8位單片機之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和皮鞭接受及應(yīng)用,51系列單片機還會在今后很長一段時間占據(jù)嵌入式系統(tǒng)產(chǎn)品的低端市場,因此,作為新世紀(jì)的大學(xué)生,在信息產(chǎn)業(yè)高速發(fā)展的今天,掌握單片機的基本結(jié)構(gòu)、原理和使用時非常重要的。數(shù)字頻率計是數(shù)字電路中的一個典型應(yīng)用,實際的硬件設(shè)計用到的器件較多,連線比較復(fù)雜,而且會產(chǎn)生比較大的延時,造成測量誤差、可靠性差。隨著復(fù)雜可編程邏輯器件〔CPLD的廣泛應(yīng)用,以EDA工具作為開發(fā)手段,運用匯編語言。將使整個系統(tǒng)大大簡化。提高整體的性能和可靠性。2系統(tǒng)概述2.1頻率測量原理頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時鐘,對比測量其他信號的頻率。通常情況下,計算每秒內(nèi)待測信號的脈沖個數(shù),此時稱閘門時間為1秒。閘門時間也可以大于或小于一秒。閘門時間越長,得到的頻率值就越準(zhǔn)確,但閘門時間越長則每測一次頻率的間隔就越長。閘門時間越短,測的頻率值刷新就越快,但測得的頻率精度就受影響。數(shù)字頻率計是用數(shù)字顯示被測信號頻率的儀器,被測信號可以是正弦波,方波或其它周期性變化的信號。2.2方案比較數(shù)字頻率計是直接用十進(jìn)制數(shù)字顯示被測信號頻率的一種測量裝置。方案〔一:采用分立式元器件,運用數(shù)字電路技術(shù),可以設(shè)計出數(shù)字頻率計,原理框圖如圖2-1所示。傳統(tǒng)的數(shù)字頻率計大多采用74LS系列數(shù)字集成電路直接測頻,在使用過程中存在電路結(jié)構(gòu)復(fù)雜,測量精度低、故障率高、維護(hù)不易等問題。圖2-1方案〔一原理框圖方案〔二采用51單片機作為控制器,運用較少的外圍器件就可以設(shè)計出數(shù)字頻率計。原理框圖如圖2-2所示。本設(shè)計是以單片機為主再附加一些外圍電路來設(shè)計數(shù)字頻率計,通過單片機的軟件設(shè)計,采用適當(dāng)?shù)乃惴?取代很多以前用硬件實現(xiàn)的電路,這不僅能彌補以往頻率計測量精度低、故障率高、維護(hù)不易等不足,而且性能也得到了很大的提高。圖2-2方案〔二原理框圖2.3方案選擇對于生活上的簡單用用而言,方案二完全符合應(yīng)用要求,況且性價比更高一些,有實際的研究價值,故選擇方案〔二。3系統(tǒng)硬件設(shè)計3.1系統(tǒng)硬件總述本課題設(shè)計的頻率計由單片機AT89C51、計數(shù)器74HC393、分頻器MB501以及時鐘晶振等構(gòu)成。利用外擴(kuò)的計數(shù)器74HC393和單片機AT89C51內(nèi)含的16位計數(shù)器來構(gòu)成多位計數(shù)器對待測信號計數(shù)。采用的雙四位二進(jìn)制計數(shù)器74HC393最高計數(shù)頻率可達(dá)39MHz。若先對外部信號進(jìn)行分頻計數(shù),再利用AT89C51對所測信號進(jìn)行相對應(yīng)的擴(kuò)頻,這樣可使頻率計的最高測量頻率達(dá)GHz數(shù)量級范圍,由此達(dá)到頻率計測量的范圍的要求。該頻率計測量范圍為10Hz,2.0GHz,分2個頻段實現(xiàn)。<1>1Hz,60MHz<2>50MHz,2.0GHz。如圖3-1所示,為頻率計的原理<1>信號輸入電路:此部分包括兩個小部分,第一部分是信號保護(hù)電路,是有兩個反向并聯(lián)的二極管組成。第二部分是由三極管、電容、電阻、電感組成的放大電路,用來提高輸入阻抗和放大前級提供的微弱信號。<2>分頻電路:這部分只用于信號>50MHz的電路,實現(xiàn)對高頻信號的分頻。<3>閘門選擇電路:該頻率計有兩個信號輸入端口,工作時先根據(jù)被測頻率的大小來判斷閘門電路應(yīng)該與哪個端口電路接通,這樣測出的頻率比較精確<4>計數(shù)器:由四塊雙四位二進(jìn)制計數(shù)器74HC393、單片機AT89C51內(nèi)部計數(shù)器T0共同構(gòu)成,其中AT98C51內(nèi)的計數(shù)器被設(shè)置成16位計數(shù)器。<5>時鐘提供:單片機頻率計的關(guān)鍵在于時基信號的準(zhǔn)確性和穩(wěn)定性,它決定頻率計的技術(shù)精度。<6>顯示:當(dāng)待測信號的頻率被測量出后由顯示模塊1602LCD顯示出來。圖3-1頻率計原理方框圖3.2信號輸入電路本頻率計的輸入電路分兩個量程,分別對應(yīng)兩個頻段。圖3-2為信號輸入1通道的電路圖,其測量范圍是1Hz,60MHz,圖3-3為信號輸入2通道的電路圖,其測量范圍是50MHz,2.0GHz。輸入電路主要完成對被測信號的限幅、放大、整形與轉(zhuǎn)換作用。<1>信號輸入1通道電路信號輸入1通道電路中,首先采用兩個二極管對幅度較大的輸入信號進(jìn)行限幅。輸入端采用R高通電路,下限頻率可達(dá)1Hz。C,R,Q,R組成放大電路的射極輸出器,用來提高輸入阻抗。C,R,R,C,Q組成共射放大器,用來放大前級提供的微弱信號。在圖3-2中,輸入端接低頻交流電壓信號v<如音頻i信號,頻率為20Hz,20KHz>。輸出端接負(fù)載電阻R,輸出電壓用v表示。圖3-2信號輸入1通道的電路圖<2>信號輸入2通道電路在頻率計信號輸入2通道的電路中,信號經(jīng)過前兩級的放大,被送到MB501分頻電路中,通過改變MB501引腳的接法,可以改變分頻比,有256、128、64三種分頻比。本電路接法是64分頻,由3腳控制其是否接入電路,當(dāng)MB501的8腳為+5V時,分頻器工作。AT89C51的10腳可以判斷信號輸入2通道電路的工作情況,從而來分辨信號輸入端輸入的是否是>50MHz的信號。圖3-3信號輸入2通道的電路圖3.3開關(guān)電路圖3-4為開關(guān)電路,分頻后的信號從MB501<4腳>輸出。經(jīng)過C隔直后送14到與非門74HC00的10腳,也就是U4C。當(dāng)J2接通其1腳的時候,這時門U4C打開,信號便能從10腳輸入到8腳。信號從U4D的11腳輸出,到達(dá)電子開關(guān)U4A的2腳,再從U4A的3腳輸出送到分頻74HC393;經(jīng)過74HC393的256分頻,最后送到AT89C51的INT0口。圖3-4開關(guān)電路圖3.4計數(shù)電路該頻率計的計數(shù)電路是利用外擴(kuò)的計數(shù)器74HC393和單片機AT89C51內(nèi)含的16位計數(shù)器來構(gòu)成多位計數(shù)器分別對待測信號計數(shù)的。在這里,將對待測信號計數(shù)的外部擴(kuò)展的計數(shù)器74HC393的8腳引到AT89C51的T0端,再利用AT89C51的內(nèi)部計數(shù)器即可構(gòu)成多位計數(shù)器。圖3-6為本頻率計的計數(shù)電路。數(shù)字頻率計的計數(shù)電路的工作原理如下:計數(shù)一般是有時間的,取一段時間內(nèi)脈沖的個數(shù)。比如1s,第一步先把AT89C51的12腳置0,再把12腳置1,打開電子開關(guān)。然后數(shù)據(jù)被送到74HC393分頻,分頻后的信號送到14腳T0口進(jìn)行內(nèi)部計數(shù)。時間到了1s就關(guān)閉電子開關(guān),也就是把12腳INT0置0,13腳INT1置0單片機內(nèi)部的計數(shù)器停止計數(shù),繼而對這段時間內(nèi)脈沖個數(shù)進(jìn)行保存。再讀取,P0、P2口的狀態(tài),再把這數(shù)據(jù)和以前計數(shù)的數(shù)據(jù)相加,得到很精確的頻率,再把這頻率數(shù)據(jù)轉(zhuǎn)換,送到LCD顯示,然后89C51的13腳置1清除現(xiàn)有的數(shù)據(jù)信號,進(jìn)行下一次數(shù)據(jù)采集。圖3-5計數(shù)電路圖3.5AT89C51介紹如圖3-6所示,是AT89C51的外部引腳圖,其功能如下。<1>Vcc<40>:電源+5V。<2>Vss<20>:接地,也就是GND。<3>XTL1<19>和XTL2<18>:振蕩電路。<4>PSEN<29>:片外ROM選通信號,低電平有效。<5>ALE/PROG<30>:地址鎖存信號輸出端/EPROM編程脈沖輸入端。<6>RST/VPD<9>:復(fù)位信號輸入端/備用電源輸入端。<7>EA/VPP<31>:內(nèi)/外部ROM選擇端。<8>P0口<39-32>:雙向I/O口。<9>P1口<1-8>:準(zhǔn)雙向通用I/0口。<10>P2口<21-28>:準(zhǔn)雙向I/0口。<11>P3口<10-17>:多用途口。在頻率計電路當(dāng)中,單片機AT89C51是核心元件,它控制著整個電路的運行,包括計數(shù)器的開啟與關(guān)閉、定時器的開啟與關(guān)閉、外部計數(shù)器的開啟與關(guān)閉、高頻信號分頻、數(shù)據(jù)讀入、數(shù)值轉(zhuǎn)換以及數(shù)據(jù)顯示都是由單片機來控制的。圖3-6AT89C51外部引腳圖3.6數(shù)字頻率計顯示電路數(shù)字頻率計的顯示電路如圖3-7所示,在CON16后面接1602LCD液晶顯示器來顯示頻率值。74HC393的計數(shù)結(jié)果被單片機的P0、P2口讀入,與單片機內(nèi)部計數(shù)值合到一起。再通過乘以16<2.0G檔用到>、二進(jìn)制到十進(jìn)制轉(zhuǎn)換處等處理后送入圖形液晶顯示模塊1602LCD中顯示出來。由于1602液晶顯示模塊可以直接和51系列單片機進(jìn)行接口,所以在設(shè)計該數(shù)字頻率計時就直接將1602LCD接到了單片機的后面。在圖3-8中,CON16的3腳上接了一個10k電位器PR,是用來調(diào)節(jié)液晶顯示器的對比度的。當(dāng)該電位器的旋鈕1直接和電源端相連時,顯示器屏幕的對比度最弱,當(dāng)其旋鈕直接和地端相連時,顯示器屏幕的對比度最高。液晶顯示器的數(shù)據(jù)來源是單片機的P1口,當(dāng)單片機的T1端口由高電平跳變成低電平時,液晶顯示器開始執(zhí)行命令,并最終顯示出頻率的數(shù)值。圖3-7頻率計顯示電路圖3.7時鐘控制電路時鐘控制電路如圖3-9所示。制作頻率計的關(guān)鍵點在于時基信號的準(zhǔn)確性和穩(wěn)定性,它決定頻率計的計數(shù)精度。這里選用11.0592的晶振組成的電路來作為單片機AT89C51的時鐘電路,由單片機用軟件方法得到所需的門控信號。圖3-8時鐘控制電路圖4.系統(tǒng)軟件設(shè)計4.1系統(tǒng)軟件總述系統(tǒng)軟件的設(shè)計主要是保證軟件和硬件電路相結(jié)合,控制硬件正常的工作。對于頻率計來說,就是控制頻率計的硬件系統(tǒng)使其最終能較為準(zhǔn)確的測出待測信號的頻率。本課題頻率計的系統(tǒng)軟件的設(shè)計采用了模塊化的結(jié)構(gòu)方式,將各個功能分成獨立模塊,由系統(tǒng)的監(jiān)控程序統(tǒng)一管理執(zhí)行。本系統(tǒng)軟件的設(shè)計主要分兩部分:一部分是執(zhí)行軟件,主要完成各種實質(zhì)性的功能,如測量、計算、顯示、定時中斷服務(wù)等;另一部分是監(jiān)控軟件,主要來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度的角色。該頻率計中主要元器件是單片機AT89C51,由它完成對待測信號頻率的計數(shù)和結(jié)果傳輸?shù)裙δ?外部還要有分頻器、顯示器等器件。被測信號首先要經(jīng)過放大、整形,如果是高頻信號還要由分頻器進(jìn)行分頻,然后送入單片機的P0端口和P2端口并開始計數(shù),分頻器的分頻系數(shù)由單片機來控制;計數(shù)、分頻達(dá)到規(guī)定的精度后結(jié)束計數(shù),然后調(diào)用顯示子程序,顯示結(jié)果。該頻率計的總體程序流程圖如圖4-1所示圖4-1程序總體流程圖4.2顯示器初始化設(shè)計顯示器初始化程序流程圖如圖4-2所示。在測量頻率之前,首先要清屏,之后將單片機的讀寫端同時設(shè)置為低電平,因為單片機的讀寫端控制著液晶顯示器的4腳和5腳,當(dāng)液晶顯示器的4腳和5腳同時為低電平時,液晶顯示器可以寫入指令或顯示地址。其后就要判斷頻率計顯示器是否處于"忙"狀態(tài)。如果顯示器處于"忙"狀態(tài),則要循環(huán)等待;如果顯示器處于"閑"狀態(tài),則可以對顯示器進(jìn)行操作。另外,在每次單片機的P1口寫入控制字后,都要判斷顯示器是否課程設(shè)計處于"忙"狀態(tài)。在判斷液晶顯示器的狀態(tài)后,要將其使能端設(shè)置為高電平,為后面的程序做鋪墊。因為只有當(dāng)該使能端由高電平跳變到低電平時,液晶模塊才可以執(zhí)行命令。圖4-2顯示初始化流程圖4.3計數(shù)子程序如圖4-3所示,輸入信號經(jīng)過整形輸入到74HC393中,采用矩形波下降沿開始計數(shù),上升沿停止計數(shù)的方來計數(shù),剛好對應(yīng)于正弦波一個完整周期,再輸入到AT89C51單片機的P0、P2口。其程序流程圖如圖4-3所示。該頻率計利用定時器T0來完成計數(shù)功能,其參數(shù)選定原則是:<1>初值:TL0=00H,TH0=00H,50Hz左右的信號,大約相當(dāng)于104個機器周期,用16位計數(shù)器即可滿足,不會產(chǎn)生溢出。<2>TMOD的選擇:定時器T0采用方式1,由于后面要用到T1作為定時器,也采用方式1,故TMOD選取為11H。<3>TCON的選擇:這里不需要考慮中斷,故只選擇控制TR0就可以了,開始計數(shù)時,TR0置"1",停止計數(shù)時清"0"。圖4-3計數(shù)子程序流程圖4.4數(shù)制轉(zhuǎn)換子程序設(shè)計二進(jìn)制轉(zhuǎn)換為十進(jìn)制流程圖如圖4-4所示。在計算機中,任何數(shù)據(jù)都以二進(jìn)制形式出現(xiàn),并在計算機中處理的。但是通過外部設(shè)備與計算機交換數(shù)據(jù)采用的是其他形式的數(shù)據(jù),由于頻率計的顯示部分是用的1602LCD液晶顯示器,它不可以直接顯示二進(jìn)制數(shù)據(jù),所以單片機要把P0、P2口讀入的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為可以被顯示器識別并顯示的十進(jìn)制數(shù)據(jù)。圖4-4二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)流程圖4.5顯示子程序設(shè)計顯示子程序流程圖如圖4-5所示。數(shù)據(jù)由單片機的P0、P2口讀入,由單片機的P1口送出,被液晶顯示器接收,顯示器工作狀態(tài)由單片機的P3口控制,P3.7口控晶顯示器的4腳,4腳為RS,是寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時間選擇指令寄存器。P3.6腳控制顯示器的5腳,5腳為RW,是讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時間可以寫入指令或者顯示地址,RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。P3.5腳控制顯示器的6腳,6腳為E端,是使能端,當(dāng)E端高電平跳變成低電平時,液晶模塊執(zhí)行命令。在液晶顯示器開始工作之前要先初始化系統(tǒng)時鐘,再初始化I/O端口,最后初始化1602LCD模塊。在數(shù)據(jù)從單片機讀入后,先將數(shù)據(jù)顯示在液晶模塊的第一行,隨后切換到第二行顯示。圖4-51602LCD顯示程序流程圖5系統(tǒng)的功能調(diào)試先將電路圖在仿真軟件進(jìn)行仿真,在仿真沒有問題的情況下,將元器件焊接在電路板上,然后進(jìn)行硬件調(diào)試。硬件調(diào)試的主要任務(wù)是排除硬件故障,其中包括設(shè)計錯誤和工藝性故障。首先進(jìn)行脫機調(diào)試,用萬用表逐步檢查各個引腳,尤其是電源是否連接正確,單片機芯片是否正確插入底座。其次運用軟件編輯程序,要生成目標(biāo)代碼文件,不斷地調(diào)試程序。加載目標(biāo)代碼文件打開元器件單片機屬性窗口,在"Program

File"欄中添加上面編譯好的目標(biāo)代碼文件".ASM";在"Clock

Frequency"欄中輸入晶振頻率為12MHZ。每一小塊程序編寫過后都進(jìn)行聯(lián)調(diào),這樣可以及時觀察到自己所編的程序是否符合自己的目的,當(dāng)出現(xiàn)問題時及時處理,可以避免當(dāng)有大量問題后無法找出錯誤的地方,可以提高編程的效率,也有利于最終將程序編寫出來。調(diào)試過程:〔1首先將所寫的匯編程序拷入到89C51單片機中〔2將所焊接的硬件接通+5V的電源,保證數(shù)字頻率計能夠正常運行?!?估算一下所要測量信號的頻率是在<1Hz,60MHz>,<50MHz,2.0GHz>的那個頻率段,然后將開關(guān)電路的開關(guān)打向?qū)?yīng)的位置。〔4觀察并記錄液晶顯示1602LCD的實數(shù)?!?將記錄的實際值與輸入信號的理論值作比較。檢測該數(shù)字頻率計的實際效果怎么樣。調(diào)試現(xiàn)象說明:〔1實驗出現(xiàn)最多的現(xiàn)象就是液晶顯示屏1602LCD老是出現(xiàn)亂碼。在確保電路硬件沒有問題的情況下,檢查系統(tǒng)的程序發(fā)現(xiàn)是程序中的數(shù)制轉(zhuǎn)換子程序有點問題,找到問題后我到網(wǎng)上查找了一個數(shù)制轉(zhuǎn)換程序,經(jīng)過我的修改后,替代原程序后,調(diào)試后發(fā)現(xiàn)液晶顯示屏沒有出現(xiàn)亂碼,系統(tǒng)能夠正常運行。〔2系統(tǒng)正常運行,記錄1602液晶顯示屏顯示的實數(shù)。如表5-1理論值〔HZ505k500k5M500M5G測量值<HZ>464.82K512K5,05M503M5,08G表5-1理論值與測量值比較由實驗數(shù)據(jù)不難看出測量值與理論值比較接近,說明本數(shù)字頻率計的性能很好,沒有什么大問題。6結(jié)論本課題設(shè)計的頻率計采用單片機AT89C51智能化控制,充分利用單片機內(nèi)部硬件資源和軟件功能,大大減少了硬件電路的復(fù)雜性,使電路結(jié)構(gòu)更加簡潔,有利于提高頻率計的工作可靠性。另外,用AT89C51單片機替換傳統(tǒng)的頻率計,硬件結(jié)構(gòu)簡單,便于升級,能充分改善原有設(shè)備的性能,提高測試精度。通過本次課程設(shè)計,我對單片機這門課程有了進(jìn)一步的理解,在本次設(shè)計數(shù)字頻率計的過程中,學(xué)會了很多知識,此外,通過在網(wǎng)上查找相關(guān)內(nèi)容,也學(xué)會了設(shè)計系統(tǒng)軟硬件的一些方法。參考文獻(xiàn)[1]閻石,數(shù)字電子技術(shù)基礎(chǔ)〔第五版,清華大學(xué)電子學(xué)教研組2005[2]張毅剛.單片機原理及應(yīng)用〔第2版北京:高等教育出版社,2010[3]胡漢才,單片機原理及其接口技術(shù)[M].清華大學(xué)出版社,1997[4]毛謙敏,單片機原理及應(yīng)用系統(tǒng)設(shè)計.北京:國防工業(yè)出版社,2005[5]涂時亮.單片微機MCS-51用戶手冊。上海:復(fù)旦大學(xué)出版社,1990附錄附錄A頻率計總電路圖附錄B頻率計總程序Q0000:MOVSP,#60H;堆棧設(shè)置Q0003:SETBP3.3;打開定時器開關(guān)SETBP3.5;啟動定時器MOVP1,#01H;清屏,PI口接1602的DB7-DB0,P1寫入控制字ACALLQ01DC;等代LCD不忙MOVP1,#0CH;顯示器開、光標(biāo)開、閃爍開,即為P1寫入控制字ACALLQ01DCMOVR0,#EFHQ0013:NOP;延時DJNZR0,Q0013;延時R0個周期MOVTMOD,#05H;定時器方式一,啟動了T0Q0019:MOVP0,#FFH;P0置高電平MOVP2,#FFH;P0\P2端口賦值,P2置高電平MOVTL0,#00H;清計數(shù)器MOVTH0,#00HCLRP3.3;INT1=0有效SETBTR0;啟動計數(shù)器0SETBP3.2;開計數(shù)開關(guān)MOVR0,#0AHMOVR1,#32HMOVR2,#50HMOVR3,#02HNOP;延時NOPNOPNOPNOPQ0038:MOVR1,#32H;延時R0*32H*50H*02HNOPNOPNOPNOPNOPNOPQ0040:MOVR2,#50HQ0042:MOVR3,#02HQ0044:NOPNOPNOPNOPNOPNOPNOPDJNZR3,Q0044DJNZR2,Q0042DJNZR1,Q0040DJNZR0,Q0038CLRP3.2;INT0=0,關(guān)閉計數(shù)器開關(guān),停止計數(shù)值更新NOPNOPNOPCLRTR0;關(guān)閉計數(shù)器,在R0*32H*50H*02H延時內(nèi)計數(shù);讀入計數(shù)值MOV20H,P0;讀P0口數(shù)值MOV21H,P2;讀P2口數(shù)值MOV22H,TL0;取計數(shù)值低位MOV23H,TH0;取計數(shù)值高位SETBP3.3;INT1=1,打開定時器開關(guān);多<四>字節(jié)二轉(zhuǎn)十,入口R0為二進(jìn)制低位字節(jié)地址指針,R7為字節(jié)數(shù),出口R1為BCD碼結(jié)果低位字節(jié)地址指針MOVR0,#20HMOVR1,#30HMOVR7,#04HMOVA,R0MOVR5,AMOVA,R1MOVR6,AMOVA,R7MOVR3,AINCR3CLRA;累加器清零Q0077:MOVR1,AINCR1DJNZR3,Q0077MOVA,R7MOVB,#08H;將立即數(shù)8送入B中MULAB;A、B相乘,結(jié)果送入A中,A=32MOVR3,AQ0081:MOVA,R5MOVR0,AMOVA,R7MOVR2,ACLRCQ0086:MOVA,R0RLCAMOVR0,AINCR0DJNZR2,Q0086MOVA,R6MOVR1,AMOVA,R7MOVR2,AINCR2Q0091:MOVA,R1;得到低位數(shù)據(jù)ADDCA,R1;累加DAA;十進(jìn)制調(diào)整MOVR1,A;保存數(shù)據(jù)INCR1;進(jìn)一步循環(huán)得到第二位、第三位、第四位數(shù)據(jù)等DJNZR2,Q0091DJNZR3,Q0081MOVR0,#30HMOVR1,#24HQ009E:MOVA,R0ANLA,#0FHORLA,#30HMOVR1,AMOVA,R0ANLA,#F0HRLARLARLARLAORLA,#30HINCR1MOVR1,AINCR0INCR1CJNER0,#36H,Q009E;從高往低判斷,不是0就開始顯示MOV2EH,#20HMOVR1,#2DHCJNER1,#30H,Q00F4MOVR1,#20HDECR1CJNER1,#30H,Q00F4MOVR1,#20HDECR1CJNER1,#30H,Q00F4MOVR1,#20HDECR1CJNER1,#30H,Q00F4MOVR1,#20HDECR1CJNER1,#30H,Q0112MOVR1,#20HDECR1CJNER1,#30H,Q0112MOVR1,#20HDECR1CJNER1,#30H,Q0112MOVR1,#20HDECR1CJNER1,#30H,Q0130MOVR1,#20HDECR1CJNER1,#30H,Q0130MOVR1,#20HDECR1CJNER1,#30H,Q0130AJMPQ016FQ00F4:MOVR0,#23HMOVR0,#4DHDECR0MOVR0,#48HDECR0MOVR0,#7AHDECR0MOVR0,#20HMOVA,2CHMOV2DH,AMOVA,2BHMOV2CH,AMOVA,2AHMOV2BH,AMOV2AH,#2EHAJMPQ013DQ0112:MOVR0,#23MOVR0,#4BHDECR0MOVR0,#48HDECR0MOVR0,#7AHDECR0MOVR0,#20HMOVA,29HMOV2AH,AMOVA,28HMOV29H,AMOVA,27HMOV28H,AMOV27H,#2EHAJMPQ013DQ0130:MOVR0,#23HMOVR0,#48HDECR0MOVR0,#7AHDECR0MOVR0,#20HDECR0MOVR0,#20HQ013D:MOV10H,#53HMOV11H,#49HMOV12H,#47HMOV13H,#4EHMOV14H,#41HMOV15H,#4CHMOV16H,#20HMOV17H,#46HMOV18H,#52HMOV19H,#45HMOV1AH,#51HMOV1BH,#55HMOV1CH,#45HMOV1DH,#4EHMOV1EH,#43HMOV1FH,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論