




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 專業(yè)綜合實驗 題 目: 數(shù)字頻率計設(shè)計 院(系): 專業(yè)年級 : 姓 名 : 學(xué) 號 : 指導(dǎo)教師 : 目錄第一章 前言1.1頻率計概述1.2頻率計發(fā)展與應(yīng)用1.3頻率計設(shè)計內(nèi)容第二章 系統(tǒng)總體方案設(shè)計2.1測頻的原理2.2總體思路2.3具體模塊第三章 硬件電路具體設(shè)計3.1 AT89S52主控制器模塊3.1.1 AT89S52的介紹3.1.2 復(fù)位電路及時鐘電路3.1.3 引腳功能3.1.4 單片機引腳分配3.2 電源模塊3.2.1 直流穩(wěn)壓電源的基本原理3.2.2 電源電路設(shè)計3.3放大整形模塊3.4 分頻設(shè)計模塊3.4.1 分頻電路分析3.4.2 74LS161芯片介紹3.4.3 74
2、LS151芯片介紹3.4.4 分頻電路3.5 顯示模塊3.5.1 數(shù)碼管介紹3.5.2 頻率值顯示電路3.5.3 檔位轉(zhuǎn)換指示電路第四章 系統(tǒng)的軟件設(shè)計4.1 軟件模塊設(shè)計4.2 中斷服務(wù)子程序4.3 顯示子程序4.4 量程檔自動轉(zhuǎn)換子程序4.5 應(yīng)用軟件簡介4.5.1 Keil簡介4.5.2 protues簡介4.5.3 實驗結(jié)果附錄 試驗程序第一章 前言頻率測量是電子學(xué)測量中最為基本的測量之一。由于頻率信號抗干擾性強,易于傳輸,因此可以獲得較高的測量精度。隨著數(shù)字電子技術(shù)的發(fā)展,頻率測量成為一項越來越普遍的工作,測頻原理和測頻方法的研究正受到越來越多的關(guān)注。1.1頻率計概述數(shù)字頻率計是計算
3、機、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。它是一種用十進制數(shù)字顯示被測信號頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號、方波信號及其他各種單位時間內(nèi)變化的物理量。在進行模擬、數(shù)字電路的設(shè)計、安裝、調(diào)試過程中,由于其使用十進制數(shù)顯示,測量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計。傳統(tǒng)的頻率計采用測頻法測量頻率,通常由組合電路和時序電路等大量的硬件電路組成,產(chǎn)品不但體積大,運行速度慢而且測量低頻信號不準(zhǔn)確。本次采用單片機技術(shù)設(shè)計一種數(shù)字顯示的頻率計,測量準(zhǔn)確度高,響應(yīng)速度快,體積小等優(yōu)點1。1.2頻率計發(fā)展與應(yīng)用在我國,單片機已不是一個陌生的名詞,它的出現(xiàn)是近代計算機技術(shù)的里程碑
4、事件。單片機作為最為典型的嵌入式系統(tǒng),它的成功應(yīng)用推動了嵌入式系統(tǒng)的發(fā)展。單片機已成為電子系統(tǒng)的中最普遍的應(yīng)用。單片機作為微型計算機的一個重要分支,其應(yīng)用范圍很廣,發(fā)展也很快,它已成為在現(xiàn)代電子技術(shù)、計算機應(yīng)用、網(wǎng)絡(luò)、通信、自動控制與計量測試、數(shù)據(jù)采集與信號處理等技術(shù)中日益普及的一項新興技術(shù),應(yīng)用范圍十分廣泛。其中以AT89S52為內(nèi)核的單片機系列目前在世界上生產(chǎn)量最大,派生產(chǎn)品最多,基本可以滿足大多數(shù)用戶的需要2。1.3頻率計設(shè)計內(nèi)容利用電源、單片機、分頻電路及數(shù)碼管顯示等模塊,設(shè)計一個簡易的頻率計能夠粗略的測量出被測信號的頻率。 參數(shù)要求如下:1測量范圍10HZ2MHZ;2用四位數(shù)碼管顯示
5、測量值;3能根據(jù)輸入信號自動切換量程;4.可以測量方波、三角波及正弦波等多種波形;第二章 系統(tǒng)總體方案設(shè)計2.1測頻的原理測頻的原理歸結(jié)成一句話,就是“在單位時間內(nèi)對被測信號進行計數(shù)”。被測信號,通過輸入通道的放大器放大后,進入整形器加以整形變?yōu)榫匦尾?,并送入主門的輸入端3。由晶體振蕩器產(chǎn)生的基頻,按十進制分頻得出的分頻脈沖,經(jīng)過基選通門去觸發(fā)主控電路,再通過主控電路以適當(dāng)?shù)木幋a邏輯便得到相應(yīng)的控制指令,用以控制主門電路選通被測信號所產(chǎn)生的矩形波,至十進制計數(shù)電路進行直接計數(shù)和顯示。若在一定的時間間隔T內(nèi)累計周期性的重復(fù)變化次數(shù)N,則頻率的表達式為式: (1)圖1說明了測頻的原理及誤差產(chǎn)生的原
6、因。時基信號 待測信號 丟失(少計一個脈沖) 計到N個脈沖 多余(比實際多出了0.x個脈沖)圖1 測頻原理在圖1中,假設(shè)時基信號為1KHZ,則用此法測得的待測信號為1KHZ5=5KHZ。但從圖中可以看出,待測信號應(yīng)該在5.5KHZ左右,誤差約有0.5/5.59.1%。這個誤差是比較大的,實際上,測量的脈沖個數(shù)的誤差會在1之間。假設(shè)所測得的脈沖個數(shù)為N,則所測頻率的誤差最大為=1(N-1)*100%。顯然,減小誤差的方法,就是增大N。本頻率計要求測頻誤差在1以下,則N應(yīng)大于1000。通過計算,對1KHZ以下的信號用測頻法,反應(yīng)的時間長于或等于10S,。由此可以得出一個初步結(jié)論:測頻法適合于測高頻
7、信號。頻率計數(shù)器嚴(yán)格地按照公式進行測頻4。由于數(shù)字測量的離散性,被測頻率在計數(shù)器中所記進的脈沖數(shù)可有正一個或負(fù)一個脈沖的量化誤差,在不計其他誤差影響的情況下,測量精度將為: 應(yīng)當(dāng)指出,測量頻率時所產(chǎn)生的誤差是由N和T倆個參數(shù)所決定的,一方面是單位時間內(nèi)計數(shù)脈沖個數(shù)越多時,精度越高,另一方面T越穩(wěn)定時,精度越高。為了增加單位時間內(nèi)計數(shù)脈沖的個數(shù),一方面可在輸入端將被測信號倍頻,另一方面可增加T來滿足,為了增加T的穩(wěn)定度,只需提高晶體振蕩器的穩(wěn)定度和分頻電路的可靠性就能達到。上述表明,在頻率測量時,被測信號頻率越高,測量精度越高。2.2總體思路頻率計是我們經(jīng)常會用到的實驗儀器之一,頻率的測量實際上
8、就是在單位時間內(nèi)對信號進行計數(shù),計數(shù)值就是信號頻率。本文介紹了一種基于單片機AT89S52 制作的頻率計的設(shè)計方法,所制作的頻率計測量比較高的頻率采用外部十分頻,測量較低頻率值時采用單片機直接計數(shù),不進行外部分頻。該頻率計實現(xiàn)10HZ2MHZ的頻率測量,而且可以實現(xiàn)量程自動切換功能,四位共陽極動態(tài)顯示測量結(jié)果,可以測量正弦波、三角波及方波等各種波形的頻率值。2.3具體模塊根據(jù)上述系統(tǒng)分析,頻率計系統(tǒng)設(shè)計共包括五大模塊:單片機控制模塊、電源模塊、放大整形模塊、分頻模塊及顯示模塊。各模塊作用如下:1、單片機控制模塊:以AT89S52單片機為控制核心,來完成它待測信號的計數(shù),譯碼,和顯示以及對分頻比
9、的控制。利用其內(nèi)部的定時計數(shù)器完成待測信號周期頻率的測量。單片機AT89S52內(nèi)部具有2個16位定時計數(shù)器,定時計數(shù)器的工作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能。(因為AT89C51所需外圍元件少,擴展性強,測試準(zhǔn)確度高。)2、電源模塊:為整個系統(tǒng)提供合適又穩(wěn)定的電源,主要為單片機、信號調(diào)理電路以及分頻電路提供電源,電壓要求穩(wěn)定、噪聲小及性價高的電源。3、放大整形模塊:放大電路是對待測信號的放大,降低對待測信號幅度的要求。整形電路是對一些不是方波的待測信號轉(zhuǎn)化成方波信號,便于測量。4、分頻模塊:考慮單片機外部計數(shù),使用12 MHz時鐘時,最大計數(shù)速率為500 kHz,因此需
10、要外部分頻。分頻電路用于擴展單片機頻率測量范圍,并實現(xiàn)單片機頻率測量使用統(tǒng)一信號,可使單片機測頻更易于實現(xiàn),而且也降低了系統(tǒng)的測頻誤差??捎?4161進行外部十分頻。5、顯示模塊:顯示電路采用四位共陽極數(shù)碼管動態(tài)顯示,為了加大數(shù)碼管的亮度,使用4個PNP三極管進行驅(qū)動,便于觀測。綜合以上頻率計系統(tǒng)設(shè)計有單片機控制模塊、電源模塊、放大整形模塊、分頻模塊及顯示模塊等組成,頻率計的總體設(shè)計框圖如圖2所示。 圖2 頻率計總體設(shè)計框圖第三章 硬件電路具體設(shè)計根據(jù)系統(tǒng)設(shè)計的要求,頻率計實際需要設(shè)計的硬件系統(tǒng)主要包括以下幾個部分:AT89S52單片機最小系統(tǒng)模塊、電源模塊、放大整形模塊、分頻模塊及顯示模塊,
11、下面將分別給予介紹。3.1 AT89S52主控制器模塊3.1.1 AT89S52的介紹8位單片機是MSC-51系列產(chǎn)品升級版5,有世界著名半導(dǎo)體公司ATMEL在購買MSC-51設(shè)計結(jié)構(gòu)后,利用自身優(yōu)勢技術(shù)(掉電不丟數(shù)據(jù))閃存生產(chǎn)技術(shù)對舊技術(shù)進行改進和擴展,同時使用新的半導(dǎo)體生產(chǎn)工藝,最終得到成型產(chǎn)品。與此同時,世界上其他的著名公司也通過基本的51內(nèi)核,結(jié)合公司自身技術(shù)進行改進生產(chǎn),推廣一批如51F020等高性能單片機。AT89S52片內(nèi)集成256字節(jié)程序運行空間、8K字節(jié)Flash存儲空間,支持最大64K外部存儲擴展。根據(jù)不同的運行速度和功耗的要求,時鐘頻率可以設(shè)置在0-33M之間。片內(nèi)資源有
12、4組I/O控制端口、3個定時器、8個中斷、軟件設(shè)置低能耗模式、看門狗和斷電保護??梢栽?V到5.5V寬電壓范圍內(nèi)正常工作。不斷發(fā)展的半導(dǎo)體工藝也讓該單片機的功耗不斷降低。同時,該單片機支持計算機并口下載,簡單的數(shù)字芯片就可以制成下載線,僅僅幾塊錢的價格讓該型號單片機暢銷10年不衰。根據(jù)不同場合的要求,這款單片機提供了多種封裝,本次設(shè)計根據(jù)最小系統(tǒng)有時需要更換單片機的具體情況,使用雙列直插DIP-40的封裝。AT89S52引腳如下圖3所示。圖3 AT89S52引腳圖3.1.2 復(fù)位電路及時鐘電路復(fù)位電路和時鐘電路是維持單片機最小系統(tǒng)運行的基本模塊。復(fù)位電路通常分為兩種:上電復(fù)位(圖4)和手動復(fù)位
13、(圖5)。 圖4 上電復(fù)位 圖5 手動復(fù)位有時系統(tǒng)在運行過程中出現(xiàn)程序跑飛的情況,在程序開發(fā)過程中,經(jīng)常需要手動復(fù)位。所以本次設(shè)計選用手動復(fù)位。高頻率的時鐘有利于程序更快的運行,也有可以實現(xiàn)更高的信號采樣率,從而實現(xiàn)更多的功能6。但是告訴對系統(tǒng)要求較高,而且功耗大,運行環(huán)境苛刻??紤]到單片機本身用在控制,并非高速信號采樣處理,所以選取合適的頻率即可。合適頻率的晶振對于選頻信號強度準(zhǔn)確度都有好處,本次設(shè)計選取12.000M無源晶振接入XTAL1和XTAL2引腳。并聯(lián)2個30pF陶瓷電容幫助起振。AT89S52單片機最小系統(tǒng)如圖6所示。圖6 單片機最小系統(tǒng)原理圖3.1.3 引腳功能VCC:電源電壓
14、;GND:地;P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在 flash編程時,P0口用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻7。P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1 輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對 P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P
15、1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入和定時器/計數(shù)器2的觸發(fā)輸入,P1口功能具體如表1所示。在flash編程和校驗時,P1口接收低8位地址字節(jié)。表1 P1口的第二種功能說明表引腳號第二功能P1.0T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4 個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入
16、使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。P3口亦作為AT89C51特殊功能(第二功能)使用,P3口
17、功能如表2所示。在flash編程和校驗時,P3口也接收一些控制信號。表2 P3口的第二種功能說明表引腳號第二功能P3.0RXD(串行輸入)P3.1TXD (串行輸出)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器寫選通)RST:復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,RST 腳輸出96個晶振周期的高電平。特殊寄存器 AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。XTAL1:振蕩器反
18、相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。3.1.4 單片機引腳分配根據(jù)系統(tǒng)設(shè)計及各模塊的分析得出,單片機的引腳分配如表3所示。 表 3 單片機端口分配表模 塊端口功能顯示模塊P0.0-P0.4、 P2.0-P2.7數(shù)碼管頻率值顯示P1.4-P1.6LED單位顯示分頻模塊P1.0-P1.2通道選擇P1.3清零3.2 電源模塊3.2.1 直流穩(wěn)壓電源的基本原理直流穩(wěn)壓電源一般由電源變壓器T、整流、濾波及穩(wěn)壓電路所組成8,基本框圖如圖7所示。圖7 直流穩(wěn)壓電源框圖及波形(1)電源變壓器T的作用是將220V的交流電壓變換成整流濾波電路所需要的交流電壓Ui。變壓器副邊與
19、原邊的功率比為P2/P1=n,式中n是變壓器的效率。(2)整流電路:整流電路將交流電壓Ui變換成脈動的直流電壓。再經(jīng)濾波電路濾除較大的波紋成分,輸出波紋較小的直流電壓U1。常用的整流濾波電路有全波整流濾波、橋式整流濾波等。 圖8 整流電路(3)濾波電路:各濾波電路C滿足RL-C=(35)T/2,式中T為輸入交流信號周期,RL為整流濾波電路的等效負(fù)載電阻。圖9 濾波電路(4)穩(wěn)壓電路:常用的穩(wěn)壓電路有兩種形式:一是穩(wěn)壓管穩(wěn)壓電路,二是串聯(lián)型穩(wěn)壓電路。二者的工作原理有所不同。穩(wěn)壓管穩(wěn)壓電路其工作原理是利用穩(wěn)壓管兩端的電壓稍有變化,會引起其電流有較大變化這一特點,通過調(diào)節(jié)與穩(wěn)壓管串聯(lián)的限流電阻上的壓
20、降來達到穩(wěn)定輸出電壓的目的。它一般適用于負(fù)載電流變化較小的場合。串聯(lián)型穩(wěn)壓電路是利用電壓串聯(lián)負(fù)反饋的原理來調(diào)節(jié)輸出電壓的。集成穩(wěn)壓電源事實上是串聯(lián)穩(wěn)壓電源的集成化。3.2.2 電源電路設(shè)計根據(jù)上述介紹設(shè)計,電源電路包括變壓器、整流電路、濾波電路、穩(wěn)壓電路等模塊組成,使用LED進行電源工作狀態(tài)指示。LM78XX系列三端穩(wěn)壓IC來組成穩(wěn)壓電源所需的外圍元件極少9,電路內(nèi)部還有過流、過熱及調(diào)整管的保護電路,使用起來可靠、方便,而且價格便宜,因此使用LM7805穩(wěn)壓芯片進行5V的電源電路設(shè)計。具體的5V電源電路如下圖10所示。圖10 5V直流電源電路3.3放大整形模塊由于輸入的信號可以是正弦波,三角波
21、。而后面的閘門或計數(shù)電路要求被測信號為矩形波,所以需要設(shè)計一個整形電路則在測量的時候,首先通過整形電路將正弦波或者三角波轉(zhuǎn)化成矩形波。在整形之前由于不清楚被測信號的強弱的情況。所以在通過整形之前通過放大衰減處理。當(dāng)輸入信號電壓幅度較大時,通過輸入衰減電路將電壓幅度降低。當(dāng)輸入信號電壓幅度較小時,前級輸入衰減為零時若不能驅(qū)動后面的整形電路,則調(diào)節(jié)輸入放大的增益,時被測信號得以放大10。根據(jù)上述分析,放大電路放大整形電路采用高頻晶體管3DG100與74LS00等組成。其中3DG100為NPN型高頻小功率三極管,組成放大器將輸入頻率為fx的周期信號如正弦波、三角波及方波等波形進行放大。與非門74LS
22、00構(gòu)成施密特觸發(fā)器,它對放大器的輸出波形信號進行整形,使之成為矩形脈沖11。具體放大整形電路如圖11所示。 圖11 放大整形電路3.4 分頻設(shè)計模塊分頻電路用于擴展單片機頻率測量范圍,并實現(xiàn)單片機頻率和周期測量使用統(tǒng)一信號,可使單片機測頻更易于實現(xiàn),而且也降低了系統(tǒng)的測頻誤差??捎?4161進行分頻。3.4.1 分頻電路分析本頻率計的設(shè)計以AT89S51單片機為核心,利用他內(nèi)部的定時計數(shù)器完成待測信號周期頻率的測量。單片機AT89S51內(nèi)部具有2個16位定時計數(shù)器,定時計數(shù)器的工作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能。在定時器工作方式下,在被測時間間隔內(nèi),每來一個機器周期
23、,計數(shù)器自動加1(使用12 MHz時鐘時,每1s加1),這樣以機器周期為基準(zhǔn)可以用來測量時間間隔。在計數(shù)器工作方式下,加至外部引腳的待測信號發(fā)生從1到0的跳變時計數(shù)器加1,這樣在計數(shù)閘門的控制下可以用來測量待測信號的頻率。外部輸入在每個機器周期被采樣一次,這樣檢測一次從1到0的跳變至少需要2個機器周期(24個振蕩周期),所以最大計數(shù)速率為時鐘頻率的124(使用12 MHz時鐘時,最大計數(shù)速率為500 kHz),因此采用74LS161進行外部十分頻使測頻范圍達到2MHz。為了測量提高精度,當(dāng)被測信號頻率值較低時,直接使用單片機計數(shù)器計數(shù)測得頻率值;當(dāng)被測信號頻率值較高時采用外部十分頻后再計數(shù)測得
24、頻率值。這兩種情況使用74LS151進行通道選擇,由單片機先簡單測得被測信號是高頻信號還是低頻信號,然后根據(jù)信號頻率值的高低進行通道的相應(yīng)導(dǎo)通,繼而測得相應(yīng)頻率值。3.4.2 74LS161芯片介紹74LS161是常用的四位二進制可預(yù)置的同步加法計數(shù)器12,可以靈活的運用在各種數(shù)字電路,以及單片機系統(tǒng)種實現(xiàn)分頻器等很多重要的功能。74LS161引腳如圖12所示。圖12 74LS161引腳圖時鐘CP和四個數(shù)據(jù)輸入端P0P3,清零/MR,使能CEP,CET,置數(shù)PE,數(shù)據(jù)輸出端Q0Q3,以及進位輸出TC (TC=Q0Q1Q2Q3CET)。表4為74161的功能表。表4 74161的功能表清零RD預(yù)
25、置LD使能EP ET時鐘CP預(yù)置數(shù)據(jù)輸入A B C D輸出Q0 Q1 Q2 Q3L L L L LHL 上升沿A B C DA B C DHHL 保 持HH L 保 持HHH H上升沿 計 數(shù)其中RD是異步清零端,LD是預(yù)置數(shù)控制端,A、B、C、D是預(yù)置數(shù)據(jù)輸入端,EP和ET是計數(shù)使能端,RCO(=ET.QA.QB.QC.QD)是進位輸出端,它的設(shè)置為多片集成計數(shù)器的級聯(lián)提供了方便。計數(shù)過程中,首先加入一清零信號RD0,使各觸發(fā)器的狀態(tài)為0,即計數(shù)器清零。RD變?yōu)?后,加入一置數(shù)信號LD0,即信號需要維持到下一個時鐘脈沖的正跳變到來后。在這個置數(shù)信號和時鐘脈沖上升的共同作用下,各觸發(fā)器的輸出狀
26、態(tài)與預(yù)置的輸入數(shù)據(jù)相同,這就是預(yù)置操作。接著EP=ET=1,在此期間74161一直處于計數(shù)狀態(tài)。一直到EP=0,ET1,計數(shù)器計數(shù)狀態(tài)結(jié)束。從74LS161功能表功能表中可以知道,當(dāng)清零端CR=“0”,計數(shù)器輸出Q3、Q2、Q1、Q0立即為全“0”,這個時候為異步復(fù)位功能。當(dāng)CR=“1”且LD=“0”時,在CP信號上升沿作用后,74LS161輸出端Q3、Q2、Q1、Q0的狀態(tài)分別與并行數(shù)據(jù)輸入端D3,D2,D1,D0的狀態(tài)一樣,為同步置數(shù)功能。而只有當(dāng)CR=LD=EP=ET=“1”、CP脈沖上升沿作用后,計數(shù)器加1。74LS161還有一個進位輸出端CO,其邏輯關(guān)系是CO= Q0Q1Q2Q3CE
27、T。合理應(yīng)用計數(shù)器的清零功能和置數(shù)功能,一片74LS161可以組成16進制以下的任意進制分頻器。3.4.3 74LS151芯片介紹數(shù)據(jù)選擇端(ABC)按二進制譯碼,以從8個數(shù)據(jù)(D0-D7)中選取1個所需的數(shù)據(jù)。只有在選通端STROBE為低電平時才可選擇數(shù)據(jù)。74LS151有互補輸出端(Y、W),Y輸出原碼,W輸出反碼13。74LS151引腳如圖13所示。圖13 74151管腳圖74LS151的功能如下表所示。其中A、B、C為選擇輸入端,D0-D7為數(shù)據(jù)輸入端,STROBE為選通輸入端(低電平有效),W為反碼數(shù)據(jù)輸出端,Y為數(shù)據(jù)輸出端。表5 74151功能表3.4.4 分頻電路根據(jù)以上分析,采
28、用74LS161和74LS151設(shè)計分頻電路如圖14所示。圖15 分頻電路原理圖3.5 顯示模塊顯示器是最常用的輸出設(shè)備,其種類繁多,但在單片機系統(tǒng)設(shè)計中最常用的是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)兩種。由于這兩種顯示器結(jié)構(gòu)簡單,價格便宜,接口容易實現(xiàn),因而得到廣泛的應(yīng)用,本次方案采用了1602液晶顯示器。3,5.1 1602的功能簡介1.40通道點陣LCD 驅(qū)動;2.可選擇當(dāng)作行驅(qū)動或列驅(qū)動;3.輸入/輸出信號:輸出,能產(chǎn)生202個LCD驅(qū)動波形;輸入,接受控制器送出的串行數(shù)據(jù)和控制信號,偏壓(V1V6);4.通過單片機控制將所測的頻率信號讀數(shù)顯示出來【11】。具體引腳功能見表
29、2-2: 2-2 1602引腳和指令功能引腳符號名稱功能1Vss接地0V2VDD電路電源5V(正負(fù)10%)3VEE液晶驅(qū)動電壓V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高。4RS寄存器選擇信號高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。5R/W讀/寫信號高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。6E片選信號當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。7-14DB0-DB7數(shù)據(jù)線D0D7為8位雙向數(shù)據(jù)線。3.5.2 1602與A
30、T89C52的連接圖 2-8 顯示電路圖2-8中為單片機與1602的連接圖。其中,D0-D7為1602數(shù)據(jù)口,分別接單片機的P0.0-P0.7口;單片機的P2.0口接1602的復(fù)位腳RS;單片機的P2.3口接1602的讀/寫控制腳RW;單片機的P2.1口接1602的使能端E;通過一個10K的電位器調(diào)整VEE電壓改變液晶對比度,對比度調(diào)節(jié)不當(dāng)時會產(chǎn)生“鬼影”。通過這種連接方式,就可以實現(xiàn)單片機對1602控制顯示測得頻率數(shù)值。第四章 系統(tǒng)的軟件設(shè)計系統(tǒng)軟件設(shè)計主要采用模塊化設(shè)計,敘述了各個模塊的程序流程圖,并介紹了軟件Keil和Proteus的使用方法和調(diào)試仿真。4.1 軟件模塊設(shè)計系統(tǒng)軟件設(shè)計采
31、用模塊化設(shè)計方法。整個系統(tǒng)由初始化模塊,信號頻率測量模塊,自動量程轉(zhuǎn)換和顯示模塊等模塊組成。系統(tǒng)軟件流程如圖19所示。頻率計開始工作或者完成一次頻率測量,系統(tǒng)軟件都進行測量初始化。測量初始化模塊設(shè)置堆棧指針(SP)、工作寄存器、中斷控制和定時計數(shù)器的工作方式。定時計數(shù)器的工作首先被設(shè)置為計數(shù)器方式,即用來測量信號頻率15。圖19 系統(tǒng)軟件流程總圖首先定時計數(shù)器的計數(shù)寄存器清0,運行控制位TR置1,啟動對待測信號的計數(shù)。計數(shù)閘門由軟件延時程序?qū)崿F(xiàn),從計數(shù)閘門的最小值(即測量頻率的高量程)開始測量,計數(shù)閘門結(jié)束時TR清0,停止計數(shù)。計數(shù)寄存器中的數(shù)值經(jīng)過數(shù)制轉(zhuǎn)換程序從十六進制數(shù)轉(zhuǎn)換為十進制數(shù)。判斷
32、該數(shù)的最高位,若該位不為0,滿足測量數(shù)據(jù)有效位數(shù)的要求,測量值和量程信息一起送到顯示模塊;若該位為0,將計數(shù)閘門的寬度擴大10倍,重新對待測信號的計數(shù),直到滿足測量數(shù)據(jù)有效位數(shù)的要求。定時計數(shù)器的工作被設(shè)置為定時器方式,定時計數(shù)器的計數(shù)寄存器清0,在判斷待測信號的上跳沿到來后,運行控制位TR置為1,以單片機工作周期為單位進行計數(shù),直至信號的下跳沿到來,運行控制位TR清0,停止計數(shù)。16位定時計數(shù)器的最高計數(shù)值為65535,當(dāng)待測信號的頻率較低時,定時計數(shù)器可以對被測信號直接計數(shù),當(dāng)被測信號的頻率較高時,先由硬件十分頻后再有定時計數(shù)器對被測信號計數(shù),加大測量的精度和范圍。4.2 中斷服務(wù)子程序T
33、0中斷服務(wù)子程序流程如圖20所示。測頻時,定時器T0 工作在定時方式,每次定時50mS ,則T0 中斷20 次正好為1秒,即T0用來產(chǎn)生標(biāo)準(zhǔn)秒信號,定時器T0 用作計數(shù)器,對待測信號計數(shù),每秒鐘的開始啟動T0 ,每秒鐘的結(jié)束關(guān)閉T0 ,則定時器T0 之值乘以分頻系數(shù)就為待測信號的頻率。圖20 T0中斷服務(wù)子程序定時計數(shù)器T1工作在計數(shù)方式, 對信號進行計數(shù),計數(shù)器1中斷流程圖如圖21所示。圖21 計數(shù)器1中斷服務(wù)子程序4.3 顯示子程序顯示子程序?qū)⒋娣旁陲@示緩沖區(qū)的頻率或周期值送往數(shù)碼管上顯示出來,由于所有4 位數(shù)碼管的8 根段選線并聯(lián)在一起由單片機的P2口 控制,因此,在每一瞬間4位數(shù)碼管會
34、顯示相同的字符,要想每位顯示不同的字符就必須采用掃描方法輪流點亮各位數(shù)碼管,即在每一瞬間只點亮某一位顯示字符,在此瞬間,段選控制口P2輸出相應(yīng)字符。由P0.0-P0.3逐位輪流點亮各個數(shù)碼管, 每位保持1mS ,在10mS20mS 之內(nèi)再點亮一次,重復(fù)不止,利用人的視角暫留,好像4 位數(shù)碼管同時點亮。數(shù)碼管顯示子程序流程如圖22所示。圖22 顯示子程序流程圖4.4 量程檔自動轉(zhuǎn)換子程序使用定時方法實現(xiàn)頻率測量時,外部的待測信號通過頻率計的預(yù)處理電路變成寬度等于待測信號周期的方波,該方波同樣加至定時計數(shù)器的輸入腳(P3.5)。工作高電平是否加至定時計數(shù)器的輸入腳;當(dāng)判定高電平加至定時計數(shù)器的輸入
35、腳,運行控制位TR置1,啟動定時計數(shù)器對單片機的機器周期的計數(shù),同時檢測方波高電平是否結(jié)束;當(dāng)判定高電平結(jié)束時TR清0,停止計數(shù),然后從計數(shù)寄存器讀出測量數(shù)據(jù)。由顯示電路顯示測量結(jié)果,根據(jù)測量結(jié)果判斷,進行頻率計比較后,進行檔位的自動切換,具體檔位自動切換流程圖如圖23所示。圖23 量程檔自動轉(zhuǎn)換子程序4.5 應(yīng)用軟件簡介此設(shè)計需要在Keil軟件平臺上完成程序的調(diào)試,在Proteus軟件平臺上完成仿真顯示。因此介紹如何使用Keil和Proteus進行軟件的仿真。4.5.1 Keil簡介Keil軟件是目前最流行開發(fā)系列單片機的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大
36、的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。而Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象16。(1)建立工程文件點擊“Project-New project”菜單,出現(xiàn)一個對話框,要求給將要建立的工程起一個名字,你可以在編緝框中輸入一個名字
37、,點擊“保存”按鈕,出現(xiàn)第二個對話框,按要求選擇目標(biāo)器件片。建立新文件并增加到組。分別設(shè)置“target1”中的“Target,output,debug”各項,使程序匯編后產(chǎn)生HEX文件。(2)匯編,調(diào)試系統(tǒng)程序Keil 單片機模擬調(diào)試軟件內(nèi)集成了一個文本編輯器,用該文本編輯器可以編輯源程序。在集成開發(fā)環(huán)境中選擇菜單“File New.”、單擊對應(yīng)的工具按鈕或者快捷鍵Ctrl +N 將打開一個新的文本編輯窗口,完成匯編語言源文件的輸入,并且完成源程序向當(dāng)前工程的添加。然后在集成開發(fā)環(huán)境中選擇菜單“FileSave As.”可以完成文件的第一次存儲。注意,匯編語言源文件的擴展名應(yīng)該是“ASM”,
38、它應(yīng)該與工程文件存儲在同一文件夾之內(nèi)。在完成文件的第一次存儲以后,當(dāng)對匯編語言源文件又進行了修改,再次存儲文件則應(yīng)該選擇菜單“FileSave”、單擊對應(yīng)的工具按鈕或者快捷鍵Ctrl +S 實現(xiàn)文件的保存。接著的工作需要把匯編語言源文件加入工程之中。選擇工程管理器窗口的子目“Source Group 1”,再單擊鼠標(biāo)右鍵打開快捷菜單。在快捷菜單中選擇“Add File to Group Source Group 1”,加入文件對話框被打開。在這個對話框的“查找范圍(I)”下拉列表框中選擇存儲匯編語言源文件的文件夾,在“文件類型(T)” 下拉列表框選擇“Asm Source file(*.a*;
39、*.src)”,這時存儲的匯編語言源文件將顯示出來。雙擊要加入的文件名或者選擇要加入的文件名再單擊“Add”按鈕即可完成把匯編語言源文件加入工程。文件加入以后,加入文件對話框并不消失,更多的文件也可以利用它加入工程。如果不需要加入其它文件,單擊“Close”按鈕可以關(guān)閉加入文件對話框。這時工程管理窗口的文件選項卡中子目錄“Source Group 1”下出現(xiàn)一個匯編語言源文件。 需要注意,當(dāng)把匯編語言源文件加入工程但還沒有關(guān)閉加入文件對話框,這時有可能被誤認(rèn)為文件沒有成功地加入工程而再次進行加入操作,系統(tǒng)將顯示所需的文件已經(jīng)加入的提示。在這種情況下,單擊提示框中的“確定”按鈕,再單擊“Clos
40、e”按鈕可以關(guān)閉加入文件對話框。(3)編譯源程序,出現(xiàn)錯誤時,返回上一級對錯誤更改后重新編譯,直到?jīng)]有錯誤為止。4.5.2 protues簡介 protues是Labcenter公司出品的電路分析、實物仿真系統(tǒng),而KEIL是目前世界上最好的51單片機匯編和C語言的集成開發(fā)環(huán)境。他支持匯編和C的混合編程,同時具備強大的軟件仿真和硬件仿真功能17。Protues能夠很方便的和KEIL、Matlab IDE等編譯模擬軟件結(jié)合。Proteus提供了大量的元件庫有RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件,它可以仿真單片機和周邊設(shè)備,可以仿真51系列、AVR,
41、PIC等常用的MCU,與keil和MPLAB不同的是它還提供了周邊設(shè)備的仿真,只要給出電路圖就可以仿真。這里我將keil和 Protues兩個軟件的快速集成起來使用。(1)首先將keil和 Protues兩個軟件安裝好。(2)然后在C:Program FilesLabcenter EletronicsProtues 6 ProfessionalMODELS(我的Protues是安裝C盤里面的)目錄下的VDM51.DLL 動態(tài)連接庫文件復(fù)制到C:KEILC51BIN 目錄下面(我的keil 也安裝在C盤)這個文件將在keil的debug設(shè)置時用到。(3)打開protues軟件,新建一文件將硬件原
42、理圖繪入圖中。(4)將KEIL生成的HEX文件下載入單片機中,點擊“開始”進行仿真。(5)在keil中進行debug,同時在proteus中查看直觀的結(jié)果(如LCD顯示)。這樣就可以像使用仿真器一樣調(diào)試程序。利用Proteus與Keil整合進行實驗,具有比較明顯的優(yōu)勢,當(dāng)然其存在的缺點也是有的。利用仿真實驗可以做全部的軟件實驗和極大多數(shù)的硬件系統(tǒng),虛擬仿真實驗室,因極少硬件投入、所以經(jīng)濟優(yōu)勢明顯,不僅可以彌補實驗儀器和元器件缺乏帶來的不足,而且排除了原材料消耗和儀器損壞等因素。附錄試驗程序:#include #include/#include1602.h/#includedelay.h#def
43、ine HIGH_T (65536-10000)/256#define LOW_T (65536-10000)%256sbit LED=P12; /定義LED端口bit OVERFLOWFLAG;bit TIMERFLAG;/*- 定時器0初始化子程序本程序用于計數(shù)-*/void Init_Timer0(void) TMOD |= 0x01 | 0x04; /使用模式1,16位計數(shù)器,使用|符號可以在使用多個定時器時不受影響 TH0=0x00; /給定初值 TL0=0x00; EA=1; /總中斷打開 ET0=1; /定時器中斷打開 TR0=1; /定時器開關(guān)打開/*- 定時器1初始化子程序本程序用于定時-*/void Init_Timer1(void) TMOD |= 0x10; /使用模式1,16位
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軋鋼導(dǎo)衛(wèi)裝置項目建議書
- 2025(示范)安全評估合同協(xié)議書(范本)
- 2025餐飲服務(wù)合同協(xié)議樣本
- 2025年懸浮床加氫裂化催化劑項目建議書
- 財務(wù)審計月度工作報告計劃
- 2025二手房屋買賣合同
- 農(nóng)村飲水安全保障項目設(shè)計計劃
- 2025光纖網(wǎng)絡(luò)施工合同書
- 提升教育質(zhì)量的教研實踐計劃
- 開展居民安全教育的系列活動計劃
- 醫(yī)院保安服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 保證食品安全的規(guī)章制度清單
- 2023年全國高考英語試題和答案(遼寧卷)
- 【精品】六年級下冊語文試題-閱讀理解專項訓(xùn)練5含答案全國通用
- 詳解2021年《關(guān)于優(yōu)化生育政策促進人口長期均衡發(fā)展的決定》ppt
- 保護繼電器中文手冊-re610系列rem610tobcnb
- 焊接接頭表面質(zhì)量檢查記錄
- 空調(diào)機房吸音墻頂面綜合施工專題方案
- 紅樓夢專題元妃省親39課件
- 初中人教版七年級上冊音樂5.2甘美蘭(22張)ppt課件
- 工程土石方挖運機械租賃合同
評論
0/150
提交評論