基于單片機(jī)的簡易數(shù)字電壓表設(shè)計(任務(wù)書+論文)_第1頁
基于單片機(jī)的簡易數(shù)字電壓表設(shè)計(任務(wù)書+論文)_第2頁
基于單片機(jī)的簡易數(shù)字電壓表設(shè)計(任務(wù)書+論文)_第3頁
基于單片機(jī)的簡易數(shù)字電壓表設(shè)計(任務(wù)書+論文)_第4頁
基于單片機(jī)的簡易數(shù)字電壓表設(shè)計(任務(wù)書+論文)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、任 務(wù) 書題目:基于單片機(jī)的簡易數(shù)字電壓表設(shè)計設(shè)計內(nèi)容及要求:1、硬件設(shè)計單片機(jī)主電路、數(shù)據(jù)采集接口電路、led顯示電路2、軟件設(shè)計系統(tǒng)流程圖、各功能程序設(shè)計環(huán)境: protel99se 、wave仿真環(huán)境、h51/l仿真器、單片機(jī)多功能實(shí)驗(yàn)箱實(shí)現(xiàn)目標(biāo):(1)能夠?qū)崿F(xiàn)8路電壓值進(jìn)行測量; (2)能夠顯示當(dāng)前被測路號及電壓值,電壓精度小數(shù)點(diǎn)后1位; (3)可以通過鍵盤選擇循環(huán)顯示8路的檢測電壓值和指定通道的檢測電壓值。摘 要本文介紹了基于89c51單片機(jī)的一種8路輸入電壓測量電路,該電路采用adc0809作為a/d轉(zhuǎn)換元件,測量范圍0至5伏,小數(shù)點(diǎn)后顯示一位。要求能夠依次顯示每路通道電壓,而且能

2、夠通過撥碼開關(guān)選擇輸入通道。使用3位led模塊顯示,前面一位顯示通道號,后面兩位顯示測量電壓值。本系統(tǒng)主要包括四大模塊:數(shù)據(jù)采集模塊、控制模塊、顯示模塊、a/d轉(zhuǎn)換模塊。繪制電路原理圖與工作流程圖,并進(jìn)行調(diào)試,最終設(shè)計完成了該系統(tǒng)的硬件電路。在軟件編程上,采用了匯編語言進(jìn)行編程,開發(fā)環(huán)境使用wave集成開發(fā)環(huán)境。開發(fā)了顯示模塊程序、通道切換程序、a/d轉(zhuǎn)換程序。關(guān)鍵詞:adc0809;a/d轉(zhuǎn)換;led顯示目 錄1 方法論證51.1 系統(tǒng)的設(shè)計任務(wù)51.2 設(shè)計方案51.3 軟硬件開發(fā)環(huán)境62 數(shù)字電壓表硬件設(shè)計72.1 單片機(jī)主電路設(shè)計72.1.1 復(fù)位電路72.1.2 晶振電路72.2 測

3、量、轉(zhuǎn)換電路設(shè)計82.3 按鍵電路設(shè)計92.4 顯示電路設(shè)計102.4.1 led數(shù)碼管構(gòu)成102.4.2 顯示方式113 軟件設(shè)計143.1 主程序設(shè)計143.1.1 工作流程143.1.2 存儲空間定義安排153.2 模塊程序設(shè)計153.2.1 a/d轉(zhuǎn)換測量程序153.2.2 顯示程序164 系統(tǒng)調(diào)試與分析184.1 調(diào)試內(nèi)容及問題解決184.2 系統(tǒng)進(jìn)一步改進(jìn)方案18附錄1:硬件原理圖20附錄2:程序清單21參考文獻(xiàn)241 方法論證1.1 系統(tǒng)的設(shè)計任務(wù) 設(shè)計單片機(jī)主電路、數(shù)據(jù)采集接口電路、led顯示電路、撥碼控制電路,能夠?qū)崿F(xiàn)對8路電壓值進(jìn)行測量,能夠顯示當(dāng)前測量通道號及電壓值,電壓

4、精度小數(shù)點(diǎn)后1位,可以通過鍵盤選擇循環(huán)顯示8路的檢測電壓值和指定通道的檢測電壓值。1.2 設(shè)計方案 將數(shù)據(jù)采集接口電路輸入電壓傳入adc0809數(shù)模轉(zhuǎn)換元件,經(jīng)轉(zhuǎn)換后通過d0至d7與單片機(jī)p0口連接,把轉(zhuǎn)換完的模擬信號以數(shù)字信號的信號的形式傳給單片機(jī),信號經(jīng)過單片機(jī)處理從led數(shù)碼顯示管顯示。撥碼開關(guān)連p3口,實(shí)現(xiàn)通道選擇。p2口接數(shù)碼管位選,p1接數(shù)碼管,實(shí)現(xiàn)數(shù)據(jù)的動態(tài)顯示,如下圖所示。89c51 p0p1p2 alep3數(shù)碼管位選撥碼開關(guān)adc0809d0d7 in0 : in7clock vref+vref-圖1.1系統(tǒng)總體方案結(jié)構(gòu)圖1.3 軟硬件開發(fā)環(huán)境硬件選擇:選擇89c51作為單片

5、機(jī)芯片,選用8段共陰極led數(shù)碼管實(shí)現(xiàn)電壓顯示,選用獨(dú)立式按鍵作為程序的跳轉(zhuǎn)與選擇,利用adc0809作為數(shù)模轉(zhuǎn)換芯片,利用p0至p4的各個串口來進(jìn)行不同設(shè)備間的連接,計算機(jī)進(jìn)行匯編,h51/l仿真器,單片機(jī)多功能實(shí)驗(yàn)箱。軟件開發(fā)環(huán)境: 用protel99se軟件畫電路圖 、wave軟件進(jìn)行程序編寫。2 數(shù)字電壓表硬件設(shè)計2.1 單片機(jī)主電路設(shè)計在本次課題設(shè)計中我們選擇了8951芯片,其具有功能強(qiáng)、體積小、成本低、功耗小等特點(diǎn),它可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計者事先規(guī)定的任務(wù)。2.1.1 復(fù)位電路 復(fù)位電路如圖2.1所示,單片機(jī)系

6、統(tǒng)常常有上電復(fù)位和操作復(fù)位兩種。上電復(fù)位是指單片機(jī)上點(diǎn)瞬間,要在rst引腳上出現(xiàn)寬度大于10ms的正脈沖,才能使單片機(jī)進(jìn)入復(fù)位狀態(tài)。操作復(fù)位是指用戶按下“復(fù)位”按鈕使單片機(jī)進(jìn)入復(fù)位狀態(tài)。 圖21 復(fù)位電路2.1.2 晶振電路 晶振電路用于產(chǎn)生單片機(jī)工作所需的時鐘信號,使用晶體震蕩器時,c2,c3取值2040pf,使用陶瓷震蕩器時c2,c3取值3050pf。在設(shè)計電路板時,晶振和電容應(yīng)盡量靠近芯片,以減小分布電容,保證震蕩器的穩(wěn)定性。18引腳接xtal1,19引腳接xtal2,20引腳接地。圖2.2 晶振電路2.2 測量、轉(zhuǎn)換電路設(shè)計 使用adc0809作為數(shù)模轉(zhuǎn)換元件,其引腳圖如2.3所示圖2

7、.3 adc0809引腳圖adc0809是帶有8:1多路模擬開關(guān)的8位a/d轉(zhuǎn)換芯片,所以它可有8個模擬量的輸入端,由芯片的a,b,c三個引腳來選擇模擬通道中的一個。a,b,c三端分別與89c51的p0.0p0.2相接。地址鎖存信號(ale)和啟動轉(zhuǎn)換信號(start),由p2.6和/wr或非得到。輸出允許,由p2.6和/rd或非得到。時鐘信號,可有89c51的ale輸出得到,不過當(dāng)采用12m晶振時,應(yīng)該先進(jìn)行二分頻,以滿足adc0809的時鐘信號必須小于640k的要求。與單片機(jī)的連接如圖2.4所示圖2.4數(shù)據(jù)轉(zhuǎn)換系統(tǒng)電路圖2.3 按鍵電路設(shè)計按鍵選擇上有兩種方法可供選擇,獨(dú)立式按鍵與矩陣式按

8、鍵,再此使用了獨(dú)立式按鍵。按鍵模塊如圖2.5所示,其與p3口連接,實(shí)現(xiàn)通道選擇。對按鍵的工作過程可分為兩步:第一步是cpu首先檢測鍵盤上是否有鍵按下;第二步是在識別是哪一個鍵按下。檢測鍵盤上有無鍵按下可采取查詢各自方式、定時掃描構(gòu)造方式和中斷耕作方式。在此選擇了查詢工作方式。按鍵模塊如圖2.5所示,其與p3口連接,實(shí)現(xiàn)通道選擇。圖2.5按鍵模塊2.4 顯示電路設(shè)計2.4.1 led數(shù)碼管構(gòu)成led數(shù)碼管顯示器是由發(fā)光二極管顯示字段的顯示器件,也稱為數(shù)碼管。其外形結(jié)構(gòu)如圖所示。它由8個發(fā)光二極管構(gòu)成,通過不同的組合可用來顯示0-9、a-f及小數(shù)點(diǎn)“.”等字符。數(shù)碼管有共陰極和共陽極兩種結(jié)構(gòu)規(guī)格,

9、如圖2.5所示。圖中電阻為外接。共陰極數(shù)碼管的發(fā)光二極管陰極共地,當(dāng)某發(fā)光二極管的陽極為高電平時,二極管點(diǎn)亮;共陽極數(shù)碼管的發(fā)光二極管是陽極,并接高電平,對于需點(diǎn)亮的發(fā)光二極管將其陰極接低電平即可。對照圖2.5中的字段:7段發(fā)光二極管,在加上1個小數(shù)點(diǎn)位,共計8段,因此提供給led顯示器的字形碼正好一字節(jié)。 圖26(a) 共陰極 圖2.6(b) 共陽極 圖2.6(c)字段顯示2.4.2 顯示方式(1) 靜態(tài)顯示方式直接利用并行口輸出。led顯示工作于靜態(tài)顯示方式時,各位的共陰極連接在一起接地;每位的段選線分別于一個8位的鎖存輸出相連。一般稱之為靜態(tài)顯示,是由于顯示器中的各位相互獨(dú)立。而且各位的

10、顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個字符為止。利用通信號串行輸出。在實(shí)際應(yīng)用中,多位led顯示時,為了簡化電路,在系統(tǒng)不需要通信功能時,經(jīng)常采用串行通信口工作方式0,外接移位寄存器74ls164、cd4094來實(shí)現(xiàn)靜態(tài)顯示。(2) 動態(tài)顯示方式對多位led顯示器的動態(tài)顯示,通常都時采用動態(tài)掃描的方法進(jìn)行顯示,即逐個循環(huán)點(diǎn)亮各位顯示器。這樣雖然在任一時刻只有一位顯示器被點(diǎn)亮,但是由于間隔時間較短,且人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點(diǎn)亮一樣。為了實(shí)現(xiàn)led顯示器的動態(tài)掃描,除了要給顯示器提供的輸入之外,還要對顯示器加位選擇控制,這就是通常所說的段控和位控。因此多

11、位led顯示器接口電路需要有兩個輸出口,其中一個用于輸出8位控信號;另一個用于輸出段控信號,其連接圖如下。 2.7 led顯示電路表2.1七段led段選碼表 顯示字符共陰極段顯示字符共陰極段03fhc39h106hd5eh25bhe79h34fhf71h466hp73h56dhu3eh67dh31h707hy6eh87fh8.ffh96fh“滅”00ha77h/b7ch/3 軟件設(shè)計3.1 主程序設(shè)計 3.1.1 工作流程 首先撥動撥碼開關(guān)k1,如果是低電平,程序轉(zhuǎn)向選擇通道程序,撥動k2的次數(shù)即是選擇的通道號,撥動k3表示確認(rèn)。轉(zhuǎn)向數(shù)據(jù)讀取程序,再到顯示程序,顯示出通道號和電壓值。如果k1是

12、高電平,則轉(zhuǎn)向循環(huán)顯示程序,即先顯示第0路最后顯示第7路電壓值和相應(yīng)通道號。工作流程圖如下: n y記錄k2撥動次數(shù)啟動a/d轉(zhuǎn)換k1高電平?數(shù)據(jù)處理顯示結(jié)束開始選擇通道號選擇第0路圖3.1主程序流程3.1.2 存儲空間定義安排 60h用于存放a/d轉(zhuǎn)換結(jié)果,30h、31h、32h分別存儲顯示用的三位數(shù)據(jù)如下表:表3.1存儲空間定義表60h用于存放a/d轉(zhuǎn)換結(jié)果30h電壓值整數(shù)部分31h電壓值小數(shù)部分32h循環(huán)顯示的通道號34h選擇的通道號3.2 模塊程序設(shè)計3.2.1 a/d轉(zhuǎn)換測量程序a/d轉(zhuǎn)換的常用方法有:計數(shù)式a/d轉(zhuǎn)換,逐次逼近型a/d轉(zhuǎn)換,雙積分式a/d轉(zhuǎn)換, v/f變換型a/d轉(zhuǎn)

13、換。在這些轉(zhuǎn)換方式中,記數(shù)式a/d轉(zhuǎn)換線路比較簡單,但轉(zhuǎn)換速度較慢,所以現(xiàn)在很少應(yīng)用。雙積分式a/d轉(zhuǎn)換精度高,多用于數(shù)據(jù)采集及精度要求比較高的場合,如5g14433(31/2位),ad7555(41/2位或51/2位)等,但速度更慢。逐次逼近型a/d轉(zhuǎn)換既照顧了轉(zhuǎn)換速度,有具有一定的精度,這里選用的是逐次逼近型的a/d轉(zhuǎn)換芯片adc0809。采用中斷控制的方式實(shí)現(xiàn),不浪費(fèi)時間,效率較高。其流程圖如下: 開始啟動轉(zhuǎn)換讀取數(shù)據(jù)0809地址加1小于ffff?結(jié)束中斷請求中斷服務(wù)yn圖3.2 a/d轉(zhuǎn)換測量程序3.2.2 顯示程序?qū)Χ辔籰ed顯示器的動態(tài)顯示,通常都是采用動態(tài)掃描的方法進(jìn)行顯示,即逐

14、個循環(huán)點(diǎn)亮各位顯示器。這樣雖然在任一時刻只有一位顯示器被點(diǎn)亮,但是由于間隔時間較短,且人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點(diǎn)亮一樣。為了實(shí)現(xiàn)led顯示器的動態(tài)掃描,除了要給顯示器提供的輸入之外,還要對顯示器加位選擇控制,這就是通常所說的段控和位控。因此多位led顯示器接口電路需要有兩個輸出口,其中一個用于輸出8位為控信號;另一個用于輸出段控信號。讀取判斷單元顯示通道號顯示電壓整數(shù)部分顯示電壓小數(shù)部分返回開始程序32h30h31h圖3.3顯示子程序4 系統(tǒng)調(diào)試與分析4.1 調(diào)試內(nèi)容及問題解決 程序可分為數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)轉(zhuǎn)換系統(tǒng)、顯示系統(tǒng)和按鍵控制系統(tǒng),這四部分先獨(dú)立測試,然后整體調(diào)試。

15、顯示系統(tǒng)的調(diào)試:要顯示的數(shù)據(jù)存放在30h、31h、32h單元中,先在30h、31h、32h分單元中存放010的數(shù),運(yùn)行顯示程序,察看顯示的結(jié)果是否與存放值一樣。在測試的過程中發(fā)現(xiàn)小數(shù)點(diǎn)沒有顯示,通過指令orl 30h,#80h,把小數(shù)點(diǎn)顯示出來。按鍵控制系統(tǒng)調(diào)試:撥動k2在34h單元內(nèi)容看是否和撥動次數(shù)相同。整體測試:把個部分用線連接,p3接撥碼開關(guān),p2接數(shù)碼管,p3接位選。仿真器、仿真頭連好,進(jìn)入wave軟件,設(shè)置仿真器。編譯程序,看是否存在錯誤。4.2 系統(tǒng)進(jìn)一步改進(jìn)方案 進(jìn)一步提高測量精度,把精確到小數(shù)點(diǎn)后一位改為精確到小數(shù)點(diǎn)后兩位。具體程序如下:movx a,dptr ;讀取轉(zhuǎn)換后的

16、數(shù)據(jù). mov b,#51 ;255515.00v運(yùn)算 div ab mov 33h,a ; ;個位數(shù)放入33h mov a,b ; ;余數(shù)大于19h,f0為1,乘法溢出,結(jié)果加5 clr f0 subb a,#1ah mov f0,c mov a,#10 mul ab mov b,#51 div ab jb f0,loop2 add a,#5 loop2: mov 34h,a ; ;小數(shù)后第一位放入34h mov a,b clr f0 subb a,#1ah mov f0,c mov a,#10 mul ab mov b,#51 div ab jb f0,loop3 add a,#5h lo

17、op3: mov 35h,a ; ;小數(shù)后第二位放入35h附錄1:硬件原理圖附錄2:程序清單 org oooohljmp mainorg 0013hljmp over main:jnb p3.0 xz ;高電循環(huán)顯示,低電平選擇通道m(xù)ov ro,#60hmov r1,#08h ;8個通道clr 34hxz1 : mov r2,#34h ;選擇通道in0setb easetb it1setb ex1mov dptr,#08fffh ;第0路地址mov a,r2movx dptr,a ;啟動a/d轉(zhuǎn)換sjmp $xz: jb p3.4,xzw1 : jnb p3.4 w1 ;撥碼開關(guān)一個來回計數(shù)一

18、次clr ainc ajnb p3.5 mov 34h,a ;計數(shù)次數(shù)存入34hljmp xz1 ;跳到通道選擇程序over: clr ex1 mov dptr,#08fffhsub dptr,34hmovx a,dptrmov r0,ainc r2mov 33h,#100 ;延時兩秒ljmp xianshijx: mov a, r2djnz r1 ,wait wait: setb ex1movx dptr,aed: reti;把00000000到11111111的數(shù)轉(zhuǎn)換成十進(jìn)制數(shù); xianshi:mov 33h,#0mov a,6ohmov b,#51div ab mov 30h,a ;把整數(shù)放入30hmov a,bmov b,#51 mul a,#10mov b,#51div abmov 31h,a ;把小數(shù)放入31hmov r6,#30h;動態(tài)顯示程序;mov dptr #tabmov r7,#01hclr amov p3,al:mov a,r6anl a,#0fhmovc a,a+dptrmov p1,amov a,r7mov p3,alcall d20msinc r6cjne r6,#32h,l0mov r6,#30hl0:rl a mov r7,a ;兩秒后進(jìn)行下一路sjmp ldec 33h

溫馨提示

  • 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

提交評論