版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、鄭州科技學院單片機課程設計題 口 數字式電壓表學生姓名張乂旋專業(yè)班級11級通信工程1班學 號201136190院(系)信息工程學院指導教師周喜完成時間 2015年01月9日1引言12設計總方案12設計要求12.2設計方案23元器件介紹23adc0808 芯片23.2at89c51 芯片44單元電路54復位電路54.2時鐘電路64.3 a/d轉換電路64.4顯示電路75軟件設計95.1程序設計總方案95.2 a/d轉換子程序96硬件的制作與調試1()6電路的安裝io6.2產品的仿真117總結12參考文獻14附錄一:總體電路圖15附錄二:元器件清單16附錄三:實物圖17附錄四:源程序181引言隨著
2、微電了技術的不斷發(fā)展,微處理器芯片的集成程度越來越高,單 片機已可以在一塊芯片上同時集成cpu、存儲器、定時器/計數電路, 這就很容易將計算機技術與測量控制技術結合,組成智能化測量控制系 統。數字屯壓表(digitalvoltmeter)簡稱dvm,它是采用數字化測量技 術,把連續(xù)的模擬量(直流輸入電壓)轉換成不連續(xù)、離散的數字形式并 加以顯示的儀表。與此同時,由dvm擴展而成的各種通用及專用數字儀 器儀表,也把電量及非電量測量技術提高到嶄新水平。本章重點介紹單片 a/d轉換器以及由它們構成的基于單片機的數字電壓表的工作原目前, 由各種單片a/d轉換器構成的數字電壓表,已被廣泛用于電子及電工測
3、 量、工業(yè)口動化儀表、口動測試系統等智能化測量領域,示出強大的生命 力理。本設計at89c51單片機的一種電壓測量電路,該電路采用adc0808 本文介紹一種基于a/d轉換電路,測量范圍直流05v的4路輸入電壓 值,并在四位led數碼管上顯示或單路選擇顯示。測量最小分辨率為 0.019v,測量誤并約為止負0.02vo2設計總方案2.1設計要求(1) mcs-51系列單片機為核心器件,以及a/d轉換器adc0808、 數碼管組成一個簡單的直流數字電壓表。(2) 用1路模擬量輸入,能夠測s0-5v之間的直流電壓值。(3) 電壓顯示用4位一體的led數碼管顯示,(4) 盡量用少的元器件。2.2設計方
4、案系統通過軟件設置單片機的內部定時器t1產生中斷信號。通過片選 選擇8路通道屮的一路,將該路電壓送入adc0808的eoc端口產生高電 平,同時將adc0808的oe端口置為高電平,單片機將轉換后結果存到 片內ramo系統調出轉換顯示程序,將轉換為二進制的數據在轉換成十 進制數并輸出到lcd顯示電路,將相應電壓顯示出來。整體框圖如圖41 所示。圖31整體框圖3元器件介紹3.1 adc0808 芯片adc0808是一種典型的a/d轉換器。它是由8位a/d轉換器,一個 8路模擬量開關,8位模擬量地址鎖存譯碼器和一個三態(tài)數據輸出鎖存器 組成;+5v單電源供電,轉化吋間在loous左右;內部沒有吋鐘屯
5、路, 故需外部提供時鐘信號。芯片模型如圖31所示。inoclockinist陌tin2in3eocin4in50ut1in60ut2in70ut3adda0ut40ut5add 80ut6add c0ut7ale0ut8vref(+)vref(-)oe6 7 8 12-3 45 5437 2 6 0412 oac*4 2 1 17_2_韋圖3-1 adc0808芯片引腳圖(1) 引腳簡介n0-in7: 8路模擬量輸入端。dod7: 8位數字量輸岀端口。start: a/d轉換啟動信號輸入端。ale:地址鎖存允許信號,高電平有效。eoc:輸出允許控制信號,高電平有效。oe:輸岀允許控制信號,高電
6、平有效。clk:時鐘信號輸入端。a、b、c:轉換通道地址,控制8路模擬通道的切換。a、b、c分別 與地址線或數據線相連,三位編碼對應8個通道地址端口,a、b、 c=000111分別對應in0-in7通道的地址端口。(2) adc0808的轉換原理adc 0808采用逐次比較的方法完成a/d轉換,由單一的+5v電源供 電。片內帶有鎖存功能的8路選1的模擬開關,由a、b、c的編碼來決 定所選的通道。adc0809完成一次轉換需100ns左右,它具有輸出ttl 三態(tài)鎖存緩沖器,可直接連接到at89c51的數據總線上。通過適當的外 接電路,adc0808可對05v的模擬信號進行轉換。3.2at89c5
7、1at89c51是一種帶4k字節(jié)閃存可編程可擦除只讀存儲器(fperom 一flash programmable and erasable read only memory)的低電壓、高性能 cmos 8位微處理器,俗稱單片機。at89c51是一種帶2k字節(jié)閃存叮編 程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除 1000次。該器件采用atmel高密度非易失存儲器制造技術制造,與工業(yè) 標準的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃 爍存儲器組合在單個芯片屮,atmel的at89c51是一種高效微控制器, at89c2051是它的一種精簡版本。at89c5
8、1單片機為很多嵌入式控制系 統提供了一種靈活性高且價廉的方案。外形及引腳排列如圖32所示。u-i191 4po £yadopd .1/ad1po 2im2ona rtr9im li33 3?1s3gim lzpo p口 £fmsan3539rjbtru qkiidpo .7/ad732z1p乙m2 pz.pz2/a1d22233p8em rle 旨pzjfaiipz.4?a12d pz4-251z6r二pzjsmhpz.7/a1s27 z81p1d p1.1 口 4 rp3.qrmd p3.1hxdp3nrrnp3j/1httf3.4hdp3sm p*耐 p3.7/rd&q
9、uot;1d2111zr ip13d 4 a1351 46廠1 p1s p1j6p1.7157162risc 9圖3-2 at89c51芯片引腳圖(1)主要功能特性4k字節(jié)可編程閃爍存儲器,32個雙向i/o 口; 128x8位內部ram 2 個16位可編程定時/計數器中斷;時鐘頻率0-24mhz;可編程串行通道; 5個中斷源;2個讀寫中斷口線;低功耗的閑置和掉電模式;片內振蕩器 和時鐘電路。(2) at89c51的引腳介紹89c51單片機多采用40只引腳的雙列宜插封裝(dip)方式,下面分別 簡單介紹。1 電源引腳電源引腳接入單片機的工作電源。vcc (40引腳):+5v電源。gnd (20引
10、腳):接地。2 時鐘引腳xtalk19引腳):片內振蕩器反和放大器和時鐘發(fā)生器電路的輸入 端。xtal2(20引腳):片內振蕩器反相放大器的輸岀端。4單元電路4.1復位電路計算機在啟動運行時都需耍復位,使中央處理器cpu和系統中的其 它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。stc89c52 單片機有一個復位引腳rst,當振蕩器起振后該引腳上出現2個機器周期 (即24個時鐘周期)以上的高電平,使器件復位,只要rst保持高電平, st89c52保持復位狀態(tài)。時ale、psen、p0、pl、p2、p3 口都 輸出高 電平。rst變?yōu)楹螅顺鰪臀?,cpu從初始狀態(tài)開始工作。復位電路如 圖
11、4-1所示:圖41復位電路圖54.2時鐘電路單片機中cpu每執(zhí)行一條指令,都必須在統一的時鐘脈沖的控制下 嚴格按時間節(jié)拍進行,而這個時鐘脈沖是單片機控制屮的時序電路發(fā)出 的。cpu執(zhí)行一條指令的齊個微操作所對應時間順序稱為單片機的時序。 mcs-51單片機芯片內部有一個高増益反相放大器,用于構成震蕩器, xtal1為該放人器的輸入端,xtal2為該放人器輸出端,但形成吋鐘屯 路還需附加其他電路。本設計系統采用內部時鐘方式,利用單片機內部的高增益反相放大 器,外部電路簡,只需要一個晶振和2個電容即可,如圖45所示。c1hixt/m.1xtm2<text> | x1 伯 pn. cry
12、st/m.<text> 1_-_is 30uf圖4-2時鐘電路圖4.3a/d轉換電路inoin7為8路模擬量輸入端,這里只接一路電壓信號,其輸入信 號是由直流電源及可調電阻提供。out1-out8為8位二進制數字量輸出端,其另一端連接到 at89c51單片機進行數值轉換。adda、addb、addc為3位片選地址輸入線,用于選通8路模 擬輸入中的一路。ale為地址鎖存允許信號,由單片機p3.6 口寫信號與p2.0 口相或 取反輸入,高電平有效。start為a/d轉換啟動脈沖輸入端,由單片機p3.6 口寫信號與p2.0 口相或取反輸入一個正脈沖使其啟動(脈沖上升沿使0808復位,6卜
13、降沿啟動a/d轉換)。eoc為a/d轉換結束信號,當a/d轉換結束時,此端輸出一個 高電平取反給p3.3 口(轉換期間一直為低電平)。0e為數據輸出允許信號,高電平有效。當a/d轉換結束時,此 端由單片機p3.7讀信號與p2.0 口相或后取反輸入一個高電平,才能打 開輸出三態(tài)門,輸出數字量。設計電路如圖43所示rv1oe o2-do17i d114d215d38d418d519d620i d7217jc610stclk0evref(-) vref(+)0ut8ale0ut7addc0ut6addb0ut5adda0ut40ut3in70ut2cl it-1in6imkuu 11indin4eo
14、cin3cta dtin2|k|4o 1 an 1ini> clockinou3adc08081612222324255v282726o st1kvolts圖43a/d轉換電路圖4.4顯示電路在應用系統屮,設計要求不同,使用的led顯示器的位數也不同,i大i此就生產了位數,尺寸,型號不同的led顯示器供選擇,在本設計中, 選擇4位一體的數碼型led顯示器,簡稱“4-led”。本系統中前一位顯 示電壓的整數位,即個位,后兩位顯示電壓的小數位。4-led顯示器引腳如圖9所示,是一個共陽極接法的4位led數碼 顯示管,其中a, b, c, e, f, g為4位led各段的公共輸出端,1、2、3
15、、 4分別是每一位的位數選端,dp是小數點引出端,4位一體led數碼顯 示管的內部結構是rfl 4個單獨的led組成,每個led的段輸出引腳在內7部都并聯后,引出到器件的外部。b fl 0 q圖4-4 4位led引腳由于單片機的并行口不能宜接驅動led顯示器,所以,在一般情況 下,必須采用專用的驅動電路芯片,使之產生足夠人的電流,顯示器才能 止常工作。如果驅動電路能力丼,即負載能力不夠時,顯示器亮度就低, 而且驅動電路長期在超負荷下運行容易損壞,因此,led顯示器的驅動 電路設計是一個非常重要的問題。為了簡化數字式宜流電壓表的電路設計,在led驅動電路的設計上, 可以利用單片機p0 口上外接的
16、上拉電阻來實現,即將led的a-g段顯 示引腳和dp小數點顯示引腳并聯到p0 口與上拉電阻z間,這樣,就可 以加大p0 口作為輸出口徳驅動能力,使得led能按照正常的亮度顯示出數字,如圖45所示。frp1respack-figj “ 1 tra10r0nxbaer2o10k330iq3 pnpr124 70q4pnpr1 14 70r1r110k(okr110k8pnp 圖4-5顯示電路5軟件設計5.1程序設計總方案根據模塊的劃分原則,將該程序劃分初始化模塊,a/d轉換子程序 和顯示子程序,這三個程序模塊構成了整個系統軟件的主程序,如圖5-1 所示。初始化調用a/d轉換子程調用顯示了程丄 x、
17、f、結束;、j圖51主程序框圖5.2 a/d轉換子程序a/d轉換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應的數值存入相應的內存單元,其轉換流程如圖5-2所示。啟動轉換輸出轉換結果數值轉換 一顯示結束/圖52 a/d轉換子程序框圖6硬件的制作與調試6.1電路的安裝在連接電路的時候,要嚴格按照電路圖連接電路,也要注意烙鐵與電 路板接觸的時間,不要燒壞電路板。并在聯好電路以后進行測量。即使發(fā) 現問題與改正。注意連接點是否接觸良好 注意正負極(或相線和零線)。 由于電路中需要各種芯片及數碼管,所以芯片的引腳圖需要提前查好。有 時候引腳的表達方式不一樣,但作用是一樣的這時候需要了解各個引腳的
18、 作用,分別應連什么,器件焊到電路板上需要進行排版,什么時候用導線 連怎么連好看美觀也是我們需要考慮的問題。我們在焊接過程小對有的器 件間隔太小導線連接不方便便采用管腳連接,但是盡量少用管腳連因為不 安全,也容易短路。在實際焊接電路的過程中,我們需要的at89c51芯片用at89c52代替,兩者沒有本質上的區(qū)別。6.2產品的仿真軟件調試的主要任務是排查錯誤,錯誤主要包括邏輯和功能錯誤,這 些錯謀有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統發(fā)現逐步 改正。proteus軟件可以對基于微控制器的設計連同所有的周圍電子器件 -起仿真,用戶其至可以實時采用諸如led/lcd.鍵盤、rs232終端
19、等 動態(tài)外設模型來對設計進行交互仿真。proteus支持的微處理芯片包括 8051系列、avr系列、pic系列、hc11系列及z80等等。proteus可以 完成單片機系統原理圖電路繪制、pcb設計,更為顯著點的特點是可以與 u visions3 ide工具軟件結合進彳亍編程仿真調試。本系統的調試主要以軟件為主,其中,系統屯路圖的繪制和仿真我采 用的是proteus軟件,而程序方面,采用的是匯編語言,用keil軟件將程 序寫入單片機。仿真圖如圖6-1所示cldl202344ad5gx7o)8al£pspv1pup,j3p14p15puspl.7atbdcs!respackf4mr94
20、rc総paa-axd p3.1/txd pjawrn p3.31nt1p34'top35j1 p3qwr p37 肩5pocado p0t'k>1 ptt2心p03/o3 p0 4xo4p0sad5p06a06pa7ad72 su -* 4 t2) s?. 云心 :2 .m m tr1 r1 r1 r2010k卩p2.1a5 p22a10 p2 3a11 p2 4a12 pz5a13 ppb'au p2 7a15九pteao308cb主f-字-1,<丈833:ngo/rl";h 56b7q3pppr11470i r0*md?150320cu519x
21、dr2'cvrefwcutoaltcut?addcc4jtgacobcutsado acut4ojtjcut2ojtieocstafttclock>芻 ost圖61總體電路仿真圖7總結這雖然是一個數字電壓表的設計但是實際上就是一個數據采集的程 序設計,只不過這里數據采集的是模擬電壓罷了。雖然這個單片機的課題 比較簡單,但是從小我還是學到了許多新東西。在z前的學習過程小沒有 用到proteus這個軟件,所以剛剛開始的時候一邊在百度里看proteus入門 教程一邊實踐操作proteus這個軟件,不過幸好以前學過protell 99繪圖軟 件,舉一反三的在短時間內把proteus磕磕碰
22、碰學會了。想想我們在大學 里速學軟件還是比較有心得:在一兩天內只學這個軟件,或許還算不上熟 練但是入門述是可以了。在proteus軟件部分的設計中也讓我感受良多。以前做的單片機的設 計都只是寫寫程序,下載到單片機上運行,都只是編程方面的工作,很少 涉及選擇單片機試驗臺上已有芯片以外的芯片,更不用說芯片的一些管腳 作用和一些需要細心發(fā)現不同的地方。就像adc0808是單極性,輸入電 壓范圍為0+ 5v,而我們課題要求的是0+15v,所以我利用參考電壓 可以達到15v這一點把0+15v轉化成05v,進行模數轉換。通過這次設計不但學會了 proteus而且學會了 keil軟件的使用方法, 掌握了從系
23、統的需要、方案的設計、功能模塊的劃分、原理圖的設計和電 路圖的仿真的設計流程,積累了不少經驗?;趩纹瑱C的數字電壓表使用性強、結構簡單、成本低、外接元件少。 在實際應用工作應能好,測量電壓準確,精度高。系統功能、指標達到了 課題的預期要求、系統在硬件設計上充分考慮了可擴展性,經過一定的改 造,可以增加功能。木文設計主要實現了簡易數字電壓表測量一路電壓的 功能,詳細說明了從原理圖的設計、電路圖的仿真再到軟件的調試。最后,感謝周老師,同時也感謝我們組的另一位同學,這次的課程設 計給我們很多的經驗,使我更加了解單片機這門課程,有助于我們以后的 課程了解和更深層次的學習以后的課程。我知道了自身的不足也
24、看見了別12人優(yōu)秀,我也清楚的認識到不管你學習什么都要有一種刻苦鉆研的精神, 與挫折不怕的心態(tài),敢于向任何人請教的勇氣,同時團隊合作也是很重要 的懂得合作分工,互相理解,這樣不管是一個小組還是個人都會有一個好 的收獲,結果也會每個人都滿意。這就是我一個星期以來所有的感受,真 可謂受益頗多。參考文獻1胡健單片機原理及接口技術北京:機械工業(yè)出版社,2004年10月2王毓銀.數字電路邏輯設計.髙等教育出版社,2005年12月于殿泓、王新年單片機原理與程序設計實驗教程.西安電子科技大學出版社,2007 年5月4謝維成、楊加國.單片機原理應用及c51程序設計實例.電子工業(yè)出版社,2006 年3月5李廣弟
25、.單片機基礎.北京航空航天大學出版社,2007年5月 姜志海,黃玉清等著單片機原理及應用m.北京:電子工業(yè)出版社.2005年7月17魏立峰.單片機原理及應用技術.北京大學出版社,2005年8周潤景.protues在mcs-51&arm7系統中的應用百例.笫一版.北京:電子工業(yè)出 版社,2006年9邊春遠等苦.mcs-51單片機應用開發(fā)實用子程序m.北京:人民郵電出版社.2005 年9月.110苗紅霞.單片機實現數字電壓表的軟硬件設計卩.河海大學常州分校學報,2002,(03)11宋鳳娟,孫軍,李國忠基于89c51單片機的數字電壓表設計j.工業(yè)控制計算 機,2007, (04).3*
26、187;u112.crysta.11附錄一:總體電路圖rp1aespackb2 & 步b3/ 02k0 stst q <xko1 r11o«xtallpogadopo.i'adi poz心xtal2p03am po人心 po.f心 po點心astp0.7727psen ale tapzza pzp2.£'a10p2.3a11p2.<.'a12p2aa13p2.6a14p2.7.a1bp1.0p3grxdpl.lp3i<txdp12pjawwpup3wttp1.4p3.5p15pmp3空 gwrp17p3 7mj2l-01a2
27、乂3514x5xak707able2為b3jsim34b53386pft721woz2"12324s“4261272810s11釜j紹131£-2117atb9c5.c9vt vz"-.0017<402!503ac41a052"cc2007210vofcrl vrcfl*:8*a1f8t7addcn8巧 ditaaooava/m8t3inout2血out1iv»eoc132stahtclocka(xx 血ik附錄二:元器件清單序號名稱型號規(guī)格數量1單片機stc89c5112數碼管5010as43二極管805044數模轉換器adc08081
28、5限流電阻220k106圓片電容30pf/5v27晶振12mhz18滑動變阻器1k19排阻1k110導線ip 1 右1im3 «.附錄四:源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intuint temp;sbit st=p3a0;sbit oe=p3a1;sbit eoc=p3a2;sbit clk=p3a3;void delay(uint);uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar cod
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論