基于單片機(jī)簡(jiǎn)易的頻率計(jì)_第1頁
基于單片機(jī)簡(jiǎn)易的頻率計(jì)_第2頁
基于單片機(jī)簡(jiǎn)易的頻率計(jì)_第3頁
基于單片機(jī)簡(jiǎn)易的頻率計(jì)_第4頁
基于單片機(jī)簡(jiǎn)易的頻率計(jì)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘要11芯片介紹11.1 LM324111.2 AT89S52211.2.1 AT89S52的主要性能11.2.2 AT89S52的功能特性描述21.2.3 AT89S52的引腳功能描述31.2.4 特殊功能寄存器41.2.5存儲(chǔ)器結(jié)構(gòu)71.2.6 定時(shí)器0和定時(shí)器171.2.7 定時(shí)器271.2.8 中斷81.2.9晶振特性91.2.10 Flash編程并行模式102總體方案設(shè)計(jì)112.1設(shè)計(jì)要點(diǎn)112.2 系統(tǒng)方案113模塊設(shè)計(jì)與實(shí)現(xiàn)123.1 顯示模塊123.2單片機(jī)總控制單元:123.3放大整形電路4134 軟件設(shè)計(jì)3145 測(cè)試結(jié)果186 總結(jié)與體會(huì)19參考文獻(xiàn)20附錄1:總體電路原

2、理圖21附錄2:元件清單22摘要本次設(shè)計(jì)的簡(jiǎn)易頻率計(jì),是以AT89S52單片機(jī)為控制核心,輔以放大整形電路,顯示電路構(gòu)成的。簡(jiǎn)易頻率計(jì)能夠根據(jù)題目要求能夠用4位7段數(shù)碼管顯示待測(cè)頻率,格式為0000Hz。測(cè)量頻率09999Hz信號(hào)類型:正弦波、方波和三角波。測(cè)量信號(hào)幅值:0.19V。另外,采用在線編程校準(zhǔn)大大提高了頻率計(jì)的測(cè)量精度,在9999Hz的頻率范圍內(nèi),可以把誤差控制在0.022%以下。而且具有靈活的現(xiàn)場(chǎng)可更改性。在不更改硬件電路的基礎(chǔ)上,對(duì)系統(tǒng)進(jìn)行各種改進(jìn)還可以進(jìn)一步提高系統(tǒng)的性能。該數(shù)字頻率計(jì)具有高速、精確、可靠、抗干擾性強(qiáng)和現(xiàn)場(chǎng)可編程等優(yōu)點(diǎn)。 對(duì)所設(shè)計(jì)的頻率計(jì)的各項(xiàng)指標(biāo)進(jìn)行了測(cè)量和

3、記錄,滿足要求,且在局部某些地方有自己的創(chuàng)新之處,相比用中規(guī)模集成器件構(gòu)成的頻率計(jì)優(yōu)點(diǎn)有成本低、原理簡(jiǎn)單、功能齊全,實(shí)現(xiàn)價(jià)值高,各項(xiàng)性能較好。關(guān)鍵字:數(shù)字頻率計(jì) AT89S52 可編程 高精度1芯片介紹本次課程設(shè)計(jì)主要用到的芯片有用于整形電路的集成運(yùn)放LM324和主控芯片AT89S52,下面對(duì)這兩塊芯片作一下詳細(xì)的介紹。1.1 LM3241圖1 LM324的外形LM324 是四運(yùn)放集成電路,它采用14 腳雙列直插塑料封裝,外形如圖1所示。它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。每一組運(yùn)算放大器可用圖2所示的符號(hào)來表示,它有5個(gè)引出腳,其中“+”、“-”為兩個(gè)信

4、號(hào)輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號(hào)輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo 的信號(hào)與該輸入端的相位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo 的信號(hào)與該輸入端的相位相同。LM324 的引腳排列見圖3。 圖2 運(yùn)算放大器的符號(hào) 圖3 LM324的引腳排圖由于LM324 四運(yùn)放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價(jià)格低廉等優(yōu)點(diǎn),因此被廣泛應(yīng)用在各種電路中。1.2 AT89S5221.2.1 AT89S52的主要性能l 與MCS-51單片機(jī)產(chǎn)品兼容l 8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器l 1000次擦寫周期l 全靜態(tài)操作:0H

5、z33Hzl 三級(jí)加密程序存儲(chǔ)器l 32個(gè)可編程I/O口線l 三個(gè)16位定時(shí)器/計(jì)數(shù)器l 八個(gè)中斷源l 全雙工UART串行通道l 低功耗空閑和掉電模式l 掉電后中斷可喚醒l 看門狗定時(shí)器l 雙數(shù)據(jù)指針l 掉電標(biāo)識(shí)符1.2.2 AT89S52的功能特性描述AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制

6、應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。其引腳結(jié)構(gòu)圖如圖4所示。圖4 AT89S52的引腳結(jié)構(gòu)1.2.3 AT89S52的引腳功能描述VCC

7、: 電源GND: 地P0: P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(I

8、IL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表1所示。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。表1 P1 口部分引腳的第二功能P2:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),P2 口送出高八位地址。在這

9、種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如表2所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。表2 P3 口引腳的第二功能RST:

10、復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。看門狗計(jì)時(shí)完成后,RST 腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE

11、操作將無效。這一位置 “1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP

12、電壓。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。1.2.4 特殊功能寄存器特殊功能寄存器(SFR)的地址空間映象如表3所示。并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)寫入的數(shù)據(jù)將會(huì)無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能被賦予新的功能,復(fù)位后,這些位都為“0”。表3 AT89S52 特殊寄存器映象及復(fù)位值定時(shí)器2 寄存器:寄存器T2CON 和T2MOD 包含定時(shí)器2 的控制位和狀態(tài)位(如表4和表5所示),寄存器對(duì)RCAP2H和RCAP2L是定時(shí)器2的捕捉/自動(dòng)重

13、載寄存器。中斷寄存器:各中斷允許位在IE寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級(jí)也可在IE中設(shè)置。雙數(shù)據(jù)指針寄存器:為了更有利于訪問內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0 選擇DP0;DPS=1 選擇DP1。用戶應(yīng)該在訪問數(shù)據(jù)指針寄存器前先初始化DPS至合理的值。表4 T2CON:定時(shí)器/計(jì)數(shù)器2控制寄存器表5 AUXR:輔助寄存器1.2.5存儲(chǔ)器結(jié)構(gòu)MCS-51器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64K尋址。程序存儲(chǔ)器:如果EA引腳接地,程序讀取只從外部存儲(chǔ)器開始。對(duì)于

14、89S52,如果EA 接VCC,程序讀寫先從內(nèi)部存儲(chǔ)器(地址為0000H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH。數(shù)據(jù)存儲(chǔ)器:AT89S52 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7FH 的地址時(shí),尋址方式?jīng)Q定CPU 訪問高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)。例如,下面的直接尋址指令訪問0A0H(P2口)存儲(chǔ)單元MOV 0A0H , #data使用間接尋址方式訪問高128 字節(jié)RAM。例如,下面的間接尋址方

15、式中,R0 內(nèi)容為0A0H,訪問的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV R0 , #data堆棧操作也是簡(jiǎn)介尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用于堆??臻g。1.2.6 定時(shí)器0和定時(shí)器1在AT89S52 中,定時(shí)器0 和定時(shí)器1 的操作與AT89C51 和AT89C52 一樣。為了獲得更深入的關(guān)于UART 的信息,可參考ATMEL網(wǎng)()。從這個(gè)主頁,選擇“Products”,然后選擇“8051-Architech Flash Microcontroller”,再選擇“ProductOverview”即可。1.2.7 定時(shí)器2定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)

16、器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇(如表2所示)。定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。如表4 所示,工作模式由T2CON中的相關(guān)位選擇。定時(shí)器2有2個(gè)8位寄存器:TH2和TL2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2 寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2發(fā)生1至0的下降沿時(shí)增加1。表6 定時(shí)器2工作模式在這11種方式下,每個(gè)機(jī)器周期的S5P2期間采樣外部輸入。一個(gè)機(jī)器周期采樣到高電平,而下一個(gè)周期采

17、樣到低電平,計(jì)數(shù)器將加1。在檢測(cè)到跳變的這個(gè)周期的S3P1 期間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R(shí)別10的跳變需要2個(gè)機(jī)器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保持不變。1.2.8 中斷AT89S52 有6個(gè)中斷源:兩個(gè)外部中斷(INT0 和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。這些中斷如圖5所示每個(gè)中斷源都可以通過置位或清除特殊寄存器IE 中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷。如表7所示,IE.6位是

18、不可用的。對(duì)于AT89S52,IE.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是TF2 或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位TF0 和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來。然而,定時(shí)器2 的標(biāo)志位TF2 在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來。圖5 中斷源表7 中斷允許控制寄存器(IE)1.2.9晶振特性如圖10所示,

19、AT89S52 單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器,XTAL1 和XTAL2 分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構(gòu)成自激振蕩器。從外部時(shí)鐘源驅(qū)動(dòng)器件的話,XTAL2 可以不接,而從XTAL1 接入,如圖7 所示。由于外部時(shí)鐘信號(hào)經(jīng)過二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有其它要求,最長(zhǎng)低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要符合要求的。 圖6 內(nèi)部振蕩電路連接圖石英晶振 圖7 外部振蕩電路連接圖C1,C2=30PF±10PF陶瓷諧振器 C1,C2=40PF±10PF1.2.10 Flash編程并行模式AT89S

20、52 帶有用作編程的片上Flash 存儲(chǔ)器陣列。編程接口需要一個(gè)高電壓(12V)編程使能信號(hào),并且兼容常規(guī)的第三方*(原文:third-party,不知道對(duì)不對(duì))Flash或EPROM編程器。AT89S52程序存儲(chǔ)陣列采用字節(jié)式編程。編程方法:對(duì)AT89S52編程之前,需根據(jù)Flash編程模式表和圖13、圖14對(duì)地址、數(shù)據(jù)和控制信號(hào)設(shè)置??刹捎孟铝胁襟E對(duì)AT89S52編程:1)在地址線上輸入編程單元地址信號(hào)2)在數(shù)據(jù)線上輸入正確的數(shù)據(jù)3)激活相應(yīng)的控制信號(hào)4)把EA/Vpp升至12V5)每給Flash寫入一個(gè)字節(jié)或程序加密位時(shí),都要給ALE/PROG一次脈沖。字節(jié)寫周期時(shí)自身定制的,典型值僅僅

21、50us。改變地址、數(shù)據(jù)重復(fù)第1步到第5步,知道全部文件結(jié)束。2總體方案設(shè)計(jì)2.1 設(shè)計(jì)要點(diǎn)本次課程設(shè)計(jì)有以下要點(diǎn): 設(shè)計(jì)一個(gè)頻率計(jì)。要求用4位7段數(shù)碼管顯示待測(cè)頻率,格式為0000Hz。測(cè)量頻率范圍:109999Hz。測(cè)量信號(hào)類型:正弦波、方波和三角波。測(cè)量信號(hào)幅值:0.55V。設(shè)計(jì)的脈沖信號(hào)發(fā)生器,以此產(chǎn)生閘門信號(hào),閘門信號(hào)寬度為1S。確定設(shè)計(jì)方案,按功能模塊的劃分選擇元、器件和中小規(guī)模集成電路,設(shè)計(jì)分電路,畫出總體電路原理圖,闡述基本原理。2.2 系統(tǒng)方案簡(jiǎn)易數(shù)字頻率計(jì)可以用中規(guī)模集成芯片構(gòu)建而成,但與用51單片機(jī)實(shí)現(xiàn)相比,其電路復(fù)雜程度要大得多,而且遠(yuǎn)遠(yuǎn)不及用單片機(jī)實(shí)現(xiàn)靈活,其精度也不

22、及用單片機(jī)實(shí)現(xiàn)的高。所以我采用用AT89S52單片機(jī)去實(shí)現(xiàn)。我采用單片機(jī)89S52作為控制核心,用數(shù)碼管顯示所輸入信號(hào)的頻率,具體的系統(tǒng)框圖如圖8所示:圖8 簡(jiǎn)易頻率計(jì)的系統(tǒng)總體框圖其中,信號(hào)通過整形放大后,輸入單片機(jī)中的計(jì)數(shù)器,運(yùn)用單片機(jī)中的定時(shí)器設(shè)置每隔一秒鐘將計(jì)數(shù)器中死亡數(shù)據(jù)輸出,通過數(shù)碼管顯示。單片機(jī)作為控制中心,隨時(shí)檢測(cè)和計(jì)錄輸入信號(hào)的頻率,并控制輸出顯示和輸入是否超載。而顯示電路用一個(gè)四位一體的數(shù)碼管實(shí)現(xiàn)。為簡(jiǎn)化硬件電路,用動(dòng)態(tài)顯示的方式,依次點(diǎn)亮個(gè)數(shù)碼管,這樣不僅僅是簡(jiǎn)化了電路,而且每一時(shí)刻四位數(shù)碼管只相當(dāng)于一位數(shù)碼管的功耗,大大減少了功耗。 3模塊設(shè)計(jì)與實(shí)現(xiàn)3.1 顯示模塊本次

23、課程設(shè)計(jì)采用一個(gè)四位一體數(shù)碼管,替顯輸入信號(hào)的平率。因?yàn)轭l率是一個(gè)實(shí)時(shí)變化量,我用一個(gè)的數(shù)碼管來顯示,每隔一秒更換一次數(shù)據(jù)。電路原理圖如圖9所示。各數(shù)碼管的顯示采用動(dòng)態(tài)掃描的方式,這樣,兩個(gè)數(shù)碼管共八位的功耗只相當(dāng)于一位數(shù)碼管顯示的功耗。與液晶顯示相比,既可以實(shí)現(xiàn)所要求的功能節(jié)省了硬件成本,又大大減小了功耗。 圖9顯示模塊3.2單片機(jī)總控制單元:圖10 單片機(jī)系統(tǒng)原理圖我們用AT89S52作為整個(gè)電路的控制中心和數(shù)據(jù)計(jì)算處理中心,其中P0口對(duì)應(yīng)兩個(gè)數(shù)碼管的數(shù)據(jù)位,P1口為L(zhǎng)ED動(dòng)態(tài)點(diǎn)亮位。P3.4腳用于信號(hào)輸入。具體系統(tǒng)原理圖如圖10所示3.3放大整形電路4考慮到所輸入的信號(hào)有正弦波和三角波,

24、而單片機(jī)所能讀入的信號(hào)只能是數(shù)字信號(hào)的方波,所以正弦波和三角波在輸入單片機(jī)之前必須通過整形電路整成方波。我設(shè)計(jì)的整形電路是用集成運(yùn)放搭建而成,運(yùn)用集成運(yùn)放的增益非常大,而又受限于運(yùn)放的電源電壓的特點(diǎn),可以實(shí)現(xiàn)將一定幅值的電壓信號(hào)整成標(biāo)準(zhǔn)的數(shù)字信號(hào)。有因?yàn)樗O(shè)計(jì)的頻率計(jì)測(cè)量的頻率信號(hào)的幅值能夠達(dá)到越小越好,信號(hào)在進(jìn)入整形電路之前設(shè)計(jì)了一個(gè)放大電路將信號(hào)放大。放大電路也用集成運(yùn)放構(gòu)建而成,因集成運(yùn)放的穩(wěn)定性較好。所設(shè)計(jì)的放大整形電路如圖11所示: 圖11 放大整形電路4 軟件設(shè)計(jì)3本系統(tǒng)以AT89S52單片機(jī)為核心,用C語言編程6,可實(shí)現(xiàn)題目要求的各種功能,其程序流程圖如圖12所示。圖12 程序流

25、程圖簡(jiǎn)易頻率計(jì)的C語言程序:#pragma db code#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit LED_0=P10;sbit LED_1=P11;sbit LED_2=P12;sbit LED_3=P13;/*=0-9=A-G=*/uchar a16=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0x86,0x8e,0x82;uchar b4=0x8e,0xc1,0xc7,0xc7;uch

26、ar one,two,three,four;uint t=8000,j;/時(shí)間tuint m=0,n=0,k=0;/次數(shù)uint s3=0,s4;/dt前后次數(shù)time1()interrupt 3 /delay(20); t=t+0.05*100;/每到0.05s,定時(shí)器1產(chǎn)生中斷 TH1=0x3e; TL1=0xff; if(t%100=0) m=TH0*256+TL0;TH0=0x00;TL0=0x00;/*s3=n;m=(s3-s4);s4=s3;*/ void delay(uint x);void display(void);void led_analyze(uint l);void

27、led_add();void main()uint a; IT1=1; /外部中斷0下跳沿 EX1=1; TMOD=0x15;/T1定時(shí)方式1,T0計(jì)數(shù)1 TH1=0x3e; TL1=0xff;/定時(shí)50ms TR1=1;/T1 ET1=1; TH0=0x00; TL0=0x00;/定時(shí)50ms TR0=1;/T0 ET1=1; EA=1; while(1) if(m<=9999) led_analyze(m); for(a=0;a<100;a+) display(); else P0=b0; LED_0=0; delay(300); LED_0=1; P0=b1; LED_1=0

28、; delay(300); LED_1=1;P0=b2; LED_2=0; delay(3); LED_2=1;P0=b3; LED_3=0; delay(300); LED_3=1; void delay(uint x)uint i;for(i=0;i<x;i+); void display(void)P0=aone; LED_0=0; delay(3); LED_0=1; P0=atwo; LED_1=0; delay(3); LED_1=1; P0=athree; LED_2=0; delay(3); LED_2=1; P0=afour; LED_3=0; delay(3); LE

29、D_3=1; void led_analyze(uint l) l=l%10000; one=l/1000; two=(l/100)%10; three=(l%100)/10; four=(l%100)%10;本程序是結(jié)合理論聯(lián)系實(shí)際設(shè)計(jì)而成,因?yàn)榫д竦念l率不是百分百的準(zhǔn)確,根據(jù)單片機(jī)的機(jī)器周期設(shè)計(jì)一秒鐘的時(shí)間也有差異,所以在線編程,一標(biāo)準(zhǔn)的頻率對(duì)頻率計(jì)進(jìn)行校準(zhǔn),這樣大大提高了頻率計(jì)的精確度。5 測(cè)試結(jié)果 在硬件和軟件都做好好,為檢測(cè)頻率計(jì)的可行性,用各種波形的標(biāo)準(zhǔn)頻率信號(hào)對(duì)頻率計(jì)進(jìn)行了測(cè)試,測(cè)試結(jié)果如表8所示。表8頻率計(jì)的測(cè)試結(jié)果正弦波幅值(V)實(shí)際值(Hz)顯示值(Hz)誤差(%)5.01000100005.0500050010.025.0900090020.022

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論