基于at89s52單片機(jī)的數(shù)字式頻率檢測(cè)裝置設(shè)計(jì)課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  基于單片機(jī)的數(shù)字頻率計(jì)的設(shè)計(jì)</p><p><b>  【摘要】</b></p><p>  本設(shè)計(jì)以AT89S52單片機(jī)為核心充分利用硬件資源設(shè)計(jì)的一種頻率計(jì),該頻率計(jì)首先將被測(cè)信號(hào)放大整形處理,變成滿足單片機(jī)I/O口接受的TTL/ CMOS 兼容信號(hào)從單片機(jī)的T1輸入口輸入直接累加脈沖數(shù),將單片機(jī)內(nèi)部定時(shí)器定時(shí)為1S,這時(shí)累加的脈沖數(shù)即為被

2、測(cè)信號(hào)的頻率。最后經(jīng)單片機(jī)處理送至lcd液晶顯示屏顯示。</p><p>  【關(guān)鍵字】 單片機(jī)(AT89S52)、放大整形、 數(shù)據(jù)處理、1602aLCD、</p><p>  【Abstract】</p><p>  This design take at89S52 monolithic integrated circuit as the core full u

3、se hardware source design's one kind of frequency meter, this frequency meter will be measured first that signal enlargement reshaping processing, turns satisfies TTL/which the monolithic integrated circuit I/O mouth

4、 accepts the CMOS compatible signal from monolithic integrated circuit's T1 input port input direct summation pulse number, the monolithic integrated circuit interior timer fixed time is 1S, by now accumulated t</

5、p><p>  【Keyword】AT89S52、 Larger plastic、Data processing、1602aLCD</p><p><b>  目錄 </b></p><p>  引言……………………………………………………………………………………………4</p><p>  1.系統(tǒng)概述…………………………

6、…………………………………………………………5</p><p>  1.1數(shù)字頻率計(jì)概述…………………………………………………………………………5</p><p>  1.2頻率測(cè)量?jī)x的設(shè)計(jì)思路與頻率的計(jì)算 ……………………………………………………5</p><p>  1.3基本設(shè)計(jì)原理 …………………………………………………………………………5</p&g

7、t;<p>  2.數(shù)字頻率計(jì)(低頻)的硬件結(jié)構(gòu)設(shè)計(jì)……………………………………………………5</p><p>  2.1 系統(tǒng)硬件的構(gòu)成 ………………………………………………………………………5</p><p>  2.2 AT89S52單片機(jī)及其引腳說明 …………………………………………………………6</p><p>  2.3 信號(hào)調(diào)理及放大

8、整形模塊 ………………………………………………………………7</p><p>  2.3.1工作原理 ………………………………………………………………………8</p><p>  2.3.2 信號(hào)放大仿真圖 …………………………………………………………………8</p><p>  2.3.3 信號(hào)轉(zhuǎn)換成方波 …………………………………………………………………8&l

9、t;/p><p>  2.3.4 LF353雙運(yùn)算放大器簡(jiǎn)介 ………………………………………………………8</p><p>  2.4 顯示模塊 ………………………………………………………………………………9</p><p>  2.4.1 1602ALCD與單片機(jī)的接法 ………………………………………………………9</p><p>  2.

10、4.2 1602ALCD基本技術(shù) ……………………………………………………………10</p><p>  3.軟件設(shè)計(jì) …………………………………………………………………………………12</p><p>  3.1 系統(tǒng)工作流程圖 ………………………………………………………………………12</p><p>  3.1.1 T0的1s定時(shí)……………………………………

11、………………………………13</p><p>  3.1.2 T1的計(jì)數(shù)原理 …………………………………………………………………13</p><p>  3.2 軟件工作原理 …………………………………………………………………………14</p><p>  3.3 軟件處理方法 …………………………………………………………………………14</p>&

12、lt;p>  4.實(shí)驗(yàn)結(jié)果與分析 …………………………………………………………………………15</p><p>  4.1實(shí)驗(yàn)數(shù)據(jù) ………………………………………………………………………………15</p><p>  4.2實(shí)驗(yàn)結(jié)果分析 …………………………………………………………………………15</p><p>  結(jié)束語 ……………………………………………

13、…………………………………………15</p><p>  致謝詞 ………………………………………………………………………………………15</p><p>  參考文獻(xiàn) ……………………………………………………………………………………15</p><p>  程序附錄 ……………………………………………………………………………………17</p><

14、;p><b>  引言</b></p><p>  頻率測(cè)量在科技研究和實(shí)際應(yīng)用中的作用日益重要。傳統(tǒng)的頻率計(jì)通采用組合電路和時(shí)序電路等大量的硬件電路構(gòu)成,產(chǎn)品不但體積較大,運(yùn)行速度慢,而且測(cè)量低頻信號(hào)時(shí)不宜直接使用。頻率信號(hào)抗干擾性強(qiáng)、易于傳輸 ,可以獲得較高的測(cè)量精度。同時(shí) ,頻率測(cè)量方法的優(yōu)化也越來越受到重視.并采用單片機(jī)和相關(guān)硬軟件實(shí)現(xiàn)。</p><p>

15、;  AT89S52系列單片機(jī)具有體積小,功能強(qiáng),性能價(jià)格比較高等特點(diǎn),因此被廣泛應(yīng)用于工業(yè)控制和智能化儀器,儀表等領(lǐng)域。此頻率計(jì)以AT89S52單片機(jī)為核心,具有性能優(yōu)良,精度高,可靠性好等特點(diǎn)。</p><p>  以AT89S52單片機(jī)為控制器件的頻率測(cè)量方法,并用C語言進(jìn)行設(shè)計(jì),采用單片機(jī)智能控制,結(jié)合外圍電子電路。最終實(shí)現(xiàn)數(shù)字頻率計(jì)的設(shè)計(jì)方案,根據(jù)頻率計(jì)的特點(diǎn),可廣泛應(yīng)用于各種測(cè)試場(chǎng)所。</p&g

16、t;<p>  在基礎(chǔ)理論和專業(yè)技術(shù)基礎(chǔ)上,通過對(duì)數(shù)字頻率計(jì)的設(shè)計(jì),用十進(jìn)制數(shù)字來顯示被測(cè)信號(hào)頻率的測(cè)量裝置。以精確迅速的特點(diǎn)測(cè)量信號(hào)頻率,在本設(shè)計(jì)在實(shí)踐理論上鍛煉提高了自己的綜合運(yùn)用知識(shí)水平,為以后的開發(fā)及科研工作打下基礎(chǔ)。</p><p><b>  1系統(tǒng)概述 </b></p><p>  1.1數(shù)字頻率計(jì)概述</p><p&g

17、t;  數(shù)字頻率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測(cè)量?jī)x器。它是一種用十進(jìn)制數(shù)字顯示被測(cè)信號(hào)頻率的數(shù)字測(cè)量?jī)x器。它的基本功能是測(cè)量正弦信號(hào),方波信號(hào)及其他各種單位時(shí)間內(nèi)變化的物理量。在進(jìn)行模擬、數(shù)字電路的設(shè)計(jì)、安裝、調(diào)試過程中,由于其使用十進(jìn)制數(shù)顯示,測(cè)量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計(jì)。 </p><p>  本數(shù)字頻率計(jì)將采用定時(shí)、計(jì)數(shù)的方法測(cè)量頻率,采用一個(gè)1602A LCD顯

18、示器動(dòng)態(tài)顯示6位數(shù)。測(cè)量范圍從0Hz—65535Hz(此測(cè)量范圍為計(jì)數(shù)器的最大計(jì)數(shù),可根據(jù)實(shí)際需要進(jìn)行擴(kuò)展,在1.3小節(jié)方案選擇有介紹如何擴(kuò)展)的正弦波、方波、三角波。用單片機(jī)實(shí)現(xiàn)自動(dòng)測(cè)量功能。</p><p>  1.2 基本設(shè)計(jì)原理</p><p>  基本設(shè)計(jì)原理是直接用十進(jìn)制數(shù)字顯示被測(cè)信號(hào)頻率的一種測(cè)量裝置。它以測(cè)量頻率的方法直接對(duì)正弦波、方波、三角波的頻率進(jìn)行自動(dòng)的測(cè)量。<

19、;/p><p>  所謂“頻率”,就是周期性信號(hào)在單位時(shí)間(1s)內(nèi)變化的次數(shù)。若在一定時(shí)間間隔T內(nèi)測(cè)得這個(gè)周期性信號(hào)的重復(fù)變化次數(shù)N,則其頻率可表示為f=N/T。其中脈沖形成電路的作用是將被測(cè)信號(hào)變成脈沖信號(hào),其重復(fù)頻率等于被測(cè)頻率f。利用單片機(jī)的內(nèi)部定時(shí)器作為定時(shí)時(shí)間周期,若其周期為1s,則輸入的脈沖信號(hào)持續(xù)計(jì)數(shù)時(shí)間亦準(zhǔn)確地等于1s,所計(jì)數(shù)的脈沖個(gè)數(shù)即為被測(cè)信號(hào)的頻率。[1]</p><p&g

20、t;<b>  1.3 方案選擇</b></p><p>  用單片機(jī)設(shè)計(jì)頻率計(jì)通常采用兩種辦法,第一種方法是使用單片機(jī)自帶的計(jì)數(shù)器對(duì)輸入脈沖進(jìn)行計(jì)數(shù);第二種方法是單片機(jī)外部使用計(jì)數(shù)器對(duì)脈沖信號(hào)進(jìn)行計(jì)數(shù),計(jì)數(shù)值再由單片機(jī)讀取。第一種方法的好處是設(shè)計(jì)出的頻率計(jì)系統(tǒng)結(jié)構(gòu)和程序編寫簡(jiǎn)單,成本低廉,不需要外部計(jì)數(shù)器,直接利用所給的單片機(jī)最小系統(tǒng)就可以實(shí)現(xiàn)。這種方法的缺陷是受限于單片機(jī)計(jì)數(shù)的晶振頻率,

21、輸入的時(shí)鐘頻率通常是單片機(jī)晶振頻率的幾分之一甚至是幾十分之一,在本次設(shè)計(jì)使用的98C51單片機(jī),由于檢測(cè)一個(gè)由“1”到“0”的跳變需要兩個(gè)機(jī)器周期,前一個(gè)機(jī)器周期測(cè)出“1”,后一個(gè)周期測(cè)出“0”。故輸入時(shí)鐘信號(hào)的最高頻率不得超過單片機(jī)晶振頻率的二十四分之一。第二種方法的好處是輸入的時(shí)鐘信號(hào)頻率可以不受單片機(jī)晶振頻率的限制,可以對(duì)相對(duì)較高頻率進(jìn)行測(cè)量,但缺點(diǎn)是成本比第一種方法高,設(shè)計(jì)出來的系統(tǒng)結(jié)構(gòu)和程序也比較復(fù)雜。[2]</p>

22、;<p>  由于成本有限,本次設(shè)計(jì)中采用第一種方法,因此輸入的時(shí)鐘信號(hào)最高頻率不得高于11.0592MHz/24=460.8KHz。對(duì)外部脈沖的占空比無特殊要求。根據(jù)頻率檢測(cè)的原理,很容易想到利用51單片機(jī)的T0、T1兩個(gè)定時(shí)/計(jì)數(shù)器,一個(gè)用來定時(shí),另一個(gè)用來計(jì)數(shù),兩者均應(yīng)該工作在中斷方式,一個(gè)中斷用于1s時(shí)間的中斷處理,一個(gè)中斷用于對(duì)頻率脈沖的計(jì)數(shù)溢出處理,(對(duì)另一個(gè)計(jì)數(shù)單元加一),此方法可以彌補(bǔ)計(jì)數(shù)器最多只能計(jì)數(shù)65

23、536的不足。將計(jì)數(shù)中斷彌補(bǔ)計(jì)數(shù)器最高計(jì)數(shù)65536的不足作為本設(shè)計(jì)的擴(kuò)展,故本設(shè)計(jì)最終選擇采用第一種方法并且只使用計(jì)數(shù)器的最多計(jì)數(shù)65536。</p><p>  2數(shù)字頻率計(jì)(低頻)的硬件結(jié)構(gòu)設(shè)計(jì)</p><p>  2.1 系統(tǒng)硬件的構(gòu)成</p><p>  本頻率計(jì)的數(shù)據(jù)采集系統(tǒng)主要元器件是單片機(jī)AT89S52,由它完成對(duì)待測(cè)信號(hào)頻率的計(jì)數(shù)、計(jì)數(shù)處理、結(jié)果顯

24、示等功能,外部還要有信號(hào)處理、LCD顯示器等器件。具體可分為以下幾個(gè)模塊:放大整形模塊、單片機(jī)系統(tǒng)、LCD顯示模塊。各模塊關(guān)系圖如圖2所示:[3]</p><p>  圖2 系統(tǒng)工作原理圖</p><p>  2.2 AT89S52單片機(jī)及其引腳說明</p><p>  AT89S52是一種高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供下列標(biāo)準(zhǔn)特征:4K字

25、節(jié)的程序存儲(chǔ)器,128字節(jié)的RAM,32條I/O線,2個(gè)16位定時(shí)器/計(jì)數(shù)器, 一個(gè)5中斷源兩個(gè)優(yōu)先級(jí)的中斷結(jié)構(gòu),一個(gè)雙工的串行口, 片上震蕩器和時(shí)鐘電路</p><p><b>  引腳說明:</b></p><p><b>  ·VCC:電源電壓</b></p><p><b>  ·GN

26、D:地</b></p><p>  ·P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸出口用時(shí),每個(gè)引腳能驅(qū)動(dòng)8個(gè)TTL邏輯門電路。當(dāng)對(duì)0端口寫入1時(shí),可以作為高阻抗輸入端使用。</p><p>  當(dāng)P0口訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),它還可設(shè)定成地址數(shù)據(jù)總線復(fù)用的形式。在這種模式下,P0口具有內(nèi)部上拉電阻。</p><p>  在

27、EPROM編程時(shí),P0口接收指令字節(jié),同時(shí)輸出指令字節(jié)在程序校驗(yàn)時(shí)。程序校驗(yàn)時(shí)需要外接上拉電阻。</p><p>  ·P1口:P1口是一帶有內(nèi)部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個(gè)TTL邏輯門電路。當(dāng)對(duì)P1口寫1時(shí),它們被內(nèi)部的上拉電阻拉升為高電平,此時(shí)可以作為輸入端使用。當(dāng)作為輸入端使用時(shí),P1口因?yàn)閮?nèi)部存在上拉電阻,所以當(dāng)外部被拉低時(shí)會(huì)輸出一個(gè)低電流(IIL)。</p

28、><p>  ·P2口:P2是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P2口的輸出緩沖能驅(qū)動(dòng)4個(gè)TTL邏輯門電路。當(dāng)向P2口寫1時(shí),通過內(nèi)部上拉電阻把端口拉到高電平,此時(shí)可以用作輸入口。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出電流(IIL)。</p><p>  P2口在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如MOVX @ DPTR)時(shí),P2口送

29、出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強(qiáng)大的內(nèi)部上拉電阻功能當(dāng)輸出1時(shí)。當(dāng)利用8位地址線訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)(例MOVX @R1),P2口輸出特殊功能寄存器的內(nèi)容。</p><p>  當(dāng)EPROM編程或校驗(yàn)時(shí),P2口同時(shí)接收高8位地址和一些控制信號(hào)。</p><p>  ·P3口:P3是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅(qū)動(dòng)4個(gè)TTL邏輯門電路。當(dāng)

30、向P3口寫1時(shí),通過內(nèi)部上拉電阻把端口拉到高電平,此時(shí)可以用作輸入口。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出電流(IIL)。</p><p>  P3口同時(shí)具有多種特殊功能,具體如下表1所示:</p><p>  表1 P3口的第二功能</p><p>  ·RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期的高電平將使

31、單片機(jī)復(fù)位。</p><p>  ·ALE/ :當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許是一輸出脈沖,用以鎖存地址的低8位字節(jié)。當(dāng)在Flash編程時(shí)還可以作為編程脈沖輸出。</p><p>  一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時(shí)鐘或定時(shí)目的。但也要注意,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。</p><p>  · :程序

32、存儲(chǔ)允許時(shí)外部程序存儲(chǔ)器的讀選通信號(hào)。當(dāng)AT89C52執(zhí)行外部程序存儲(chǔ)器的指令時(shí),每個(gè)機(jī)器周期 兩次有效,除了當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí), 將跳過兩個(gè)信號(hào)。</p><p>  · /VPP:外部訪問允許。為了使單片機(jī)能夠有效的傳送外部數(shù)據(jù)存儲(chǔ)器從0000H到FFFH單元的指令, 必須同GND相連接。需要主要的是,如果加密位1被編程,復(fù)位時(shí)EA端會(huì)自動(dòng)內(nèi)部鎖存。</p><p>  

33、當(dāng)執(zhí)行內(nèi)部編程指令時(shí), 應(yīng)該接到VCC端。</p><p>  ·XTAL1:振蕩器反相放大器以及內(nèi)部時(shí)鐘電路的輸入端。</p><p>  ·XTAL2:振蕩器反相放大器的輸出端。</p><p>  2.3 信號(hào)調(diào)理及放大整形模塊</p><p>  2.3.1 工作原理</p><p>  放

34、大整形系統(tǒng)包括衰減器、跟隨器、放大器、施密特觸發(fā)器。它將正弦輸入信號(hào)Vx整形成同頻率方波Vo,幅值過大的被測(cè)信號(hào)經(jīng)過分壓器分壓送入后級(jí)放大器,以避免波形失真。由運(yùn)算放大器構(gòu)成的射級(jí)跟隨器起阻抗變換作用,使輸入阻抗提高。同相輸入的運(yùn)算放大器的放大倍數(shù)為(R3+R4)/R3,改變R3的大小可以改變放大倍數(shù)。系統(tǒng)的整形電路由施密特觸發(fā)器組成,整形后的方波送至單片機(jī)以便計(jì)數(shù)。</p><p>  由于輸入的信號(hào)幅度是不確

35、定、可能很大也有可能很小,這樣對(duì)于輸入信號(hào)的測(cè)量就不方便了,過大可能會(huì)把器件燒毀,過小可能器件檢測(cè)不到,所以在設(shè)計(jì)中采用了這個(gè)信號(hào)調(diào)理電路對(duì)輸入的波形進(jìn)行阻抗變換、放大限幅和整形,信號(hào)調(diào)理部分電路具體實(shí)現(xiàn)電路原理圖和參數(shù)如下圖3所示:[4] </p><p><b>  圖3 信號(hào)處理</b></p><p>  圖中D1—D4為肖特基二極管(DIODE),本設(shè)計(jì)中

36、選用IN4148。D5為穩(wěn)壓二極管,本設(shè)計(jì)選用的穩(wěn)壓二極管IN4625,其中R1、R2、R5、R6為10KΩ,R4為150KΩ,R3為500KΩ的電位器。[5]</p><p>  2.3.2 信號(hào)放大仿真</p><p>  下圖為當(dāng)R3=50KΩ時(shí)輸入信號(hào)頻率為100Hz,幅度為1V在輸入端和R1左端測(cè)得的信號(hào)仿真圖,由運(yùn)算放大器的放大倍數(shù)為(R3+R4)/R3可得到放大后的頻率不變,

37、幅度放大了四倍。</p><p>  圖4 信號(hào)放大仿真</p><p>  2.3.3 信號(hào)轉(zhuǎn)換成方波后的仿真圖</p><p>  下圖為當(dāng)R3=50KΩ時(shí)輸入信號(hào)頻率為100Hz,幅度為1V在輸出端測(cè)得的仿真波形圖,頻率不變,幅度為5V。</p><p><b>  圖5 轉(zhuǎn)換方波</b></p>

38、<p>  2.3.4 LF353雙運(yùn)算放大器簡(jiǎn)介 </p><p>  集成電路運(yùn)算放大器是一種高電壓增益、高輸入電阻和低輸出電阻的多級(jí)直接耦合放大電路,它的類型很多,電路也不一樣,但結(jié)構(gòu)具有共同之處,圖6表示集成運(yùn)放的內(nèi)部電路組成原理框圖。圖中輸入級(jí)一般是由BJT、JFET或MOSFET組成的差分式放大電路,利用它的對(duì)稱性可以提高整個(gè)電路的共模抑制比和其他方面的性能,它的兩個(gè)輸入端構(gòu)成整個(gè)電路的反相

39、輸入端和同相輸入端[7]。電壓放大級(jí)一般由電壓跟隨器或互補(bǔ)電壓跟隨器所組成,以降低輸出電阻,提高帶負(fù)載能力。偏置電路是為各級(jí)提供合適的工作電流。此外還有一些輔助環(huán)節(jié),如電平移動(dòng)電路、過載保護(hù)電路以及高頻補(bǔ)償環(huán)節(jié)等。</p><p>  + 差分 電壓放大級(jí) 輸出級(jí) </p><p>  Vid -

40、 輸入級(jí) </p><p><b>  偏置電流</b></p><p>  圖 6 集成電路運(yùn)算放大器內(nèi)部組成原理框圖</p><p>  運(yùn)算放大器分為通用型和專用型集成電路運(yùn)算放大器,741型集成運(yùn)算放大器即為通用型,其電路主要包括偏置電路(24個(gè)BJT、10個(gè)電阻和一個(gè)電容組成)、

41、輸入級(jí)、中間級(jí)和輸出級(jí)四個(gè)部分,整個(gè)電路要求當(dāng)輸入信號(hào)為零時(shí)輸出也為零。放大器主要參數(shù)的設(shè)置不管是哪種類型都極其重要,直接影響到電路的實(shí)際功能。</p><p>  集成電路運(yùn)算放大器在近幾年得到迅速發(fā)展,除了具有高電壓增益的通用型外,還具有性能更優(yōu)良和具有特殊功能的集成運(yùn)放,可分為高輸入阻抗、低漂移、高精度、帶寬、低功耗、高壓、大功率和程控型等專用型集成運(yùn)算放大。</p><p>  題

42、中用到的LF353放大器屬于用型集成運(yùn)算放大,該運(yùn)算放大器內(nèi)部有偏移電壓和FET輸入裝置(雙向場(chǎng)效應(yīng)管),有較大的反向擊穿電壓,因此,當(dāng)大差動(dòng)輸入電壓時(shí),可以很容易容納增加的輸入電流。</p><p>  圖7 典型接法            圖8 內(nèi)部結(jié)構(gòu)   </p><p><b>  顯示模塊 </b></p><p>  2.4.1

43、 1602ALCD 與單片機(jī)的接法</p><p>  單片機(jī)與1602ALCD的連接如圖9所示</p><p>  圖9 單片機(jī)與LCD接法</p><p>  1602ALCD采用標(biāo)準(zhǔn)的16腳接口,本設(shè)計(jì)具體接法如下: </p><p>  第1腳:VSS為地電源(圖中未畫出)。 </p><p> 

44、 第2腳:VDD接5V正電源(圖中未畫出)。</p><p>  第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,本設(shè)計(jì)使用時(shí)通過一個(gè)10K的電位器調(diào)整其對(duì)比度(圖中未畫出)。</p><p>  第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。</p><p>  第5腳:RW

45、為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。</p><p>  第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 </p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 </p>&l

46、t;p>  第15~16腳:空腳(圖中未畫出)。</p><p>  由于AT89S52單片機(jī)的P0口內(nèi)部沒有上拉電阻故在單片機(jī)與1602ALCD之間需加上上拉電阻(圖中未標(biāo)出),本設(shè)計(jì)中選用4.7KΩ的電阻。</p><p>  2.4.2 1602ALCD基本技術(shù): </p><p>  1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)

47、不同的點(diǎn)陣字符圖形,如表1所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”</p><p>  1602液晶模塊內(nèi)部的控制器共有11條控制指令,如下表所示, </p><p>  它的讀寫操作、屏幕和光標(biāo)

48、的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平) </p><p>  指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。</p><p>  指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。</p><p>  指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。

49、 </p><p>  指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 </p><p>  指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 </p><p>  指令6:功能設(shè)置命令 DL:高

50、電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。 </p><p>  指令7:字符發(fā)生器RAM地址設(shè)置。 </p><p>  指令8:DDRAM地址設(shè)置。 </p><p>  指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)

51、據(jù),如果為低電平表示不忙。 </p><p><b>  指令10:寫數(shù)據(jù) </b></p><p><b>  指令11:讀數(shù)據(jù) </b></p><p>  液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪

52、里顯示字符,下表是DM-162的內(nèi)部顯示地址. </p><p>  比如第二行第一個(gè)字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H) </p><p><b>  3 軟件設(shè)

53、計(jì)</b></p><p>  3.1 系統(tǒng)工作流程圖</p><p>  系統(tǒng)工作流程如圖10</p><p>  圖10系統(tǒng)工作流程圖</p><p>  3.1.1 T0的1s定時(shí)</p><p>  本次設(shè)計(jì)選用定時(shí)器T0完成定時(shí)功能,選用方式1時(shí)最多也只能定時(shí)</p><p&g

54、t;  顯然不能滿足定時(shí)1 S的要求,可以用下面這種方法解決:采用T0定時(shí)50 ,連續(xù)循環(huán)定時(shí)20次即可完成1 定時(shí),用一個(gè)計(jì)數(shù)單元存放循環(huán)的次數(shù),每一次循環(huán)單元自加1,當(dāng)加到20次時(shí)則1S 定時(shí)到時(shí)。其程序流程圖如圖11所示。</p><p>  3.1.2 T1的計(jì)數(shù)原理</p><p>  設(shè)計(jì)中T1采用計(jì)數(shù)功能,需要注意的一個(gè)問題是,輸入的待測(cè)時(shí)鐘信號(hào)的頻率最高可以達(dá)到460800

55、Hz,但本設(shè)計(jì)的最高頻率為計(jì)數(shù)器的最多計(jì)數(shù)65536次,顯然當(dāng)所輸入的頻率大于65536Hz的時(shí)候?qū)o法顯示,所以每當(dāng)計(jì)數(shù)器T1溢出回零時(shí)產(chǎn)生中斷,中斷程序執(zhí)行顯示提示錯(cuò)誤信息顯示為00000Hz。其程序流程圖如圖12所示。</p><p>  圖11 圖12</p><p>  3.2 軟件工作原理</p&

56、gt;<p>  將整形后的波形送至單片機(jī)的T1計(jì)數(shù)器輸入口,打開定時(shí)器0,初始化定時(shí)器0,將單片機(jī)的內(nèi)部定時(shí)器T0定時(shí)為1S,此時(shí)T1輸入口在1s內(nèi)所計(jì)數(shù)到的脈沖個(gè)數(shù)即為該信號(hào)的頻率。將該計(jì)數(shù)脈沖個(gè)數(shù)經(jīng)單片機(jī)處理送至LCD顯示。</p><p>  3.3 軟件處理方法 </p><p>  本頻率計(jì)的設(shè)計(jì)以 AT89S52 單片機(jī)為核心 ,利用它內(nèi)部的定時(shí)/ 計(jì)數(shù)器完成待

57、測(cè)信號(hào)頻率的測(cè)量 。單片機(jī) AT89S52 內(nèi)部具有 2 個(gè) 16 位定時(shí)/計(jì)數(shù)器 ,定時(shí)/ 計(jì)數(shù)器的工作可以由編程來實(shí)現(xiàn)定時(shí) 、計(jì)數(shù)和產(chǎn)生計(jì)數(shù)溢出中斷要求的功能 。在構(gòu)成為定時(shí)器時(shí) ,每個(gè)機(jī)器周期加 1 (使用 12M Hz 時(shí)鐘時(shí) ,每 1us 加 1) ,這樣以機(jī)器周期為基準(zhǔn)可以用來準(zhǔn)確定時(shí)1S。在構(gòu)成為計(jì)數(shù)器時(shí) ,在相應(yīng)的外部引腳發(fā)生從 1 到 0 的跳變時(shí)計(jì)數(shù)器加 1 ,這樣在計(jì)數(shù)閘門的控制下可以用來測(cè)量待測(cè)信號(hào)的頻率 。外部

58、輸入每個(gè)機(jī)器周期被采樣一次 ,這樣檢測(cè)一次從1 到 0 的跳變至少需要 2 個(gè)機(jī)器周期 (24 個(gè)振蕩周期) ,所以最大計(jì)數(shù)速率為時(shí)鐘頻率的 1/ 24 ( 使用12M Hz 時(shí)鐘時(shí) ,最大計(jì)數(shù)速率為 500 KHz) 。定時(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ì)綜合考慮了頻率測(cè)量精度和測(cè)量反應(yīng)時(shí)間的要求 。[6]</p><p

59、><b>  4 實(shí)驗(yàn)結(jié)果與分析</b></p><p><b>  4.1實(shí)驗(yàn)數(shù)據(jù)</b></p><p>  為了衡量這次設(shè)計(jì)的頻率計(jì)的工作情況和測(cè)量精度,本人對(duì)系統(tǒng)進(jìn)行了多次測(cè)量。以南京電訊儀器廠生產(chǎn)的E312B型通用計(jì)數(shù)器為基準(zhǔn)進(jìn)行了測(cè)試對(duì)比。測(cè)量數(shù)據(jù)如下表[7]</p><p><b>  4.2

60、實(shí)驗(yàn)結(jié)果分析</b></p><p>  基于單片機(jī)直接計(jì)數(shù)脈沖,受單片機(jī)晶振頻率的影響,外圍電路與外部中斷口接觸良好問題,外界環(huán)境干擾等因素,故本頻率存在一定客觀和主觀上的誤差。經(jīng)實(shí)際多次測(cè)試頻率在小于1000Hz的時(shí)候最大相對(duì)誤差達(dá)到1%,在1000Hz-65536Hz相對(duì)誤差小于0.1%。</p><p>  受本頻率計(jì)的相對(duì)誤差影響使得本頻率計(jì)適合的場(chǎng)合受到一定的限制。

61、但由于本頻率計(jì)設(shè)計(jì)成本低、產(chǎn)品可模塊化設(shè)計(jì)、電源直接使用干電池、體積小、使用時(shí)可隨時(shí)隨地移動(dòng)、使用起來特別的方便,比起傳統(tǒng)的頻率計(jì)還是有非常大的使用價(jià)值和使用空間。</p><p><b>  結(jié) 束 語</b></p><p>  通過本次畢業(yè)設(shè)計(jì),不但加深我對(duì)在課程上所學(xué)到的單片機(jī)理論知識(shí)的認(rèn)識(shí)和理解,重新讓自己認(rèn)識(shí)到了這門學(xué)科的在應(yīng)用方面的廣闊前景,并且通過知識(shí)

62、與應(yīng)用于實(shí)踐的結(jié)合更加豐富了自己的知識(shí)。擴(kuò)展了知識(shí)面,不但掌握了本專業(yè)的相關(guān)知識(shí),而且對(duì)其他專業(yè)的知識(shí)也有所了解,而且較系統(tǒng)的掌握單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程,因而自身的綜合素質(zhì)有了全面的提高。</p><p>  經(jīng)過這次一個(gè)較完整的產(chǎn)品設(shè)計(jì)和制作過程,對(duì)于認(rèn)識(shí)到自己在知識(shí)方面存在的不足,明確今后的學(xué)習(xí)方向是非常有益的,為將來的的就業(yè)提前打了下堅(jiān)實(shí)的基礎(chǔ)。</p><p><b>

63、  致謝詞</b></p><p>  在設(shè)計(jì)過程中,得到了我的指導(dǎo)老師的悉心指導(dǎo)與幫助,還有其他老師和同學(xué)的大力支持和協(xié)助,在此一并表示衷心的感謝。大學(xué)四年即將結(jié)束,借此機(jī)會(huì)也對(duì)這四年來幫助、關(guān)心、鼓勵(lì)過我的老師、同學(xué)說聲謝謝。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]赫建國、劉立新、黨劍華.《基

64、于單片機(jī)的頻率計(jì)設(shè)計(jì)》[J] .西安郵電學(xué)院學(xué)報(bào) 2003年 7月 第8卷 第3期</p><p>  [2] 辜自強(qiáng)、楊揚(yáng).《基于AT89C51的等精度寬范圍的頻率計(jì)設(shè)計(jì)》[J] .電子技術(shù) 2000年 第9期</p><p>  [3] 曲云霞、郭蘭申、李向東《基于單片機(jī)的頻率計(jì)數(shù)器的設(shè)計(jì)》 [J] .河北工業(yè)大學(xué)學(xué)報(bào) 1999年 12月 第28卷 第6期</p><

65、;p>  [4]史軍、雷正紅.《數(shù)字頻率計(jì)的設(shè)計(jì)》[J] .河西學(xué)院學(xué)報(bào) 2005年05期</p><p>  [5] 馬場(chǎng)清太郎 譯者:何希才.《運(yùn)算放大器應(yīng)用電路設(shè)計(jì)》[M].科學(xué)出版社.2007年4月</p><p>  [6] 龔運(yùn)新.《單片機(jī)C語言開發(fā)技術(shù)》[M].清華大學(xué)出版社.2006年10月</p><p>  [7]鄒道生、李銘、楊漢祥.《

66、多功能數(shù)字頻率計(jì)的設(shè)計(jì)》[J] . 贛南師范學(xué)院學(xué)報(bào) 2004年03期</p><p><b>  附錄程序:</b></p><p>  #include <intrins.h></p><p>  #include <REGX51.H></p><p>  typedef unsigned c

67、har BYTE;</p><p>  typedef unsigned int WORD;</p><p>  typedef bit BOOL ;</p><p>  sbit rs= P1^0;//液晶模塊接口</p><p>  sbit rw = P1^1;</p><p>  sbit ep = P1

68、^2;</p><p>  delay(BYTE ms)</p><p>  {// 延時(shí)子程序</p><p><b>  BYTE i;</b></p><p>  while(ms--)</p><p><b>  {</b></p><

69、;p>  for(i = 0; i< 250; i++)</p><p><b>  {</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();<

70、;/b></p><p><b>  _nop_();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  BOOL lcd_bz

71、()</p><p>  {// 測(cè)試LCD忙碌狀態(tài)</p><p>  BOOL result;</p><p><b>  rs = 0;</b></p><p><b>  rw = 1;</b></p><p><b>  ep = 1;<

72、;/b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p>&

73、lt;p>  result = (BOOL)(P0 & 0x80);</p><p><b>  ep = 0;</b></p><p>  return result;</p><p><b>  }</b></p><p>  lcd_wcmd(BYTE cmd)</p&g

74、t;<p>  {// 寫入指令數(shù)據(jù)到LCD</p><p>  while(lcd_bz());</p><p><b>  rs = 0;</b></p><p><b>  rw = 0;</b></p><p><b>  ep = 0;</b&g

75、t;</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  P0 = cmd;</b></p><p><b>  _nop_();</b></p><

76、p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  ep = 1;</b></p><p><b>  _nop_

77、();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  ep = 0;</b></p

78、><p><b>  }</b></p><p>  extern void lcd_pos(BYTE pos)</p><p>  {//設(shè)定顯示位置</p><p>  lcd_wcmd(pos | 0x80);</p><p><b>  }</b></

79、p><p>  extern void lcd_wdat(BYTE dat)</p><p>  {//寫入字符顯示數(shù)據(jù)到LCD</p><p>  while(lcd_bz());</p><p><b>  rs = 1;</b></p><p><b>  rw = 0

80、;</b></p><p><b>  ep = 0;</b></p><p><b>  P0 = dat;</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p>

81、;<p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  ep = 1;</b></p><p><b>  _nop_();</b></p><p><b>

82、  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  ep = 0;</b></p><p><b>  }</b></p&

83、gt;<p>  extern void lcd_init()</p><p>  {//LCD初始化設(shè)定</p><p>  lcd_wcmd(0x38);// 8位數(shù)據(jù)接口,2行顯示,5*7</p><p><b>  delay(1);</b></p><p>  lcd_wcmd

84、(0x0c);//顯示開。關(guān)標(biāo)關(guān)。閃爍關(guān)</p><p><b>  delay(1);</b></p><p>  lcd_wcmd(0x06);//數(shù)據(jù)讀寫AC加1。畫面不移動(dòng)</p><p><b>  delay(1);</b></p><p>  lcd_wcmd(0x01

85、);//清除LCD的顯示內(nèi)容</p><p><b>  delay(1);</b></p><p><b>  }</b></p><p>  #include <REGX51.H></p><p><b>  //</b></p><p

86、>  typedef unsigned char BYTE;</p><p>  typedef unsigned int WORD;</p><p>  typedef bit BOOL ;</p><p><b>  //</b></p><p>  extern void lcd_init();</p&

87、gt;<p>  extern void lcd_wdat(BYTE dat);</p><p>  extern void lcd_pos(BYTE pos);</p><p><b>  //</b></p><p>  void main()</p><p><b>  {</b>

88、;</p><p>  lcd_init();</p><p><b>  P0=0XFF;</b></p><p><b>  P1=0XFF;</b></p><p>  TMOD=0X01;</p><p><b>  TH0=0X3C;</b>&

89、lt;/p><p><b>  TL0=0XB0;</b></p><p><b>  IE=0X82;</b></p><p><b>  TR0=1;</b></p><p><b>  while(1);</b></p><p>

90、<b>  }</b></p><p><b>  //</b></p><p>  void time0(void) interrupt 1 </p><p><b>  {</b></p><p>  static BYTE count=0;</p><

91、p><b>  TH0=0X3C;</b></p><p><b>  TL0=0XB0;</b></p><p><b>  //</b></p><p>  if(count==19)</p><p><b>  {</b></p>

92、<p>  count++; </p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  BYTE GE,SHI,BAI,QIAN,WAN;</p><

93、p><b>  WORD SHU;</b></p><p>  //讀取數(shù)據(jù)存放在shu中</p><p>  SHU=P3; //P3高位</p><p><b>  SHU<<=8;</b></p><p>  SHU+=P2;//P2低位</p><p&

94、gt;  SHU&=0XFFF9;</p><p><b>  //關(guān)閉定時(shí)器</b></p><p><b>  TR0=0;</b></p><p>  //輸出shu到lcd中 </p><p>  GE=SHU%10;</p><p>  SHI=SHU

95、/10%10;</p><p>  BAI=SHU/100%10;</p><p>  QIAN=SHU/1000%10;</p><p>  WAN=SHU/10000;</p><p>  lcd_pos(0x00);</p><p>  lcd_wdat(WAN+48);</p><p>

96、  lcd_wdat(QIAN+48);</p><p>  lcd_wdat(BAI+48);</p><p>  lcd_wdat(SHI+48);</p><p>  lcd_wdat(GE+48);</p><p>  lcd_wdat(' ');</p><p>  lcd_wdat('

97、;H');</p><p>  lcd_wdat('Z');</p><p><b>  //初始化</b></p><p><b>  count=0;</b></p><p><b>  TH0=0X3C;</b></p><p&

98、gt;<b>  TL0=0XB0;</b></p><p><b>  P1_3=1;</b></p><p>  //準(zhǔn)備新一輪的計(jì)數(shù)</p><p><b>  TR0=1;</b></p><p><b>  P1_3=0;</b></p&g

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論