版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 畢業(yè)設(shè)計(jì)(論文) 題目: 基于單片機(jī)的電子頻率計(jì)的設(shè)計(jì) 專業(yè): 應(yīng)用電子技術(shù) 班級: 09223 學(xué)號: 姓名: 指導(dǎo)老師: 成都工業(yè)學(xué)院二一二年五月 論文摘要 本文介紹了一種基于單片機(jī)的電子頻率計(jì)的設(shè)計(jì)方法。此電子頻率計(jì)以at89c51單片機(jī)為控制核心,可將外部的頻率脈沖信號通過單片機(jī)計(jì)數(shù)端輸入,由定時器/計(jì)數(shù)器t0負(fù)責(zé)定時,定時器/計(jì)數(shù)器t1負(fù)責(zé)對被測信號計(jì)數(shù),一旦t0定時時間到,立刻終止t1的計(jì)數(shù),此時t1的計(jì)數(shù)值便是單位時間內(nèi)的脈沖個數(shù),我們將t0的定時時間設(shè)為1s,當(dāng)t0定時滿1s后,立即停止t1計(jì)數(shù),此時t1的計(jì)數(shù)值即為被測信號的頻率。該頻率計(jì)的測量范圍為1hz65534hz,被
2、測脈沖信號的頻率可以隨時進(jìn)行調(diào)整,通過lcd液晶顯示模塊對被測信號的頻率進(jìn)行實(shí)時顯示。該系統(tǒng)包括被測頻率脈沖信號、單片機(jī)晶振電路、以at89c51單片機(jī)為核心的頻率測量模塊、lcd液晶顯示模塊。關(guān)鍵詞:頻率計(jì);at89c51;脈沖信號;lcd顯示模塊 abstractthis article tells the story of a kind of based on scm electronic frequency meter design method.the electronic frequency plan to at89c51 as control core, but will the
3、 frequency of the external pulse signal through the single-chip microcomputer count the input ,the timer/counter t0 prearcing responsible for timing,the timer/counter t1 is responsible to the measured signal count,once the prearcing time to time ,immediately terminate the t1 count ,at this time the
4、count value t1 unit of time is the number of the pulse ,we will regularly to set a time of the prearcing 1 s , when prearcing time full 1 s , stop immediately t1 count ,at this time the count value which is t1 tested the frequency of the signal. the frequency of measurement of the indicator a range
5、of 1 hz 65534 hz, tested pulse the frequency of the signal can be adjusted at any time, through the lcd display modules to be measured the frequency of the signal for real-time display. the system includes tested frequency pulse signal and single-chip microcomputer crystals circuit, at89c51 frequenc
6、y measurement modules, lcd module. key words:the frequency meter;at89c51; pulse signal;lcd display module 目錄論文摘要iabstractii第1章 引言11.1頻率計(jì)的概述11.2頻率計(jì)的基本原理21.3頻率計(jì)的應(yīng)用范圍21.4本頻率計(jì)設(shè)計(jì)任務(wù)的主要內(nèi)容3第2章 系統(tǒng)的總體方案設(shè)計(jì)42.1測頻的原理42.2總體思路42.3具體模塊5第3章 硬件電路設(shè)計(jì)63.1 at89c51主控制器模塊63.2 晶振電路103.3 頻率脈沖信號113.4 lcd液晶顯示模塊11第4章 系統(tǒng)的軟件設(shè)計(jì)154
7、.1 頻率測量模塊154.2 液晶顯示模塊18第5章 頻率計(jì)的系統(tǒng)調(diào)試與仿真215.1 keil中對程序的調(diào)試215.2 protues中對系統(tǒng)的仿真21總結(jié)25參考文獻(xiàn)26附錄1 硬件電路27附錄2 系統(tǒng)程序28第1章 引言 頻率測量是電子學(xué)測量中最為基本的測量之一。由于頻率信號抗干擾性強(qiáng),易于傳輸,因此可以獲得較高的測量精度。隨著數(shù)字電子技術(shù)的發(fā)展,頻率測量成為一項(xiàng)越來越普遍的工作,測頻原理和測量方法的研究正受到越來越多的關(guān)注。1.1頻率計(jì)的概述圖 1-1 多用頻率計(jì) 頻率計(jì)又稱為頻率計(jì)數(shù)器,是一種專門對被測信號頻率進(jìn)行測量的電子測量儀器。頻率計(jì)主要由四個部分構(gòu)成:時基(t)電路、輸入電路
8、、計(jì)數(shù)顯示電路以及控制電路。頻率計(jì)也是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。它是一種用十進(jìn)制數(shù)字顯示被測信號頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號、方波信號及其他各種單位時間內(nèi)變化的物理量。在進(jìn)行模擬、數(shù)字電路的設(shè)計(jì)、安裝、調(diào)試過程中,由于其使用十進(jìn)制數(shù)顯示,測量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計(jì)。單片機(jī)對頻率量有兩種測量方法:測量頻率法和測量周期法。測量頻率法是在單位定時時間內(nèi),對被測信號脈沖進(jìn)行計(jì)數(shù);測量周期法是在被測信號周期時間內(nèi),對某一基準(zhǔn)脈沖進(jìn)行計(jì)數(shù)。本次設(shè)計(jì)采用測量頻率法對被測脈沖信號進(jìn)行頻率測量,并且通過lcd液晶顯示模塊進(jìn)行實(shí)時顯示。1.2
9、頻率計(jì)的基本原理 頻率計(jì)最基本的工作原理為:當(dāng)被測信號在特定時間段t內(nèi)的周期個數(shù)為n時,則被測信號的頻率f=n/t(如圖1-2所示)。在一個測量周期過程中,被測周期信號在輸入電路中經(jīng)過放大、整形、微分操作之后形成特定周期的窄脈沖,送到主門的一個輸入端。主門的另外一個輸入端為時基電路產(chǎn)生電路產(chǎn)生的閘門脈沖。在閘門脈沖開啟主門的期間,特定周期的窄脈沖才能通過主門,從而進(jìn)入計(jì)數(shù)器進(jìn)行計(jì)數(shù),計(jì)數(shù)器的顯示電路則用來顯示被測信號的頻率值,內(nèi)部控制電路則用來完成各種測量功能之間的切換并實(shí)現(xiàn)測量設(shè)置。 圖 1-2 頻率測量基本原理1.3頻率計(jì)的應(yīng)用范圍在傳統(tǒng)的電子測量儀器中,示波器在進(jìn)行頻率測量時測量精度較低
10、,誤差較大。頻譜儀可以準(zhǔn)確的測量頻率并顯示被測信號的頻譜,但測量速度較慢,無法實(shí)時快速的跟蹤捕捉到被測信號頻率的變化。正是由于頻率計(jì)能夠快速準(zhǔn)確的捕捉到被測信號頻率的變化,因此,頻率計(jì)擁有非常廣泛的應(yīng)用范圍。 在傳統(tǒng)的生產(chǎn)制造企業(yè)中,頻率計(jì)被廣泛的應(yīng)用在產(chǎn)線的生產(chǎn)測試中。頻率計(jì)能夠快速的捕捉到晶體振蕩器輸出頻率的變化,用戶通過使用頻率計(jì)能夠迅速的發(fā)現(xiàn)有故障的晶振產(chǎn)品,確保產(chǎn)品質(zhì)量。 在計(jì)量實(shí)驗(yàn)室中,頻率計(jì)被用來對各種電子測量設(shè)備的本地振蕩器進(jìn)行校準(zhǔn)。 在無線通訊測試中,頻率計(jì)既可以被用來對無線通訊基站的主時鐘進(jìn)行校準(zhǔn),還可以被用來對無線電臺的跳頻信號和頻率調(diào)制信號進(jìn)行分析。 1.4本頻率計(jì)設(shè)計(jì)
11、任務(wù)的主要內(nèi)容 利用頻率脈沖信號、單片機(jī)、單片機(jī)晶振電路、lcd液晶顯示等模塊設(shè)計(jì)一個簡易的頻率計(jì)能夠粗略的測量出被測信號的頻率。 參數(shù)要求如下:1. 測量范圍 1hz65534hz;2. 被測脈沖信號的頻率可隨時調(diào)節(jié)3. 用lcd液晶顯示模塊實(shí)時顯示測量值4. 用單片機(jī)實(shí)現(xiàn)自動測量功能第2章 系統(tǒng)的總體方案設(shè)計(jì)2.1測頻的原理 所謂“頻率”就是周期性信號在單位時間(1s)內(nèi)變化的次數(shù),測頻的原理歸結(jié)成一句話,就是“在單位時間內(nèi)對被測信號進(jìn)行計(jì)數(shù)”。我們將被測的頻率脈沖信號直接送到單片機(jī)的計(jì)數(shù)輸入端,由定時器/計(jì)數(shù)器t0負(fù)責(zé)定時,定時器/計(jì)數(shù)器t1負(fù)責(zé)對被測信號計(jì)數(shù),一旦t0定時時間到,立刻終
12、止t1的計(jì)數(shù),此時t1的計(jì)數(shù)值便是單位時間內(nèi)的脈沖個數(shù)。若在一定時間間隔t內(nèi)測得這個周期性信號的重復(fù)變化次數(shù)n,則其頻率可表示為f=n/t。我們將t0的定時時間設(shè)為1s,當(dāng)t0定時滿1s后,立即停止t1計(jì)數(shù),此時t1的計(jì)數(shù)值即為被測信號的頻率。定時 待測信號 丟失 < t 丟失 圖2-1 頻率測量原理圖 在計(jì)數(shù)時會出現(xiàn)圖2-1所示的丟失脈沖的情況。第一個丟失的脈沖是由于開始檢測時脈沖寬度已小于機(jī)器周期t;第二個丟失的脈沖的負(fù)跳變在定時之外。定時時間內(nèi)出現(xiàn)脈沖丟失,將引起測量精度降低。脈沖頻率越低,這種誤差越大。顯然對于較低頻率的脈沖測量不適合采用測量頻率法。而我們本次設(shè)計(jì)就是采用這種測量
13、頻率法對被測脈沖信號進(jìn)行頻率測量,為解決圖一中脈沖的丟失這個問題,我們在程序設(shè)計(jì)中實(shí)現(xiàn)了計(jì)數(shù)開始與脈沖上升沿的同步控制。2.2總體思路頻率計(jì)是一種專門對被測信號頻率進(jìn)行測量的電子測量儀器,是我們經(jīng)常會用到的實(shí)驗(yàn)儀器之一,頻率的測量實(shí)際上就是在單位時間內(nèi)對脈沖信號進(jìn)行計(jì)數(shù),計(jì)數(shù)值就是信號頻率。本文介紹了一種基于單片機(jī)的電子頻率計(jì)的設(shè)計(jì)方法,此電子頻率以at89c51單片機(jī)為控制核心,可將外部的頻率脈沖信號通過單片機(jī)計(jì)數(shù)端輸入,由定時器/計(jì)數(shù)器t0負(fù)責(zé)定時,定時器/計(jì)數(shù)器t1負(fù)責(zé)對被測信號計(jì)數(shù),一旦t0定時時間到,立刻終止t1的計(jì)數(shù),此時t1的計(jì)數(shù)值便是單位時間內(nèi)的脈沖個數(shù),我們將t0的定時時間設(shè)
14、為1s,當(dāng)t0定時滿1s后,立即停止t1計(jì)數(shù),此時t1的計(jì)數(shù)值即為被測信號的頻率。該頻率計(jì)的測量范圍為1hz65534hz,被測脈沖信號的頻率可以隨時進(jìn)行調(diào)整,通過lcd液晶顯示模塊對被測信號的頻率進(jìn)行實(shí)時顯示。2.3具體模塊根據(jù)上述系統(tǒng)分析,該系統(tǒng)包括被測頻率脈沖信號、單片機(jī)晶振電路、以at89c51單片機(jī)為核心的頻率測量模塊、lcd液晶顯示模塊。各模塊作用如下:1. 脈沖信號:就是被測信號,可以隨時調(diào)整其頻率,以便于單片機(jī)測量。2. 單片機(jī)晶振電路:由于單片機(jī)的內(nèi)部時鐘方式是用芯片內(nèi)部振蕩電路,精 度不高,溫飄也較大,外部時鐘,分rc振蕩和石英晶振,rc精度不高, 成本低,石英晶振,精度高
15、,穩(wěn)定性好,故我們采用單片機(jī)的晶振電路提 供時鐘信號。3. at89c51頻率測量模塊:主要負(fù)責(zé)對脈沖信號的計(jì)數(shù),并且驅(qū)動lcd顯示 模塊實(shí)時顯示測量值。4. lcd液晶顯示模塊:對單片機(jī)測量的頻率進(jìn)行實(shí)時顯示。綜上所述頻率計(jì)的系統(tǒng)設(shè)計(jì)由被測頻率脈沖信號、單片機(jī)晶振電路、以at89c51單片機(jī)為核心的頻率測量模塊、lcd液晶顯示模塊等組成,頻率計(jì)的總體設(shè)計(jì)框圖如圖2-2所示。at89c51單片機(jī)單片機(jī)晶振電路 lcd液晶顯示模塊 被測頻率脈沖信號圖2-2 頻率計(jì)總體設(shè)計(jì)框圖第3章 硬件電路設(shè)計(jì)3.1 at89c51主控制器模塊 電子頻率計(jì)以at89c51單片機(jī)為控制核心,可將外部的頻率脈沖信號
16、通過單片機(jī)計(jì)數(shù)端輸入,由定時器/計(jì)數(shù)器t0負(fù)責(zé)定時,定時器/計(jì)數(shù)器t1(p3.5)負(fù)責(zé)對被測信號計(jì)數(shù),一旦t0定時時間到,立刻終止t1的計(jì)數(shù),此時t1的計(jì)數(shù)值便是單位時間內(nèi)的脈沖個數(shù),我們將t0的定時時間設(shè)為1s,當(dāng)t0定時滿1s后,立即停止t1計(jì)數(shù),此時t1的計(jì)數(shù)值即為被測信號的頻率。圖 3-1 at89c51主控模塊at89c51單片機(jī)簡介 圖3-2 幾種單片機(jī)的展示圖 at89c51是一種帶4k字節(jié)flash存儲器(fperomflash programmable and erasable read only memory)的低電壓、高性能cmos 8位微處理器,俗稱單片機(jī)。at89c2
17、051是一種帶2k字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 圖3-3 at89c51單片機(jī)1.主要特性 與mcs-51 兼容;4k字節(jié)可編程flash存儲器;壽命:1000寫/擦循環(huán);數(shù)據(jù)保留時間:10年;全靜態(tài)工作:0hz-24mhz;三級程序存
18、儲器鎖定;128×8位內(nèi)部ram;32可編程i/o線;兩個16位定時器/計(jì)數(shù)器;5個中斷源;可編程串行通道;低功耗的閑置和掉電模式;片內(nèi)振蕩器和時鐘電路。特性概述:at89c51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)flash 閃速存儲器,128字節(jié)內(nèi)部ram,32 個i/o 口線,兩個16位定時/計(jì)數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,at89c51可降至0hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram,定時/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但振蕩器停止工作并禁止其它所
19、有部件工作直到下一個硬件復(fù)位。2. 管腳說明 vcc:供電電壓。 gnd:接地。 p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p0口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在fiash編程時,p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時,p0輸出原碼,此時p0外部必須接上拉電阻。 p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程
20、和校驗(yàn)時,p1口作為低八位地址接收。 p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時接收高八位地址信號和控制信號。 p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個
21、ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口也可作為at89c51的一些特殊功能口,如表3-1所示:表3-1 at89c51的一些特殊功能口 p3.0 rxd串行輸入線 p3.1 txd串行輸出線p3.2 外部中斷0輸入線p3.3 外部中斷1輸入線 p3.4 t0定時器0外部輸入線 p3.5 t1定時器1外部輸入線p3.6 片外ram寫選通信號 p3.7 片外ram讀選通信號 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持rst腳兩個機(jī)器周期的高電平時間。 ale/:當(dāng)訪問外部存儲器
22、時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 : 外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次有效。但在訪問外部數(shù)據(jù)存儲 器時,這兩次有效的信號將不出現(xiàn)。
23、 /vpp: 當(dāng)保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,將內(nèi)部鎖定為reset;當(dāng)端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。 振蕩器特性: xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要
24、求,但必須保證脈沖的高低電平要求的寬度。3.2 晶振電路 由于單片機(jī)的內(nèi)部時鐘方式是用芯片內(nèi)部振蕩電路,精度不高,溫飄也較大,外部時鐘,分rc振蕩和石英晶振,rc精度不高,成本低,石英晶振,精度高,穩(wěn)定性好,故我們采用單片機(jī)的晶振電路提供時鐘信號。圖3-4 晶振電路3.3 頻率脈沖信號 頻率脈沖信號就是被測信號,可以隨時調(diào)整其頻率,以便于單片機(jī)測量,直接在protues左側(cè)工具條內(nèi)的一個generator mode工具中選擇dclock放置頻率脈沖信號(如圖3-5)。圖3-5 頻率脈沖信號3.4 lcd液晶顯示模塊 lcd液晶顯示器是一種被動式的顯示器,與led不同,液晶本身并不發(fā)光,而是利用
25、液晶在電壓作用下,能改變光線通過方向的特性而達(dá)到顯示白底黑字或黑底白字的目的。液晶顯示器具有微功耗、體積小、重量輕、超薄型等諸多其他顯示器件所無法比擬的優(yōu)點(diǎn),在袖珍式儀表和低功耗系統(tǒng)中,得到越來越廣泛的應(yīng)用,目前市場上液晶顯示器種類繁多,按排列形狀可分為字段型、點(diǎn)陣字符型、點(diǎn)陣圖形型,在單片機(jī)應(yīng)用系統(tǒng)中,常使用點(diǎn)陣字符型lcd顯示器。字符型液晶顯示模塊是專門用于顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶顯示模塊,分4位和8位數(shù)據(jù)傳輸方式;提供“57點(diǎn)陣+光標(biāo)”和“510點(diǎn)陣+光標(biāo)”的顯示模式;提供顯示數(shù)據(jù)緩沖區(qū)ddram、字符發(fā)生器cgrom和字符發(fā)生器cgram,可以使用cgram來存儲自己定義的最
26、多8個58點(diǎn)陣的圖形字符的字模數(shù)據(jù);提供豐富的指令設(shè)置:清顯示、光標(biāo)回到原點(diǎn)、顯示開/關(guān)、光標(biāo)開/光、顯示字符閃爍、光標(biāo)移位等;提供內(nèi)部上電自動復(fù)位電路,當(dāng)外加電源電壓超過+4.5v時,自動對模塊進(jìn)行初始化操作,將模塊設(shè)置為默認(rèn)的顯示工作狀態(tài)。 字符型液晶顯示模塊組件內(nèi)部主要由lcd顯示屏(lcd panel)、控制器(controller)、驅(qū)動器(driver)、少量阻容原件、結(jié)構(gòu)件等裝配在pcb上構(gòu)成,如圖3-6所示 控制驅(qū)動 主電路字符型液晶顯示屏segment driverdb7 com16 db0 eseg40r/wseg40 rsveevccvss 圖3-6 字符型液晶顯示模塊
27、字符型液晶顯示模塊目前在國際上已經(jīng)規(guī)范化,無論顯示屏規(guī)格如何變化,電特性和接口形式都是統(tǒng)一的,因此只要設(shè)計(jì)出一種型號的接口電路,在指令設(shè)置上稍加改動即可使用各種規(guī)格的字符型液晶顯示模塊。我們本設(shè)計(jì)采用的是字符型液晶顯示模塊lm016l。 lm016l模塊簡介 圖3-7 液晶顯示模塊lm016l1. 引腳說明 vss(1):電源地。 vdd(2):電源電壓,接5v正電壓。 vee(3):液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10k的電位器調(diào)整對比度。 rs(4):寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。
28、rw(5):讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)rs和rw共同為低電平時可以寫入指令或者顯示地址,當(dāng)rs為低電平rw為高電平時可讀忙信號,當(dāng)rs為高電平rw為低電平時可寫入數(shù)據(jù)。 e(6):顯示板控制使能端,當(dāng)e斷由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 d0d7(714):8位雙向三態(tài)i/o口線。2. 指令說明字符型lcd顯示板控制器有11條指令。他的讀寫操作,以及屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。lcd控制器的11條指令如表3-1所列。表3-1 lcd控制器指令表指令rsrwd7d6d5d4d3d2d1d0清顯示0000000000光標(biāo)返回000000001*置
29、輸入模式00000001i/ds顯示開/關(guān)控制000001dcb光標(biāo)或字符移位000001s/cr/l*置功能00001dlnf*置字符發(fā)生存儲器地址001字符發(fā)生存儲器地址(agg)置數(shù)據(jù)存儲器地址001顯示數(shù)據(jù)存儲器地址(add)讀忙標(biāo)志或地址01bf計(jì)數(shù)器地址(ac)寫數(shù)到cgram或ddram10要寫的數(shù)從cgram或ddram讀數(shù)11讀出的數(shù)據(jù)下面是指令表中d0d7位所使用字符的說明。i/d=1/0:增量或減量;s=1:全顯示屏移動/光標(biāo)移動;s/c=1/0:顯示屏移動/光標(biāo)移動;r/l=1/0:右移/左移;dl=1/0:8位/4位;n=1/0:2行/1行;f=1/0:510點(diǎn)陣/5
30、7點(diǎn)陣;bf=1/0:內(nèi)部操作正在進(jìn)行/允許指令操作;*:無關(guān)項(xiàng);下面逐條解釋各指令的功能。指令1:清顯示,光標(biāo)復(fù)位到地址00h位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00h。指令3:讀/寫方式下的光標(biāo)和顯示模式設(shè)置命令。 i/d:表示地址計(jì)數(shù)器的變化方向,即光標(biāo)移動的方向。 i/d=1:ac自動加1,光標(biāo)右移一字符位。 i/d=0:ac自動減1,光標(biāo)左移一字符位。 s:顯示屏上向左向右全部平移的方向。 s=0:無效;s=1:有效。 s=1,i/d=1:顯示畫面左移; s=1,i/d=0:顯示畫面右移。指令4:顯示開關(guān)控制,控制顯示、光標(biāo)和光標(biāo)閃爍的開關(guān)。 d:當(dāng)d=0時顯示關(guān)閉,ddram中數(shù)
31、據(jù)保持不變。 c:當(dāng)c=1時顯示光標(biāo)。 b:當(dāng)b=1時光標(biāo)閃爍。指令5:光標(biāo)或顯示移位。ddram中內(nèi)容保持不變。 s/c=1時,移動顯示;s/c=0時,移動光標(biāo)。 r/l=1時,為右移;r/l=0時,為左移。指令6:功能設(shè)置命令。 dl=1時,內(nèi)部總線為4位寬度db7db4;dl=0時,內(nèi)部總線為8位寬度。 n=0時,單行顯示;n=1時,雙行顯示。 f=0時,為顯示字形57點(diǎn)陣;f=1時,為顯示字形510點(diǎn)陣。指令7:cgram地址設(shè)置。指令8:ddram地址設(shè)置。指令9:讀狀態(tài)標(biāo)志和ac中地址。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。第4章 系統(tǒng)的軟件設(shè)計(jì)采用模塊化的程序設(shè)計(jì)方法,將整個程序分
32、為兩個模塊:頻率測量模塊和液晶顯示模塊。4.1 頻率測量模塊 將定時器t0設(shè)置在定時方式2,定時時間為250us,滿4000次中斷正好是1s,定時器t1工作于計(jì)數(shù)方式1,計(jì)數(shù)初值為0。在啟動定時器t0開始定時后,隨即對送到t1(p3.5)引腳的被測脈沖進(jìn)行計(jì)數(shù),當(dāng)t0定時滿1s后,立即停止t1計(jì)數(shù),關(guān)閉定時器t0,t1的計(jì)數(shù)值即為被測信號的頻率,程序流程圖如圖4-1。 開始設(shè)置t0定時方式2,t1計(jì)數(shù)方式1 設(shè)置t0定時時間為250us,t0中斷4000次設(shè)置t1計(jì)數(shù)初值允許t0中斷,開中斷等待被測信號變低,等待被測信號變高啟動t0定時,t1計(jì)數(shù)等待1s關(guān)閉t0,t1返回計(jì)數(shù)初值圖4-1 頻率
33、測量頻率測量其中,中斷服務(wù)子程序流程圖如下 進(jìn)入t0中斷中斷次數(shù)標(biāo)志減1 否判斷是否中斷4000次 是設(shè)置測量完成標(biāo)志位中斷返回圖4-2 中斷服務(wù)子程序 頻率測量主函數(shù)中,還進(jìn)行了數(shù)據(jù)轉(zhuǎn)換以及調(diào)用顯示模塊進(jìn)行顯示其程序流程框圖如下開始調(diào)用液晶屏初始化函數(shù)將測量結(jié)果轉(zhuǎn)化為ascii碼調(diào)用顯示函數(shù)進(jìn)行顯示圖4-3 頻率測量主函數(shù) 頻率測量模塊源程序 #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int void init_lcd(void); v
34、oid disp_str(uchar x,uchar y,uchar *p); sbit fs=p35; /被測信號fs輸入端 bit rdy=0; /測量完成標(biāo)志 uint msn; /定時中斷計(jì)數(shù) uint count(void)/測量fs的頻率 rdy=0; tmod=0x52;/t0:定時方式2,t1:計(jì)數(shù)方式1 th0=tl0=6;/t0定時時間為250us msn=4000;/4000次中斷正好1sth1=tl1=0x00; /t1工作于計(jì)數(shù)方式,初值為0et0=1;/允許t0中斷ea=1;/開中斷while(fs=1); /等待被測信號變低while(fs=0);/等待被測信號變
35、高tr0=1;/t0開始定時tr1=1;/t1開始計(jì)數(shù)while(rdy=0);/等待1str1=0;/關(guān)閉t1、t0tr0=0;return(th1*256+tl1); /返回計(jì)數(shù)值 void timer0(void) interrupt 1 using 1 msn-; if(msn=0)/如果1s已到 rdy=1;/設(shè)置測量完成標(biāo)志位 void main() uint f; uchar str9="f= hz"uchar i;init_lcd(); /液晶屏初始化while(1) f=count(); /測量頻率 _nop_(); for(i=6;i>=2;i-)
36、/測量結(jié)果轉(zhuǎn)換為5位ascii碼 stri=f%10+0x30; f=f/10; disp_str(0,3,str); /顯示測量結(jié)果 4.2 液晶顯示模塊液晶顯示模塊其實(shí)是一個顯示的子程序,主要供頻率測量模塊調(diào)用,以便在液晶屏上顯示出實(shí)時的頻率測量值,它的編程比較固定,無非就是按照lcd液晶顯示屏的參數(shù)要求的指令系統(tǒng)來編寫程序,其程序流程圖4-2。while循環(huán)將字符依次發(fā)送到液晶屏進(jìn)行顯示液晶顯示子程序入口寫命令、寫數(shù)據(jù)的初始化液晶初始化寫指令送數(shù)據(jù)地址指針用于選擇字符的顯示位置延時 圖4-4 液晶顯示液晶顯示模塊源程序 #include<reg52.h> #include&l
37、t;intrins.h> #define uchar unsigned char #define uint unsigned int sbit rs=p20; /數(shù)據(jù)/命令寄存器選擇控制端 sbit rw=p21; /讀寫控制端 sbit e=p22; /使能控制端 sfr lcd=0x90; /p1口作為總線端口 sbit bf=lcd7; /就緒線bf,低電平有效 void lcd_cmd(uchar cmd) lcd=cmd; rs=0;/選擇命令寄存器 rw=0;/執(zhí)行寫數(shù)據(jù)操作 e=1; _nop_();/延時 e=0;/使能信號有效 while(1) lcd=0xff;/總線
38、變高 rs=0;/選擇命令寄存器 rw=1;/讀操作 e=0; /使能信號有效 _nop_(); e=1; /撤銷使能信號 if(bf=0)break; /如果就緒,返回 void lcd_dat(uchar dat) lcd=dat;/顯示數(shù)據(jù)總線 rs=1;/選擇數(shù)據(jù)寄存器 rw=0;/執(zhí)行寫數(shù)據(jù)操作 e=1; _nop_();/延時 e=0;/使能信號有效 while(1) lcd=0xff;/總線變高 rs=0;/選擇命令寄存器 rw=1;/讀操作 e=0; /使能信號有效 _nop_(); e=1; /撤銷使能信號 if(bf=0)break; /如果就緒,返回dat=lcd; vo
39、id init_lcd(void)/初始化液晶屏 lcd_cmd(0x01); /清屏幕lcd_cmd(0x3c); /設(shè)置雙行顯示,5*10點(diǎn)陣lcd_cmd(0x0c); /開顯示,關(guān)閉光標(biāo) void disp_str(uchar x,uchar y,uchar *p) /在x行、y列顯示字符串p if(x=0) /如果在第一行顯示 lcd_cmd(0x80+y); /設(shè)置寫入地址else /如果在第二行顯示 lcd_cmd(0xc0+y);/設(shè)置寫入地址while(*p)/將字符依次發(fā)送到液晶屏 lcd_dat(*p+); 第5章 頻率計(jì)的系統(tǒng)調(diào)試與仿真5.1 keil中對程序的調(diào)試德國
40、的keil軟件公司提供了一流的8051系列開發(fā)工具,將軟件開發(fā)工具綁定到不同的套件或工具包中。keil 8051開發(fā)工具套件可用于編譯c源程序、匯編源程序,鏈接和定位目標(biāo)文件及庫,創(chuàng)建hex文件以及調(diào)試目標(biāo)程序,我們進(jìn)入到keil中的集成開發(fā)環(huán)境,對所編寫的程序進(jìn)行了調(diào)試,使其生成了目標(biāo)文件(hex文件),如圖5-1所示圖5-1 程序的調(diào)試5.2 protues中對系統(tǒng)的仿真 protues軟件是英國labcenter electronics公司出版的eda工具軟件。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起
41、步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即將增加cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編
42、譯,我們采用protues軟件對系統(tǒng)進(jìn)行仿真,將keil生成的hex文件下載入單片機(jī)中,點(diǎn)擊ok開始進(jìn)行系統(tǒng)的仿真,如圖5-2所示圖 5-2 protues中對hex文件的選擇在protues中雙擊被測頻率脈沖信號t1,在frequency中將其頻率設(shè)定為6443,如圖5-3所示圖 5-3 頻率的設(shè)定點(diǎn)擊ok,然后在protues中點(diǎn)擊play開始進(jìn)行系統(tǒng)仿真,仿真結(jié)果如圖5-4所示圖 5-4 仿真結(jié)果我們按照上面的方法,依次改變被測頻率脈沖信號的頻率,在protues軟件中進(jìn)行反復(fù)的調(diào)試仿真,軟件仿真結(jié)果如圖5-5: (1)(2) (3) (4) (5) (6)(7)圖5-5 多次仿真數(shù)據(jù)結(jié)
43、果 軟件仿真測量的數(shù)據(jù)如表5-1表 5-1 軟件仿真數(shù)據(jù)待測值191718633844328665534測量值191718633844328765535 從記錄的數(shù)據(jù)可以看出,系統(tǒng)軟件仿真誤差很小,在1位到4位信號頻率范圍內(nèi)測量出來的頻率基本上就是輸入信號的頻率,在超出這個范圍后,才出現(xiàn)很小的誤差。這可能是由于硬件電路信號傳輸延時,或者晶振電路產(chǎn)生的時鐘信號誤差造成的,也可能是由于軟件中執(zhí)行語句的延時造成的,在高頻率下就會出現(xiàn)很小的誤差,但是可以看出,誤差在允許范圍內(nèi),所設(shè)計(jì)的電路基本符合要求??偨Y(jié)在當(dāng)今高新技術(shù)產(chǎn)業(yè)迅猛發(fā)展的時期,頻率計(jì)在計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域是不可缺少的測
44、量儀器。頻率測量又是電子學(xué)測量中最為基本的測量之一。由于頻率信號抗干擾性強(qiáng),易于傳輸,因此可以獲得較高的測量精度。隨著數(shù)字電子技術(shù)的發(fā)展,頻率測量成為一項(xiàng)越來越普遍的工作,測頻原理和測量方法的研究正受到越來越多的關(guān)注,本次設(shè)計(jì)以單片機(jī)為核心,測量迅速,精確度高,顯示直觀。在本次設(shè)計(jì)的過程中,我深刻體會到了自己在專業(yè)知識的掌握上的不足,特別是在程序編寫上,遇到了許多問題,這使我不得不認(rèn)真的去學(xué)習(xí)程序編寫,去深入了解程序編寫的原理。由于本次設(shè)計(jì)涉及的知識面較廣,需要經(jīng)常通過網(wǎng)上查詢資料,隨時和老師、同學(xué)進(jìn)行交流,受益菲淺,并在老師的指導(dǎo)下,彌補(bǔ)了自己在許多知識面上的不足。這次設(shè)計(jì)更讓我認(rèn)識到了查閱
45、資料自學(xué)的重要性,在今后的學(xué)習(xí)中,應(yīng)該多看一些專業(yè)方面的書籍,豐富自己的知識,提高自己的專業(yè)水平。通過這次畢業(yè)設(shè)計(jì)也使我的專業(yè)技能和專業(yè)知識有了很大的提升,使我明白了我們專業(yè)到底要做什么,學(xué)了這些知識能干什么,我覺得通過這次畢業(yè)設(shè)計(jì)我自己的收獲還是挺多的,不光是在專業(yè)知識方便,還有許多其他的方面,例如在論文的編輯上,我覺得自己學(xué)到了不少word上一些其他的操作,以前根本沒太用過什么公式編輯器、繪圖工具之類的東西,現(xiàn)在感覺已經(jīng)很熟悉了。 參考文獻(xiàn)1 馬忠梅等.單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)(第四版). 北京:北京航空航天大 學(xué)出版社,2007.2 張齊.單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì). 北京:電子工業(yè)出版
46、社,2010.3 曾一江.單片微機(jī)原理與接口技術(shù). 北京:科學(xué)出版社,2006.4 吳飛青等.單片機(jī)原理與應(yīng)用實(shí)踐指導(dǎo). 北京:機(jī)械工業(yè)出版社,2009.5 周雪.模擬電子技術(shù)(第二版). 西安:西安電子科技大學(xué)出版社,2005.6 黃維翼.單片機(jī)應(yīng)用與實(shí)踐項(xiàng)目. 北京:清華大學(xué)出版社,2010.7 江曉安.數(shù)字電路. 西安:西安電子科技大學(xué)出版社,2002.8 周潤景等.protues入門教程. 北京:機(jī)械工業(yè)出版社,2007.9 10 11 附錄1 硬件電路附錄2 系統(tǒng)程序頻率測量模塊源程序 #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int void init_lcd(void); void disp_str(uchar x,uchar y,uchar
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:民族交融視域下唐代四夷樂舞伎服飾形象研究
- 課題申報(bào)參考:媒介創(chuàng)新視角下中華傳統(tǒng)文化傳播的“數(shù)字新考”研究
- 河南省濮陽市高三第一次模擬考試語文試題(含答案)
- 二零二五年度城市綠化工程采購及養(yǎng)護(hù)服務(wù)合同3篇
- 2025年儲蓄科技轉(zhuǎn)讓合同
- 2025年家庭自制醬料加工合同
- 房地產(chǎn)市場規(guī)模與資金流入分析
- 2025年品牌傳播合同
- 2025年三善黨合同模板
- 2025年人民版八年級歷史上冊階段測試試卷含答案
- 船員外包服務(wù)投標(biāo)方案
- 沉積相及微相劃分教學(xué)課件
- 鉗工考試題及參考答案
- 移動商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)五 引發(fā)用戶共鳴外部條件的把控
- 工程造價專業(yè)職業(yè)能力分析
- 醫(yī)藥高等數(shù)學(xué)知到章節(jié)答案智慧樹2023年浙江中醫(yī)藥大學(xué)
- 沖渣池施工方案
- 人教版初中英語八年級下冊 單詞默寫表 漢譯英
- 學(xué)校網(wǎng)絡(luò)信息安全管理辦法
- 中國古代文學(xué)史 馬工程課件(下)21第九編晚清文學(xué) 緒論
- 2023年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招(語文)試題庫含答案解析
評論
0/150
提交評論