單片機(jī)課程設(shè)計(jì)報告頻率計(jì)_第1頁
單片機(jī)課程設(shè)計(jì)報告頻率計(jì)_第2頁
單片機(jī)課程設(shè)計(jì)報告頻率計(jì)_第3頁
單片機(jī)課程設(shè)計(jì)報告頻率計(jì)_第4頁
單片機(jī)課程設(shè)計(jì)報告頻率計(jì)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 / 17 文檔可自由編輯打印單片機(jī)系統(tǒng)課程設(shè)計(jì)報告單片機(jī)系統(tǒng)課程設(shè)計(jì)報告 專 業(yè): 學(xué) 生 姓 名: 學(xué) 號: 指 導(dǎo) 教 師: 完成日期: 2011 年 11 月 10 日目目 錄錄2 / 17 文檔可自由編輯打印1 設(shè)計(jì)任務(wù)和性能指標(biāo)設(shè)計(jì)任務(wù)和性能指標(biāo).11.1 設(shè)計(jì)任務(wù).11.2 性能指標(biāo).12 設(shè)計(jì)方案設(shè)計(jì)方案.12.1 任務(wù)分析.12.2 方案設(shè)計(jì).13 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì).23.1 單片機(jī)的最小系統(tǒng).23.2 信號整形電路設(shè)計(jì).33.3 分頻電路設(shè)計(jì).43.4 LCD 液晶顯示 .54 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì).64.1 主程序設(shè)計(jì).65 調(diào)試及性能分析調(diào)試及性能分析.8

2、5.1 調(diào)試分析.85.1.1 軟件調(diào)試.85.1.2 硬件調(diào)試.85.1.3 系統(tǒng)功能調(diào)試.85.2 性能分析.96 心得體會心得體會.9參考文獻(xiàn)參考文獻(xiàn).11附錄附錄 1 系統(tǒng)原理圖系統(tǒng)原理圖.12附錄附錄 2 程序清單程序清單.131 / 17 文檔可自由編輯打印1 設(shè)計(jì)任務(wù)和性能指標(biāo)設(shè)計(jì)任務(wù)和性能指標(biāo)1.1 設(shè)計(jì)任務(wù)頻率計(jì)是我們經(jīng)常會用到的儀器之一,通常用來測量信號的頻率或周期,與編碼器配合也可用來測量旋轉(zhuǎn)機(jī)械設(shè)備的轉(zhuǎn)速。用單片機(jī)的定時/計(jì)數(shù)器功能可以實(shí)現(xiàn)頻率計(jì)的數(shù)字化、智能化,通過合理的硬件設(shè)計(jì)和軟件編程使測量精度達(dá)到實(shí)用化要求。1.2 性能指標(biāo)(1)測量頻率范圍 10Hz1MHz,

3、量程可自己選擇。(2)精度:1%。(3)被測信號可以是方波。(4)顯示方式為 4 位十進(jìn)制數(shù)顯示。2 設(shè)計(jì)方案設(shè)計(jì)方案2.1 任務(wù)分析頻率的測量實(shí)際上就是在 1 秒時間內(nèi)對信號進(jìn)行計(jì)數(shù),計(jì)數(shù)值就是信號頻率。用單片機(jī)設(shè)計(jì)頻率計(jì)通常可采用兩種方法:一是使用單片機(jī)自身的計(jì)數(shù)器對輸入脈沖進(jìn)行計(jì)數(shù)即得到頻率值,或?qū)斎朊}沖進(jìn)行周期測量,這種方法只能測量頻率低于單片機(jī)時鐘頻率 1/24 以下的信號;二是在單片機(jī)外部使用計(jì)數(shù)器對脈沖信號進(jìn)行計(jì)數(shù),計(jì)數(shù)值再由單片機(jī)讀取,這種方法適合于測量頻率較高的場合。由于本設(shè)計(jì)中的頻率范圍較大,這時可結(jié)合分頻電路等實(shí)現(xiàn)。2.2 方案設(shè)計(jì)按照系統(tǒng)設(shè)計(jì)的功能的要求,初步確定設(shè)計(jì)

4、系統(tǒng)由信號預(yù)處理模塊,分頻2 / 17 文檔可自由編輯打印模塊,測頻模塊和顯示模塊共四個模塊組成,電路系統(tǒng)構(gòu)成框圖如圖 2。主控芯片使用 51 系列 AT89C51 單片機(jī) 信號預(yù)處理電路 信號預(yù)處理電路中的放大器三極管實(shí)現(xiàn)對待測信號的放大,降低對待信號的幅度要求;波形變換和波形整形電路帶有施密特觸發(fā)器的反向器 7414 把放大器生成的單向脈沖變換成與 TTL/CMOS 電平相兼容的方波 分頻電路分頻電路的作用是將高頻率通過級聯(lián)的計(jì)數(shù)器,對高頻信號分頻,將分頻后的頻率信號通過數(shù)據(jù)選擇器輸出端輸出,輸入到測頻電路的信號輸入端 測頻電路分頻電路的信號輸入到以單片機(jī) 89C51 為核心的測頻電路中,

5、通過單片機(jī)的 2 個 16 位定時器/計(jì)數(shù)器,測量頻率信號的頻率 測頻電路的設(shè)計(jì)方案待測信號頻率較低時,可以選擇定時的方式測量頻率,定時器/計(jì)數(shù)器 T0設(shè)置成計(jì)數(shù)方式,測量待測信號兩個高電平之間的占空比,即半個周期的大小,計(jì)算得 f=1000000/(2*計(jì)數(shù)器值)待測信號頻率較高時,可以選擇計(jì)數(shù)的方式測量頻率,將定時器/計(jì)數(shù)器T0 設(shè)為定時器方式,定時器/計(jì)數(shù)器 T1 設(shè)為計(jì)數(shù)方式,T0 為閘門時間,記錄T0 所設(shè)定時間內(nèi),計(jì)數(shù)器 T1 記錄的數(shù)值。如 T0 定時 1 秒,T1 計(jì)數(shù)值為 M,則所測頻率為 f=M3 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)3.1 單片機(jī)的最小系統(tǒng)ATMEL 公司生產(chǎn)的 AT

6、89C51 單片機(jī)它是硬件電路的核心部分,時鐘電路晶振使用 12MHz,復(fù)位電路采取按鍵復(fù)位方式。具體連接圖 3.1 和圖 3.2。圖 3.1 單片機(jī)系統(tǒng)的時鐘電路3 / 17 文檔可自由編輯打印圖 3.2 單片機(jī)系統(tǒng)的復(fù)位電路3.2 信號整形電路設(shè)計(jì) 信號整形電路如圖所示,主要由含有施密特觸發(fā)器的反相器 7414 和放大器構(gòu)成,當(dāng)輸入信號為零或負(fù)電壓時,三極管截止,輸出高電平;當(dāng)輸入信號為正電壓時,三極管導(dǎo)通,輸出電壓隨著輸入電壓的上升而下降。零偏置放大器把如正弦波這樣的正負(fù)交替波形變化為單向脈沖,這使得頻率計(jì)既可以測量方波的頻率,也可以測量正弦波的頻率。放大器實(shí)現(xiàn)了對小信號的測量。帶施密特

7、觸發(fā)器的方向器 7414 用于把放大器生成的單向脈沖變換成與 TTL/CMOS電平相容的方波。電路接線圖如圖 3.3。圖 3.3 信號整形電路原理圖3.3 信號分頻電路設(shè)計(jì) 分頻電路主要由 3 塊 74HC4017 和數(shù)據(jù)選擇器 74151 構(gòu)成.74HC4017 是十進(jìn)制同步計(jì)數(shù)器,上一級輸出的方波加到 4017 的 CLK,當(dāng)從 4017 的 CO 輸出可以實(shí)現(xiàn)十分頻,多個4017 級聯(lián)可以擴(kuò)展分頻范圍,輸出為對稱方波,方波寬度等于待測信號的周期,從而為測4 / 17 文檔可自由編輯打印量信號周期提供基礎(chǔ)。接線圖如 3.4圖 3.4 信號分頻電路圖3.4 頻率測量電路頻率測量電路由 89C

8、51 作為信號的處理核心,如圖所示:5 / 17 文檔可自由編輯打印 圖 3.5 頻率測量電路3.5 LCD 液晶顯示顯示采用字符/圖形點(diǎn)陣LCD模組SMC1062A系列SMC1062A的特性:電參數(shù)(VDD=5.0V 10%,VSS=0V,Ta=25 )顯示內(nèi)容16 字符x 2 行字符點(diǎn)陣5 x 8 點(diǎn)驅(qū)動方式1/16DJHD162A模塊的管腳:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16VSS VCC VEE RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 BLA BLK工作時序:圖3.6 SMC1062A的工作時序圖6 / 17 文檔可自

9、由編輯打印 4.系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)測頻軟件的實(shí)現(xiàn)是基于電路系統(tǒng)來進(jìn)行設(shè)計(jì)的。本次設(shè)計(jì)采用的是脈沖定時測頻法,所以在軟件實(shí)現(xiàn)上基本遵照系統(tǒng)的設(shè)計(jì)原理,進(jìn)行測頻。本次軟件設(shè)計(jì)語言采用C語言,在電腦上編譯通過后即可下載到電路上的實(shí)際電路中,即可實(shí)現(xiàn)頻率的測量。 7 / 17 文檔可自由編輯打印開始等待待測信號對待測信號放大整形分頻計(jì)算分頻次數(shù)計(jì)算頻率輸出系統(tǒng)初始化判斷是否分頻結(jié)束圖 4.1 系統(tǒng)程序流程圖 5 調(diào)試及性能分析調(diào)試及性能分析5.1 調(diào)試分析5.1.1 軟件調(diào)試軟件調(diào)試軟件調(diào)試主要是程序調(diào)試。對主程進(jìn)行分塊調(diào)試,即對各個子功能模塊進(jìn)行調(diào)試。具體步驟如下:(1)超聲波發(fā)射和接收及其中

10、斷程序調(diào)試。首先看計(jì)數(shù)器初值是否正確裝入,接下來通過給計(jì)數(shù)器 T0 設(shè)定一恰當(dāng)?shù)闹? / 17 文檔可自由編輯打印來調(diào)試計(jì)數(shù)器 T0 溢出中斷是否正常,結(jié)果顯示正常。其次調(diào)試計(jì)數(shù)器 T1 能否正確運(yùn)行于工作方式 2,調(diào)試結(jié)果正常。(2)測溫及溫度計(jì)算程序調(diào)試 因測溫用到了專用芯片 DS18B20,故光靠軟件,無法對其進(jìn)行完整的調(diào)試,只能調(diào)試其對溫度進(jìn)行轉(zhuǎn)換的程序。經(jīng)調(diào)試轉(zhuǎn)換符合設(shè)計(jì)思路。之后調(diào)試根據(jù)所測得的溫度計(jì)算速度的計(jì)算程序,(3)計(jì)算距離子程序調(diào)試 計(jì)算距離子程序中主要包括兩部分,一是兩字節(jié)乘兩字節(jié)乘法程序,另一個是四字節(jié)除兩字節(jié)除法程序。調(diào)試主要是通過人為設(shè)定數(shù)據(jù)存放單元中的數(shù)據(jù),檢查

11、結(jié)果是否正確,經(jīng)過幾次代數(shù)試驗(yàn),執(zhí)行功能正確。 (4)LCD 液晶顯示程序調(diào)試 因要用到液晶模塊,無法只用軟件對其進(jìn)行調(diào)試。只能結(jié)合硬件才可進(jìn)行調(diào)試。5.1.2 硬件調(diào)試硬件調(diào)試硬件調(diào)試主要是檢測硬件電路是否有短路,斷路、虛焊等。具體步驟及測試結(jié)果如下:(1)檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導(dǎo)線是否完全連接,對未連接的進(jìn)行修復(fù)。(2)參照原理圖,檢查各個器件之間的連接是否連接正確,是否存在虛焊,經(jīng)測試,各連接不存在問題。(3)以上兩項(xiàng)檢查并修復(fù)完后,給該硬件電路上電,電源指示燈點(diǎn)亮,上電正常。5.1.3 系統(tǒng)功能調(diào)試系統(tǒng)功能調(diào)試(1)調(diào)試系統(tǒng)的測溫及顯示部分,從主程序

12、中調(diào)出測溫和溫度顯示部分,下載到單片機(jī)中,給系統(tǒng)上電,觀察能否顯示溫度及能否正確顯示。溫度顯示正常。(2)調(diào)試超聲波的發(fā)射部分。將整個程序下到單片機(jī)中,用示波器觀測發(fā)送超聲波換能器上的波形。波形很微弱,幾乎沒有。分析原因可能是因?yàn)榘l(fā)射超聲波所用的 P0 口沒有上拉電阻,外接一 10K 的上拉電阻。結(jié)果還是幾乎沒有波形,只能從軟件上分析。將發(fā)送部分的程序剪出進(jìn)行軟件上的調(diào)試,發(fā)現(xiàn)程序并沒按照設(shè)計(jì)思路運(yùn)行。經(jīng)單步跟蹤,錯誤出在調(diào)用延時程序處。延時程序執(zhí)行完,并沒有返回到調(diào)用點(diǎn)。檢查延時程序,發(fā)現(xiàn)沒有相應(yīng)的“POP”與“PUSH”匹配。對程序進(jìn)行修改,再下到單片機(jī)中進(jìn)行調(diào)試??梢月犚姵暡〒Q能器發(fā)出

13、一定頻率的響聲,示波器上能明顯看到其波形。(3)對系統(tǒng)整體功能進(jìn)行調(diào)試。將完整程序下入單片機(jī)中,給系統(tǒng)上電觀察。調(diào)整測試距離,發(fā)現(xiàn)距離在 100cm 以內(nèi)能較準(zhǔn)確測出,超出 100cm 不能正常測量,并且顯示的數(shù)據(jù)不穩(wěn)定。為了盡快找出存在的問題,自行設(shè)定溫度值和計(jì)數(shù)器 T0 值,查看程序能否實(shí)現(xiàn)正常顯示及正確計(jì)算的功能。經(jīng)調(diào)試及計(jì)算,程序運(yùn)行正確,問題不在這。只能是主程序或中斷部分的問題。9 / 17 文檔可自由編輯打印5.2 性能分析性能分析首先單片機(jī)能夠正常上電和復(fù)位,液晶上電正常,通過調(diào)節(jié)外接的電位器可調(diào)節(jié)其顯示的對比度。由設(shè)計(jì)方案及測試結(jié)果可知該測距儀測溫的精度為 1,但由于測溫傳感C

14、器的安裝位置使得測溫可能不是很準(zhǔn)確。測距離的精度為 1cm,測量時測距儀與物體無直接接觸,通過調(diào)節(jié)液晶的對比度,能夠清晰地顯示測量結(jié)果。從這方面講,性能較好。從測距儀測量范圍方面來講,出步確定為在 100cm 以內(nèi)。由設(shè)計(jì)方案知該測距儀的測量范圍應(yīng)在 1000cm 以內(nèi),但由于受超聲波能量的限制,其測量范圍可能達(dá)不到,但至少能在 400500cm 之內(nèi)。但目前還未能實(shí)現(xiàn)這一目標(biāo)。并且可以明顯察覺到換能器發(fā)出超聲波的頻率隨測量距離的不同會有所改變。由于時間的限制,對測溫的精度問題沒來得及進(jìn)行校正和處理,并且,測量的范圍問題還比較模糊。6 心得體會心得體會這次單片機(jī)課程設(shè)計(jì)歷時三個星期的時間,在這

15、三個星期里我們體驗(yàn)了從設(shè)計(jì)、畫板、編程、焊板到調(diào)試的整個過程,通過此次設(shè)計(jì),使我們受到了極大的鍛煉,對團(tuán)隊(duì)合作的重要性有了深刻認(rèn)識,雖然我們面對的是一個相對簡單的課題,但由于初次進(jìn)行基于單片機(jī)的課題設(shè)計(jì),所以在設(shè)計(jì)過程中,我們遇到了一些困難,也經(jīng)歷了一次又一次的困惑,最初我們嘗試著完美化我們的設(shè)計(jì),以實(shí)現(xiàn)更多的功能和提高可操縱性,卻沒有從最基本的內(nèi)容一步步做起,沒有將核心部分放在首位。正如老師講的,正確的順序是先把核心部分做好,就像蓋房子一樣,先打地基定時計(jì)數(shù)是我們這次設(shè)計(jì)的核心,然后再一步一步擴(kuò)展,完善功能,向上蓋房子。生活實(shí)際中確實(shí)如此,做任何事,沒有打好基礎(chǔ),最終就不能有很好的發(fā)展。學(xué)習(xí)

16、也是如此,對于工科的我們數(shù)學(xué)、物理等就是我們的基礎(chǔ),往往發(fā)展的瓶頸就在基礎(chǔ)部分。今后,我們會吸收此次設(shè)計(jì)實(shí)踐收獲的寶貴經(jīng)驗(yàn),更加努力地,更加堅(jiān)定地在電子科技上一步一步腳踏實(shí)地地學(xué)習(xí)進(jìn)步。通過本次設(shè)計(jì),讓我學(xué)會了從系統(tǒng)的高度來考慮設(shè)計(jì)的方方面面,對電路的設(shè)計(jì)和研究有了更深刻的體會;讓我了解到軟件的設(shè)計(jì)是建立在對硬件了解的基礎(chǔ)上的,特別是對單片機(jī)的功能,引腳定義和內(nèi)部結(jié)構(gòu)要有較為詳細(xì)的了解,此外對電路板中所用到的各個芯片的引腳和功能,也要進(jìn)行了解;在編寫程序時,進(jìn)行模塊化設(shè)計(jì),以嚴(yán)謹(jǐn)?shù)膽B(tài)度進(jìn)行編程,避免出現(xiàn)低級錯誤,養(yǎng)成為程序添加注釋和說明的好習(xí)慣,以便自己的修改和閱讀者輕松的了解程序的各部分及整

17、體的功能??傊?,這次課程設(shè)計(jì)是我人生經(jīng)歷中的寶貴財(cái)富。參考文獻(xiàn)1 郭天祥.新概念 51 單片機(jī) C 語言教程M.北京:電子工業(yè)出版社,2009.2 胡漢才.單片機(jī)原理與接口技術(shù)M.北京: 清華大學(xué)大學(xué)出版社,2004.1-505.10 / 17 文檔可自由編輯打印3 馬忠梅,劉濱等. 單片機(jī) C 語言 Windows 環(huán)境編程寶典M. 北京: 北京航空航天大學(xué)出版社. 2003.附錄 1 系統(tǒng)原理圖11 / 17 文檔可自由編輯打印附錄 2 程序清單#include#include #include #include #define uchar unsigned char#define uin

18、t unsigned intuchar code table= Frequency is ;uchar num;sbit lcdrs=P30;sbit lcdrw=P36;sbit lcden=P37;sbit p32=P32;long int counter;long float f;/*延時函數(shù)*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);12 / 17 文檔可自由編輯打印/*LCD1602 寫指令*/void write_com(uchar com)lcdrs=0;P0=com;delay(5);lcden=1;d

19、elay(5);lcden=0;/*LCD1602 寫數(shù)據(jù)*/void write_data(uchar date)lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;/*LCD1602 初始化*/void init()lcdrs=0;lcden=0;lcdrw=0;write_com(0 x01); /*清屏*/write_com(0 x3f); /*功能設(shè)置,八位數(shù)據(jù)位,雙行顯示,字型大小 5*10 點(diǎn)陣*/write_com(0 x0c); /*顯示設(shè)置,顯示開,光標(biāo)不顯示,字符不閃爍*/ 13 / 17 文檔可自由編輯打印void mai

20、n()uchar i,n;uchar buff16;init();write_com(0 x80); for(num=0;num=15;num+) /顯示 Frequency is write_data(tablenum);delay(20);P2=0 x00;/未分頻while(1) TMOD=0X09; / 計(jì)數(shù)器 0 為工作方式 1 TH0=0; TL0=0;while(p32=1); /上升沿 TR0=1; /允許 T0 計(jì)數(shù) while(p32=0); /下降沿 14 / 17 文檔可自由編輯打印 while(p32=1); TR0=0;/禁止 T0 計(jì)數(shù),完成一個脈沖的檢測counter=TH0*256+TL0; /讀取當(dāng)前計(jì)數(shù)器的值,TL0,TH0 里邊存放計(jì)數(shù)脈沖的個數(shù),組合起來是 16 位,共計(jì) 65536 個脈沖。 /高低兩字節(jié)的二進(jìn)制數(shù)轉(zhuǎn)換為一個 16 位的整形數(shù)據(jù),即 TH0 左移 8 位后與TL0 相加 while

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論