




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、唐 山 學 院單片機原理 課 程 設 計 題 目 簡易數(shù)字電壓表的設計 系 (部) 信息工程系 班 級 08電本 3班 姓 名 學 號 指導教師 2012 年 1 月 1 日至 1 月 7 日 共 1 周 2012年 1 月 7 日課程設計成績評定表出勤情況出勤天數(shù) 缺勤天數(shù)成績評定出勤情況及設計過程表現(xiàn)(20分)課設答辯(20分)設計成果(60分)總成績(100分)提問(答辯)問題情況綜合評定 指導教師簽名: 年 月 日單片機原理 課程設計任務書一、設計題目、內(nèi)容及要求設計題目:簡易數(shù)字電壓表的設計設計內(nèi)容:1可以測量05v范圍內(nèi)的8路直流電壓值。2在4位led數(shù)碼管上輪流顯示各路電壓值或單
2、路選擇顯示,其中3位led數(shù)碼管顯示電壓值,顯示范圍為0.00v5.00v,1位led數(shù)碼管顯示路數(shù),8路分別為0-8。3測量最小分辨率為0.02v。設計要求:1進行系統(tǒng)總體設計。2完成系統(tǒng)硬件電路設計。3完成系統(tǒng)軟件設計。4撰寫設計說明書。二、設計原始資料 proteus6及keil51軟件,及其使用說明。三、要求的設計成果(課程設計說明書、設計實物、圖紙等)設計說明書一份(要求有硬件設計原理圖,仿真結果圖,源程序代碼)四、進程安排周一:查找資料,進行方案論證和系統(tǒng)硬件設計; 周二:系統(tǒng)軟件設計和編程實現(xiàn);周三:利用程序調(diào)試;周四:仿真實現(xiàn),檢查設計結果;周五:編寫設計說明書、答辯。五、主要
3、參考資料1 彭為等.單片機典型系統(tǒng)設計實例精講m.北京:電子工業(yè)出版社,20062 李群芳.單片機原理、接口及應用m.北京:清華大學出版社,2005指導教師(簽名):教研室主任(簽名):摘 要本文介紹了基于89c51單片機的一種8路輸入直流電壓測量電路,該電路采用adc0808作為a/d轉(zhuǎn)換元件,實現(xiàn)測量范圍為0v5v電壓。要求能夠依次顯示每路通道電壓值。使用4位led模塊顯示,前面一位顯示通道號,后面三位顯示測量電壓值,電壓值精確到小數(shù)點后兩位,測量最小分辨率為0.02v。本系統(tǒng)主要包括三大模塊:數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、控制輸出和數(shù)據(jù)顯示模塊。繪制了電路原理圖與工作流程圖,并進行仿真調(diào)試
4、,最終設計完成了該系統(tǒng)的硬件電路。在軟件編程上,采用了匯編語言進行編程,開發(fā)環(huán)境使用keil51,仿真采用isis仿真軟件。開發(fā)了顯示模塊程序、通道切換程序、a/d轉(zhuǎn)換程序。關鍵詞:adc0808 a/d轉(zhuǎn)換 led顯示目 錄第一章 前言11.1概述1二 設計總體方案22.1設計要求22.2 設計思路22.3 設計方案2三 硬件電路設計33.1 數(shù)據(jù)采集模塊33.1.1 逐次逼近型a/d轉(zhuǎn)換器原理33.1.2 adc0808 主要特性43.1.3 adc0808的外部引腳特征43.1.4 adc0808的內(nèi)部結構及工作流程63.2 數(shù)據(jù)分析處理模塊73.2.1 at89c51性能73.2.2
5、at89c51各引腳功能73.3 數(shù)據(jù)顯示控制模塊103.3.1 led基本結構103.3.2 led顯示器的選擇103.3.3 led譯碼方式113.3.4 led顯示器與單片機接口設計123.4 總體電路設計12四 程序設計144.1 程序設計總方案144.2 系統(tǒng)子程序設計144.2.1 采集電壓路數(shù)識別144.2.2 a/d轉(zhuǎn)換子程序154.2.4 數(shù)據(jù)處理子程序154.2.4 顯示子程序16五 仿真175.1 軟件調(diào)試175.2顯示結果17結 論19參考文獻20附 錄21第一章 前言1.1概述在電量的測量中,電壓、電流和頻率是最基本的三個被測量,其中電壓量的測量最為經(jīng)常。而且隨著電子
6、技術的發(fā)展,更是經(jīng)常需要測量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測量儀器。數(shù)字電壓表(digital voltmeter)簡稱dvm,是采用數(shù)字化測量技術,把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字量形式并加以顯示的儀表。傳統(tǒng)的指針式刻度電壓表功能單一,精度低,容易引起視差和視覺疲勞,因而不能滿足數(shù)字化時代的需要。采用單片機的數(shù)字電壓表,將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,從而精度高、抗干擾能力強,讀取簡單,可擴展性強、集成方便,還可與pc實時通信。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系
7、統(tǒng)等智能化測量領域,展示出強大的生命力。因此本次課程設計要求學生自己設計一個數(shù)字電壓表,可以加強學生對單片機應用的理解,通過實踐提高學生的動手動腦能力。以數(shù)字電壓表為核心,可以擴展成各種通用數(shù)字儀表、專用數(shù)字儀表及各種非電量的數(shù)字化儀表。目前,由各種單片機和a/d轉(zhuǎn)換器構成的數(shù)字電壓表作全面深入的了解是很有必要的。字電壓表的準確度,因而,以后數(shù)字電壓表的發(fā)展就著眼在高精度和低成本這兩個方面。本文是以簡易數(shù)字直流電壓表的設計為研究內(nèi)容,本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。其中,a/d轉(zhuǎn)換采用adc0808對輸入的模擬信號進行轉(zhuǎn)換,控制核心at89c51再對轉(zhuǎn)換的結果進行運算
8、處理,最后驅(qū)動輸出數(shù)字電壓表的內(nèi)部核心部件是a/d轉(zhuǎn)換器,轉(zhuǎn)換的精度很大程度上影響著數(shù)裝置led顯示數(shù)字電壓信號。二 設計總體方案2.1設計要求 以mcs-51系列單片機為核心控制器件,組成一個簡單的直流數(shù)字電壓表。采用8路模擬量輸入,能夠測量0-5v之間的直流電壓值。電壓顯示用4位一體的led數(shù)碼管顯示,第一位顯示通道號,后面三位顯示測量電壓值,電壓值精確到小數(shù)點后兩位,測量最小分辨率為0.02v。2.2 設計思路根據(jù)設計要求,選擇at89c51單片機為核心控制器件。a/d轉(zhuǎn)換采用adc0808實現(xiàn),與單片機的接口為p1口引腳。電壓顯示采用4位一體的led數(shù)碼管。led數(shù)碼的段碼輸入,由并行
9、端口p0產(chǎn)生:位碼輸入,用并行端口p2低四位產(chǎn)生。2.3 設計方案硬件電路設計由6個部分組成; a/d轉(zhuǎn)換電路,at89c51單片機系統(tǒng),led顯示系統(tǒng)、時鐘電路、復位電路以及測量電壓輸入電路。硬件電路設計框圖如圖1所示。 圖1 數(shù)字電壓表系統(tǒng)硬件設計框圖顯示系統(tǒng)a/d轉(zhuǎn)換電路測量電壓輸入時鐘電路 復位電路at89c51 p1 p2 p0 三 硬件電路設計數(shù)字電壓表系統(tǒng)的硬件電路設計可分為三個模塊,它們分別為:模塊一數(shù)據(jù)采集模塊即a/d轉(zhuǎn)換模塊;模塊二數(shù)據(jù)分析處理模塊;模塊三數(shù)據(jù)顯示控制模塊。下面就將分別介紹各個模塊的相關情況,最后連接組合構成完整8路的數(shù)字電壓表系統(tǒng)。3.1 數(shù)據(jù)采集模塊現(xiàn)實
10、世界的物理量都是模擬量,能把模擬量轉(zhuǎn)化成數(shù)字量的器件稱為模/數(shù)轉(zhuǎn)換器(a/d轉(zhuǎn)換器),a/d轉(zhuǎn)換器是單片機數(shù)據(jù)采集系統(tǒng)的關鍵接口電路,按照各種a/d芯片的轉(zhuǎn)化原理可分為逐次逼近型,雙重積分型等等。雙積分式a/d轉(zhuǎn)換器具有抗干擾能力強、轉(zhuǎn)換精度高、價格便宜等優(yōu)點。與雙積分相比,逐次逼近式a/d轉(zhuǎn)換的轉(zhuǎn)換速度更快,而且精度更高,比如adc0809、adc0808等,它們通常具有8路模擬選通開關及地址譯碼、鎖存電路等,它們可以與單片機系統(tǒng)連接,將數(shù)字量送到單片機進行分析和顯示。一個n位的逐次逼近型a/d轉(zhuǎn)換器只需要比較n次,轉(zhuǎn)換時間只取決于位數(shù)和時鐘周期,逐次逼近型a/d轉(zhuǎn)換器轉(zhuǎn)換速度快,因而在實際
11、中廣泛使用。3.1.1 逐次逼近型a/d轉(zhuǎn)換器原理逐次逼近型a/d轉(zhuǎn)換器是由一個比較器、a/d轉(zhuǎn)換器、存儲器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開始逐位試探比較。轉(zhuǎn)換過程如下:開始時,寄存器各位清零,轉(zhuǎn)換時,先將最高位置1,把數(shù)據(jù)送入a/d轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量大,則1不保留,然后從第二位依次重復上述過程直至最低位,最后寄存器中的內(nèi)容就是輸入模擬量對應的二進制數(shù)字量。其原理框圖如圖2所示:順序脈沖發(fā)生器逐次逼近寄存器adc電壓比較器輸入電壓輸入數(shù)字量圖2 逐次逼近式a/d轉(zhuǎn)換器原理圖3.1
12、.2 adc0808 主要特性adc0808是cmos單片型逐次逼近式a/d轉(zhuǎn)換器,帶有使能控制端,與微機直接接口,片內(nèi)帶有鎖存功能的8路模擬多路開關,可以對8路0-5v輸入模擬電壓信號分時進行轉(zhuǎn)換,由于adc0808設計時考慮到若干種模/數(shù)變換技術的長處,所以該芯片非常適應于過程控制,微控制器輸入通道的接口電路,智能儀器和機床控制等領域。adc0808主要特性:8路8位a/d轉(zhuǎn)換器,即分辨率8位;具有鎖存控制的8路模擬開關;易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與ttl兼容;轉(zhuǎn)換時間:128s;轉(zhuǎn)換精度:0.2%;單個+5v電源供電;模擬輸入電壓范圍0- 5v,無需外部零點和滿度調(diào)整;低
13、功耗,約15mw。3.1.3 adc0808的外部引腳特征 adc0808芯片有28條引腳,采用雙列直插式封裝,其引腳圖如圖3所示。圖3 adc0808引腳圖下面說明各個引腳功能:in0-in7(8條):8路模擬量輸入線,用于輸入和控制被轉(zhuǎn)換的模擬電壓。地址輸入控制(4條):ale:地址鎖存允許輸入線,高電平有效,當ale為高電平時,為地址輸入線,用于選擇in0-in7上那一條模擬電壓送給比較器進行a/d轉(zhuǎn)換。adda,addb,addc:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對應關系如表1所示: 表1 adc0808通道選擇表地址碼 對應的輸入通道 c b a 0 0 0 0 1
14、1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 in0 in1 in2 in3 in4 in5 in6 in7 start:start為“啟動脈沖”輸入法,該線上正脈沖由cpu送來,寬度應大于100ns,上升沿清零sar,下降沿啟動adc工作。eoc: eoc為轉(zhuǎn)換結束輸出線,該線上高電平表示a/d轉(zhuǎn)換已結束,數(shù)字量已鎖入三態(tài)輸出鎖存器。d1-d8:數(shù)字量輸出端,d1為高位。oe:oe為輸出允許端,高電平能使d1-d8引腳上輸出轉(zhuǎn)換后的數(shù)字量。ref+、ref-:參考電壓輸入量,給電阻階梯網(wǎng)絡供給標準電壓。vcc、gnd: vcc為主電源輸入端,gnd為接地端,一般
15、ref+與vcc連接在一起,ref-與gnd連接在一起。 clk:時鐘輸入端。3.1.4 adc0808的內(nèi)部結構及工作流程adc0808由8路模擬通道選擇開關,地址鎖存與譯碼器,比較器,8位開關樹型a/d轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路和三態(tài)輸出鎖存器等組成,其內(nèi)部結構如圖4所示。圖4 adc0808的內(nèi)部結構其中:(1)8路模擬通道選擇開關實現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進行比較。(2)地址鎖存與譯碼器用于當ale信號有效時,鎖存從adda、addb、addc 3根地址線上送來的3位地址,譯碼后產(chǎn)生通道選擇信號,從8路模擬通道中選擇當前模擬通道。(3)比較器,8位開關
16、樹型a/d轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路組成8位a/d轉(zhuǎn)換器,當start信號有效時,就開始對當前通道的模擬信號進行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時通過引腳送出轉(zhuǎn)換結束信號。(4)三態(tài)輸出鎖存器保存當前模擬通道轉(zhuǎn)換得到的數(shù)字量,當oe信號有效時,把轉(zhuǎn)換的結果送出。adc0808的工作流程為:(1)輸入3位地址,并使ale=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1路模擬量送給比較器。(2)送start一高脈沖,start的上升沿使逐次寄存器復位,下降沿啟動a/d轉(zhuǎn)換,并使eoc信號為低電平。(3)當轉(zhuǎn)換結束時,轉(zhuǎn)換的結果送入到輸出三態(tài)鎖
17、存器中,并使eoc信號回到高電平,通知cpu已轉(zhuǎn)換結束。(4)當cpu執(zhí)行一讀數(shù)據(jù)指令時,使oe為高電平,則從輸出端d0-d7讀出數(shù)據(jù)。3.2 數(shù)據(jù)分析處理模塊數(shù)據(jù)分析處理采用單片機運算分析。單片機在系統(tǒng)中擔任著協(xié)調(diào)控制整個系統(tǒng)穩(wěn)定工作的任務,是實現(xiàn)系統(tǒng)穩(wěn)定工作的核心。系統(tǒng)中采用atmel公司生產(chǎn)的at89c51,功能強大,下面就數(shù)據(jù)分析處理模塊的硬件部分即單片機的相關情況作相應介紹。3.2.1 at89c51性能at89c51是美國atmel公司生產(chǎn)的低電壓,高性能cmos8位單片機,片內(nèi)含有4kb的可反復擦寫的只讀程序存儲器和128字節(jié)的隨機存儲器。該器件采用atmel高密度非易失存儲器制
18、造技術制造,與工業(yè)標準的mcs-51指令集和輸出管腳相兼容,由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,它為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 at89c51功能性能:與mcs-51成品指令系統(tǒng)完全兼容;4kb可編程閃速存儲器;壽命:1000次寫/擦循環(huán);數(shù)據(jù)保留時間:10年;全靜態(tài)工作:0-24mhz;三級程序存儲器鎖定;128*8b內(nèi)部ram;32個可編程i/o口線;2個16位定時/計數(shù)器;5個中斷源;可編程串行uart通道;片內(nèi)震蕩器和掉電模式。 3.2.2 at89c51各引腳功能at89c51提供以下標準功能:4k
19、b的flash閃速存儲器,128b內(nèi)部ram,32個i/o口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內(nèi)震蕩器及時鐘電路,同時,at89c51可降至0hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存ram中的內(nèi)容,但震蕩器停止工作并禁止其他所有工作直到下一個硬件復位。at89c51采用pdip封裝形式,引腳配置如圖5所示。圖5 at89c51的引腳圖at89c51芯片的各引腳功能為:p0口:這組引腳共有8條,p0.0為最低位。這8個引腳有兩種不同的功能,分別適用
20、于不同的情況,第一種情況是89c51不帶外存儲器,p0口可以為通用i/o口使用,p0.0-p0.7用于傳送cpu的輸入/輸出數(shù)據(jù),這時輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89c51帶片外存儲器,p0.0-p0.7在cpu訪問片外存儲器時先傳送片外存儲器的低8位地址,然后傳送cpu對片外存儲器的讀/寫數(shù)據(jù)。p0口為開漏輸出,在作為通用i/o使用時,需要在外部用電阻上拉。p1口:這8個引腳和p0口的8個引腳類似,p1.7為最高位,p1.0為最低位,當p1口作為通用i/o口使用時,p1.0-p1.7的功能和p0口的第一功能相同,也用于
21、傳送用戶的輸入和輸出數(shù)據(jù)。p2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用i/o口使用,它的第一功能和p0口引腳的第二功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但并不是像p0口那樣傳送存儲器的讀/寫數(shù)據(jù)。p3口:這組引腳的第一功能和其余三個端口的第一功能相同,第二功能為控制功能,每個引腳并不完全相同,如下表2所示:表2 p3口各位的第二功能p3口各位第二功能p3.0 rxt(串行口輸入)p3.1 txd(串行口輸出)p3.2/int0(外部中斷0輸入)p3.3/int1(外部中斷1輸入)p3.4t0(定時器/計數(shù)器0的外部輸入)p3.5t1(定時
22、器/計數(shù)器1的外部輸入)p3.6/wr(片外數(shù)據(jù)存儲器寫允許) p3.7/rd(片外數(shù)據(jù)存儲器讀允許)vcc為+5v電源線,vss接地。ale:地址鎖存允許線,配合p0口的第二功能使用,在訪問外部存儲器時,89c51的cpu在p0.0-p0.7引腳線去傳送隨后而來的片外存儲器讀/寫數(shù)據(jù)。在不訪問片外存儲器時,89c51自動在ale線上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時鐘源或定時脈沖使用。/ea:片外存儲器訪問選擇線,可以控制89c51使用片內(nèi)rom或使用片外rom,若/ea=1,則允許使用片內(nèi)rom, 若/ea=0,則只使用片外rom。/psen:片外rom的選通線
23、,在訪問片外rom時,89c51自動在/psen線上產(chǎn)生一個負脈沖,作為片外rom芯片的讀選通信號。rst:復位線,可以使89c51處于復位(即初始化)工作狀態(tài)。通常89c51復位有自動上電復位和人工按鍵復位兩種。xtal1和xtal2:片內(nèi)震蕩電路輸入線,這兩個端子用來外接石英晶體和微調(diào)電容,即用來連接89c51片內(nèi)osc(震蕩器)的定時反饋回路。3.3 數(shù)據(jù)顯示控制模塊數(shù)字電壓表的數(shù)據(jù)顯示控制模塊,運用led數(shù)碼顯示器作為電壓路數(shù)和電壓值的顯示部分,由于輸出數(shù)據(jù)較多,采用掃描輸出顯示,下面就led顯示的相關原理做相應的介紹3.3.1 led基本結構led是發(fā)光二極管顯示器的縮寫。led由于
24、結構簡單、價格便宜、與單片機接口方便等優(yōu)點而得到廣泛應用。led顯示器是由若干個發(fā)光二極管組成顯示字段的顯示器件。在單片機中使用最多的是七段數(shù)碼顯示器。led七段數(shù)碼顯示器由8個發(fā)光二極管組成顯示字段,其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點用,其通過不同的組合可用來顯示各種數(shù)字。led引腳排列如下圖6所示:圖6 led引腳排列3.3.2 led顯示器的選擇在應用系統(tǒng)中,設計要求不同,使用的led顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號不同的led顯示器供選擇,在本設計中,選擇4位一體的數(shù)碼型led顯示器,簡稱“4-led”。本
25、系統(tǒng)中第二位顯示電壓的整數(shù)位,即個位,后兩位顯示電壓的小數(shù)位。4-led顯示器引腳如圖7所示,是一個共陰極接法的4位led數(shù)碼顯示管,其中a,b,c,e,f,g為4位led各段的公共輸出端,1、2、3、4分別是每一位的位數(shù)選端,dp是小數(shù)點引出端,4位一體led數(shù)碼顯示管的內(nèi)部結構是由4個單獨的led組成,每個led的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。圖7 4位led引腳對于這種結構的led顯示器,它的體積和結構都符合設計要求,由于4位led陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)在一起,用一個i/o接口控制)顯示。3.3.3 led譯碼方式
26、譯碼方式是指由顯示字符轉(zhuǎn)換得到對應的字段碼的方式,對于led數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。硬件譯碼是指利用專門的硬件電路來實現(xiàn)顯示字符碼的轉(zhuǎn)換。軟件譯碼就是編寫軟件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序。本設計系統(tǒng)中為了簡化硬件線路設計,led譯碼采用軟件編程來實現(xiàn)。由于本設計采用的是共陰極led,其對應的字符和字段碼如下表3所示。表3 共陰極字段碼表顯示字符共陰極字段碼03fh106h25bh34fh466h56dh67dh707h87fh96fh3.3.4 led顯示器與單片機接口設計由于單片機的并行口不能直接驅(qū)動led顯示器,
27、所以,在一般情況下,必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動電路能力差,即負載能力不夠時,顯示器亮度就低,而且驅(qū)動電路長期在超負荷下運行容易損壞,因此,led顯示器的驅(qū)動電路設計是一個非常重要的問題。為了簡化數(shù)字式直流電壓表的電路設計,在led驅(qū)動電路的設計上,可以利用單片機p0口上外接的上拉電阻來實現(xiàn),即將led的a-g段顯示引腳和dp小數(shù)點顯示引腳并聯(lián)到p0口與上拉電阻之間,這樣,就可以加大p0口作為輸出口德驅(qū)動能力,使得led能按照正常的亮度顯示出數(shù)字,如圖8所示。圖8 led與單片機接口間的設計3.4 總體電路設計經(jīng)過以上的設計過程,可設計出基于單
28、片機的簡易數(shù)字直流電壓表硬件電路原理圖如圖9所示。圖9 簡易數(shù)字電壓表電路圖此電路的工作原理是:+5v模擬電壓信號通過變阻器vr1分壓后由adc0808的in0通道進入(由于使用的in0通道,所以adda,addb,addc均接低電平),經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應的數(shù)字量經(jīng)過其輸出通道d0-d7傳送給at89c51芯片的p1口,at89c51負責把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位led,同時它還通過其四位i/o口p2.0、p2.1、p2.2、p2.3產(chǎn)生位選信號控制數(shù)碼管的亮滅。此外,at89c51還控制adc0808的工作。其中, p2.5發(fā)正脈沖啟動a/
29、d轉(zhuǎn)換,p2.6檢測a/d轉(zhuǎn)換是否完成,轉(zhuǎn)換完成后,p2.7置高從p1口讀取轉(zhuǎn)換結果。簡易數(shù)字直流電壓表的硬件電路已經(jīng)設計完成,就可以選取相應的芯片和元器件,利用proteus軟件繪制出硬件的原理,并仔細地檢查修改,直至形成完善的硬件原理圖。但要真正實現(xiàn)電路對電壓的測量和顯示的功能,還需要有相應的軟件配合,才能達到設計要求。四 程序設計4.1 程序設計總方案 根據(jù)模塊的劃分原則,將該程序劃分:采集電壓路數(shù)確定,a/d轉(zhuǎn)換數(shù)據(jù)采集子程序,數(shù)據(jù)處理和輸出顯示子程序,這三個程序模塊構成了整個系統(tǒng)軟件的主程序,如圖10所示。識別采集第幾路電壓a/d數(shù)據(jù)采集數(shù)據(jù)處理開始輸出顯示圖10 數(shù)字式直流電壓表主
30、程序框圖4.2 系統(tǒng)子程序設計系統(tǒng)的程序由幾個部分共同連接配合組成,下面就各個子程序做相應介紹。4.2.1 采集電壓路數(shù)識別所謂采集電壓路數(shù)識別就是由外部按鈕確定當前采集某一路的電壓值,該部分的設計采用74ls161計數(shù)器,按鈕每按下都將產(chǎn)生一個下降沿脈沖,74ls161接收到脈沖時自加一,其輸出端q0、q1、q2輸入給單片機,再使其控制adc0808轉(zhuǎn)換相應輸入電壓的電壓值。4.2.2 a/d轉(zhuǎn)換子程序a/d轉(zhuǎn)換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應的數(shù)值存入相應的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖11所示。啟動轉(zhuǎn)換a/d轉(zhuǎn)換結束?p1輸入轉(zhuǎn)換結果保存轉(zhuǎn)換結果開始子程序返回圖11 a
31、/d轉(zhuǎn)換流程圖4.2.4 數(shù)據(jù)處理子程序數(shù)據(jù)處理子程序?qū)崿F(xiàn)把采集得到的二進制電壓值轉(zhuǎn)換成為可供顯示子程序顯示的十進制電壓值。因為a/d0808采集的05v電壓值為八位二進制數(shù)據(jù),#0ffh對應5v電壓,所以每51個二進制值對應1v。采集的數(shù)據(jù)除以51,所得商為個位數(shù)據(jù),余數(shù)本該乘10再除51,但此程序采用簡便算法直接除5,誤差基本可以忽略不計。由此得數(shù)據(jù)處理子程序的流程圖如圖12所示。余數(shù)乘二除十商為十分位,余數(shù)為百分位保存結果子程序返回子程入口采集數(shù)據(jù)除以51商即個位數(shù)據(jù)保存,余數(shù)待處理圖12數(shù)據(jù)處理子程序4.2.4 顯示子程序顯示子程序采用動態(tài)掃描實現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動態(tài)掃描顯
32、示方式時,要使得led顯示的比較均勻,又有足夠的亮度,需要設置適當?shù)膾呙桀l率因此在每次輸出中都調(diào)用一次延時子程序,使得數(shù)碼管有較好的顯示亮度。五 仿真5.1 軟件調(diào)試軟件調(diào)試的主要任務是排查錯誤,錯誤主要包括邏輯和功能錯誤,這些錯誤有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。proteus軟件可以對基于微控制器的設計連同所有的周圍電子器件一起仿真,用戶甚至可以實時采用諸如led/lcd、鍵盤、rs232終端等動態(tài)外設模型來對設計進行交互仿真。proteus支持的微處理芯片包括8051系列、avr系列、pic系列、hc11系列及z80等等。proteus可以完成單片機系統(tǒng)原理
33、圖電路繪制、pcb設計,更為顯著點的特點是可以與u visions3 ide工具軟件結合進行編程仿真調(diào)試。本系統(tǒng)的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是proteus軟件,而程序方面,采用的是匯編語言,用keil軟件將程序?qū)懭雴纹瑱C。5.2顯示結果1當in0口輸入電壓值為5v時,顯示結果如圖13所示。 圖13 輸入電壓為5v時,led的顯示結果2.當in1輸入電壓值為2.66v時,顯示結果如圖14所示。圖14 輸入電壓為2.66v時,led的顯示結果3. 當in7口輸入電壓值為0.00v時,顯示結果如圖15。圖15 輸入電壓為0.00v時,led的顯示結果結 論經(jīng)過一段時間
34、的努力,在老師和同學的幫助下課程設計簡易數(shù)字電壓表的設計基本完成。但設計中的不足之處仍然存在。這次設計是我第一次設計這么大型的電路,并用proteus實現(xiàn)了仿真。在這過程中,我對電路設計,單片機的使用等都有了新的認識。通過這次設計學會了proteus和keil軟件的使用方法,掌握了從系統(tǒng)的需要、方案的設計、功能模塊的劃分、原理圖的設計和電路圖的仿真的設計流程,積累了不少經(jīng)驗?;趩纹瑱C的數(shù)字電壓表使用性強、結構簡單、成本低、外接元件少。在實際應用工作應能好,測量電壓準確,精度高。系統(tǒng)功能、指標達到了課題的預期要求、系統(tǒng)在硬件設計上充分考慮了可擴展性,經(jīng)過一定的改造,可以增加功能。本文設計主要實現(xiàn)了簡易數(shù)字電壓表測量一路電壓的功能,詳細說明了從原理圖的設計、電路圖的仿真再到軟件的調(diào)試。通過本次設計,我對單片機這門課有了進一步的了解
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)綠化改造施工方案
- 常州倉儲地坪施工方案
- 村級路燈安裝施工方案
- 老年護理中的跌倒防范與管理
- 地面下沉施工方案
- 工程管理部工作總結
- 安全認知領域教案
- 2025年高溫超導材料合作協(xié)議書
- 課題開題報告:黃炎培職業(yè)教育平民觀研究與實踐
- 課題開題報告:國家人才供需對接大數(shù)據(jù)平臺建設路徑研究
- 手術患者轉(zhuǎn)運交接課件
- 1投影的形成和分類投影的形成投影的分類工程中常用的投影圖28課件講解
- 2025屆廣東省佛山一中石門中學高考臨考沖刺數(shù)學試卷含解析
- 大模型關鍵技術與應用
- 老年骨質(zhì)疏松性疼痛診療與管理中國專家共識(2024版)解讀
- 2024-2030年全球及中國氮化鎵射頻器件需求態(tài)勢與發(fā)展趨勢預測報告
- 年產(chǎn)50000噸再生鋁精深加工生產(chǎn)線項目可行性研究報告
- 華為認證 HCIA-Security 安全 H12-711考試題庫(共800多題)
- 高中生物選擇性必修1試題
- 《主人翁精神》課件
- 欽針治療惡心嘔吐
評論
0/150
提交評論