基于單片機的數字頻率計的設計說明_第1頁
基于單片機的數字頻率計的設計說明_第2頁
基于單片機的數字頻率計的設計說明_第3頁
基于單片機的數字頻率計的設計說明_第4頁
基于單片機的數字頻率計的設計說明_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 PAGE16 / NUMPAGES16基于單片機的數字頻率計的設計摘要本設計以AT89S52單片機為核心充分利用硬件資源設計的一種頻率計,該頻率計首先將被測信號放大整形處理,變成滿足單片機I/O口接受的TTL/ CMOS 兼容信號從單片機的T1輸入口輸入直接累加脈沖數,將單片機部定時器定時為1S,這時累加的脈沖數即為被測信號的頻率。最后經單片機處理送至lcd液晶顯示屏顯示。引言41.系統概述51.1數字頻率計概述51.2頻率測量儀的設計思路與頻率的計算51.3基本設計原理52.數字頻率計(低頻)的硬件結構設計52.1 系統硬件的構成52.2 AT89S52單片機與其引腳說明62.3 信號調理

2、與放大整形模塊72.3.1工作原理82.3.2信號放大仿真圖82.3.3信號轉換成方波82.3.4 LF353雙運算放大器簡介82.4 顯示模塊92.4.11602ALCD與單片機的接法 92.4.2 1602ALCD基本技術103.軟件設計123.1 系統工作流程圖123.1.1 T0的1s定時133.1.2 T1的計數原理133.2 軟件工作原理143.3 軟件處理方法144.實驗結果與分析154.1實驗數據154.2實驗結果分析15結束語 15致詞 15參考文獻15程序附錄 17引言頻率測量在科技研究和實際應用中的作用日益重要。傳統的頻率計通采用組合電路和時序電路等大量的硬件電路構成,產

3、品不但體積較大,運行速度慢,而且測量低頻信號時不宜直接使用。頻率信號抗干擾性強、易于傳輸 ,可以獲得較高的測量精度。同時 ,頻率測量方法的優化也越來越受到重視.并采用單片機和相關硬軟件實現。AT89S52系列單片機具有體積小,功能強,性能價格比較高等特點,因此被廣泛應用于工業控制和智能化儀器,儀表等領域。此頻率計以AT89S52單片機為核心,具有性能優良,精度高,可靠性好等特點。以AT89S52單片機為控制器件的頻率測量方法,并用C語言進行設計,采用單片機智能控制,結合外圍電子電路。最終實現數字頻率計的設計方案,根據頻率計的特點,可廣泛應用于各種測試場所。在基礎理論和專業技術基礎上,通過對數字

4、頻率計的設計,用十進制數字來顯示被測信號頻率的測量裝置。以精確迅速的特點測量信號頻率,在本設計在實踐理論上鍛煉提高了自己的綜合運用知識水平,為以后的開發與科研工作打下基礎。1系統概述1.1數字頻率計概述數字頻率計是計算機、通訊設備、音頻視頻等科研生產領域不可缺少的測量儀器。它是一種用十進制數字顯示被測信號頻率的數字測量儀器。它的基本功能是測量正弦信號,方波信號與其他各種單位時間變化的物理量。在進行模擬、數字電路的設計、安裝、調試過程中,由于其使用十進制數顯示,測量迅速,精確度高,顯示直觀,經常要用到頻率計。 本數字頻率計將采用定時、計數的方法測量頻率,采用一個1602A LCD顯示器動態顯示6

5、位數。測量圍從0Hz65535Hz(此測量圍為計數器的最大計數,可根據實際需要進行擴展,在1.3小節方案選擇有介紹如何擴展)的正弦波、方波、三角波。用單片機實現自動測量功能。1.2 基本設計原理基本設計原理是直接用十進制數字顯示被測信號頻率的一種測量裝置。它以測量頻率的方法直接對正弦波、方波、三角波的頻率進行自動的測量。所謂“頻率”,就是周期性信號在單位時間(1s)變化的次數。若在一定時間間隔T測得這個周期性信號的重復變化次數N,則其頻率可表示為f=N/T。其中脈沖形成電路的作用是將被測信號變成脈沖信號,其重復頻率等于被測頻率f。利用單片機的部定時器作為定時時間周期,若其周期為1s,則輸入的脈

6、沖信號持續計數時間亦準確地等于1s,所計數的脈沖個數即為被測信號的頻率。11.3 方案選擇用單片機設計頻率計通常采用兩種辦法,第一種方法是使用單片機自帶的計數器對輸入脈沖進行計數;第二種方法是單片機外部使用計數器對脈沖信號進行計數,計數值再由單片機讀取。第一種方法的好處是設計出的頻率計系統結構和程序編寫簡單,成本低廉,不需要外部計數器,直接利用所給的單片機最小系統就可以實現。這種方法的缺陷是受限于單片機計數的晶振頻率,輸入的時鐘頻率通常是單片機晶振頻率的幾分之一甚至是幾十分之一,在本次設計使用的98C51單片機,由于檢測一個由“1”到“0”的跳變需要兩個機器周期,前一個機器周期測出“1”,后一

7、個周期測出“0”。故輸入時鐘信號的最高頻率不得超過單片機晶振頻率的二十四分之一。第二種方法的好處是輸入的時鐘信號頻率可以不受單片機晶振頻率的限制,可以對相對較高頻率進行測量,但缺點是成本比第一種方法高,設計出來的系統結構和程序也比較復雜。2由于成本有限,本次設計中采用第一種方法,因此輸入的時鐘信號最高頻率不得高于11.0592MHz/24=460.8KHz。對外部脈沖的占空比無特殊要求。根據頻率檢測的原理,很容易想到利用51單片機的T0、T1兩個定時/計數器,一個用來定時,另一個用來計數,兩者均應該工作在中斷方式,一個中斷用于1s時間的中斷處理,一個中斷用于對頻率脈沖的計數溢出處理,(對另一個

8、計數單元加一),此方法可以彌補計數器最多只能計數65536的不足。將計數中斷彌補計數器最高計數65536的不足作為本設計的擴展,故本設計最終選擇采用第一種方法并且只使用計數器的最多計數65536。2數字頻率計(低頻)的硬件結構設計2.1 系統硬件的構成本頻率計的數據采集系統主要元器件是單片機AT89S52,由它完成對待測信號頻率的計數、計數處理、結果顯示等功能,外部還要有信號處理、LCD顯示器等器件。具體可分為以下幾個模塊:放大整形模塊、單片機系統、LCD顯示模塊。各模塊關系圖如圖2所示:3LCD顯示基于51單片機的數字頻率計日期:2008-01-11來源:東哥單片機學習網( picavr )

9、 佚名字體: HYPERLINK javascript:ContentSize(16)大 HYPERLINK javascript:ContentSize(0)中 HYPERLINK javascript:ContentSize(12)小 題 目: 基于51單片機的數字頻率計 專 業: 計算機科學與技術(專升本) 班 級: 056計算機科學與技術 姓 名: 蔡永 學號: 05191131 指導老師: 余水寶 成 績: ( 2006.6 ) 目 錄 第1節 引言 21.1 數字頻率計概述21.2 頻率測量儀的設計思路與頻率的計算21.3 基本設計原理3第2節 數字頻率計(低頻)的硬件結構設計4

10、2.1系統硬件的構成42.2系統工作原理圖42.3AT89C51單片機與其引腳說明 52.4信號調理與放大整形模塊72.5時基信號產生電路72.6顯示模塊8第3節 軟件設計123.1 定時計數 123.2 量程轉換 123.3 BCD轉換123.4 LCD顯示12第4節 結束語 13參考文獻 14附錄 匯編源程序代碼15 基于51單片機的數字頻率計數理與信息工程學院 計算機專升本 056班 蔡永指導老師 余水寶 第1節 引言本應用系統設計的目的是通過在“單片機原理與應用”課堂上學習的知識,以與查閱資料,培養一種自學的能力。并且引導一種創新的思維,把學到的知識應用到日常生活當中。在設計的過程中,

11、不斷的學習,思考和同學間的相互討論,運用科學的分析問題的方法解決遇到的困難,掌握單片機系統一般的開發流程,學會對常見問題的處理方法,積累設計系統的經驗,充分發揮教學與實踐的結合。全能提高個人系統開發的綜合能力,開拓了思維,為今后能在相應工作崗位上的工作打下了堅實的基礎。 1.1數字頻率計概述數字頻率計是計算機、通訊設備、音頻視頻等科研生產領域不可缺少的測量儀器。它是一種用十進制數字顯示被測信號頻率的數字測量儀器。它的基本功能是測量正弦信號,方波信號與其他各種單位時間內變化的物理量。在進行模擬、數字電路的設計、安裝、調試過程中,由于其使用十進制數顯示,測量迅速,精確度高,顯示直觀,經常要用到頻率

12、計。 本數字頻率計將采用定時、計數的方法測量頻率,采用一個1602A LCD顯示器動態顯示6位數。測量范圍從1Hz10kHz的正弦波、方波、三角波,時基寬度為1us,10us,100us,1ms。用單片機實現自動測量功能。基本設計原理是直接用十進制數字顯示被測信號頻率的一種測量裝置。它以測量周期的方法對正弦波、方波、三角波的頻率進行自動的測量。1.2頻率測量儀的設計思路與頻率的計算 1.2頻率測量儀的設計思路與頻率的計算頻率測量儀的設計思路主要是:對信號分頻,測量一個或幾個被測量信號周期中已知標準頻率信號的周期個數,進而測量出該信號頻率的大小,其原理如右圖1所示。若被測量信號的周期為,分頻數m

13、1,分頻后信號的周期為T,則:T=m1Tx 。由圖可知: T=NTo (注:To為標準信號的周期,所以T為分頻后信號的周期,則可以算出被測量信號的頻率f。)由于單片機系統的標準頻率比較穩定,而是系統標準信號頻率的誤差,通常情況下很小;而系統的量化誤差小于1,所以由式T=NTo可知,頻率測量的誤差主要取決于N值的大小,N值越大,誤差越小,測量的精度越高。 1.3 基本設計原理 基本設計原理是直接用十進制數字顯示被測信號頻率的一種測量裝置。它以測量周期的方法對正弦波、方波、三角波的頻率進行自動的測量。所謂“頻率”,就是周期性信號在單位時間(1s)內變化的次數。若在一定時間間隔T內測得這個周期性信號

14、的重復變化次數N,則其頻率可表示為f=N/T。其中脈沖形成電路的作用是將被測信號變成脈沖信號,其重復頻率等于被測頻率fx。時間基準信號發生器提供標準的時間脈沖信號,若其周期為1s,則門控電路的輸出信號持續時間亦準確地等于1s。閘門電路由標準秒信號進行控制,當秒信號來到時,閘門開通,被測脈沖信號通過閘門送到計數譯碼顯示電路。秒信號結束時閘門關閉,計數器停止計數。由于計數器計得的脈沖數N是在1秒時間內的累計數,所以被測頻率fx=NHz。 第2節數字頻率計(低頻)的硬件結構設計 2.1 系統硬件的構成 本頻率計的數據采集系統主要元器件是單片機AT89C51,由它完成對待測信號頻率的計數和結果顯示等功

15、能,外部還要有分頻器、顯示器等器件。可分為以下幾個模塊:放大整形模塊、秒脈沖產生模塊、換檔模擬轉換模塊、單片機系統、LCD顯示模塊。各模塊關系圖如圖2所示: 2.2 系統工作原理圖 該系統工作的總原理圖如圖3所示: 圖3 數字頻率計系統工作原理圖2.3 AT89C51單片機與其引腳說明89C51是一種高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供下列標準特征:4K字節的程序存儲器,128字節的RAM,32條I/O線,2個16位定時器/計數器, 一個5中斷源兩個優先級的中斷結構,一個雙工的串行口, 片上震蕩器和時鐘電路。引腳說明:VCC:電源電壓GND:地P0口:P0口是一組8位漏極開

16、路型雙向I/O口,作為輸出口用時,每個引腳能驅動8個TTL邏輯門電路。當對0端口寫入1時,可以作為高阻抗輸入端使用。當P0口訪問外部程序存儲器或數據存儲器時,它還可設定成地址數據總線復用的形式。在這種模式下,P0口具有內部上拉電阻。在EPROM編程時,P0口接收指令字節,同時輸出指令字節在程序校驗時。程序校驗時需要外接上拉電阻。P1口:P1口是一帶有內部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當對P1口寫1時,它們被內部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,P1口因為內部存在上拉電阻,所以當外部被拉低時會輸出一個低電流(IIL

17、)。P2口:P2是一帶有內部上拉電阻的8位雙向的I/O端口。P2口的輸出緩沖能驅動4個TTL邏輯門電路。當向P2口寫1時,通過內部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P2口在訪問外部程序存儲器或16位地址的外部數據存儲器(例如MOVX DPTR)時,P2口送出高8位地址數據。在這種情況下,P2口使用強大的內部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數據存儲器時(例MOVX R1),P2口輸出特殊功能寄存器的內容。當EPROM編程或校驗時,P2口同時接收高8位地址和一些控制信號。P3口:P3是一帶有

18、內部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅動4個TTL邏輯門電路。當向P3口寫1時,通過內部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P3口同時具有AT89C51的多種特殊功能,具體如下表1所示:端口引腳第二功能P3.0RXD (串行輸入口)P3.1TXD(串行輸出口)P3.2 (外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0)P3.5T1(定時器1)P3.6(外部數據存儲器寫選通)P3.7(外部數據存儲器都選通)表1 P3口的第二功能 RST:復位輸入。當振蕩器工作時,RST引腳出現兩

19、個機器周期的高電平將使單片機復位。ALE/ :當訪問外部存儲器時,地址鎖存允許是一輸出脈沖,用以鎖存地址的低8位字節。當在Flash編程時還可以作為編程脈沖輸出( )。一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時鐘或定時目的。但也要注意,每當訪問外部數據存儲器時將跳過一個ALE脈沖。 :程序存儲允許時外部程序存儲器的讀選通信號。當AT89C52執行外部程序存儲器的指令時,每個機器周期 兩次有效,除了當訪問外部數據存儲器時, 將跳過兩個信號。 /VPP:外部訪問允許。為了使單片機能夠有效的傳送外部數據存儲器從0000H到FFFH單元的指令, 必須同GND相連接。需要主要的是,如果加

20、密位1被編程,復位時EA端會自動內部鎖存。當執行內部編程指令時, 應該接到VCC端。XTAL1:振蕩器反相放大器以與內部時鐘電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。在本次設計中,采用89C51作為CPU處理器,充分利用其硬件資源,結合D觸發器CD4013,分頻器CD4060,模擬轉換開關CD4051,計數器74LS90等數字處理芯片,主要控制兩大硬件模塊,量程切換以與顯示模塊。下面還將詳細說明。2.4 信號調理與放大整形模塊 放大整形系統包括衰減器、跟隨器、放大器、施密特觸發器。它將正弦輸入信號Vx整形成同頻率方波Vo,幅值過大的被測信號經過分壓器分壓送入后級放大器,以避免波形失真

21、。由運算放大器構成的射級跟隨器起阻抗變換作用,使輸入阻抗提高。同相輸入的運算放大器的放大倍數為(R1+R2)/R1,改變R1的大小可以改變放大倍數。系統的整形電路由施密特觸發器組成,整形后的方波送到閘門以便計數。由于輸入的信號幅度是不確定、可能很大也有可能很小,這樣對于輸入信號的測量就不方便了,過大可能會把器件燒毀,過小可能器件檢測不到,所以在設計中采用了這個信號調理電路對輸入的波形進行阻抗變換、放大限幅和整形,信號調理部分電路具體實現電路原理圖和參數如下圖4所示: 2.5 時基信號產生電路:CD4013雙上升沿D觸發器 ,引腳與功能見如下圖5:CD4013 由兩個一樣的、相互獨立的數據型觸發

22、器構成。每個觸發器有獨立的數據置位復位時鐘輸入和 Q與Q非輸出。此器件可用作移位寄存器,且通過將Q非輸出連接到數據輸入,可用作計數器和觸發器。在時鐘上升沿觸發時,加在D 輸入端的邏輯電平傳送到Q輸出端。置位和復位或復位線上的高電平完成。 圖5 CD4013芯片引腳用功能圖 CD406014位二進制串行計數器,引腳與功能見如下圖6: CD4060 由一震蕩器和14極二進制串行計數器位組成,震蕩器的結構可以是RC或晶振電路。CR為高電平時,計數器清零且振蕩器使用無效,所有的計數器位均為主從觸發器 CP1非(和 CP0)的下降沿計數器以二進制進行計數,在時鐘脈沖線上使用施密特觸發器對時鐘上升和下降時

23、間無限制。 時基信號的產生原理:本電路采用32768HZ晶體震蕩器,利用CD4060芯片經過14級分頻得到2HZ的信號(32768/214),在經過CD4013雙D觸發器經過二分頻得到0.5HZ的方波,即輸出秒脈沖信號使單片機進行計數。 圖七 秒脈沖產生電路原理圖 2.6 顯示模塊1602基本技術:1)、主要功能A、 40通道點陣LCD 驅動;B、 可選擇當作行驅動或列驅動;C、 輸入/輸出信號:輸出,能產生202個LCD驅動波形;輸入,接受控制器送出的串行數據和控制信號,偏壓(V1V6);D、 通過單片機控制將所測的頻率信號讀數顯示出來。 2)、技術參數 2.1)極限參數表名 稱符 號標 準

24、 值單 位MINTYPEMAX電路電源VDD - VSS-0.3 7.0VLCD驅動電壓VDD - VEEVDD - 13.5 VDD + 0.3V輸入電壓VIN-0.3 VDD + 0.3V靜電電壓 -100V工作溫度 -20 +70C儲存溫度 -30 +80C 2.2) 電參數表名 稱符 號測 試 條 件標 準 值單位MINTYPEMAX輸入高電平VIH-2.2 VDDV輸入低電平VIL-0.3 0.6V輸出高電平VOHIOH = 0.2mA2.4 -V輸出低電平VOLIOL = 1.2mA- 0.4V工作電流IDDVDD = 5.0V 2.0 mA 液晶驅動電壓 VDD- VEETa =

25、 0C 4.9 VTa = 25C 4.7 Ta = 50C 4.5 3)、時序特性表項 目符 號測試條件標 準 值單位MINTYPEMAX允許時間周期TCYCE 5.1a 5.1b1000 ns允許脈沖寬度,高電平PWEH450-ns允許上升和下降時間tEr tEf-25ns地址建立時間tAS140-ns數據延遲時間tDDR-320ns數據建立時間tDSW195-ns數據保持時間tH10-nsDATA HOLD TIMEtDHR20-ns地址保持時間tAH10-ns 4)、引腳和指令功能4.1)模塊引腳功能表引 線 號符 號名 稱功 能1Vss接地0V2VDD電路電源5V10%3VEE液晶驅

26、動電壓保證VDD-VEE=4.55V電壓差4RS寄存器選擇信號H:數據寄存器 L:指令寄存器5R/W讀/寫信號H:讀 L:寫6E片選信號下降沿觸發,鎖存數據7|14DB0|DB7 數據線 數據傳輸 4.2)寄存器選擇功能表RSR/W操 作00指令寄存器(IR)寫入01忙標志和地址計數器讀出10數據寄存器(DR)寫入11數據寄存器讀出(注:忙標志為1時,表明正在進行內部操作,此時不能輸入指令或數據,要等內部操作結束,即忙標志為0時。)4.3) 指令功能 格式:RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0共11種指令:清除,返回,輸入方式設置,顯示開關,控制,移位,

27、功能設置,CGRAM地址設置,DDRAM地址設置,讀忙標志,寫數據到CG/DDRAM,讀數據由CG/DDRAM。 5)、顯示位與DD RAM 地址的對應關系 顯 示 位 序 號1 2 3 4 5 40 DD RAM 地 址(HEX)第 一 行00 01 02 03 04 . 27第 二 行40 41 42 43 44 . 67 6)、初始化方法用戶所編的顯示程序,開始必須進行初始化,否則模塊無法正常顯示,下面介紹兩種初始化方法;6.1利用內部復位電路進行初始化下面指令是在初始化過程中執行的。(1) 清屏(DISPLAY CLEAR);(2) 功能設置(FUNCTION SET);DL = 1:

28、 8Bit 接口數據;N = 0: 1行顯示; F = 0:57dot字形;(3) 顯示開/關控制(DISPLAY ON/OFF CONTROL)D = 0: 顯示關; C = 0: 光標關; B = 0: 消隱關(4) 輸入方式設置(ENTRY MODE SET )I/D = 1:(增量): S = 0: 無移位: 6.2) 軟件復位 如果電路電源不能滿足復位電路的要求的話,那么初始化就要用軟件來實現,過程如下: 八位接口初始化流程圖 電 源 開 VDD 上升到4.5V后等待15 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 1 等待4.1

29、ms RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 1 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 1 等待100us RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 1 N F 檢查忙標志或延時40us RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 1 0 檢查忙標志或延時40us RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0

30、0 0 0 1 檢查忙標志或延時40 us RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 0 1 I/D S 檢查忙標志或延時1.64 初 始 化 結 束檢查忙標志或延時40 第3節 軟件設計 主要能過編寫軟件來控制硬件完成以下各模塊的功能:3.1定時讀數3.2量程轉換3.3 BCD轉換3.4LCD顯示的功能單片機當C/T=1時為計數方式,多路開關與定時器的外部引腳連通,外部計數脈沖由引腳輸入。當外部信號由1至0跳變時,計數器加1,此時T0成為外部事件的計數器。由于確認一次由1至0的跳變要用24個振蕩器周期,所以計數器的計數頻率為單片機內

31、部計數器頻率的1/24。當CT=0時為定時方式,對單片機內部計數器進行m2分頻后,計數器的實際計數頻率為單片機內部頻率凡的1/m2,當GATE=0時,反相器輸出為1,或門輸出為1,打開與門,使定時器的啟動僅受TRO端信號電平的控制。在此種情況下,INT0引腳的電平變化對或門不起作用。TRO=1時接通控制開關,計數脈沖加到計數器上,每來一個計數脈沖,計數器加1,只有當TRO=0時,控制開關斷開,計數器停止計數。當GATA=0時,若TRO=1,或門、與門全部打開,外部信號電平通過INTO引腳直接控制定時器的啟動和關閉。輸人高電平時允許計數,否則停止計數。根據定時器的結構原理,若我們將GATE位、T

32、R0均設為1,INT0端輸人被測頻率信號,當被測信號的高電平到來時,開始計數;當被測信號的低電平到來時,計數器停止計數,此時TL0、TH0的數據就是相應的N值。 結 束 語 數字頻率計是計算機、通訊設備、音頻視頻等科研生產領域不可缺少的測量儀器。在進行模擬、數字電路的設計、安裝、調試過程中,由于其使用十進制數顯示,測量迅速,精確度高,顯示直觀,會被經常使用到。通過本次課程的設計,不但加深我對在課程上所學到的單片機理論知識的認識和理解,重新讓自己認識到了這門學科的在應用方面的廣闊前景,并且通過知識與應用于實踐的結合更加豐富了自己的知識。擴展了知識面,不但掌握了本專業的相關知識,而且對其他專業的知

33、識也有所了解,而且較系統的掌握單片機應用系統的開發過程,因而自身的綜合素質有了全面的提高。經過這次一個較完整的產品設計和制作過程,對于認識到自己在知識方面存在的不足,明確今后的學習方向是非常有益的,為將來的的就業提前打了下堅實的基礎。在設計過程中,得到了我的指導老師的悉心指導與幫助,還有其他老師和同學的大力支持和協助,在此一并表示衷心的感謝。 參考文獻1李光飛 ,樓苗然主編.51系列單片機.:航空航天大學,20032黃正瑾編著.CPLD系統設計技術入門與應用. : 電子工業, 20023謝自美編著.電子線路設計實驗測試.華中理工大學,20024陳永甫編著.電子電路智能化設計.實例與應用.:電子

34、工業出版,2002.85康華光主編.電子技術 基礎(第四版).:高等教育,1999附錄 匯編源程序代碼 RS BIT P2.0 ;P3.4腳接RS端 RW BIT P2.1 ;P3.5腳接R_W端 E BIT P2.2 ;P3.3腳接E端 ORG 0000H LJMP MAIN ORG 002BH LJMP IT1MAIN: MOV P0,#01H ;清除屏幕 ACALL ENABLE MOV P0,#01H ;清除屏幕 ACALL ENABLE MOV P0,#01H ;清除屏幕 ACALL ENABLE MOV P0,#38H ;8位點陣方式 ACALL ENABLE MOV P0,#0c

35、H ;開顯示 ACALL ENABLE MOV P0,#06H ;移動光標 ACALL ENABLE MOV P0,#80H ;顯示位置 ACALL ENABLE mov p0,#80h ;第一行的位置 call enable mov dptr,#date call write3 mov p0,#0c0h ;第二行的位置 call enable MOV SP,#7FH CLR CY mov r6,#00 mov r2,#00 MOV R3,#00 MOV TMOD,#15H MOV TL0,#00H MOV TH0,#00H mov th1,#high(65536-50000) mov tl1

36、,#low(65536-50000) ;setb ET1cha1: SETB TR1 ;LCALL XIANSHI SETB TR0 mov 27h,#00h CLR C MOV C,P1.6 MOV 27H.0,C CLR C MOV C,P1.7 MOV 27H.1,C mov a,27h ANL A,#03H MOV 17H,ACHA: C TF1,JINWEI ;益處進位 JMP CHAJINWEI:CLR TR1 mov th1,#high(65536-50000) mov tl1,#low(65536-50000) SETB TR1 INC R3 MOV A,R3 ;JNB P3.

37、2,$ CJNE A,#20,CHA CLR TR0 CLR TR1 MOV R3,#00 MOV R2,TH0 MOV R6,TL0 lcall zhuan LCALL write1 MOV TL0,#00H MOV TH0,#00H jmp cha1ZHUAN:MOV A,R2CLR CMOV 20H,#00HMOV 21H,#00HMOV 22H,#00HMOV 24H,#00HMOV 25H,#00HMOV R3,#10HNEXT: RLC AMOV R2,AMOV A,20HADDC A,20HDA AMOV 20H,AMOV A,21HADDC A,21HDA AMOV 21H,A

38、MOV A,22HADDC A,22HDA AMOV 22H,AMOV A,R2DJNZ R3,NEXTMOV A,R6clr cMOV R3,#08HNEXT1: RLC AMOV R6,AMOV A,24HADDC A,24HDA AMOV 24H,AMOV A,25HADDC A,25HDA AMOV 25H,Amov a,r6DJNZ R3,NEXT1clr cmov a,24haddc a,20hda amov 20h,amov a,25haddc a,21hda amov 21h,amov a,22haddc a,#00hda amov 22h,amov a,22hanl a,#0

39、fhmov 31h,amov a,22hanl a,#0f0hswap amov 30h,amov a,21hanl a,#0f0hswap amov 32h,amov a,21hanl a,#0fhmov 33h,amov a,20hanl a,#0f0hswap amov 34h,amov a,20hanl a,#0fhmov 35h,aret;*;LCD顯示;* ENABLE: CLR RS CLR RW CLR E ACALL DELAY SETB E RET write1: ;寫數據 MOV 10H,#00H MOV 11H,#00H MOV 12H,#00H MOV 13H,#00

40、H MOV 14H,#00H MOV 15H,#00H MOV 16H,#00H mov p0,#0ch call enable mov p0,#0c0h ;第二行的位置 call enable MOV A,17H XRL A,#02H JNZ XIAN1 MOV 40H,#00H MOV 41H,#00H MOV 42H,#00H MOV 43H,30H MOV 44H,31H MOV 45H,32H JMP XIAN XIAN1:MOV A,17H XRL A,#01H JNZ XIAN2 MOV 40H,#00H MOV 41H,#00H MOV 42H,30H MOV 43H,31H

41、MOV 44H,32H MOV 45H,33H JMP XIAN XIAN2:MOV A,17H XRL A,#00H JNZ XIAN3 MOV 40H,#00H MOV 41H,30H MOV 42H,31H MOV 43H,32H MOV 44H,33H MOV 45H,34H JMP XIAN XIAN3:MOV A,17H XRL A,#03H JNZ XIAN MOV 40H,30H MOV 41H,31H MOV 42H,32H MOV 43H,33H MOV 44H,34H MOV 45H,35H XIAN:mov r0,#40h mov a, r0 JZ L20 MOV 10

42、H,#0FFH MOV 15H,#0FFH mov dptr,#date1 movc a,a+dptr call write2 L20:INC R0 MOV A, 10H CJNE A, #00H,PP mov a, r0 JZ L21 PP: MOV 11H,#0FFH MOV 15H,#0FFH mov a, r0 mov dptr,#date1 movc a,a+dptr call write2 L21:INC R0 MOV A, 11H CJNE A, #00H,PP2 mov a, r0 JZ L22 PP2: MOV 12H,#0FFH MOV 15H,#0FFH mov a, r

43、0 mov dptr,#date1 movc a,a+dptr call write2 MOV A, 15H CJNE A,#0FFH,L22 MOV A,#00H mov dptr,#XIAOSHUDIAN movc a,a+dptr call write2 L22: INC R0 MOV A, 12H CJNE A, #00H,PP3 mov a, r0 JZ L23 PP3: MOV 13H,#0FFH mov a, r0 mov dptr,#date1 movc a,a+dptr call write2 L23:INC R0 MOV A, 13H CJNE A, #00H,PP4 mo

44、v a, r0 JZ L24 PP4: MOV 14H,#0FFH mov a, r0 mov dptr,#date1 movc a,a+dptr call write2 L24:INC R0 mov a, r0 mov dptr,#date1 movc a,a+dptr call write2 MOV A,15H CJNE A, #00H,KHZ MOV A,#00H MOV dptr,#DANWEI1 JMP QUSHU KHZ:MOV dptr,#DANWEI2 QUSHU:movc a,a+dptr call write3 mov r5,#4 l3:mov a,#20h call wr

45、ite2 djnz r5,l3 ret write2: mov p0, a setb rs CLR rw clr e call delay setb e ret write3: mov r1,#00h ;寫數據 a2: mov a, r1 movc a, a+dptr call write2 inc r1 cjne a,#00h,a2 ret delay: mov r7, #255 d1: mov r6, #255 d2: djnz r6, d2 djnz r7, d1 ret date: db the frequency is,00h date1: db 30h,31h,32h,33h,34

46、h,35h,36h,37h,38h,39h DANWEI1: DB HZ ,00h DANWEI2: DB KHZ ,00h XIAOSHUDIAN: DB .,00h單片機被測信號放大整形脈沖信號圖2 系統工作原理圖2.2 AT89S52單片機與其引腳說明AT89S52是一種高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供下列標準特征:4K字節的程序存儲器,128字節的RAM,32條I/O線,2個16位定時器/計數器, 一個5中斷源兩個優先級的中斷結構,一個雙工的串行口, 片上震蕩器和時鐘電路引腳說明:VCC:電源電壓GND:地P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸出

47、口用時,每個引腳能驅動8個TTL邏輯門電路。當對0端口寫入1時,可以作為高阻抗輸入端使用。當P0口訪問外部程序存儲器或數據存儲器時,它還可設定成地址數據總線復用的形式。在這種模式下,P0口具有部上拉電阻。在EPROM編程時,P0口接收指令字節,同時輸出指令字節在程序校驗時。程序校驗時需要外接上拉電阻。P1口:P1口是一帶有部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當對P1口寫1時,它們被部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,P1口因為部存在上拉電阻,所以當外部被拉低時會輸出一個低電流(IIL)。P2口:P2是一帶有部上拉電阻

48、的8位雙向的I/O端口。P2口的輸出緩沖能驅動4個TTL邏輯門電路。當向P2口寫1時,通過部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P2口在訪問外部程序存儲器或16位地址的外部數據存儲器(例如MOVX DPTR)時,P2口送出高8位地址數據。在這種情況下,P2口使用強大的部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數據存儲器時(例MOVX R1),P2口輸出特殊功能寄存器的容。當EPROM編程或校驗時,P2口同時接收高8位地址和一些控制信號。P3口:P3是一帶有部上拉電阻的8位雙向的I/O端口。P3口的輸

49、出緩沖能驅動4個TTL邏輯門電路。當向P3口寫1時,通過部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P3口同時具有多種特殊功能,具體如下表1所示:端口引腳第二功能P3.0RXD (串行輸入口)P3.1TXD(串行輸出口)P3.2 (外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0)P3.5T1(定時器1)P3.6(外部數據存儲器寫選通)P3.7(外部數據存儲器都選通) 表1 P3口的第二功能RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期的高電平將使單片機復位。ALE/ :當訪問外部存儲器時,

50、地址鎖存允許是一輸出脈沖,用以鎖存地址的低8位字節。當在Flash編程時還可以作為編程脈沖輸出。一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時鐘或定時目的。但也要注意,每當訪問外部數據存儲器時將跳過一個ALE脈沖。 :程序存儲允許時外部程序存儲器的讀選通信號。當AT89C52執行外部程序存儲器的指令時,每個機器周期 兩次有效,除了當訪問外部數據存儲器時, 將跳過兩個信號。 /VPP:外部訪問允許。為了使單片機能夠有效的傳送外部數據存儲器從0000H到FFFH單元的指令, 必須同GND相連接。需要主要的是,如果加密位1被編程,復位時EA端會自動部鎖存。當執行部編程指令時, 應該接到V

51、CC端。XTAL1:振蕩器反相放大器以與部時鐘電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.3 信號調理與放大整形模塊2.3.1 工作原理放大整形系統包括衰減器、跟隨器、放大器、施密特觸發器。它將正弦輸入信號Vx整形成同頻率方波Vo,幅值過大的被測信號經過分壓器分壓送入后級放大器,以避免波形失真。由運算放大器構成的射級跟隨器起阻抗變換作用,使輸入阻抗提高。同相輸入的運算放大器的放大倍數為(R3+R4)/R3,改變R3的大小可以改變放大倍數。系統的整形電路由施密特觸發器組成,整形后的方波送至單片機以便計數。由于輸入的信號幅度是不確定、可能很大也有可能很小,這樣對于輸入信號的測量就不方便

52、了,過大可能會把器件燒毀,過小可能器件檢測不到,所以在設計中采用了這個信號調理電路對輸入的波形進行阻抗變換、放大限幅和整形,信號調理部分電路具體實現電路原理圖和參數如下圖3所示:4 圖3 信號處理圖中D1D4為肖特基二極管(DIODE),本設計中選用IN4148。D5為穩壓二極管,本設計選用的穩壓二極管IN4625,其中R1、R2、R5、R6為10K,R4為150K,R3為500K的電位器。52.3.2 信號放大仿真 下圖為當R3=50K時輸入信號頻率為100Hz,幅度為1V在輸入端和R1左端測得的信號仿真圖,由運算放大器的放大倍數為(R3+R4)/R3可得到放大后的頻率不變,幅度放大了四倍。

53、 圖4 信號放大仿真2.3.3 信號轉換成方波后的仿真圖下圖為當R3=50K時輸入信號頻率為100Hz,幅度為1V在輸出端測得的仿真波形圖,頻率不變,幅度為5V。 圖5 轉換方波2.3.4 LF353雙運算放大器簡介 集成電路運算放大器是一種高電壓增益、高輸入電阻和低輸出電阻的多級直接耦合放大電路,它的類型很多,電路也不一樣,但結構具有共同之處,圖6表示集成運放的部電路組成原理框圖。圖中輸入級一般是由BJT、JFET或MOSFET組成的差分式放大電路,利用它的對稱性可以提高整個電路的共模抑制比和其他方面的性能,它的兩個輸入端構成整個電路的反相輸入端和同相輸入端7。電壓放大級一般由電壓跟隨器或互

54、補電壓跟隨器所組成,以降低輸出電阻,提高帶負載能力。偏置電路是為各級提供合適的工作電流。此外還有一些輔助環節,如電平移動電路、過載保護電路以與高頻補償環節等。 + 差分 電壓放大級 輸出級 Vid - 輸入級 偏置電流 圖6集成電路運算放大器部組成原理框圖 運算放大器分為通用型和專用型集成電路運算放大器,741型集成運算放大器即為通用型,其電路主要包括偏置電路(24個BJT、10個電阻和一個電容組成)、輸入級、中間級和輸出級四個部分,整個電路要求當輸入信號為零時輸出也為零。放大器主要參數的設置不管是哪種類型都極其重要,直接影響到電路的實際功能。 集成電路運算放大器在近幾年得到迅速發展,除了具有

55、高電壓增益的通用型外,還具有性能更優良和具有特殊功能的集成運放,可分為高輸入阻抗、低漂移、高精度、帶寬、低功耗、高壓、大功率和程控型等專用型集成運算放大。 題中用到的LF353放大器屬于用型集成運算放大,該運算放大器部有偏移電壓和FET輸入裝置(雙向場效應管),有較大的反向擊穿電壓,因此,當大差動輸入電壓時,可以很容易容納增加的輸入電流。圖7 典型接法圖8部結構顯示模塊2.4.11602ALCD與單片機的接法 單片機與1602ALCD的連接如圖9所示圖9 單片機與LCD接法1602ALCD采用標準的16腳接口,本設計具體接法如下:第1腳:VSS為地電源(圖中未畫出)。第2腳:VDD接5V正電源

56、(圖中未畫出)。第3腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,本設計使用時通過一個10K的電位器調整其對比度(圖中未畫出)。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。 第714腳:D0D7為8位雙向數據線。 第1516腳:空腳(圖中

57、未畫出)。由于AT89S52單片機的P0口部沒有上拉電阻故在單片機與1602ALCD之間需加上上拉電阻(圖中未標出),本設計中選用4.7K的電阻。2.4.2 1602ALCD基本技術:1602液晶模塊部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,如表1所示,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A” 1602液晶模塊部的控制器共有11條控制指令,如下表所示, 它的讀寫操作、屏幕和光標的

58、操作都是通過指令編程來實現的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置。指令2:光標復位,光標返回到地址00H。指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。指令6:功能設置命令 DL:高電平

59、時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。指令7:字符發生器RAM地址設置。指令8:DDRAM地址設置。指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。 指令10:寫數據 指令11:讀數據 液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,下表是DM-162的部顯示地址. 比如第二行第一個字符的地址是40H,

60、那么是否直接寫入40H就可以將光標定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數據應該是01000000B(40H)+10000000B(80H)=11000000B(C0H) 3 軟件設計3.1 系統工作流程圖系統工作流程如圖10 圖10系統工作流程圖3.1.1 T0的1s定時本次設計選用定時器T0完成定時功能,選用方式1時最多也只能定時顯然不能滿足定時1 S的要求,可以用下面這種方法解決:采用T0定時50 ,連續循環定時20次即可完成1 定時,用一個計數單元存放循環的次數,每一次循環單元自加1,當加到20次時則1S 定時到時。其程序

溫馨提示

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

評論

0/150

提交評論