單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)-畢設(shè)論文_第1頁(yè)
單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)-畢設(shè)論文_第2頁(yè)
單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)-畢設(shè)論文_第3頁(yè)
單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)-畢設(shè)論文_第4頁(yè)
單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)-畢設(shè)論文_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)的病房呼叫系統(tǒng)第1章前言1.1題目背景及研究意義在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率測(cè)量在科技研究和實(shí)際應(yīng)用中的作用日益重要。傳統(tǒng)的數(shù)字頻率計(jì)都是采用純硬件方式組成(純數(shù)字電路)。它的集成電路用量較大,因而產(chǎn)品的體積、功耗都較大,生產(chǎn)成本較高。產(chǎn)品定型后不能升級(jí)(加入新功能)。而采用單片機(jī)和相關(guān)可編程智能集成器件制成的現(xiàn)代數(shù)字頻率計(jì)情況就不同了,單片機(jī)的內(nèi)核CPU可完成多項(xiàng)工作如計(jì)數(shù)、讀入、譯碼、驅(qū)動(dòng)和時(shí)基的產(chǎn)生等。和傳統(tǒng)的數(shù)字頻率計(jì)相比,它減少了很大一部分的集成電路的用量,并且還可以加入許多的智能操作,這更是傳統(tǒng)的數(shù)字頻率計(jì)所望塵莫及的。目前市場(chǎng)上的頻率計(jì)產(chǎn)品很多,但基本上都是采用專用計(jì)數(shù)芯片(如ICM7240,ICM7216)和數(shù)字邏輯電路組成,由于這些芯片本身的工作頻率不高(如ICM7240僅有15MHz左右),從而限制了產(chǎn)品的工作頻率的提高,遠(yuǎn)不能達(dá)到在一些特殊的場(chǎng)合需要測(cè)量很高的頻率的要求,而且測(cè)量精度也受到芯片本身極大的限制。自從80年代單片機(jī)引入我國(guó)之后,單片機(jī)已廣泛地應(yīng)用于各行各業(yè)的電子設(shè)計(jì)中,使頻率計(jì)智能化水平在廣度和深度上產(chǎn)生了質(zhì)的飛躍,數(shù)字化也成為了電子設(shè)計(jì)的必由之路。運(yùn)用單片機(jī)和高速計(jì)數(shù)器的組合設(shè)計(jì)頻率計(jì),并采用適當(dāng)?shù)乃惴ㄈ〈鷤鹘y(tǒng)電路,這種方法不僅能解決傳統(tǒng)頻率計(jì)結(jié)構(gòu)復(fù)雜、穩(wěn)定性差、精度不高的弊端,而且性能也將大有提高,可實(shí)現(xiàn)精度較高、等精度和寬范圍頻率計(jì)的要求。隨著單片機(jī)技術(shù)的不斷發(fā)展,可以用單片機(jī)通過(guò)軟件設(shè)計(jì)直接用十進(jìn)制數(shù)字顯示被測(cè)信號(hào)頻率。1.2設(shè)計(jì)內(nèi)容及參數(shù)要求1.2.1設(shè)計(jì)內(nèi)容設(shè)計(jì)基于AT89C51單片機(jī)為核心的數(shù)字頻率計(jì)。設(shè)計(jì)系統(tǒng)硬件電路和軟件編程,實(shí)現(xiàn)脈沖頻率的測(cè)量和數(shù)碼管顯示,并通過(guò)仿真軟件進(jìn)行仿真。1.2.2參數(shù)要求電源:直流5V顯示:五位數(shù)碼管動(dòng)態(tài)顯示測(cè)量誤差:≤±0.1%頻率測(cè)量范圍:0—10000Hz輸入信號(hào)波形:矩形波和方波第2章方案的設(shè)計(jì)與論證2.1測(cè)頻原理測(cè)頻的原理歸結(jié)成一句話,就是在單位時(shí)間內(nèi)對(duì)被測(cè)信號(hào)進(jìn)行計(jì)數(shù)。被測(cè)信號(hào),通過(guò)輸入通道的放大器放大后,進(jìn)入整形器加以整形變?yōu)榫匦尾?,并送入主門的輸入端。由晶體振蕩器產(chǎn)生的基頻,按十進(jìn)制分頻得出的分頻脈沖,經(jīng)過(guò)基選通門去觸發(fā)主控電路,再通過(guò)主控電路以適當(dāng)?shù)木幋a邏輯便得到相應(yīng)的控制指令,用以控制主門電路選通被測(cè)信號(hào)所產(chǎn)生的矩形波,至十進(jìn)制計(jì)數(shù)電路進(jìn)行直接計(jì)數(shù)和顯示。若在一定的時(shí)間間隔T內(nèi)累計(jì)周期性的重復(fù)變化次數(shù)N,則頻率的表達(dá)式為式:(2.1)圖2.1說(shuō)明了測(cè)頻的原理及誤差產(chǎn)生的原因。時(shí)基信號(hào)待測(cè)信號(hào)丟失(少計(jì)一個(gè)脈沖)計(jì)到N個(gè)脈沖多余(比實(shí)際多出了0.X個(gè)脈沖)圖2.1測(cè)頻原理在圖2.1中,假設(shè)時(shí)基信號(hào)為1KHZ,那么用此法測(cè)得的待測(cè)信號(hào)為1KHZ×5=5KHZ。但從圖中可以看出,待測(cè)信號(hào)實(shí)際應(yīng)該在5.5KHZ左右,誤差約有0.5/5.5≈9.1%。這個(gè)誤差是比較大的,實(shí)際上,測(cè)量的脈沖個(gè)數(shù)的誤差會(huì)在±1之間。假設(shè)所測(cè)得的脈沖個(gè)數(shù)為N,則所測(cè)頻率的誤差最大為δ=1/(N-1)*100%。顯然,減小誤差的方法,就是增大N。本頻率計(jì)要求測(cè)頻誤差在1%以下,則N應(yīng)大于1000。通過(guò)計(jì)算,對(duì)1KHZ以下的信號(hào)用測(cè)頻法,反應(yīng)的時(shí)間長(zhǎng)于或等于10S。由此可以得出一個(gè)初步結(jié)論:測(cè)頻法適合于測(cè)高頻信號(hào)。頻率計(jì)數(shù)器嚴(yán)格地按照公式進(jìn)行測(cè)頻。由于數(shù)字測(cè)量的離散性,被測(cè)頻率在計(jì)數(shù)器中所記進(jìn)的脈沖數(shù)可有正一個(gè)或負(fù)一個(gè)脈沖的±1量化誤差,在不計(jì)其他誤差影響的情況下,測(cè)量精度將為:(2.2)應(yīng)當(dāng)指出,測(cè)量頻率時(shí)所產(chǎn)生的誤差是由N和T倆個(gè)參數(shù)所決定的,一方面是單位時(shí)間內(nèi)計(jì)數(shù)脈沖個(gè)數(shù)越多時(shí),精度越高,另一方面T越穩(wěn)定時(shí),精度越高。為了增加單位時(shí)間內(nèi)計(jì)數(shù)脈沖的個(gè)數(shù),一方面可在輸入端將被測(cè)信號(hào)倍頻,另一方面可增加T來(lái)滿足,為了增加T的穩(wěn)定度,只需提高晶體振蕩器的穩(wěn)定度和分頻電路的可靠性就能達(dá)到。2.2方案一其工作原理如圖2.2所示。該方法是使用單片機(jī)自帶的計(jì)數(shù)器對(duì)輸入脈沖進(jìn)行計(jì)數(shù),其好處是設(shè)計(jì)出的頻率計(jì)系統(tǒng)結(jié)構(gòu)和程序編寫(xiě)簡(jiǎn)單,成本低廉,不需要外部計(jì)數(shù)器,直接利用所給的單片機(jī)最小系統(tǒng)就可以實(shí)現(xiàn)。這種方法的缺陷是受限于單片機(jī)計(jì)數(shù)的晶振頻率。本次設(shè)計(jì)使用的AT89C51單片機(jī),將其內(nèi)部定時(shí)/計(jì)數(shù)器Tl的功能設(shè)為定時(shí)。頻率信號(hào)由P3.5端引入。由于檢測(cè)一個(gè)由“1”到“0”的跳變需要兩個(gè)機(jī)器周期。前一個(gè)機(jī)器周期測(cè)出“1”,后一個(gè)周期測(cè)出“0”。故輸入時(shí)鐘信號(hào)的最高頻率不得超過(guò)單片機(jī)晶振頻率的二十四分之一。而且由于定時(shí)不能達(dá)到ls,所以要多次引起片內(nèi)定時(shí)器的溢出中斷,由此會(huì)引起測(cè)頻的誤差。輸輸入信號(hào)單片機(jī)最小系統(tǒng)數(shù)碼管顯示電源圖2.2方案一原理框圖2.3方案二其工作原理如圖2.3所示。該方法是單片機(jī)使用外部計(jì)數(shù)器對(duì)脈沖信號(hào)進(jìn)行計(jì)數(shù),計(jì)數(shù)值再由單片機(jī)讀取。此方法的好處是輸入的時(shí)鐘信號(hào)頻率可以不受單片機(jī)晶振頻率的限制,可以對(duì)相對(duì)較高頻率進(jìn)行測(cè)量,但缺點(diǎn)是成本比第一種方法高,硬件系統(tǒng)結(jié)構(gòu)比較復(fù)雜。輸入信號(hào)輸入信號(hào)十進(jìn)制計(jì)數(shù)器閘門數(shù)據(jù)緩沖AT89C51電源數(shù)碼管顯示圖2.3方案二原理框圖2.4方案選擇從以上兩個(gè)方案中可知,內(nèi)部計(jì)數(shù)器法測(cè)量頻率受晶振頻率的限制而且多次中斷會(huì)引發(fā)誤差,但硬件結(jié)構(gòu)簡(jiǎn)單。外部計(jì)數(shù)器法測(cè)量頻率不受晶振頻率的限制,但硬件結(jié)構(gòu)復(fù)雜。因此通過(guò)對(duì)這兩種方案優(yōu)缺點(diǎn)的比較,本次設(shè)計(jì)選取方案一,因?yàn)槠溆布Y(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性、可靠性高,易于實(shí)現(xiàn),而且從軟件編程方面也可以盡量減少誤差,提高精度。所以采用單片機(jī)內(nèi)部計(jì)數(shù)器法測(cè)量頻率。第3章硬件的設(shè)計(jì)3.1基本設(shè)計(jì)原理本設(shè)計(jì)是基于ATMEL公司生產(chǎn)的AT89C51單片機(jī)為核心的數(shù)字頻率計(jì),是利用該51單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器來(lái)完成待測(cè)信號(hào)頻率的測(cè)量。AT89C51單片機(jī)內(nèi)部具有2個(gè)16位的定時(shí)/計(jì)數(shù)器T0與T1,其工作方法可以通過(guò)編程來(lái)實(shí)現(xiàn)所需的定時(shí)/計(jì)數(shù)與產(chǎn)生計(jì)數(shù)溢出中斷要求的功能。定時(shí)/計(jì)數(shù)器T0與T1的核心都是16位的加1計(jì)數(shù)器,TH0與TL0構(gòu)成在構(gòu)成定時(shí)/計(jì)數(shù)器T0加1計(jì)數(shù)器的高8位和低8位;TH1與TL1構(gòu)成在構(gòu)成定時(shí)/計(jì)數(shù)器T1加1計(jì)數(shù)器的高8位和低8位。加1計(jì)數(shù)器的初值可以通過(guò)程序設(shè)定,這樣就可以獲得不同的計(jì)數(shù)值或定時(shí)時(shí)間。當(dāng)加1計(jì)數(shù)器用作定時(shí)器時(shí),每個(gè)機(jī)器周期加1(使用12MHz時(shí)鐘時(shí),每1us加1),這樣以機(jī)器周期為基準(zhǔn)可以用來(lái)測(cè)量時(shí)間間隔。當(dāng)加1計(jì)數(shù)器用作計(jì)數(shù)器時(shí),在相應(yīng)的外部引腳發(fā)生從1到0的跳變時(shí)計(jì)數(shù)器加1,這樣在計(jì)數(shù)閘門的控制下可以用來(lái)測(cè)量待測(cè)信號(hào)的頻率。外部輸入每個(gè)機(jī)器周期被采樣一次,這樣檢測(cè)一次從1到0的跳變至少需要2個(gè)機(jī)器周期(24個(gè)振蕩周期),所以最大計(jì)數(shù)速率為時(shí)鐘頻率的1/24。AT89C51單片機(jī)的時(shí)鐘頻率可以在0Hz—24MHz范圍內(nèi)自動(dòng)調(diào)節(jié),當(dāng)使用12MHz時(shí)鐘時(shí),最大計(jì)數(shù)速率為500KHz。定時(shí)/計(jì)數(shù)器的工作由相應(yīng)的運(yùn)行控制位TR控制,當(dāng)TR置1時(shí),定時(shí)/計(jì)數(shù)器開(kāi)始計(jì)數(shù);當(dāng)TR置0時(shí),停止計(jì)數(shù)。在本設(shè)計(jì)方案中,我通過(guò)程序設(shè)定T0工作在計(jì)數(shù)狀態(tài)下,T1工作在計(jì)時(shí)狀態(tài)下。T0計(jì)數(shù)器對(duì)輸入的信號(hào)經(jīng)行計(jì)數(shù)。由于信號(hào)的頻率就是每秒鐘信號(hào)脈沖的個(gè)數(shù),于是我讓T1工作在定時(shí)狀態(tài)下,定時(shí)時(shí)間為1秒。每定時(shí)1秒鐘到,就停止T0的計(jì)數(shù),然后從T0的計(jì)數(shù)單元中讀取計(jì)數(shù)的數(shù)值,即完成了信號(hào)頻率的測(cè)量。最后通過(guò)五位數(shù)碼管顯示出頻率值。由于要盡可能的使用最少的元件,在滿足設(shè)計(jì)要求的前提下,我盡可能的減少了元器件的使用。將被測(cè)信號(hào)不加任何處理,直接輸入單片機(jī)的P3.5口。而將被測(cè)信號(hào)經(jīng)行放大整形、倍頻鎖相等處理就不再進(jìn)行了。這樣做會(huì)使該頻率計(jì)在測(cè)量信號(hào)頻率時(shí)產(chǎn)生精度誤差,但能夠滿足設(shè)計(jì)要求。3.2系統(tǒng)硬件模塊關(guān)系3.2.1系統(tǒng)總體系統(tǒng)總體分為:中央控制芯片,時(shí)鐘電路,復(fù)位電路,顯示電路等部分。系統(tǒng)總體方框如圖4所示。時(shí)時(shí)鐘電路復(fù)位電路AT89C51單片機(jī)電源電路數(shù)碼管顯示輸入信號(hào)圖3.1系統(tǒng)整體方框圖AT89C51是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89C51具有如下特點(diǎn):40個(gè)引腳,4kBytesFlash片內(nèi)程序存儲(chǔ)器,128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙向串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89C51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。3.2.2單片機(jī)管腳說(shuō)明AT89C51單片機(jī)管腳如圖3.2所示。圖3.2AT89C51引腳分布圖P0:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(計(jì)時(shí)器0外部輸入)P3.5T1(計(jì)時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在低平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間使用外部程序存儲(chǔ)器,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET。當(dāng)/EA端保持高電平時(shí),此期間使用內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。VCC:供電電壓。GND:接地。3.2.3單片機(jī)I/O口分配表單片機(jī)I/O口分配表如表3.1所示。表3.1單片機(jī)I/O口分配表P1.0開(kāi)始鍵P3.5信號(hào)采集P2.0~P2.4數(shù)碼管位選通端P0.0~P0.6數(shù)碼管段碼3.2.4頻率顯示電路頻率顯示電路如圖3.3所示。圖3.3頻率顯示電路圖當(dāng)按鍵按下以后,P1.0端直接與地接通,使P1.0引腳為低電平;當(dāng)鍵彈起后,P1.0重新恢復(fù)高電平,從而產(chǎn)生一個(gè)脈沖信號(hào)給單片機(jī),單片機(jī)從而接收輸入信號(hào)并測(cè)量。3.2.5時(shí)鐘電路單片機(jī)工作是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行的,這個(gè)脈沖是單片機(jī)控制器中的時(shí)序電路發(fā)出的。單片機(jī)的時(shí)序就是CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序。為了保證各部件的同步工作,單內(nèi)部電路應(yīng)在唯一的時(shí)鐘信號(hào)下嚴(yán)格按時(shí)序進(jìn)行工作。MCS-51系列單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,但要形成時(shí)鐘脈沖,外部還需附加電路。MCS-51的時(shí)鐘產(chǎn)生方法有“內(nèi)部時(shí)鐘方式”與“外部時(shí)鐘方式”兩種。在本設(shè)計(jì)中采用了內(nèi)部時(shí)鐘方式。其電路圖如圖3.4所示。圖3.4時(shí)鐘電路如圖3.4所示,利用芯片內(nèi)部的振蕩器,然后在引腳XTALl和XTAL2兩端跨接晶體振蕩器X1(簡(jiǎn)稱晶振),就構(gòu)成了穩(wěn)定的自激振蕩器,發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路。外接晶振X1時(shí),C1和C2的值通常選擇為30pF左右;Cl與C2對(duì)頻率有微調(diào)作用,晶振或陶瓷諧振器的頻率范圍可在1.2~12MHz之間選擇。為了減少寄生電容,更好地保證振蕩器穩(wěn)定可靠的工作,振蕩器和電路應(yīng)盡可能安裝得與單片機(jī)引腳XTALl和XTAL2靠近。3.2.6電源電路直流穩(wěn)壓電源一般由電源變壓器、整流、濾波及穩(wěn)壓電路所組成。5V直流電源如圖3.5所示。圖3.5直流電源電路圖3.2.7復(fù)位按鈕復(fù)位電路和時(shí)鐘電路是維持單片機(jī)最小系統(tǒng)運(yùn)行的基本模塊。復(fù)位電路通常分為兩種:上電復(fù)位和手動(dòng)復(fù)位。有時(shí)系統(tǒng)在運(yùn)行過(guò)程中出現(xiàn)程序跑飛的情況,在程序開(kāi)發(fā)過(guò)程中,經(jīng)常需要手動(dòng)復(fù)位。所以本次設(shè)計(jì)選用手動(dòng)復(fù)位按鈕,其電路圖如圖3.6所示。圖3.6手動(dòng)復(fù)位按鈕3.2.8數(shù)碼管顯示電路顯示器是微機(jī)重要的輸出設(shè)備。顯示器有顯示監(jiān)控結(jié)果、提供用戶操作界面等功能。在本次設(shè)計(jì)中采用了LED顯示器,即數(shù)碼管。數(shù)碼管的每一個(gè)數(shù)碼段是一只發(fā)光二極管。當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或者一個(gè)筆畫(huà)發(fā)光,控制發(fā)光二極管發(fā)光組合,可以顯示出所需字符。按發(fā)光二極管單元連接方式可分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)極數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管,共陽(yáng)極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)AT89C51單片機(jī)可用的I/O端口才32個(gè),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。本次設(shè)計(jì)采用了共陰極結(jié)構(gòu)動(dòng)態(tài)顯示數(shù)碼管。在定義其顯示字形的碼段時(shí),通過(guò)I/O口送出七段碼。其段碼表如表3.1所示。表3.1共陰數(shù)碼管段選碼顯示字形0123456789共陰段選碼3FH06H5BH4FH66H6DH7DH07H7FH6FH仿真接口圖如下圖3.7所示。圖3.7數(shù)碼管接線圖3.2.9輸入信號(hào)的要求定時(shí)/計(jì)數(shù)器的作用是用來(lái)精確地確定某一段時(shí)間間隔(作為定時(shí)器用)或累計(jì)外部輸入的脈沖個(gè)數(shù)(作為計(jì)數(shù)器用)。當(dāng)用作定時(shí)器時(shí),在其輸入端輸入周期固定的脈沖,根據(jù)定時(shí)/計(jì)數(shù)器中累計(jì)的脈沖個(gè)數(shù),即可計(jì)算出所定時(shí)間的長(zhǎng)度。當(dāng)MCS-5l內(nèi)部的定時(shí)/計(jì)數(shù)器被選定為定時(shí)器工作模式時(shí),計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生一個(gè)脈沖位,計(jì)數(shù)器增l,因此定時(shí)/計(jì)數(shù)器的輸入脈沖的周期與機(jī)器周期一樣,為時(shí)鐘振蕩頻率的l/12。當(dāng)采用12MHz頻率的晶振時(shí),計(jì)數(shù)速率為1MHz,輸入脈沖的周期間隔為1μs。由于定時(shí)的精度決定于輸入脈沖的周期,因此當(dāng)需要高分辨率的定時(shí)時(shí),應(yīng)盡量選用頻率較高的晶振。當(dāng)定時(shí)/計(jì)數(shù)器用作計(jì)數(shù)器時(shí),計(jì)數(shù)脈沖來(lái)自外部輸入引腳T0或T1。當(dāng)輸入信號(hào)產(chǎn)生由1至0的跳變(即負(fù)跳變)時(shí),計(jì)數(shù)器的值增l。由于確認(rèn)一次負(fù)跳變需要用2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部輸入的計(jì)數(shù)脈沖的最高頻率為振蕩器頻率的1/24,例如,選用6MHz頻率的晶振,允許輸入的脈沖頻率為250kHz,如果選用12MHz頻率的晶振,則可輸入500kHz的外部脈沖。對(duì)于外部輸入信號(hào)的占空比并沒(méi)有什么限制,但為了確保某一給定的電平在變化之前能被采樣一次,則這一電平至少要保持一個(gè)機(jī)器周期。3.3最終的硬件電路圖根據(jù)總體設(shè)計(jì)方案,AT89C51單片機(jī)帶有“時(shí)鐘電路”與“手動(dòng)復(fù)位電路”,各模塊的作用與單片機(jī)各引腳功能已詳細(xì)敘述。其中,VCC為數(shù)碼管提供電源。函數(shù)信號(hào)發(fā)生器(SignalGenerator)為被測(cè)的信號(hào)源,輸入端為P3.5。最終的硬件電路圖如圖3.8所示。圖3.8系統(tǒng)硬件設(shè)計(jì)圖軟件的設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)采用C語(yǔ)言,對(duì)單片機(jī)進(jìn)行編程實(shí)現(xiàn)各項(xiàng)功能。C語(yǔ)言是一種通用的程序設(shè)計(jì)語(yǔ)言,其代碼率高,數(shù)據(jù)類型及運(yùn)算符豐富,位操作能力強(qiáng),適用于各種應(yīng)用的程序設(shè)計(jì)。使用C語(yǔ)言進(jìn)行單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā),具有編程靈活、調(diào)試方便、目標(biāo)代碼編譯效率高的特點(diǎn)。C語(yǔ)言也是目前使用最廣的單片機(jī)應(yīng)用系統(tǒng)編程語(yǔ)言。由C語(yǔ)言編程的單片機(jī)應(yīng)用程序,稱為單片機(jī)C語(yǔ)言程序。MCS-51系列單片機(jī)開(kāi)發(fā)系統(tǒng)的編譯軟件可以對(duì)51單片機(jī)C語(yǔ)言源程序進(jìn)行編譯,稱為C51編譯器。在C51編譯軟件中可進(jìn)行51單片機(jī)C語(yǔ)言程序的調(diào)試。4.1程序的流程圖定時(shí)0中斷的流程圖如圖4.1所示。圖4.1定時(shí)0中斷程序流程圖定時(shí)1中斷的流程圖如圖4.2所示。圖4.2定時(shí)1中斷程序流程圖主程序的流程圖如圖4.3所示。圖4.3主程序流程圖4.2數(shù)碼管掃描部分P2=0xff;//先關(guān)閉所有數(shù)碼管P0=dispcode[dispbuf[dispcount]];//先確定相應(yīng)數(shù)碼管的段碼,送入段碼P2=dispbit[dispcount];//送入位碼if(dispcount==5&&y>=100){P0=dispcod1[dispbuf[5]];P2=dispbit[dispcount];}dispcount++;//下一次應(yīng)該掃描下一位數(shù)碼管所以要加一if(dispcount==5)//因?yàn)楣灿?個(gè)數(shù)碼管{dispcount=0;//掃描完第4個(gè),回頭掃描第0個(gè)}4.3頻率計(jì)主程序數(shù)字頻率計(jì)的主程序詳見(jiàn)附錄B。第5章軟件與硬件調(diào)試5.1C程序編譯與仿真結(jié)果KeiluVision是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),使用接近于傳統(tǒng)C語(yǔ)言的語(yǔ)法來(lái)開(kāi)發(fā),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開(kāi)發(fā)周期,它還能嵌入?yún)R編,你可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。在KeilμVision3上的編譯結(jié)果如圖5.1所示。圖5.1程序仿真結(jié)果5.2在ProteusISIS上的仿真結(jié)果Proteus軟件是英國(guó)Labcenterelectronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。選取了一個(gè)較小的頻率93Hz,其仿真結(jié)果如圖5.2所示。圖5.2低頻仿真選取了一個(gè)中間頻率700Hz,其仿真結(jié)果如圖5.3所示。圖5.3中頻仿真選取了一個(gè)較大的頻率9000Hz,其仿真結(jié)果如圖5.4所示。圖5.4高頻仿真從以上仿真結(jié)果看來(lái),我設(shè)計(jì)的基于AT89C51單片機(jī)的數(shù)字頻率計(jì)滿足了設(shè)計(jì)要求。第6章設(shè)計(jì)總結(jié)與體會(huì)我在這次畢業(yè)設(shè)計(jì)中深刻理解了51單片機(jī)各部分的功能與作用。加深了上課時(shí)所學(xué)的有關(guān)于中斷系統(tǒng)、存儲(chǔ)器、I/O端口、時(shí)鐘電路、復(fù)位方式等等環(huán)節(jié)的認(rèn)識(shí),不再對(duì)其一知半解或者毫無(wú)頭緒了,并深深意識(shí)到了自己所學(xué)知識(shí)的局限性。我查閱了大量的相關(guān)文獻(xiàn),甚至是制造AT89C51單片機(jī)的ATMEL公司發(fā)布的產(chǎn)品說(shuō)明書(shū),收獲很大。在查閱相關(guān)C程序時(shí),我驚嘆于某些編程者的嚴(yán)謹(jǐn)作風(fēng),他們的程序注解十分詳細(xì),甚至有模塊化的說(shuō)明,使我受益匪淺。在今后的學(xué)習(xí)中,一定要向他們學(xué)習(xí)這種嚴(yán)謹(jǐn)?shù)娘L(fēng)格,從而更好地進(jìn)行交流與合作。由于查閱了許多英文資料,且使用的相關(guān)編譯與仿真軟件全部為英文,我感到自己的英文水品還有待于進(jìn)一步提高。我看到Proteus仿真軟件的元件庫(kù)里有成千上萬(wàn)種元器件,卻由于不認(rèn)識(shí)英文,有時(shí)尋找一個(gè)元器件需要花很長(zhǎng)時(shí)間,耽誤了不少功夫。這更加激發(fā)了我學(xué)習(xí)英語(yǔ)的熱情。在編譯與仿真的過(guò)程中,我遇到了大大小小的許多問(wèn)題,這些問(wèn)題都是平時(shí)上課時(shí)從沒(méi)遇到到過(guò)的。但是通過(guò)自己和與同學(xué)老師的努力,許多問(wèn)題都最終被解決了。這不但提高了我們解決未知問(wèn)題的能力,而且加強(qiáng)了和同學(xué)老師之間的交流與協(xié)作,使我們的綜合能力進(jìn)一步提高。致謝四年的時(shí)間匆匆而過(guò),在這即將離開(kāi)學(xué)校的時(shí)刻,不禁讓我想起了四年來(lái)學(xué)校對(duì)我的照顧和關(guān)懷。在這里我首先感謝母校西京學(xué)院。感謝西京學(xué)院為我提供了一個(gè)學(xué)習(xí)深造的機(jī)會(huì)。其次感謝所有在這四年里給予我關(guān)懷、教育和培養(yǎng)的老師們,是你們的無(wú)私奉獻(xiàn),辛勤耕耘,讓我在這大學(xué)四年的時(shí)光里學(xué)到了很多的知識(shí)和做人做事的道路。最后感謝這次畢業(yè)設(shè)計(jì)中我的指導(dǎo)老師何景峰教授。在這次畢業(yè)設(shè)計(jì)中,我的指導(dǎo)老師何景峰教授對(duì)我精心指導(dǎo),從畢業(yè)設(shè)計(jì)的開(kāi)始到結(jié)束,何教授時(shí)時(shí)關(guān)心我的進(jìn)度,幫我理清思路,指導(dǎo)設(shè)計(jì)思想,讓我有計(jì)劃、有方向、有針對(duì)性的進(jìn)行畢業(yè)設(shè)計(jì)。當(dāng)我在硬件調(diào)試中遇到問(wèn)題困惑不解時(shí),何教授淵博的單片機(jī)知識(shí)和豐富的經(jīng)驗(yàn),給了我莫大的幫助,讓我越發(fā)對(duì)單片機(jī)世界向往。同時(shí)何教授又在我完成設(shè)計(jì)的過(guò)程中起到了很好的督促作用,促使我早日完成我的畢業(yè)設(shè)計(jì),在此我表示忠心感謝!參考文獻(xiàn)[1]何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1995.[2]陳明熒.8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材[M].北京:清華大學(xué)出版社,2003.[3]何立民.單片機(jī)應(yīng)用技術(shù)選編[M].北京:北京航空航天大學(xué)出版社,1998.[4]彭容修,劉泉,馬建國(guó).數(shù)字電子技術(shù)基礎(chǔ)[M].湖北:武漢理工大學(xué)出版社,2007.[5]李全利.單片機(jī)原理及應(yīng)用技術(shù)[M].北京:高等教育出版社,2004.[6]萬(wàn)福君.單片微機(jī)原理系統(tǒng)設(shè)計(jì)與應(yīng)用[M].合肥:中國(guó)科學(xué)技術(shù)大學(xué)出版社,2004.[7]戴佳,戴衛(wèi)恒.51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2006.[8]畢滿青.電子技術(shù)實(shí)驗(yàn)與課程設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2005.[9]徐金增.單片機(jī)編程仿真實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[M].山東:山東師范大學(xué)出版社,2009.[10]張毅坤,陳善久,裝雪紅.單片微型計(jì)算機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,1998.[11]康華光,鄒壽彬,秦臻.電子技術(shù)基礎(chǔ).數(shù)字部分(第五版)[M].北京:高等教育出版社,2006.1.(2008重印)[12]謝龍漢,魯力,張桂東.AltiumDesigner原理圖與PCB設(shè)計(jì)及仿真[M].北京:電子工業(yè)出版社,2012.[13]李立華,李永華,徐曉東,王瑩.模擬電子技術(shù)[M].電子工業(yè)出版社,2008.[14]KavanaghRC.ImprovedDigitalTachometerwithReducedSensitivitytoSensorNonideality.[M].IEEETrans.Ind.Electron.2000,47(4):90–97.[15]DavidC.FundamentalsofElectronicCircuitDesign.[M].北京.電子工業(yè)出版社,2004.附錄A系統(tǒng)硬件電路圖圖A.1是系統(tǒng)硬件電路圖。圖A.1系統(tǒng)硬件電路圖附錄B元器件清單元器件清單表如圖B.1所示。表B.1元器件清單表元器件描述數(shù)量AT89C51單片機(jī)1LED顯示器LED1觸動(dòng)開(kāi)關(guān)1電阻1k,10k,50k,100k,200k若干電解電容50V,10uf1晶振12Mhz1瓷片電容30pf274LS245雙向總線驅(qū)動(dòng)器1導(dǎo)線若干附錄C源程序#include<AT89X51.h>unsignedcharcodedispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//定義數(shù)碼管位選碼unsignedcharcodedispcod1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x70,0x76,0x5b,0x00};unsignedchardispbuf[8]={0,0,0,0,0,0,0,0};//顯示數(shù)碼組。unsignedchartemp[8];//暫存數(shù)組unsignedchardispcount;//掃描位的記錄unsignedcharT0count;//計(jì)數(shù)次數(shù)unsignedchartimecount;//定時(shí)器5ms中斷的次數(shù)bitflag;//定義標(biāo)志位unsignedlongx,y;//定義變量用來(lái)存放頻率值/**********初始化模塊**********/voidchushihua(void){TMOD=0x15;//定義定時(shí)器0為計(jì)數(shù)方式,定時(shí)器1為記時(shí)方式,均工作在方式1TH0=0;//定時(shí)器0初值高8位為0TL0=0;/

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論