基于單片機(jī)的頻率計(jì)設(shè)計(jì)郭霈_第1頁
基于單片機(jī)的頻率計(jì)設(shè)計(jì)郭霈_第2頁
基于單片機(jī)的頻率計(jì)設(shè)計(jì)郭霈_第3頁
基于單片機(jī)的頻率計(jì)設(shè)計(jì)郭霈_第4頁
基于單片機(jī)的頻率計(jì)設(shè)計(jì)郭霈_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、江西理工大學(xué)2010屆??粕厴I(yè)設(shè)計(jì)(論文)江 西 理 工 大 學(xué) 南 昌 校 區(qū)畢 業(yè) 設(shè) 計(jì)(論文)題 目:基于51單片機(jī)頻率計(jì)設(shè)計(jì) 系 :信息工程系專 業(yè):電氣自動化班 級:電氣自動化101班學(xué) 生:郭霈學(xué) 號:10321126指導(dǎo)教師:崔智勇 職稱:講師1 引言 單片機(jī)是20世紀(jì)中期發(fā)展起來的一種面向控制的大規(guī)模集成電路模塊,具有功能強(qiáng)、體積小、可靠性高、價(jià)格低廉等特點(diǎn),在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機(jī)電一體化、家用電器等領(lǐng)域得到了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動化程度1。 51系列單片機(jī)是國內(nèi)目前應(yīng)用最廣泛的一種8位單片機(jī)之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和

2、皮鞭接受及應(yīng)用,51系列單片機(jī)還會在繼后很唱一段時(shí)間占據(jù)嵌入式系統(tǒng)產(chǎn)品的低端市場,因此,作為新世紀(jì)的大學(xué)生,在信息產(chǎn)業(yè)高速發(fā)展的今天,掌握單片機(jī)的基本結(jié)構(gòu)、原理和使用時(shí)非常重要的。隨著電子技術(shù)的發(fā)展,當(dāng)前數(shù)字系統(tǒng)的設(shè)計(jì)正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。推動該潮流迅猛發(fā)展的引擎上日趨進(jìn)步和完善的設(shè)計(jì)技術(shù)。目前數(shù)字頻率計(jì)的設(shè)計(jì)可以直接面向用戶要求,根據(jù)系統(tǒng)的行為和功能要求,自上至下的逐層挖不出個辦法相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,知道生成期間。上述設(shè)計(jì)過程除了系統(tǒng)行為和功能描述以外。其余所有的設(shè)計(jì)過程幾乎都可以用計(jì)算機(jī)來自動的完成,也就是說做到了電子設(shè)計(jì)自動化(EDA)。這樣做可

3、以大大地縮短系統(tǒng)的設(shè)計(jì)周期,以適應(yīng)當(dāng)今品種多,批量下的電子市場的需求,提高產(chǎn)品的競爭能力。數(shù)字頻率計(jì)是數(shù)字電路中的一個典型應(yīng)用,實(shí)際的硬件設(shè)計(jì)用到的器件較多,連線比較復(fù)雜,而且會產(chǎn)生比較大的延時(shí),造成測量誤差、可靠性差。隨著復(fù)雜可編程邏輯器件(CPLD)的廣泛應(yīng)用,以EDA工具作為開發(fā)手段,運(yùn)用匯編語言。將使整個系統(tǒng)大大簡化。提高整體的性能和可靠性。本文用匯編語言在CPLD器件上實(shí)現(xiàn)一種8 b數(shù)字頻率計(jì)測頻系統(tǒng),能夠用十進(jìn)制數(shù)碼顯示被測信號的頻率,不僅能夠測量正弦波、方波和三角波等信號的頻率,而且還能對其他多種物理量進(jìn)行測量。具有體積小、功耗低等特點(diǎn)。2 系統(tǒng)概述2.1 數(shù)字頻率計(jì)的概述數(shù)字頻

4、率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。它是一種用十進(jìn)制數(shù)字顯示被測信號頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號,方波信號及其他各種單位時(shí)間內(nèi)變化的物理量。在進(jìn)行模擬、數(shù)字電路的設(shè)計(jì)、安裝、調(diào)試過程中,由于其使用十進(jìn)制數(shù)顯示,測量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計(jì)3。2.2 設(shè)計(jì)思路及原理數(shù)字頻率計(jì)是用于測量信號(方波、正弦波或其它脈沖信號)的頻率,并用十進(jìn)制數(shù)字顯示,它具有精度高,測量迅速,讀數(shù)方便等優(yōu)點(diǎn)。頻率計(jì)的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘,對比測量其他信號的頻率。通常情況下計(jì)算每秒內(nèi)待測信號的脈沖個數(shù),此時(shí)我們稱閘門時(shí)間為1秒。

5、閘門時(shí)間也可以大于或小于一秒。閘門時(shí)間越長,得到的頻率值就越準(zhǔn)確,但閘門時(shí)間越長則沒測一次頻率的間隔就越長。閘門時(shí)間越短,測的頻率值刷新就越快,但測得的頻率精度就受影響。本文。數(shù)字頻率計(jì)是用數(shù)字顯示被測信號頻率的儀器,被測信號可以是正弦波,方波或其它周期性變化的信號4。如配以適當(dāng)?shù)膫鞲衅?,可以對多種物理量進(jìn)行測試,比如機(jī)械振動的頻率,轉(zhuǎn)速,聲音的頻率以及產(chǎn)品的計(jì)件等等。  脈沖信號的頻率就是在單位時(shí)間內(nèi)所產(chǎn)生的脈沖個數(shù),其表達(dá)式為f=NT,其中,f為被測信號的頻率,N為計(jì)數(shù)器所累計(jì)的脈沖個數(shù)。 T為產(chǎn)生N個脈沖所需的時(shí)間。計(jì)數(shù)器所記錄的結(jié)果,就是被測信號的頻率。如在1S內(nèi)記

6、錄1000個脈沖,則被測信號的頻率為1000Hz。晶振產(chǎn)生較高的標(biāo)準(zhǔn)頻率,經(jīng)分頻器后可獲得各種時(shí)基脈沖(1mS,10mS,0.1S,1S等),時(shí)基信號的選擇由開關(guān)k控制.用單穩(wěn)態(tài)觸發(fā)器產(chǎn)生指令和清零信號,對置零信號而言,當(dāng)達(dá)到所調(diào)節(jié)的延時(shí)時(shí)間時(shí),延時(shí)電路輸出一個復(fù)位信號,使計(jì)數(shù)器和所有的觸發(fā)器量0,為后續(xù)新的一次取樣作好準(zhǔn)備,即能鎖住一次顯示的時(shí)間,使保留到接受新的一次取樣為止。用4片十進(jìn)制計(jì)數(shù)器74ls160完成對整形后的待測信號的計(jì)數(shù),通過74ls273寄存,便于數(shù)碼管顯示,用74ls48和其驅(qū)動的共陰極的半導(dǎo)體數(shù)碼管作為主要顯示電路。另外,信號的放大部分還可以用三極管放大電路來完成,而整

7、形部分可用施密特觸發(fā)器來完成,對施密特觸發(fā)器只涉及到一個外接小電容,典型值為0.01uF。為簡單起見,可用555來做。控制門用一個與門即可實(shí)現(xiàn)。兩個單穩(wěn)態(tài)觸發(fā)器完全一樣,均可用555來做。計(jì)數(shù)器用74LS160來完成,免去了接十進(jìn)制計(jì)數(shù)器的麻煩(若用74LS161)。鎖存電路用四路鎖存器74LS75來完成。其輸出可直接接到數(shù)電箱上的74LS247譯碼電路,進(jìn)而顯示結(jié)果。2.3 系統(tǒng)組成待測信號 頻率計(jì)由單片機(jī)89C51、信號予處理電路、串行通信電路、測量數(shù)據(jù)顯示電路和系統(tǒng)軟件所組成,其中信號予處理電路包含待測信號放大、波形變換、波形整形和分頻電路。系統(tǒng)硬件框圖如圖1所示。信號予處理電路中的放大

8、器實(shí)現(xiàn)對待測信號的放大,降低對待測信號的幅度要求;波形變換和波形整形電路實(shí)現(xiàn)把正弦波樣的正負(fù)交替的信號波形變換成可被單片機(jī)接受的TTL/CMOS兼容信號;分頻電路用于擴(kuò)展單片機(jī)的頻率測量范圍并實(shí)現(xiàn)單片機(jī)頻率測量和周期測量使用同一的輸入信號5。分頻電路波形整形波形變換放大器單片機(jī)串行通信電路單片機(jī)圖 1 系統(tǒng)硬件圖系統(tǒng)軟件包括測量初始化模塊、顯示模塊、信號頻率測量模塊、量程自動轉(zhuǎn)換模塊、信號周期測量模塊、定時(shí)器中斷服務(wù)模塊、浮點(diǎn)數(shù)格式化模塊、浮點(diǎn)數(shù)運(yùn)算模塊、浮點(diǎn)數(shù)到BCD碼轉(zhuǎn)換模塊。系統(tǒng)軟件框圖如圖2所示。量程自動轉(zhuǎn)換模塊頻率測量模塊初始化模塊周期測量模塊定時(shí)器中斷服務(wù)模塊顯示模塊浮點(diǎn)數(shù)格式化模

9、塊浮點(diǎn)數(shù)算術(shù)運(yùn)算模塊浮點(diǎn)數(shù)到BCD碼轉(zhuǎn)換模塊圖 2系統(tǒng)軟件圖2.4 處理方法 本頻率計(jì)的設(shè)計(jì)以AT89C51單片機(jī)為核心,利用它內(nèi)部的定時(shí)/計(jì)數(shù)器完成待測信號周期/頻率的測量。單片機(jī)AT89C51內(nèi)部具有2個16位定時(shí)/計(jì)數(shù)器,定時(shí)/計(jì)數(shù)器的工作可以由變成來實(shí)現(xiàn)定時(shí)、計(jì)數(shù)和產(chǎn)生計(jì)數(shù)溢出中斷要求的功能。在構(gòu)成為定時(shí)器時(shí),每隔幾期周期加1(使用12MHz時(shí)鐘時(shí),每1us加1)這樣以及其周期為基準(zhǔn)可以用來測量時(shí)間間隔6。在構(gòu)成計(jì)數(shù)器時(shí),在相應(yīng)的外部引腳發(fā)生從1到0的的跳變時(shí)計(jì)數(shù)器加1,這樣在計(jì)數(shù)閘門的控制下可以用來測量待測信號的頻率。外部輸入每隔及其周期被采樣一次,這樣檢測一次從1到0的跳變至少需要

10、2個極其周期(24個震蕩周期),所以最大計(jì)數(shù)速率為時(shí)鐘頻率的1/24(使用12MHz時(shí)鐘時(shí),最大計(jì)數(shù)速率為500KHz)。定時(shí)/計(jì)數(shù)器的工作由相應(yīng)的運(yùn)行控制位TR控制,當(dāng)TR置1,定時(shí)/計(jì)數(shù)器開始計(jì)數(shù);當(dāng)TR清0,停止計(jì)數(shù)。 設(shè)計(jì)綜合考慮了頻率測量精度和測量反應(yīng)時(shí)間的需求。例如當(dāng)要求頻率測量結(jié)果為3位有效數(shù)字,這時(shí)如果待測信號的頻率為1Hz,則計(jì)數(shù)閘門寬度必須大于1000s。為了兼顧頻率測量精度和測量反應(yīng)時(shí)間的要求,把測量工作分為兩種方法。當(dāng)待測信號的頻率大于100Hz時(shí)。定時(shí)/計(jì)數(shù)器構(gòu)成為計(jì)數(shù)器,以及其周期為基準(zhǔn),由軟件產(chǎn)生計(jì)數(shù)閘門,這時(shí)要滿足頻率測量結(jié)果為3位有效數(shù)字,則計(jì)數(shù)閘門寬度大于1

11、s即可。當(dāng)待測信號的頻率小于100Hz時(shí),定時(shí)/計(jì)數(shù)器構(gòu)成為定時(shí)器,由頻率計(jì)的予處理電路把待測信號變成方波,方波寬度等于待測信號的周期。用方波作技術(shù)閘門,當(dāng)待測信號的頻率等于100Hz,使用12MHz時(shí)鐘時(shí)的最小計(jì)數(shù)值為10000,完全滿足測量精度的要求7。2.5 頻率計(jì)的量程自動切換 在使用計(jì)數(shù)方法實(shí)現(xiàn)頻率測量時(shí),這時(shí)外部的待測信號為定時(shí)/計(jì)數(shù)器的計(jì)數(shù)源,利用軟件延時(shí)程序?qū)崿F(xiàn)計(jì)數(shù)閘門。頻率計(jì)的工作過程為:首先定時(shí)/計(jì)數(shù)器的計(jì)數(shù)寄存器清0,運(yùn)行控制位TR置1,啟動定時(shí)/計(jì)數(shù)器;然后運(yùn)行軟件延時(shí)程序。同時(shí)定時(shí)/計(jì)數(shù)器對外部的待測信號進(jìn)行計(jì)數(shù),延時(shí)結(jié)束時(shí)TR清0,停止計(jì)數(shù);最后從計(jì)數(shù)寄存器讀出測量

12、數(shù)據(jù),完成數(shù)據(jù)處理后,由顯示電路顯示測量結(jié)果。 在使用定時(shí)方法實(shí)現(xiàn)頻率測量時(shí),這時(shí)外部的待測信號通過頻率計(jì)的予處理電路變成寬度等于待測信號周期的方波,該方波同樣加定時(shí)/計(jì)數(shù)器的輸入腳。這時(shí)頻率計(jì)的工作過程為:首先定時(shí)/計(jì)數(shù)器的計(jì)數(shù)寄存器清0,然后檢查方波高電平 是否加至定時(shí)/計(jì)數(shù)器的輸入腳;當(dāng)判定高電平加至定時(shí)/計(jì)數(shù)器的輸入腳,運(yùn)行控制為TR置1,啟動定時(shí)/計(jì)數(shù)器對單片機(jī)的及其周期的計(jì)數(shù),同時(shí)檢測方波高電平是否結(jié)束;當(dāng)判定高電平結(jié)束時(shí)TR置0,停止計(jì)數(shù),然后從計(jì)數(shù)寄存器讀出測量數(shù)據(jù),在完成數(shù)據(jù)處理后,由顯示電路顯示測量結(jié)果。 測量結(jié)果的顯示格式采用科學(xué)計(jì)數(shù)法,即有效數(shù)字乘以10為底的冪。這里設(shè)

13、計(jì)的頻率計(jì)用5位數(shù)碼管顯示測量結(jié)果:前3位為測量結(jié)果的有效數(shù)字;第4位為指數(shù)的符號;第5位為指數(shù)的值。采用這種顯示格式既保證了測量結(jié)果的顯示精度,由保證了測量結(jié)果的顯示范圍(0.100Hz9.99MHz)8。 量程自動轉(zhuǎn)換的過程由頻率計(jì)測量量程的高端開始。由于只顯示3位有效數(shù)字,在測量量程的高端計(jì)數(shù)閘門不需要太寬,例如在10.0KHz-99.9KHz頻率范圍,計(jì)數(shù)閘門寬度為10mS即可。頻率計(jì)每個工作循環(huán)開始時(shí)使用計(jì)數(shù)方法實(shí)現(xiàn)頻率測量,并是計(jì)數(shù)閘門寬度為最窄,完成測量后判斷測量結(jié)果是否具有3位有效數(shù)字,如果成立,將結(jié)果送去顯示,本工作循環(huán)結(jié)束;否則將計(jì)數(shù)閘門寬度擴(kuò)大10倍,繼續(xù)進(jìn)行測量判斷,直

14、到計(jì)數(shù)閘門寬度達(dá)到1s,這時(shí)對應(yīng)的頻率測量范圍為100Hz-999Hz。如果測量結(jié)果仍不具有3位有效數(shù)字,頻率計(jì)則使用定時(shí)方法實(shí)現(xiàn)頻率測量。定時(shí)方法測量的是待測信號的周期,這種方法只設(shè)一種量程,測量結(jié)果通過浮點(diǎn)運(yùn)算模塊將信號周期轉(zhuǎn)換成對應(yīng)的頻率值,再將結(jié)果送去顯示,這樣無論采用何種方式,只要完成一次測量即可,頻率計(jì)自動開始下一個測量循環(huán)。因此該頻率計(jì)具有連續(xù)測量的功能,同時(shí)實(shí)現(xiàn)量程的自動轉(zhuǎn)換9。3 系統(tǒng)硬件設(shè)計(jì)3.1 信號予處理電路頻率計(jì)信號予處理電路如圖3 所示,它由四級電路構(gòu)成。第一級為零偏置放大器,當(dāng)輸入信號為零或者為負(fù)電壓時(shí),三極管截止,輸出高電平;當(dāng)輸入信號為正電壓時(shí),三極管導(dǎo)通,輸

15、出電壓隨著輸入電壓的上升而下降。零偏置放大器把如正弦波樣的正負(fù)交替波形變換成單向脈沖,這使得頻率計(jì)既可以測量任意方波信號的頻率,也可以測量正弦波信號的頻率。放大器的放大能力實(shí)現(xiàn)了對小信號的測量,本電路可以測量幅度0. 5V 的正弦波或脈沖波待測信號10。三極管應(yīng)采用開關(guān)三極管以保證放大器具有良好的高頻響應(yīng)。第二級采用帶施密特觸發(fā)器的反相器7414 ,它用于把放大器生成的單向脈沖變換成與TTLCMOS 電平相兼容的方波。第三級采用十進(jìn)制同步計(jì)數(shù)器74160 ,第級輸出的方波加到74160 的CL K,當(dāng)從74160 的TC 輸出可實(shí)現(xiàn)10分頻(多個74160 的級連可以進(jìn)一步擴(kuò)展測頻范圍) 。第

16、四級同樣采用十進(jìn)制同步計(jì)數(shù)器74160 ,第三級輸出的方波加到它的CL K,從它的Q0 輸出即可實(shí)現(xiàn)2 分頻,且其輸出為對稱方波,方波寬度等于待測信號的周期,從而為測量信號周期提供基礎(chǔ)。圖3 信號處理電路3. 2 AT89C51單片機(jī)及其引腳說明頻率測量電路選用89C51 作為頻率計(jì)的信號處理核心。89C51 包含2 個16 位定時(shí)/ 計(jì)數(shù)器、1個具有同步移位寄存器方式的串行輸入/ 輸出口和4 K×8 位片內(nèi)FLASH 程序存儲器。16 位定時(shí)/ 計(jì)數(shù)器用于實(shí)現(xiàn)待測信號的頻率測量或者待測信號的周期測量。同步移位寄存器方式的串行輸入/ 輸出口用于把測量結(jié)果送到顯示電路。4 K 

17、5;8 位片內(nèi)FLASH 程序存儲器用于放置系統(tǒng)軟件。89C51 與具有更大程序存儲器的芯片管腳兼容,如: 89C52(8 K×8 位) 或89C55 (32 K×8 位) ,為系統(tǒng)軟件升級打下堅(jiān)實(shí)的物質(zhì)基礎(chǔ)。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將

18、多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 AT89C51是一種低功耗高性能的8位單片機(jī),片內(nèi)帶有一個4k字節(jié)的Flash可編擦除只讀存儲器(PEROM),它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲器(NURAM)技術(shù),而且其輸出引腳和指令系統(tǒng)和MCU_51系列單片機(jī)兼容。片內(nèi)的Flash存儲器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性的存儲器編程器來編程。同時(shí)已具有三級程序存儲器保密的性能: 在眾多的51系列單片機(jī)中,要算AT

19、MEI公司的AT89C51更實(shí)用,因?yàn)樗粌H和MCU_51系列單片機(jī)指令、管腳完全兼容,而且其片內(nèi)的4k程序存儲器是Flash工藝的,這種工藝的存儲器用戶可以用電的方式瞬間擦除、改寫。所以說這種單片機(jī)對開發(fā)設(shè)備的要求很低,開發(fā)時(shí)間也大大縮短。寫入單片機(jī)的程序還可以加密,這又很好地保護(hù)了所有者的勞動成果。 AT89C51是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單

20、元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性價(jià)比的解決方案。AT89C51是一個低功耗高性能單片機(jī),40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個外中斷口,2個16位可編程定時(shí)計(jì)數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。 AT89C51具有PDIP、PQFPTQFF及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性: 兼容MCS51Z指令系統(tǒng) 4k可反復(fù)擦寫(>1000次)Flash ROM 32個雙向I/

21、O口 靜態(tài)操作0-24MHz 1個串行中斷 128x8bit內(nèi)部RAM 兩個外部中斷源 共6個中斷源 可直接驅(qū)動LED 3級加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能1主如前所述,AT89C51單片機(jī)片內(nèi)帶有一個4k字節(jié)的Flash可編程可擦除只讀存儲器,這就決定了在某些方面其自身的優(yōu)越性。 主要特性:與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128x8bit內(nèi)部RAM 32可編程I/O線兩個16位定時(shí)器/計(jì)數(shù)器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 2管腳說

22、明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個8 位漏級開路雙向I/O口,每 腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P

23、2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng) 用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它

24、們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存 儲器 寫選 通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個機(jī)器周期的高電平時(shí)間。AL

25、E/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪

26、問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。3振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動器件,XTAL2應(yīng)不接。有

27、余輸入至內(nèi)部時(shí)鐘信號要通過一個二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4芯片擦除: 整個PEROM陣列和三個鎖 定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦 操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止1

28、1。3.3 數(shù)據(jù)顯示電路顯示電路采用靜態(tài)顯示方式。頻率測量結(jié)果經(jīng)過譯碼,通過89C51 的串行口送出。串行口工作于模式0 ,即同步移位寄存器方式。這時(shí)從89C51 的RXD(P3. 0) 輸出數(shù)據(jù),送至串入并出移位寄存器74164 的數(shù)據(jù)輸入口A 和B ;從TXD( P3. 1) 輸出時(shí)鐘,送至74164 的時(shí)鐘輸入口CP。74164 將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),進(jìn)行鎖存。74164 輸出的8 位并行數(shù)據(jù)送至8 段L ED ,實(shí)現(xiàn)測量數(shù)據(jù)的顯示。使用這種方法主程序可不必掃描顯示器,從而單片機(jī)可以進(jìn)行下一次測量。這種方法也便于對顯示位數(shù)進(jìn)行擴(kuò)展.4系統(tǒng)軟件設(shè)計(jì)4.1 數(shù)據(jù)處理過程在頻率計(jì)開始工作,

29、或者完成一次頻率測量,系統(tǒng)軟件都進(jìn)行測量初始化。測量初始化模塊設(shè)置堆棧指針(SP) 、工作寄存器、中斷控制和定時(shí)/ 計(jì)數(shù)器的工作方式。定時(shí)/ 計(jì)數(shù)器的工作首先被設(shè)置為計(jì)數(shù)器方式,即用來測量信號頻率。在對定時(shí)/ 計(jì)數(shù)器的計(jì)數(shù)寄存器清0 后,置運(yùn)行控制位TR 為1 ,啟動對待測信號的計(jì)數(shù)。計(jì)數(shù)閘門由軟件延時(shí)程序?qū)崿F(xiàn),從計(jì)數(shù)閘門的最小值開始,也就是從測量頻率的高量程開始。計(jì)數(shù)閘門結(jié)束時(shí)TR 清0 ,停止計(jì)數(shù)。計(jì)數(shù)寄存器中的值通過16 進(jìn)制數(shù)到10 進(jìn)制數(shù)轉(zhuǎn)換程序轉(zhuǎn)換為10 進(jìn)制數(shù)。對10 進(jìn)制數(shù)的最高位進(jìn)行判別,若該位不為0 ,滿足測量數(shù)據(jù)有效位數(shù)的要求,測量值和量程信息一起送到顯示模塊;若該位為0

30、 ,將計(jì)數(shù)閘門的寬度擴(kuò)大10 倍,重新對待測信號的計(jì)數(shù),直到滿足測量數(shù)據(jù)有效位數(shù)的要求12。當(dāng)上述測量判斷過程直到計(jì)數(shù)閘門寬度達(dá)到1s ,這時(shí)對應(yīng)的頻率測量范圍為100Hz - 999Hz ,如果測量結(jié)果仍不具有3 位有效數(shù)字,頻率計(jì)則使用定時(shí)方法測量待測信號的周期。定時(shí)/計(jì)數(shù)器的工作這時(shí)被設(shè)置為定時(shí)器方式,在對定時(shí)/計(jì)數(shù)器的計(jì)數(shù)寄存器清0 后,判斷待測信號的上 跳沿是否到來。待測信號的上跳沿到來后,置運(yùn)行控制位TR 為1 ,以單片機(jī)工作周期為單位,啟動對待測信號的周期測量。然后判斷待測信號的下跳沿是否到來,待測信號的下跳沿到來后,運(yùn)行控制位TR 清0 ,停止計(jì)數(shù)。16 位定時(shí)/計(jì)數(shù)器的最高計(jì)

31、數(shù)值為65535 ,這樣在待測信號的頻率較低時(shí),定時(shí)/計(jì)數(shù)器將發(fā)生溢出。當(dāng)產(chǎn)生定時(shí)/計(jì)數(shù)器將溢出,程序進(jìn)入定時(shí)器中斷服務(wù)程序,中斷服務(wù)程序?qū)σ绯龃螖?shù)進(jìn)行計(jì)數(shù)。待測信號的周期由3 個字節(jié)組成:定時(shí)/計(jì)數(shù)器溢出次數(shù)、定時(shí)/計(jì)數(shù)器的高8 位和低8 位。信號的頻率f 與信號的周期T 之間的關(guān)系為: f=1T完成信號的周期測量后,需要做一次倒數(shù)運(yùn)算才能獲得信號的頻率。為提高運(yùn)算精度,這里采用浮點(diǎn)數(shù)算術(shù)運(yùn)算。浮點(diǎn)數(shù)用3 個字節(jié)組成,第一字節(jié)最高位為數(shù)符,其余7 位為階碼;第二字節(jié)為尾數(shù)的高字節(jié);第三字節(jié)為尾數(shù)的低字節(jié)。待測信號周期的3 個字節(jié)定點(diǎn)數(shù)首先通過截取高16 位、設(shè)置數(shù)符和計(jì)算階碼轉(zhuǎn)換為上述格式的

32、浮點(diǎn)數(shù)。然后浮點(diǎn)數(shù)算術(shù)運(yùn)算對其進(jìn)行處理,獲得用浮點(diǎn)數(shù)格式表達(dá)的信號頻率值。浮點(diǎn)數(shù)到BCD 碼轉(zhuǎn)換模塊把用浮點(diǎn)數(shù)格式表達(dá)的信號頻率值變換成本頻率計(jì)的顯示格式,送到顯示模塊顯示待測信號的頻率值。無論從哪一種方式進(jìn)入顯示模塊,完成顯示后,頻率計(jì)都開始下一次信號的頻率測量。4.2系統(tǒng)軟件框圖系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法。整個系統(tǒng)由初始化模塊、顯示模塊和信號頻率測量模塊等各種功能模塊組成(見圖4)。上電后,進(jìn)入系統(tǒng)初始化模塊,系統(tǒng)軟件開始運(yùn)行。在執(zhí)行過程中,根據(jù)運(yùn)行流程分別調(diào)用各個功能模塊完成頻率測量、量程自動切換、周期測量和測量結(jié)果顯示。入口系統(tǒng)初始化頻率測量量程自動轉(zhuǎn)換NoYes測量數(shù)據(jù)顯示有效數(shù)

33、位判別中斷服務(wù)程序周期測量浮點(diǎn)數(shù)格式化F=1/T浮點(diǎn)數(shù)到BCD碼圖4 系統(tǒng)軟件流程圖4.3浮點(diǎn)數(shù)學(xué)運(yùn)算程序8051 系列單片機(jī)屬于微控制器,由于其CPU字長和指令功能的限制,它適用于控制領(lǐng)域,在信號處理方面不很擅長。在本頻率計(jì)中需要完成周期到頻率的換算,為保證測量結(jié)果的準(zhǔn)確,這里應(yīng)用了浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算13。從周期到頻率的換算過程包括: 3字節(jié)定點(diǎn)數(shù)到浮點(diǎn)數(shù)的轉(zhuǎn)換、浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算和浮點(diǎn)數(shù)到BCD 碼的轉(zhuǎn)換。由于通過多次的轉(zhuǎn)換,整個換算過程精度還不是很高,通過實(shí)測,精度大約為千分之二左右。5 基本測量原理與理論誤差分析5.1 高精度恒定誤差頻率周期測量技術(shù)頻率測量誤差分析及其公式推導(dǎo)如下。 (1)量

34、化誤差 設(shè)測得頻率為Fx被測頻率真實(shí)值為Fxe標(biāo)準(zhǔn)頻率為Fs,在一次測量中預(yù)置門時(shí)間為Tpr,被測信號計(jì)數(shù)值為Nx,標(biāo)推頻率信號計(jì)數(shù)值為Ns .Fx計(jì)數(shù)的起停時(shí)間都是由該信號的上升沿觸發(fā)的,在Tpr時(shí)間內(nèi)對Fx的計(jì)數(shù)Nx無誤差;在此時(shí)間內(nèi)Fs的計(jì)數(shù)從Ns最多相差一個脈沖,即et1 而 FxNx=FsNs FexNx=FsNs+et 由上式可得 Fx=FSNSNx Fxe=FsNs+etNx 根據(jù)相對誤差公式有 =FxeFxe=Fxe-FxFxe 由上式得 FxeFxe=tNs 因?yàn)?et1 所以 etNS1Ns 即 =xeFxe1Ns Ns=TprFs 由上式可以得出以下結(jié)論相對測量誤差與頻率

35、無關(guān)。增大Tpr或提高Fs,可以增大Ns,減少測量誤差,提高測量精度。 (2)標(biāo)準(zhǔn)頻率誤差 標(biāo)準(zhǔn)頻率誤差為Fs/Fs,因?yàn)榫w的穩(wěn)定度很高,標(biāo)準(zhǔn)頻率誤差可以進(jìn)行校準(zhǔn),相對于量化誤差,校準(zhǔn)后的標(biāo)準(zhǔn)頻率誤差可以忽略。 (3)分變率誤差分析先由單片機(jī)給出閘門開啟信號 ,此時(shí)計(jì)數(shù)器并不計(jì)數(shù) ,而是等到被測信號的上升沿到來時(shí),才開始計(jì)數(shù)。然后,兩組計(jì)數(shù)器分別對被測信號和時(shí)標(biāo)脈沖計(jì)數(shù),當(dāng)單片機(jī)給出閘門關(guān)閉信號后 ,計(jì)數(shù)器并不立即停止計(jì)數(shù) ,而是等到被測信號下降沿到來的時(shí)刻才結(jié)束計(jì)數(shù) ,完成一次測量過程??梢钥闯?,實(shí)際閘門與設(shè)定的閘門并不嚴(yán)格相等 ,但最大差值不超過被測信號的一個周期14。 設(shè)被測信號的計(jì)

36、數(shù)為 NX ,對時(shí)標(biāo)的計(jì)數(shù)為 N0 ,時(shí)標(biāo)頻率為 f0 ,閘門時(shí)間為,則被測信號頻率為: fx=f0NXN0 計(jì)數(shù)器的開閉與被測信號是完全同步的 ,即在實(shí)際閘門中包含整數(shù)個被測信號的周期 ,因而不存在對被測信號計(jì)數(shù)的 ±1 個字誤差 ,由式 微分可得 dfx=-Nxf0dN0NO2 dN0=±1 =NxfX 相對誤差為: e=fXfX=NXNX-NON0+f0f0 式(5)中前兩項(xiàng)分別表示計(jì)數(shù)器 T0 和計(jì)數(shù)器 T1 的誤差 ,第三項(xiàng)為頻率準(zhǔn)確度。由于計(jì)數(shù)是在相關(guān)同步門控時(shí)間內(nèi)完成的,即由待測信號同步控制,因此同步門控與計(jì)數(shù)器 T1 的計(jì)數(shù)脈沖相關(guān),且 T/ Tx 的比值

37、Nx為整數(shù) ,故被測信號計(jì)數(shù)值不存在計(jì)數(shù)誤差。而計(jì)數(shù)器 T0 對時(shí)標(biāo)的計(jì)數(shù) ,由于門控的啟閉時(shí)刻的隨機(jī)性及 T/ T0之比值 N0 為非整數(shù)( T0 為時(shí)標(biāo)周期) ,在門控的啟閉時(shí)刻分別有時(shí)間零頭T1 和 T2 無法計(jì)入,故存在 ±1 誤差。當(dāng)忽略頻率準(zhǔn)確度誤差時(shí),多周期同步法測頻的最大誤差為: em=±1N=±1f0 由式(6)可以看出 ,測量分辨率與被測信號頻率的大小無關(guān) ,僅與閘門時(shí)間及時(shí)標(biāo)頻率有關(guān) ,即實(shí)現(xiàn)了被測頻帶內(nèi)的等精度測量,閘門時(shí)間越長,時(shí)標(biāo)頻率越高 ,分辨率越高。 5.2 預(yù)置門時(shí)間信號與閘門時(shí)間信號 預(yù)置門的概念與傳統(tǒng)的閘門的概念是不同的。預(yù)置

38、門是指同時(shí)啟動或停止標(biāo)準(zhǔn)頻率信號計(jì)數(shù)器和被測信號計(jì)數(shù)器的門控信號。碩置門的概念用于高精度恒定誤差測頻測周期方法中,并稱預(yù)置門的時(shí)間寬度為預(yù)置門時(shí)間15。 高精度恒定誤差測頻方法測量精度與預(yù)置門時(shí)間和標(biāo)準(zhǔn)頻率有關(guān),與被測信號的頻率無關(guān)。在預(yù)置門時(shí)間和閘門時(shí)間相同而被測信號頻率不同的情況下,高精度恒誤差額率測量法的測量精度不變,而直接測頻法精度隨著被測信號頻率的增加而接近線性地增大。5.3 脈沖寬度測量理論誤差分析 根據(jù)方案中的脈沖寬度測量方法,分析脈寬測量誤差。設(shè)被測信號脈寬為Twxe,標(biāo)準(zhǔn)頻率信號頻率為Fs,則脈沖寬度的測量值為 TWX=NXFs 在一次測量中,對標(biāo)準(zhǔn)頻率信號的計(jì)數(shù)值Nx可能產(chǎn)

39、生±1個標(biāo)準(zhǔn)頻率信號周期的計(jì)數(shù)誤差,則脈寬測量相對誤差為 TWXTWX=1FsNXFs=1Nx 其中Nx=TwxFs.可以看出,在Fs一定時(shí),脈寬越小,誤差越大。 當(dāng)TWX=100s,F(xiàn)s=60MHz時(shí),NX6000,則有 TwxTwx=16000=0.175.4 周期脈沖信號占空比測量誤差分析 使用第一部分中所述的占空比方法,根據(jù)誤差合成原理,周期測量相對誤差最大恒等于脈沖寬度測量相對誤差16。 在標(biāo)準(zhǔn)頻率為60MHz,被測頻率1kHz(即周期為0.001s)時(shí)。設(shè)其占空比為10,如果要滿足題日部分要求,由脈沖寬測量相對誤羌公式計(jì)算出的相對誤差應(yīng)小于 10.001×10%

40、×60×106=16000=0.17實(shí)際精度完全可以超過這個要求。6 實(shí)測結(jié)果和誤差分析為了衡量這次設(shè)計(jì)的頻率計(jì)的工作情況和測量精度,我們對系統(tǒng)進(jìn)行了試驗(yàn)。以南京電訊儀器廠制造的E312B 型通用計(jì)數(shù)器為基準(zhǔn),用這次設(shè)計(jì)的頻率計(jì)對信號源進(jìn)行了測量,測量數(shù)據(jù)如表1 所示。表1 頻率測量對比表E312B 率測量(Hz) 5.00M500K50.0K5.00K50050.05.000.500制作頻計(jì)測量(Hz)5.01M500K50.0K5.01K50150.05.020.502如圖3 信號予處理電路所示,待測信號在進(jìn)入單片機(jī)之前經(jīng)過了10 ×2 次分頻。頻率計(jì)以進(jìn)入單

41、片機(jī)時(shí)的信號頻率等于100Hz 為基準(zhǔn),既待測信號頻率等于2 KHz 為基準(zhǔn),大于此頻率采用頻率測量,小于此頻率采用周期測量。由表1 頻率測量對比表可以看出,頻率測量的測量精度大于周期測量的測量精度。采用計(jì)數(shù)法實(shí)現(xiàn)頻率測量,誤差來源主要有計(jì)數(shù)誤差和閘門誤差兩部分。誤差表達(dá)式為dff=dNN+dtt這里N 為計(jì)數(shù)值,t 為閘門時(shí)間。閘門時(shí)間相對誤差dt/ t 主要取決于晶振的頻率穩(wěn)定度,選擇合適的石英晶體和振蕩電路,誤差一般可小于10 - 6 。當(dāng)僅顯示3 位有效數(shù)字時(shí),該項(xiàng)誤差可以忽略。對于dN/ N 部分,無論閘門時(shí)間長短,計(jì)數(shù)法測頻總存在1 個單位的量化誤差。在表1 中,待測信號頻率大于2

42、 KHz 時(shí)的誤差就來源于計(jì)數(shù)誤差。增加顯示的有效數(shù)字位數(shù)可降低該項(xiàng)誤差的影響。當(dāng)待測信號頻率小于2 KHz 時(shí),直接測量的是信號的周期。周期測量的誤差表達(dá)式為:dTT=dNN+d00這里 dNN為量化誤差,d00 為晶振的頻率穩(wěn)定度。進(jìn)行周期測量時(shí)進(jìn)入單片機(jī)的信號頻率小于100Hz ,使用12MHz 時(shí)鐘這時(shí)的最小計(jì)數(shù)值為10000 。當(dāng)僅顯示3 位有效數(shù)字時(shí),該項(xiàng)誤差現(xiàn)在可以忽略。待測信號周期測量值通過浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算變換成頻率值,這時(shí)的誤差來源于浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算和數(shù)制之間轉(zhuǎn)換所帶來的誤差。7 結(jié)論 大學(xué)三年中,我系統(tǒng)的學(xué)習(xí)了單片機(jī)的知識,也看到了單片機(jī)控制程序的廣闊前景,選擇這個課題,正是希

43、望能加深自己對單片機(jī)各方面的理解,并在運(yùn)用先前學(xué)到的知識進(jìn)行設(shè)計(jì)的過程中,進(jìn)一步的理解其實(shí)質(zhì)和作用,鞏固和拓展以前的學(xué)習(xí)成果,從而希望今后能在這個領(lǐng)域作出成績。 由于單片機(jī)技術(shù)發(fā)展已經(jīng)很成熟,我更多的是借鑒前人的工作,完善我的設(shè)計(jì)。當(dāng)然,我在前人的基礎(chǔ)上向前走了一步,無論是原器件的選擇,還是程序的設(shè)計(jì),我做的比他們復(fù)雜,這并不是簡單意義上的重復(fù),而是消化吸收和創(chuàng)新。 在設(shè)計(jì)的過程中,我一方面澄清了先前的一些錯誤理解,另一方面也真正的體會到了書本知識轉(zhuǎn)化為實(shí)踐時(shí)的困難,往往很不起眼的一件事情,就是設(shè)計(jì)的關(guān)鍵,必須得搞清楚。為了查找相關(guān)的技術(shù)文獻(xiàn)資料,我上網(wǎng),去學(xué)校圖書館甚查找資料,雖然辛苦一點(diǎn),

44、但是令人欣慰的是學(xué)到了書本上學(xué)不到的東西,并且掌握了設(shè)計(jì)的一般方法。 由于時(shí)間很短,工作也很忙,我的能力也有限,很可能我的設(shè)計(jì)存在這樣或那樣的不足,希望各位多多批評斧正。附錄A 匯編源程序 WX EQU 78H ;1 ms中斷一次 ORG 0000H AJMP DP ORG 001BH AJMP DP0 ORG 0100HDP: MOV SP,# 80H MOV WX,# 11111110B MOV R7,# 7H mov R1,# 61H MOV TMOD,# 10H MOV TL1,# 0CH MOV TH1,# 0FEH SETB EA SETB ET1 SETB TR1 SJMP $D

45、P0: MOV TL1,# 0CH MOV TH1,# 0FEH CLR P2.7 MOV C,P2.7 JC DP01 setb P2.7 CLR P0.7 SETB P0.7 SJMP QQDP01: CLR P2.7 ACALL BTD CLR P0.7 SETB P0.7qq: MOV A,R1 INC R1 MOV P0,WX MOV P2,A MOV A,WX RL A MOV WX,A DJNZ R7,LOOP1 MOV WX,# 11111110B Mov R7,# 7 Mov R1,# 61HLOOP1:SETB TR1 RETI-計(jì)數(shù)程序-BTD: MOV R1,# 61H

46、 MOV R3,# 0ffh MOV R2,# offh CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,# 10HBTD0: CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,BTD0 MOV A,R4 SWAP A ANL A,# 0FH MOV R1,A INC R1 MOV A,R4 ANL A,# 0FH MOV R1,A INC R1 MOV A,R5 SWAP A ANL A,# 0FH MOV R1,A INC R1 MOV A,R5 ANL A,# 0FH MOV R1,A INC R1 MOV A,R6

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論