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