




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目 錄2.2 a/d轉換模塊22.3 單片機系統(tǒng)42.3.1 at89c51各引腳功能42.4 led顯示系統(tǒng)設計52.4.1 led基本結構52.4.2 led顯示器的選擇62.4.3 led譯碼方式62.4.4 led顯示器與單片機接口設計74.1 顯示結果84.2 誤差分析105.1 程序設計總方案115.2 系統(tǒng)子程序設計115.2.1 初始化程序115.2.2 a/d轉換子程序115.2.3 顯示子程序121 設計任務與要求以mcs-51系列單片機為核心器件,組成一個簡單的直流數字電壓表。采用1路模擬量輸入,能夠測量0-5v之間的直流電壓值。電壓顯示用4位一體的led數碼管顯示,至少
2、能夠顯示兩位小數。 盡量使用較少的元器件2 設計方案2.1 設計思路根據設計要求,選擇at89c51單片機為核心控制器件。a/d轉換采用adc0808實現,與單片機的接口為p1口和p2口的高四位引腳。電壓顯示采用4位一體的led數碼管。led數碼的段碼輸入,由并行端口p0產生:位碼輸入,用并行端口p2低四位產生2.2 a/d轉換模塊現實世界的物理量都是模擬量,能把模擬量轉化成數字量的器件稱為模/數轉換器(a/d轉換器),a/d轉換器是單片機數據采集系統(tǒng)的關鍵接口電路,按照各種a/d芯片的轉化原理可分為逐次逼近型,雙重積分型等等。雙積分式a/d轉換器具有抗干擾能力強、轉換精度高、價格便宜等優(yōu)點。
3、與雙積分相比,逐次逼近式a/d轉換的轉換速度更快,而且精度更高,比如adc0809、adc0808等,它們通常具有8路模擬選通開關及地址譯碼、鎖存電路等,它們可以與單片機系統(tǒng)連接,將數字量送到單片機進行分析和顯示。一個n位的逐次逼近型a/d轉換器只需要比較n次,轉換時間只取決于位數和時鐘周期,逐次逼近型a/d轉換器轉換速度快,因而在實際中廣泛使用。adc0809芯片有28條引腳,采用雙列直插式封裝,其引腳圖如圖3所示。圖3 adc0809引腳圖下面說明各個引腳功能:in0-in7(8條):8路模擬量輸入線,用于輸入和控制被轉換的模擬電壓。地址輸入控制(4條):ale:地址鎖存允許輸入線,高電平
4、有效,當ale為高電平時,為地址輸入線,用于選擇in0-in7上那一條模擬電壓送給比較器進行a/d轉換。adda,addb,addc:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對應關系如表1所示: 表1 adc0809通道選擇表地址碼 對應的輸入通道 c b a 0 0 0 0 1 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為轉換結束輸出線,該線
5、上高電平表示a/d轉換已結束,數字量已鎖入三態(tài)輸出鎖存器。d1-d8:數字量輸出端,d1為高位。oe:oe為輸出允許端,高電平能使d1-d8引腳上輸出轉換后的數字量。ref+、ref-:參考電壓輸入量,給電阻階梯網絡供給標準電壓。vcc、gnd: vcc為主電源輸入端,gnd為接地端,一般ref+與vcc連接在一起,ref-與gnd連接在一起. clk:時鐘輸入端。2.3 單片機系統(tǒng)2.3.1 at89c51各引腳功能at89c51提供以下標準功能:4kb的flash閃速存儲器,128b內部ram,32個i/o口線,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內震蕩
6、器及時鐘電路,同時,at89c51可降至0hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram,定時/計數器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存ram中的內容,但震蕩器停止工作并禁止其他所有工作直到下一個硬件復位。at89c51采用pdip封裝形式,引腳配置如圖5所示7。圖5 at89c51的引腳圖at89c51芯片的各引腳功能為:p0口:這組引腳共有8條,p0.0為最低位。這8個引腳有兩種不同的功能,分別適用于不同的情況,第一種情況是89c51不帶外存儲器,p0口可以為通用i/o口使用,p0.0-p0.7用于傳送cpu的輸入/輸出數據,這時輸出數
7、據可以得到鎖存,不需要外接專用鎖存器,輸入數據可以得到緩沖,增加了數據輸入的可靠性;第二種情況是89c51帶片外存儲器,p0.0-p0.7在cpu訪問片外存儲器時先傳送片外存儲器的低8位地址,然后傳送cpu對片外存儲器的讀/寫數據。p0口為開漏輸出,在作為通用i/o使用時,需要在外部用電阻上拉。p1口:這8個引腳和p0口的8個引腳類似,p1.7為最高位,p1.0為最低位,當p1口作為通用i/o口使用時,p1.0-p1.7的功能和p0口的第一功能相同,也用于傳送用戶的輸入和輸出數據。p2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用i/o口使用,它的第一功能和p0口引腳的第二
8、功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但并不是像p0口那樣傳送存儲器的讀/寫數據。p3口:這組引腳的第一功能和其余三個端口的第一功能相同,第二功能為控制功能,每個引腳并不完全相同,如下表2所示:表2 p3口各位的第二功能p3口各位第二功能p3.0 rxt(串行口輸入)p3.1 txd(串行口輸出)p3.2/int0(外部中斷0輸入)p3.3/int1(外部中斷1輸入)p3.4t0(定時器/計數器0的外部輸入)p3.5t1(定時器/計數器1的外部輸入)p3.6/wr(片外數據存儲器寫允許) p3.7/rd(片外數據存儲器讀允許)vcc為+5v電源線,vss接地。al
9、e:地址鎖存允許線,配合p0口的第二功能使用,在訪問外部存儲器時,89c51的cpu在p0.0-p0.7引腳線去傳送隨后而來的片外存儲器讀/寫數據。在不訪問片外存儲器時,89c51自動在ale線上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時鐘源或定時脈沖使用。/ea:片外存儲器訪問選擇線,可以控制89c51使用片內rom或使用片外rom,若/ea=1,則允許使用片內rom, 若/ea=0,則只使用片外rom。/psen:片外rom的選通線,在訪問片外rom時,89c51自動在/psen線上產生一個負脈沖,作為片外rom芯片的讀選通信號。rst:復位線,可以使89c51處于復位
10、(即初始化)工作狀態(tài)。通常89c51復位有自動上電復位和人工按鍵復位兩種。xtal1和xtal2:片內震蕩電路輸入線,這兩個端子用來外接石英晶體和微調電容,即用來連接89c51片內osc(震蕩器)的定時反饋回路。2.4 led顯示系統(tǒng)設計2.4.1 led基本結構led是發(fā)光二極管顯示器的縮寫。led由于結構簡單、價格便宜、與單片機接口方便等優(yōu)點而得到廣泛應用。led顯示器是由若干個發(fā)光二極管組成顯示字段的顯示器件6。在單片機中使用最多的是七段數碼顯示器。led七段數碼顯示器由8個發(fā)光二極管組成顯示字段,其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā)光二極管在顯示器的右下角作為顯
11、示小數點用,其通過不同的組合可用來顯示各種數字。led引腳排列如下圖8所示:圖8 led引腳排列2.4.2 led顯示器的選擇在應用系統(tǒng)中,設計要求不同,使用的led顯示器的位數也不同,因此就生產了位數,尺寸,型號不同的led顯示器供選擇,在本設計中,選擇4位一體的數碼型led顯示器,簡稱“4-led”。本系統(tǒng)中前一位顯示電壓的整數位,即個位,后兩位顯示電壓的小數位。4-led顯示器引腳如圖9所示,是一個共陰極接法的4位led數碼顯示管,其中a,b,c,e,f,g為4位led各段的公共輸出端,1、2、3、4分別是每一位的位數選端,dp是小數點引出端,4位一體led數碼顯示管的內部結構是由4個單
12、獨的led組成,每個led的段輸出引腳在內部都并聯(lián)后,引出到器件的外部。圖9 4位led引腳對于這種結構的led顯示器,它的體積和結構都符合設計要求,由于4位led陰極的各段已經在內部連接在一起,所以必須使用動態(tài)掃描方式(將所有數碼管的段選線并聯(lián)在一起,用一個i/o接口控制)顯示。2.4.3 led譯碼方式譯碼方式是指由顯示字符轉換得到對應的字段碼的方式,對于led數碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。硬件譯碼是指利用專門的硬件電路來實現顯示字符碼的轉換。軟件譯碼就是編寫軟件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序3。本設計系統(tǒng)中為了簡化硬件
13、線路設計,led譯碼采用軟件編程來實現。由于本設計采用的是共陰極led,其對應的字符和字段碼如下表3.3所示。表3.3 共陰極字段碼表顯示字符共陰極字段碼03fh106h25bh34fh466h56dh67dh707h87fh96fh2.4.4 led顯示器與單片機接口設計由于單片機的并行口不能直接驅動led顯示器,所以,在一般情況下,必須采用專用的驅動電路芯片,使之產生足夠大的電流,顯示器才能正常工作7。如果驅動電路能力差,即負載能力不夠時,顯示器亮度就低,而且驅動電路長期在超負荷下運行容易損壞,因此,led顯示器的驅動電路設計是一個非常重要的問題。為了簡化數字式直流電壓表的電路設計,在le
14、d驅動電路的設計上,可以利用單片機p0口上外接的上拉電阻來實現,即將led的a-g段顯示引腳和dp小數點顯示引腳并聯(lián)到p0口與上拉電阻之間,這樣,就可以加大p0口作為輸出口德驅動能力,使得led能按照正常的亮度顯示出數字,如圖10所示。圖10 led與單片機接口間的設計3 硬件電路設計經過以上的設計過程,可設計出基于單片機的簡易數字直流電壓表硬件電路原理圖如圖11所示。圖11 簡易數字電壓表電路圖此電路的工作原理是:+5v模擬電壓信號通過變阻器vr1分壓后由adc08009的in0通道進入(由于使用的in0通道,所以adda,addb,addc均接低電平),經過模/數轉換后,產生相應的數字量經
15、過其輸出通道d0-d7傳送給at89c51芯片的p1口,at89c51負責把接收到的數字量經過數據處理,產生正確的7段數碼管的顯示段碼傳送給四位led,同時它還通過其四位i/o口p2.0、p2.1、p2.2、p2.3產生位選信號控制數碼管的亮滅。此外,at89c51還控制adc0809的工作。其中,單片機at89c51通過定時器中斷從p2.4輸出方波,接到adc0809的clock,p2.6發(fā)正脈沖啟動a/d轉換,p2.5檢測a/d轉換是否完成,轉換完成后,p2.7置高從p1口讀取轉換結果送給led顯示出來3。簡易數字直流電壓表的硬件電路已經設計完成,就可以選取相應的芯片和元器件,利用prot
16、eus軟件繪制出硬件的原理,并仔細地檢查修改,直至形成完善的硬件原理圖。但要真正實現電路對電壓的測量和顯示的功能,還需要有相應的軟件配合,才能達到設計要求。4 主要參數計算與分析4.1 顯示結果1. 當in0口輸入電壓值為0v時,顯示結果如圖12所示,測量誤差為0v。 圖12 輸入電壓為0v時,led的顯示結果2.當in0輸入電壓值為1.50v時,顯示結果如圖13所示。測量誤差為0.01v。圖13 輸入電壓為1.50v時,led的顯示結果3. 當in0口輸入電壓值為3.50v時,顯示結果如圖14。測量誤差為0.01v。圖14 輸入電壓為3.50v時,led的顯示結果4.2 誤差分析通過以上仿真
17、測量結果可得到簡易數字電壓表與“標準”數字電壓表對比測試表,如下表4所示:表4 簡易數字電壓表與“標準”數字電壓表對比測試表標準電壓值/v簡易電壓表測量值/v絕對誤差/v0.000.000.000.500.510.011.001.000.001.501.510.012.002.000.002.502.500.003.003.000.003.503.500.004.004.000.004.995.000.01由于單片機at89c51為8位處理器,當輸入電壓為5.00v時,adc0809輸出數據值為255(ffh),因此單片機最高的數值分辨率為0.0196v(5/255)。這就決定了電壓表的最高分
18、辨率只能到0.0196v,從上表可看到,測試電壓一般以0.01v的幅度變化。 從上表可以看出,簡易數字電壓表測得的值基本上比標準電壓值偏大0-0.01v,這可以通過校正adc0808的基準電壓來解決。因為該電壓表設計時直接用5v的供電電源作為電壓,所以電壓可能有偏差。當要測量大于5v的電壓時,可在輸入口使用分壓電阻,而程序中只要將計算程序的除數進行調整就可以了。5 軟件設計5.1 程序設計總方案 根據模塊的劃分原則,將該程序劃分初始化模塊,a/d轉換子程序和顯示子程序,這三個程序模塊構成了整個系統(tǒng)軟件的主程序,如圖15所示。開始初始化調用a/d轉換子程序調用顯示子程序結束圖15 數字式直流電壓
19、表主程序框圖5.2 系統(tǒng)子程序設計5.2.1 初始化程序所謂初始化,是對將要用到的mcs_51系列單片機內部部件或擴展芯片進行初始工作狀態(tài)設定,初始化子程序的主要工作是設置定時器的工作模式,初值預置,開中斷和打開定時器等9。5.2.2 a/d轉換子程序a/d轉換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應的數值存入相應的內存單元,其轉換流程圖如圖16所示。開始啟動轉換a/d轉換結束?輸出轉換結果數值轉換顯示結束圖16 a/d轉換流程圖5.2.3 顯示子程序顯示子程序采用動態(tài)掃描實現四位數碼管的數值顯示,在采用動態(tài)掃描顯示方式時,要使得led顯示的比較均勻,又有足夠的亮度,需要設置適當
20、的掃描頻率,當掃描頻率在70hz左右時,能夠產生比較好的顯示效果,一般可以采用間隔10ms對led進行動態(tài)掃描一次,每一位led的顯示時間為1ms10。在本設計中,為了簡化硬件設計,主要采用軟件定時的方式,即用定時器0溢出中斷功能實現11s定時,通過軟件延時程序來實現5ms的延時。6 調試過程 軟件調試的主要任務是排查錯誤,錯誤主要包括邏輯和功能錯誤,這些錯誤有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統(tǒng)發(fā)現逐步改正。proteus軟件可以對基于微控制器的設計連同所有的周圍電子器件一起仿真,用戶甚至可以實時采用諸如led/lcd、鍵盤、rs232終端等動態(tài)外設模型來對設計進行交互仿真。pr
21、oteus支持的微處理芯片包括8051系列、avr系列、pic系列、hc11系列及z80等等。proteus可以完成單片機系統(tǒng)原理圖電路繪制、pcb設計,更為顯著點的特點是可以與u visions3 ide工具軟件結合進行編程仿真調試8。本系統(tǒng)的調試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是proteus軟件,而程序方面,采用的是匯編語言,用keil軟件將程序寫入單片機。7 結論經過一段時間的努力,課程設計-基于單片機的簡易數字電壓表基本完成。但設計中的不足之處仍然存在。這次設計是我第一次設計電路,并用proteus實現了仿真。在這過程中,我對電路設計,單片機的使用等都有了新的認識
22、。通過這次設計學會了proteus和keil軟件的使用方法,掌握了從系統(tǒng)的需要、方案的設計、功能模塊的劃分、原理圖的設計和電路圖的仿真的設計流程,積累了不少經驗?;趩纹瑱C的數字電壓表使用性強、結構簡單、成本低、外接元件少。在實際應用工作應能好,測量電壓準確,精度高。系統(tǒng)功能、指標達到了課題的預期要求、系統(tǒng)在硬件設計上充分考慮了可擴展性,經過一定的改造,可以增加功能。本文設計主要實現了簡易數字電壓表測量一路電壓的功能,詳細說明了從原理圖的設計、電路圖的仿真再到軟件的調試。通過本次設計,我對單片機這門課有了進一步的了解。無論是在硬件連接方面還是在軟件編程方面。本次設計采用了at89c51單片機芯
23、片,與以往的單片機相比增加了許多新的功能,使其功能更為完善,應用領域也更為廣泛。設計中還用到了模/數轉換芯片adc0809,以前在學單片機課程時只是對其理論知識有了初步的理解。通過這次設計,對它的工作原理有了更深的理解。在調試過程中遇到很多問題,硬件上的理論知識學得不夠扎實,對電路的仿真方面也不夠熟練。 總之這次電路的設計和仿真,基本上達到了設計的功能要求。在以后的實踐中,我將繼續(xù)努力學習電路設計方面的理論知識,并理論聯(lián)系實際,爭取在電路設計方面能有所提升。8 參考文獻1胡健.單片機原理及接口技術.北京:機械工業(yè)出版社,2004年10月2王毓銀.數字電路邏輯設計.高等教育出版社,2005年12
24、月3于殿泓、王新年.單片機原理與程序設計實驗教程.西安電子科技大學出版社,2007年5月4謝維成、楊加國.單片機原理與應用及c51程序設計實例.電子工業(yè)出版社,2006年3月5李廣弟.單片機基礎.北京航空航天大學出版社,2007年5月6姜志海,黃玉清等著.單片機原理及應用m .北京:電子工業(yè)出版社.2005年7月 7魏立峰.單片機原理及應用技術.北京大學出版社,2005年8周潤景.protues在mcs-51&arm7系統(tǒng)中的應用百例.第一版.北京:電子工業(yè)出版社,2006年9邊春遠等著.mcs-51單片機應用開發(fā)實用子程序m .北京:人民郵電出版社.2005年9月.10苗紅霞.單片機實現數字電壓表的軟硬件設計j .河海大學常州分校學報,2002,(03).11宋鳳娟,孫軍,李國忠.基于89c51單片機的數字電壓表設計j .工業(yè)控制計算機,2007,(04). 9 附錄led_0 equ 30hled_1 equ 31hled_2 equ 32h adc equ 35h clock
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度物流企業(yè)與貨車司機車輛保險及賠償合同
- 2025年度電網工程結算付款合同
- 二零二五年度金融行業(yè)職員職業(yè)傷害及工傷賠償協(xié)議書
- 二零二五年度培訓機構教育培訓項目投資協(xié)議
- 二零二五年度高端別墅房源代理合作協(xié)議
- 二零二五年度房產轉讓合同中的特殊條款及附加條件協(xié)議
- 2025年度高空作業(yè)聘用司機安全協(xié)議及高空作業(yè)規(guī)范合同
- 2025年度銀行與互聯(lián)網企業(yè)創(chuàng)新業(yè)務合作協(xié)議
- 2025年度智能數據分析技術服務費合同范文
- 運動會 開幕式發(fā)言稿
- 2024年放射工作人員放射防護培訓考試題及答案
- SH∕T 3097-2017 石油化工靜電接地設計規(guī)范
- 高中英語真題-高考英語語法填空專練(6)及答案
- 《市場營銷:網絡時代的超越競爭》第4版 課后習題及答案 chap.1
- 倉儲物流中心物業(yè)管理服務費報價單
- (高清版)JTG 2111-2019 小交通量農村公路工程技術標準
- 室內給水管道安裝安全技術交底
- 2024年徐州生物工程職業(yè)技術學院單招職業(yè)適應性測試題庫全面
- 供電公司涉外突發(fā)事件處置應急預案
- 全身望診課件
- 蘇教版三年級下冊《植物的一生》
評論
0/150
提交評論