




已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本科學生單片機課程設計報告題 目 基于單片機的頻率計設計 姓 名 學 號 院 (系) 工程與設計學院 專業(yè)、年級 應用電子技術教育 2012級 指導教師 楊 進 寶 課程設計成績評定表項目評分依據(jù)滿分得分設計作品電路板焊接工藝10功能完整20性能指標10程序運行可靠20人機交互友好,操作方便10設計報告內容完整10寫作規(guī)范10設計報告篇幅符合要求10實評總分 指導教師簽名 引言在設計單片機和數(shù)字電路時經常需要測量脈沖個數(shù)、脈沖寬度、脈沖周期、脈沖頻率等參數(shù),雖然使用邏輯分析儀可以很好地測量這些參數(shù),但其價格昂貴。且實現(xiàn)測量的數(shù)字化、自動化、智能化已成為各類儀器儀表設計的方向,這里介紹一種用單片機控制的、全自動、數(shù)字顯示的測量頻率的方法。頻率計是我們在電子電路試驗中經常會用到的測量儀器之一,它能將頻率用數(shù)碼管或液晶顯示器直接顯示出來,給測試帶來很大的方便,使結果更加直接;且頻率計還能對其它多種物理量進行測量,如機械振動的頻率、聲音的頻率等,都可以先轉變成電信號,然后用頻率計來測量,研究頻率計的設計與制作將會對我們的生活有很大意義?,F(xiàn)代的頻率計多是用數(shù)碼管顯示的,其結果不明確,表示也不直接,研究液晶顯示的頻率計對頻率計的發(fā)展很有意義。數(shù)字頻率計是一種用十進制數(shù)字顯示被測信號頻率的數(shù)字測量儀器,被測信號可以是正弦波,方波或其它周期性變化的信號。如配以適當?shù)膫鞲衅?,可以對多種物理量進行測試,比如機械振動的頻率,轉速,聲音的頻率以及產品的計件等等。 因此,數(shù)字頻率計是一種應用很廣泛的儀器。它的基本功能是測量正弦信號、方波信號、尖脈沖信號及其他各種單位時間內變化的物理量。它被廣泛應用于航天、電子、測控等領域。數(shù)字式頻率計是基于時間或頻率的A/D轉換原理,并依賴于數(shù)字電路技術發(fā)展起來的一種新型的數(shù)字測量儀器。由于數(shù)字電路的飛速發(fā)展,數(shù)字頻率計的發(fā)展也很快。在電子系統(tǒng)非常廣泛的應用領域內,到處可見到處理離散信息的數(shù)字電路。數(shù)字電路制造工業(yè)的進步,使得系統(tǒng)設計人員能在更小的空間內實現(xiàn)更多的功能,從而提高了系統(tǒng)的可靠性和速度??v觀現(xiàn)在的數(shù)字頻率計,其基本原理都是相同的,頻率是單位時間(1S)內信號發(fā)生周期變化的次數(shù)。如果我們能在給定的 1S 時間內對信號波形計數(shù),并將計數(shù)結果顯示出來,就能讀取被測信號的頻率。數(shù)字頻率計首先必須獲得相對穩(wěn)定與準確的時間,同時將被測信號轉換成幅度與波形均能被數(shù)字電路識別的脈沖信號,然后通過計數(shù)器計算這一段時間間隔內的脈沖個數(shù),將其換算后顯示出來。這就是數(shù)字頻率計的基本原理。但現(xiàn)在的頻率計其顯示部分都是通過LED數(shù)碼管顯示的,顯示內容是BCD碼,不直觀,若用LCD液晶來顯示,會使輸出結果更直接,便于觀察。正因為如此,所以未來數(shù)字頻率計的發(fā)展必定會向用液晶顯示的方向發(fā)展。1 緒論1.1 研究背景 在電子系統(tǒng)非常廣泛的應用領域內,到處可見到處理離散信息的數(shù)字電路。數(shù)字電路制造工業(yè)的進步,使得系統(tǒng)設計人員能在更小的空間內實現(xiàn)更多的功能,從而提高了系統(tǒng)的可靠性和速度。集成電路的類型很多,從大的方面可以分為模擬電路和數(shù)字集成電路兩大類。數(shù)字集成電路廣泛用于計算機、控制與測量系統(tǒng),以及其它電子設備中。一般說來,數(shù)字系統(tǒng)中運行的電信號,其大小往往并不改變,但在實踐分布上卻有著嚴格的要求,這是數(shù)字電路的一個特點。數(shù)字集成電路作為電子技術最重要的基礎產品之一,已廣泛地深入到各個應用領域。測量頻率是電子測量技術中最常見的測量之一,不少物理量的測量, 如時間、速度等都涉及到或本身可轉化為頻率的測量。數(shù)字頻率計是用數(shù)字顯示被測信號頻率的儀器,被測信號可以是正弦波、方波或其它周期性變化的信號,如配以適當?shù)膫鞲衅?,可以對多種物理量進行測試,比如機械振動的頻率,轉速,聲音的頻率以及產品的計件等等。 因此,數(shù)字頻率計是一種應用很廣泛的儀器。1.2 發(fā)展現(xiàn)狀 數(shù)字頻率計發(fā)展到現(xiàn)在,有基于CPLD的數(shù)字頻率計的設計,基于VHDL語言的數(shù)字頻率計的設計,還有基于單片機的簡易數(shù)字頻率計等。CPLD是一種新興的高密度大規(guī)模可編程邏輯器件,它具有門陣列的高密度和PLD器件的靈活性和易用性,目前已成為一類主要的可編程器件;可編程器件的最大特點是可通過軟件編程對其器件的結構和工作方式進行重構,能隨時進行設計調整而滿足產品升級,使得硬件的設計可以如軟件設計一樣方便快捷,從而改變了傳統(tǒng)數(shù)字系統(tǒng)及用單片機構成的數(shù)字系統(tǒng)的設計方法、設計過程及設計概念,使電子設計的技術操作和系統(tǒng)構成在整體上發(fā)生了質的飛躍。VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,超高速集成電路硬件描述語言)誕生于1982年,是由美國國防部開發(fā)的一種快速設計電路的工具,目前已經成為IEEE(TheInstituteofElectricalandElectronicsEngineers)的一種工業(yè)標準硬件描述語言;相比傳統(tǒng)的電路系統(tǒng)的設計方法,VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(ToptoDown)和基于庫(Library Based)的設計的特點。單片機技術在短短的20余年間已發(fā)展成為計算機技術中一個非常有活力的分支,它有自己的技術特征、規(guī)范、發(fā)展道路和應用環(huán)境。1.3 單片機的發(fā)展目前計算機硬件技術向巨型化、微型化和單片化三個方向發(fā)展。自1975年美國德克薩斯儀器公司第一塊單片機芯片TMS-1000問世以來,在短短的30余年間,單片機技術已發(fā)展成為計算機技術中一個非常有活力的分支,它有自己的技術特征、規(guī)范、發(fā)展道路和應用環(huán)境。按單片機的生產技術和應用對象,單片機先后經歷了4位機、8位機、16位機、32位機幾個有代表性的發(fā)展階段。單片機與通用微機相比較,在結構、指令設置上均有其獨特之處,其主要特點有:1) 單片機的存儲器ROM和RAM是嚴格區(qū)分的,ROM稱為程序存儲器,只存放固定常數(shù)及數(shù)據(jù)。RAM則為數(shù)據(jù)存儲器,用于工作區(qū)及存放用戶數(shù)據(jù)。2) 采用面向控制的指令系統(tǒng)。3) 單片機的輸入/輸出引腳通常是多功能的。4) 單片機的外部擴展能力強。從80年代單片機被引入我國,單片機已廣泛地應用于電子設計中。單片機的應用迅速發(fā)展,其性價比高,大量的外圍接口電路,使基于單片機的電子系統(tǒng)設計方便,周期縮短,而且不斷發(fā)展。新型單片機支持高級語言,進一步延伸了其發(fā)展空間。2方案論證與選擇2.1 方案一 基于VHDL語言的頻率計的設計設計的基于VHDL語言頻率計的系統(tǒng)原理框圖系統(tǒng)原理框圖如圖2.1所示。小 數(shù) 點閘門信號待測信號啟 停 信 號譯碼顯示電路計 數(shù) 器 開 關 控 制標 準 信 號 發(fā) 生 器時鐘量程選擇鎖 存 器使能1K輸出使能鎖存信號計數(shù)控制器分 頻 器分頻器閘門信號100Hz或10Hz圖2.1 設計的基于VHDL語言頻率計的系統(tǒng)原理框圖各模塊說明如下:(1) 標準信號發(fā)生器, 開關控制電路。標準信號發(fā)生器產生1kHz 基準信號。開關控制電路對鍵盤輸入的啟停信號進行處理 (2)分頻器當收到使能信號, 分頻器啟動, 將標準1kHz 信號經3次10分頻, 得到100Hz, 10Hz, 1Hz 信號。1kHz, 100Hz, 10Hz 信號作為計數(shù)器閘門信號來控制計數(shù), 以實現(xiàn)不同量程。 (3) 計數(shù)控制器計數(shù)控制模塊將輸入的分頻信號處理, 產生計數(shù)閘門信號、計數(shù)清零信號和鎖存信號。(4) 計數(shù)器采用3個十進制計數(shù)器級聯(lián)作為計數(shù)模塊。閘門信號與待測信號相與作為計數(shù)輸入。計數(shù)結果直接輸出給鎖存器。 (5)鎖存器每當鎖存使能信號來臨, 鎖存器便將鎖存結果讀入、鎖存。鎖存器還完成量程選擇功能。鎖存器還根據(jù)當前量程, 選擇合適的小數(shù)點位置輸出。(6)譯碼顯示電路由于小數(shù)點由鎖存器輸出, 故在此僅考慮數(shù)碼管的7段驅動,7段譯碼器將計數(shù)值譯成相應的7 段數(shù)碼驅動值。2.2 方案二 基于單片機的頻率計的設計設計的基于單片機頻率計的原理框圖如圖2.2所示。 液 晶 顯 示 模 塊 1602AT89C51 單 片 機復位電路時鐘電路被測信號圖2.2 設計的基于單片機頻率計的原理框圖復位電路采用上電復位方式,每次單片機上電工作時使單片機處于復位狀態(tài),即初始狀態(tài),為測量頻率作好準備。時鐘電路中片內高增益反相放大器通過XTAL1、XTAL2外接作為反饋元件的晶振(呈感性)與電容組成的并聯(lián)諧振回路構成一個自激振蕩器向內部時鐘電路提供振蕩時鐘,由此向單片機提供振蕩脈沖。AT89C51單片機內部具有2個16位的定時器/計數(shù)器,并可以在定時或計數(shù)溢出時產生中斷。將被測信號通過P3.5口送入單片機,將T0設置為定時方式,每50ms產生一次中斷,產生20次中斷所用時間正好為1S,將T1設置為計數(shù)方式,T1的初值設置為0,計65535個脈沖后產生一次溢出中斷,在T1中斷溢出時對溢出次數(shù)進行計數(shù)(計數(shù)值為N)。1S內T1計的總的脈沖數(shù)為65535NTH1256TL1,這個數(shù)值就是被測信號的頻率值。單片機計的脈沖數(shù)值經過轉換送到液晶顯示模塊1602,從而顯示被測信號的頻率,測量結果用十進制表示,很直接。2.3 方案的選擇基于VHDL語言的頻率計設計的優(yōu)點:VHDL語言,對設計的描述具有相對獨立性, 設計者可以不懂硬件結構, 降低了硬件電路設計難度。利用EDA工具maxplus II 對源程序進行編譯、選配、優(yōu)化、邏輯綜合, 自動地把VHDL描述轉變成門級電路, 進而完成電路分析、糾錯、驗證、自動布局布線、仿真等各種測試工作。最后通過編程電纜下載數(shù)據(jù)流, 將所設計內容下載到所選中的FPGA器件中, 即完成設計工作。這種設計方法減少了電路設計的時間和可能發(fā)生的錯誤, 降低了開發(fā)成本?;赩HDL語言的頻率計設計的缺點:FPGA大部分是基于SRAM編程,編程數(shù)據(jù)信息在系統(tǒng)斷電時會丟失,每次上電時需從器件的外部存儲器或計算機中將編程數(shù)據(jù)寫入,布線結構和邏輯實現(xiàn)復雜,其編程信息需存放在外部存儲器上,需外部存儲器芯片,且使用方法復雜,保密性差?;趩纹瑱C的頻率計的設計的優(yōu)點:單片機在控制領域中有很多優(yōu)點,如體積小、成本低、運用靈活、抗干擾能力強,可以方便地實現(xiàn)多機和分布式控制。并且利用單片機設計的頻率計原理框圖簡單,所用元器件少,電路不易出錯,其程序存放在內部存儲器上,不需要外部存儲器芯片,使用方法簡單。且單片機便宜、穩(wěn)定、開發(fā)簡單、通用性好。基于單片機的頻率計的設計的缺點:所測信號的頻率范圍窄,若要擴大頻率范圍需外加分頻器。綜合比較上述兩種方案,選擇用單片機來設計頻率計,顯示部分用液晶顯示模塊,以使測量結果更加直接、明確。3基于單片機的液晶顯示頻率計的設計3.1系統(tǒng)硬件電路的設計3.1.1 單片機的管腳AT89C51單片機的管腳排部如圖3.1所示。圖3.1 AT89C51單片機的管腳排布主電源引腳VCC(40腳):接+5V電源正端。VSS(20腳):接+5V電源地端。1、外接晶體引腳XTAL1(19腳):接外部石英晶體的一端。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。XTAL2(18腳):接外部石英晶體的另一端。在單片機內部,它是片內振蕩器的反相放大器的輸出端。輸入/輸出引腳P0口(3932腳):P0.0P0.7統(tǒng)稱為P0口,在不接片外存儲器與不擴展I/O口時,可作為準雙向輸入/輸出口。P1口(18腳):P1.0P1.7統(tǒng)稱為P1口,可作為準雙向輸入/輸出口使用。P2口(2128腳):P2.0P2.7統(tǒng)稱為P2口,一般可作為準雙向輸入/輸出口使用;在接有片外存儲器或擴展I/O口且尋址范圍超過256字節(jié)時,P2口用作高8位地址總線。P3口(1017腳):P3.0P3.7統(tǒng)稱為P3口,除作為準雙向輸入/輸出口使用,還可以將每一位用于第二功能??刂凭€ALE/ (30腳):地址鎖存有效信號輸出端。(29腳):片外程序存儲器讀選通信號輸出端,低電平有效。RST/VPD(9腳):RST即為RESET,VPD為備用電源。該引腳為單片機的上電復位或掉電保護端。/VPP(31腳):EA為片外存儲器選用端。該引腳有效(低電平)時,只選用片外程序存儲器,否則單片機上電或復位后選用片內程序存儲器。3.1.2 單片機的外圍電路1)時鐘電路單片機的定時控制功能是用片內的時鐘電路和定時電路來完成的,而片內的時鐘產生有兩種方式:內部時鐘方式和外部時鐘方式,實際中常應用內部時鐘方式。設計的內部時鐘方式圖如圖3.2所示。XTAL1單 片 機C1C230PF30PFXTAL2圖3.2 設計的內部時鐘方式圖電容在22PF33PF之間選擇,起微調作用,在此采用30PF。晶振可采用6MHz或12MHz,但是若用6MHz的晶振,所測頻率范圍太窄,最高只能測到250KHz,用12MHz的晶振,最高頻率可測到500KHz,故在此選用12MHz的晶振。2)復位電路單 片 機單片機的復位電路可采用上電復位或按扭復位,實際中常應用上電復位的方式,設計的上電復位方式圖如圖3.3所示。10FRST10K 圖3.3 上電復位方式圖3.1.3 液晶顯示模塊1602液晶顯示器(LCD)具有顯示信息豐富、功耗低、體積小、重量輕、超薄等許多其他顯示器無法比擬的優(yōu)點,近幾年來被廣泛用于單片機控制的智能儀器、儀表和低功耗電子產品中。LCD型顯示器的構成原理很簡單,在兩片透明絕緣的有機薄膜或者玻璃之間均勻充填著液晶流體,底層透明薄膜上鍍有一層導電體,而頂層透明薄膜上則按需要的形狀敷有透明的導電電極,當電極通電后,就與下層導電體之間(約10m)形成一個電場,由于這個電場的作用,其間的液晶體的透光狀況就發(fā)生了變化,從而對外來光線產生了吸收作用,使人們看見了與電極形狀相同的字形顯示。1602采用標準的16腳接口,從該模塊的正面看,引腳排列從左向右為:116腳,1602的管腳排部如圖3.4所示。16151413121110987654321 圖3.4 1602的管腳排部其中:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。 第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。 第1516腳:空腳。3.1.4 硬件電路原理圖設計的系統(tǒng)硬件電路原理圖如圖3.5所示。+5V P2.0 P2.1 P2.2RST P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P3.5XTAL1 XTAL2 +5VVCCRSRW VDDED0D1 VLD2D3D4 D5D6 VSSD7 液 晶 顯 示 模 塊 1602AT89S51 單 片 機VSS被測信號 圖3.5 系統(tǒng)硬件電路原理圖硬件電路圖中,單片機的管腳必須接高電平,因為接低電平時只選用片外程序存儲器,而試驗所用的是片內程序存儲器。液晶顯示器1602的VL管腳必須接一個電位器來調節(jié),因為VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,對比度過弱時,看不到屏幕上顯示的數(shù)據(jù)。硬件電路中所選用的元器件的規(guī)格/型號見附錄B。3.2 系統(tǒng)軟件的設計3.2.1 定時器/計數(shù)器工作方式的設置定時器/計數(shù)器T0、T1都有四種工作方式,可通過程序對TMOD設置選擇。TMOD的低四位用于定時器/計數(shù)器0,高四位用于定時器/計數(shù)器1。TMOD的位定義如圖1.1所示。D5D2D1D0D7D6D4D3 GATEM1M0GATEC/M1M0C/ 圖3.6 TMOD的位定義C/T:定時或計數(shù)功能選擇位,當C/T1時為計數(shù)方式;當C/T0時為定時方式。M1、M0:定時器/計數(shù)器工作方式選擇位。GATE:門控位,用于控制定時器/計數(shù)器的啟動是否受外部中斷請求信號的影響。一般情況下GATE0。當M1M0=00時,定時器/計數(shù)器設定為工作方式0,構成13位定時器/計數(shù)器。計數(shù)值由下式確定:N=8192-X,式中N為計數(shù)值,X是THX、TLX的初值。計數(shù)范圍為18192。定時時間由下式確定:T=N Tcy =(8192-X)Tcy,式中Tcy為單片機的機器周期。如果振蕩頻率為12MHZ,則Tcy=1us,定時范圍為18192us。當M1M0=01時,定時器/計數(shù)器設定為工作方式1,構成16位定時器/計數(shù)器。在方式1時,計數(shù)器的計數(shù)值由下式確定:N=65536-X,計數(shù)范圍為165536。定時器的定時時間由下式確定:T=N Tcy =(65536-X)Tcy,如果振蕩頻率為12MHZ,則Tcy=1us,定時范圍為165536 us。當M1M0=10時,定時器/計數(shù)器設定為工作方式2。方式2是自動重裝初值的8位定時器/計數(shù)器。在方式2時,計數(shù)器的計數(shù)值由下式確定:N=256-X,計數(shù)范圍為1256。定時器的定時時間由下式確定:T=N Tcy =(256-X)Tcy,如果振蕩頻率為12MHZ,則Tcy=1us,定時范圍為1256 us.當M1M0=11時,定時器/計數(shù)器設定為工作方式3。方式3只適用于定時器/計數(shù)器T0。當T0工作在方式3時,TH0和TL0被分成兩個獨立的8位計數(shù)器。方式3下定時器/計數(shù)器的定時、計數(shù)的范圍和定時、計數(shù)值的確定同方式2。在試驗中需將T0設置為定時方式,將T1設置為計數(shù)方式;定時器T0定時50ms,即50000us,需選用工作方式1,即M1M0=01,因此,在編制程序時,將TMOD的高四位設為0101,低四位設為0001。3.2.2 定時器/計數(shù)器開啟/關閉的設置定時器/計數(shù)器的開啟和關閉可通過控制寄存器TCON來設置, TCON的位定義如圖3.7所示。D0D1D2D3D4D5D6D7TF1TR1TF0TR0IE1IT1IE0IT0圖3.7 TCON的位定義TF0(TF1):T0(T1)定時器/計數(shù)器溢出中斷標志位。當T0(T1)計數(shù)溢出時,由硬件置位,并在允許中斷的情況下,向CPU發(fā)出中斷請求信號,CPU響應中斷轉向中斷服務程序時,由硬件自動將該位清零。TR0(TR1):T0(T1)運行控制位。當TR0(TR1)1時啟動T0(T1);TR0(TR1)0時關閉T0(T1)。該位由軟件進行設置。TCON的低四位與外部中斷有關。編寫程序時,若需啟動T0(T1),通過指令SETB TR0 或SETB TR1將TR0(TR1)設為1,需關閉T0(T1),通過指令CLR TR0 或CLR TR1將TR0(TR1)設為0。3.2.3 中斷的設置所謂中斷是指CPU對系統(tǒng)中或系統(tǒng)外發(fā)生的某個事件的一種響應過程,即CPU暫時停止現(xiàn)行程序的執(zhí)行,而自動轉去執(zhí)行預先安排好的處理該事件的服務子程序。當處理結束后,再返回到被暫停程序的斷點處,繼續(xù)執(zhí)行原來的程序。實現(xiàn)這種中斷功能的硬件系統(tǒng)和軟件系統(tǒng)統(tǒng)稱為中斷系統(tǒng)。試驗中涉及到的T0或T1的中斷,中斷的控制可通過中斷允許寄存器IE來設置。IE的位定義如圖3.8所示。D3D5D6D0D1D2D4D7EAET2ESETIEX1ET0EX0圖3.8 IE的位定義EA:中斷允許總控位。EA0,屏蔽所有的中斷請求;EA=1,開放中斷。EA的作用是使中斷允許形成兩級控制。即各中斷源首先受EA位的控制;其次還要受各中斷源自己的中斷允許總控位控制。ET2:定時器/計數(shù)器T2的溢出中斷允許位,只用于52子系列。ES: 串行口中斷允許位。ES0,禁止串行口中斷;ES1允許串行口中斷。ET1:定時器/計數(shù)器T1的溢出中斷允許位。ET10,禁止T1中斷;ET11,允許T1中斷。EX1:外部中斷1的中斷允許位。EX10,禁止外部中斷1中斷;EX11,允許外部中斷1中斷。ET0:定時器/計數(shù)器T0的溢出中斷允許位。ET00,禁止T0中斷;ET01,允許T0中斷。EX0:外部中斷0的中斷允許位。EX00,禁止外部中斷0中斷;ET01,允許外部中斷0中斷。試驗中需開中斷允許總控位,需允許定時器T0和T1中斷,因此在編程時使EA=1,使ET01且ET11。中斷源有多種, 每個中斷源的優(yōu)先級可通過中斷優(yōu)先級寄存器IP進行設置并管理。IP的位定義如圖3.9所示。D0D1D2D3D4D5D6D7PT2PSPT1PX1PT0PX0 圖3.9 IP的位定義PT2: 定時器/計數(shù)器T2的中斷優(yōu)先級控制位。PS: 串行口的中斷優(yōu)先級控制位。PT1:定時器/計數(shù)器T1的中斷優(yōu)先級控制位。PX1:外部中斷INT1的中斷優(yōu)先級控制位。PT0:定時器/計數(shù)器T0的中斷優(yōu)先級控制位PX0:外部中斷INT0的中斷優(yōu)先級控制位。試驗中為提高測量結果的準確度,需要將T1的中斷設置為優(yōu)先,通過指令SETB PT1來實現(xiàn)。3.2.4 液晶顯示模塊1602內部的控制指令 1602液晶模塊內部的控制器共有11條指令,控制指令表如表3.1所示:表3.1 控制指令表指 令RSR/WED7D6D5D4D3D2D1D0清顯示00100000001光標返回0010000001*置輸入模式001000001I/DS顯示開/關控制00100001DCB光標或字符移位0010001S/CR/L*置功能001001DLNF*置字符發(fā)生存儲器地址00101字符發(fā)生存儲器地址(AGG)置數(shù)據(jù)存儲器地址0011顯示數(shù)據(jù)存儲器地址(ADD)讀忙標志或地址011BF計數(shù)器地址(AC)寫數(shù)到CGRAM或DDRAM101要寫的數(shù)從CGRAM或DDRAM讀數(shù)111讀出的數(shù)據(jù) 它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置。 指令2:光標復位,光標返回到地址00H。 指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標 。指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符 (有些模塊是 DL:高電平時為8位總線,低電平時為4位總線)。指令7:字符發(fā)生器RAM地址設置 。指令8:DDRAM地址設置 。指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù) 。指令11:讀數(shù)據(jù) 。在對液晶顯示模塊1602寫入指令或寫入數(shù)據(jù)前,需要進行初始化,如清屏幕,光標返回到00H位置,開顯示,將液晶模塊設置為雙行顯示等。編程時,要根據(jù)表3.1來編制程序,通過對RS、RW、D0-D7設置不同的高低電平來實現(xiàn)不同的功能。3.3 系統(tǒng)軟件設計中的主要流程圖設計的主程序和T0中斷服務子程序的流程圖如圖3.10所示。 設計的數(shù)據(jù)處理子程序和T1中斷子程序的流程圖如圖3.11所示。 T0中斷服務子程序中斷主程序開始設置T0、T1的工作方式LCD的初始化89C51的初始化設置SP指針地址關閉T0定時器重新賦初值TIMCOUNT加1P1.4取反產生自測信號TIMCOUNT=20?開啟T0、T1關閉T1計數(shù)器延時120MS開啟T1、T0定時器/計數(shù)器2AH單元清零T1存儲空間清零將數(shù)值存入存儲單元TIMCOUNT清零ASC碼的轉換及結果顯示在1602上三字節(jié)二進制整數(shù)轉換成四字節(jié)BCD碼中斷返回圖3.10 設計的主程序和T0中斷服務子程序的流程圖數(shù)據(jù)處理子程序 T1中斷服務子程序開始開始2AH單元地址加1清出口單元中斷返回三字節(jié)二進制數(shù)據(jù)帶進位依次左移一位十進制調整保存出口單元調整后的數(shù)據(jù)原數(shù)據(jù)左移24次?NY子程序返回圖3.11 設計的數(shù)據(jù)處理子程序和T1中斷服務子程序的流程圖3.4 系統(tǒng)軟件設計中的主要子程序3.4.1 T1計數(shù)器中斷服務子程序 根據(jù)圖3.11中的T1中斷服務子程序流程圖設計的T1計數(shù)器中斷服務子程序如下。 TIMER1: INC 2AH RETI3.4.2 T0定時器中斷服務子程序 根據(jù)圖3.10中的T0中斷服務子程序流程圖設計的T0定時器中斷服務子程序如下。 TIMER_INT: CLR TR0 MOV TL0, TIMER_L MOV TH0, TIMER_H INC TIMCOUNT MOV A , TIMCOUNT CPL P1.4 CJNE A, #20H,T_END CLR TR1 MOV TIMCOUNT ,#00H; MOV INT_L, TL1 MOV INT_H, TH1 MOV INT_G, 2AH MOV TH1, #00H MOV TL1, #00H MOV 2AH, #00H SETB TR1 SETB TR0 RETI3.4.3 數(shù)據(jù)處理子程序根據(jù)圖3.11中的數(shù)據(jù)處理子程序流程圖設計的數(shù)據(jù)處理子程序如下。SBIN_SBCD:CLR A MOV T_G, A MOV T_H, A MOV T_M, A MOV T_S, A MOV R5, INT_G MOV R7, INT_L MOV R6, INT_H MOV R2, #24 CLR CSBIN_SBCD1: MOV A, R7 RLC A MOV R7, A MOV A, R6 RLC A MOV R6, A MOV A, R5 RLC A MOV R5, A MOV A, T_S ADDC A, T_S DA A MOV T_S, A MOV A, T_M ADDC A, T_M DA A MOV T_M, A MOV A, T_H ADDC A, T_H DA A MOV T_H, A MOV A, T_H ADDDC A, T_H DA AMOV T_G, AMOV A, T_GDA AMOV T_G, ADJNZ R2, SBIN_SBCD1POP PSWRET 總的源程序見附錄A3.5程序的編譯、仿真3.5.1在Keil環(huán)境下的程序編寫1)建立一個新工程 單擊 Project 菜單,在彈出的下拉菜單中選中 New Project選項,然后選擇你要保存的路徑,輸入工程文件的名字,比如保存到 C51 目錄里,工程文件的名字為 C51 如下圖所示,然后點擊保存.保存新工程的界面圖如圖3.12所示。圖3.12保存新工程的界面圖完成上述步驟后會出現(xiàn)一對話框,選擇需要的單片機型號,然后點擊確定。2)建立一個新的文件單擊“File”菜單,再在下拉菜單中單擊“New”選項,此時光標在編輯窗口里閃爍,這時可以鍵入應用程序了,但應首先保存空白的文件,單擊菜單上的“File”,在下拉菜單中選中“Save As”選項單擊,屏幕如下圖所示,在“文件名”欄右側的編輯框中,鍵入欲使用的文件名,同時,必須鍵入正確的擴展名。注意,如果用語言編寫程序,則擴展名為(.c);如果用匯編語言編寫程序,則擴展名為(.asm),然后單擊“保存”按扭。回到編輯界面后,單擊“Target 1”前面的“”號,然后在“Source Group 1”上擊右鍵,添加文件的界面圖如圖3.13所示。 圖3.13 添加文件的界面圖然后單擊“Add File to Group Source Group 1”, 選中要添加的文件,然后單擊“Add ”3)輸入源程序,進行編譯、仿真輸入源程序后,單擊“project”按鈕下的“Build project, translate”按鈕,程序無錯誤時界面圖如圖3.14所示。 圖3.14 程序無錯誤時的界面圖4)單擊“Project”菜單,再在下拉菜單中單擊options for targettarget1,出現(xiàn)選擇晶振頻率的界面圖如圖3.15所示。圖3.15 選擇晶振頻率的界面圖把晶振頻率改為12.0,且選中“Use On-chip ROM”,然后單擊“output選項,出現(xiàn)可選擇生成HEX文件的界面圖如圖3.16所示:圖3.16 選擇生成HEX文件的界面圖 單擊圖3.7中的“Create HEX File” 選項,使程序編譯后產生 HEX 代碼。3.5.2在PROTEUS環(huán)境下的仿真結果當輸入信號頻率為1Hz時的顯示結果當輸入信號頻率為500KHz時的顯示結果 3.6電路的調試把程序燒錄到單片機后,在面包板上按原理圖連接好,卻沒有出現(xiàn)想要的功能,按順序檢查: 1)電路圖的連接,經檢查發(fā)現(xiàn)單片機的31管腳沒有接高電平,這在軟件實現(xiàn)時也沒有接,被默認為是高電平,但在硬件中,若不接高電平,該管腳為片外程序存儲器選用端,就無法讀取單片機內的程序,所以未能實現(xiàn)所需功能。 2)31管腳接上高電平時,液晶顯示器1602仍未能顯示所測頻率,推測可能是電位器的調節(jié)問題,在適當?shù)恼{節(jié)接入電阻值后,1602顯示了所測的頻率。3)把1602所顯示的頻率與實際的頻率相比較,發(fā)現(xiàn)誤差較大,經思考發(fā)現(xiàn)在編寫程序時對定時器的定時50ms有誤差,沒有考慮到定時器與計數(shù)器的關閉不是同時的,而有一定的時間差,這個時間差是因執(zhí)行每一條指令時引起的。然后在程序中把定時時間適當?shù)目s小到49.985ms,發(fā)現(xiàn)誤差會變小,能達到要求。檢查無誤后,接通電源,LCD能顯示頻率,顯示范圍是1500KHz,用信號發(fā)生器檢測,誤差不超過2Hz。組裝的頻率計實物圖如圖3.17所示。 圖3.17 組裝的頻率計實物圖4結論基于AT89C51單片機的液晶顯示頻率計包括單片機控制模塊和液晶顯示模塊,調試后的頻率計可測量方波、正弦波、脈沖信號等波形,測量最高頻率為500KHz,誤差為2Hz。本設計的創(chuàng)新點是:顯示部分采用液晶顯示模塊1602,顯示結果直接且能顯示多行多位,功耗小,使用壽命長。本設計的不足之處是:測量頻率范圍窄,需要進一步擴展。5致謝從選擇課題到課程設計的順利結束,老師和同學給予了我熱心的幫助,在這里請接受我誠摯的謝意。首先,要特別感謝我的指導教師聶翔副主任,從查找資料到設計結束,聶老師都給予了我悉心的指導和幫助。在設計與調試過程中,聶老師淵博的理論知識和豐富的實際經驗給了我許多啟發(fā)式的指點,還有他嚴謹?shù)闹螌W態(tài)度和認真的工作精神,也使我受益匪淺。其次,還要感謝我們這個小組的其他兩位同學,他們在資料的查閱、整理和設計的過程中給予了我極大的幫助,正因為有了他們的參與,我們這個團隊才能順利地完成課程設計的各項任務。除此之外,還要感謝班上其他幫助過我的同學,感謝他們在整個過程中給予我們的鼓勵與幫助。最后,要感謝電信工程系電子教研室的老師,他們?yōu)槲覀兊恼n程設計提供了良好的實驗環(huán)境,全天時的實驗室開放方便了大家的硬件和軟件調試。電信系和實驗室的指導老師對我們進行的不厭其煩的輔導修改以及必要的批評指正,對設計的成功給予了很大的幫助。再次衷心的感謝每一位指導并幫助過我的老師和同學。 參考文獻1貴國慶.1602液晶顯示頻率計J.電子制作,2006,149(8):26-27.2陸容.液晶顯示器(LCD)顯示驅動原理及其應用J.電子制作,2005,134(5):58-59.3李建忠.單片機原理及應用 M.西安電子科技大學出版社,2002,3-40.5何立民.MCS-51系列單片機應用系統(tǒng)設計M.北京航空航天大學出版社,1995,30-34.6吳海州,王文理. 基于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年產品開發(fā)計劃書6
- 耳鼻喉科藥物行業(yè)跨境出海項目商業(yè)計劃書
- 書房墻面書架創(chuàng)意設計創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 人教版九年級英語自主學習推進計劃
- 傳動部件高效電池技術創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 雪地雪橇野餐行業(yè)跨境出海項目商業(yè)計劃書
- 藥品及健康產品互聯(lián)網批發(fā)AI智能設備行業(yè)跨境出海項目商業(yè)計劃書
- 機場綠化養(yǎng)護人員專項安排計劃
- 西師版四年級數(shù)學上冊學期總結計劃
- 鄉(xiāng)鎮(zhèn)中學2025年心理健康教育工作計劃
- 偵察基礎知識課件
- 某集團公司薪酬管理制度
- 2025-2030中國網球行業(yè)發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025中國國新控股有限責任公司招聘7人筆試參考題庫附帶答案詳解
- 酒店客戶關系管理試題及答案
- 高壓氧試題(含答案)
- 傳染病人轉診制度
- Notre-Dame de Paris 巴黎圣母院音樂劇歌詞(中法雙語全)
- 物理學史考試題庫及答案(含各題型)
- 深靜脈血栓預防和護理評估
- 2025年海南會考試題及答案地理
評論
0/150
提交評論