




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除目錄1設計方案錯誤!未指定書簽。2設計總體框圖錯誤!未指定書簽。2.1硬件部分錯誤!未指定書簽。2.2軟件部分錯誤!未指定書簽。2.2.1主程序設計錯誤!未指定書簽。2。2.2A/D轉換子程序錯誤!未指定書簽。2。2。3數據處理子程序錯誤!未指定書簽。3設計單元電路錯誤!未指定書簽。3o1模數轉換單元錯誤!未指定書簽。3olo1ADC0808引腳說明錯誤!未指定書簽。3olo2ADC0808通道選擇錯誤!未指定書簽。3.1。3ADC0808的工作原理:錯誤!未指定書簽。3.2數據處理及控制單元錯誤!未指定書簽。3o34位一體七段數碼管錯誤
2、!未指定書簽。4電路原理說明錯誤!未指定書簽。4。1模數轉換錯誤!未指定書簽。4。2數據處理及控制錯誤!未指定書簽。5參考文獻錯誤!未指定書簽。6結論及心得錯誤!未指定書簽。7附錄錯誤!未指定書簽。7.1 調試報告錯誤!未指定書簽。7.2 元器件清單錯誤!未指定書簽。1 / 20資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除簡易直流電壓表的設計1設計方案本設計主要采用AT89C51芯片和ADC0808芯片來完成一個簡易的數字電壓表,能夠對輸入的05V的模擬直流電壓進行測量,并通過一個4位一體的7段LED數碼管進行顯示,測量誤差約為0.02V.該電壓表的測量電路主要由三個模塊組成:A/
3、D轉換模塊、數據處理模塊及顯示控制模塊。A/D轉換主要由芯片ADC0808來完成,它負責把采集到的模擬量轉換為相應的數字量再傳送到數據處理模塊。數據處理則由芯片AT89c51來完成,其負責把ADC0808傳送來的數字量經一定的數據處理,產生相應的顯示碼送到顯示模塊進行顯示;另外它還控制著ADC0808芯片的1:作.顯示模塊主要由7段數碼管組成,顯示測量到的電壓值。2設計總體框圖2.1硬件部分本實驗采用AT89C51單片機芯片配合ADC0808模/數轉換芯片構成一個簡易的數字電壓表,原理電路如圖1所示。該電路通過ADC0808芯片采樣輸入口IN7輸入的。5V的模擬量電壓,經過模/數轉換后,產生相
4、應的數字量經過其輸出通道DOD7傳送給AT89c51芯片的POD。AT89C51負責把接收到的數字量經過數據處理,產生正確的7段數碼管的顯示段碼,并通過其P1口傳送給數碼管。同時它還通過其三位I/O口P3.0、P3。1、P3。2產生位選信號,控制數碼管的亮滅。另外,AT89c51還控制著ADC0808的工作.其ALE管腳為ADCO8O8提供了1MHz工作的時鐘脈沖;P2.3控制ADC0808的地址鎖存端(ALE);P2.4控制ADC0808的啟動端(START);P2.5控制ADC0808的輸出允許端(OE);P3.7控制ADC0808的轉換結束信號(EOC).系統框圖如圖2所示。- U2XT
5、4L2-2- R$T2£L_ro orco UO 1 兇1 ro NfiCQ 廬O 3伏口3 roro office *AMPN力由0 r-z.ig P2.2/A10 rZ.2L/A1 P2.<V<M2 rz.a/Aa P2.G,m rz.T/A-n3Q Pg口 二 I U137 POE3d PO3近 P(HIU3»«.r.-:-»u/21 P。22 PZ1P2224 PZ22: P2428 PA” P維AnaogrsewALE EAPSjCVKD P3 i;rD P3.Z/1MTO PS.STH rs.-vra P3.5/T1 rs.ejM
6、KP3 7荷采塊膨奧 ADC0808 數集 ,Di2=2LIW產2,44P22 MP23 3P25石 f" mP27 21Pig 7Pig flPOU rcli-2CL二器WMT4書;: UUUUUUUU oaoaoaoaeocSTAKT'CLOCK數據處理及控制模塊PP02>輸出顯示顯示模塊4位一體LED數碼管LED位控制信號圖2系統框圖2.2軟件部分2o2o1主程序設計本設計采用C語言編程.首先是初始化,主要是針對定時器TO,設置其工作方式,裝入計數初值,允許中斷等。準備1:作做好后便啟動ADC0808對IN7腳輸入進的。5V電壓模擬信號進行數據采集并轉換成相對應的
7、。255十進制數字量。6 / 20調用A/D轉換子程序數據處理255十進制數字量轉換成0.?05.00壯的數據,輸出到顯示子程序進行顯示。整個主程序就是在A/D轉換/據-如里4調用顯示程序上整個程序流程框圖如圖3所示.圖3主程序流程圖2. 2.2A/D轉換子程序啟動ADC0808對模擬量輸入信號進行轉換,通過判斷EOC(P1.6引腳)來確定轉換是否完成,若EOC為0,則繼續(xù)等待;若EOC為1,則把OE置位,將轉換完成的數據存儲至ljAT89c51中。程序流程圖如圖4所示。圖4數據處理子程序流程圖2.2。 3數據處理子程序數據處理子程序主要根據標度變換公式1-1,把0255十進制數轉換為0.00
8、5.00V<4?=4+(月濯-4)整二套(1T)“wU模擬測量值;模擬輸入最小值;4:模擬輸入最大值;及:模數轉換后的值;既:模/數轉換后的最小值;以:模/數轉換后的最大值。,在本設計中,根據要求知;4=0匕4二5匕死二0,從二255,則公示1-1可化簡為;4=4+出-4)鋪"鑒=黑"2)"IU326272821INOIN1IN2IN3IN4IN5IN6IN7CLOCK<STARTEOC1025242322ADDA ADDB ADDCALEOUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT82120191881514171器,主要由856R
9、電阻分壓1216VREF(+)VREF(-)OEADC0808圖 5ADC0808的引腳圖(l)INOIN7:8路模擬量輸入通道.(2)A、B、C:模擬通道地址線。這3根地址線用于對8路模擬通道的選擇,其譯碼關系如表1一1所示,其中,A為低地址,C為高地址,引腳圖中為ADDA,ADDB和ADDC。7 / 20資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除(3)ALE:地址鎖存允許信號。對應ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。(4)START:轉換啟動信號。START上升沿時,復位ADC0808;START下降沿時啟動芯片,開始進行A/D轉換;在A/D轉換期間,START
10、應保持低電平。本信號有時簡寫為ST。(5) D7DO:數據輸出線。為三態(tài)緩沖輸出形式,可以和單片機的數據線直接相連。D。為最低位,D7為最|'n'jo(6) OE:輸出允許信號。用于控制三態(tài)輸出鎖存器向單片機輸出轉換得到的數據。OEH),輸出數據線呈高阻;OE=1,輸出轉換得到的數據。(7) CLK:時鐘信號。ADC0808的內部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為500KHz的時鐘信號.(8)EOC:轉換結束信號。EOC=0,正在進行轉換;EOC=1,轉換結束。使用中該狀態(tài)信號即可作為查詢的狀態(tài)標志,又可作為中斷請求信號使用。(9)Vcc:
11、+5V電源,GND:地。(10)Vref:參考電壓。參考電壓用來與輸入的模擬信號進行比較,作為逐次逼近的基準。其典型值為+5V(Vref(+)=+5V,Vref()=0V)。3.1.2ADC0808通道選擇表1ADC0808通道選擇表C(ADDC)C(ADDB)C(ADDC)選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7多路模擬開關可選通8路模擬通道,允許8路模擬量分時輸入,并共用一個A/D轉換器進行轉換.地址鎖存與譯碼電路完成對A、B、C三個地址位進行鎖存與譯碼,如表1所示.3o1o3ADC0808的工作原理:首先輸入3位地址,并使
12、ALE=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位.下降沿啟動A/D轉換,之后EOC輸出信號變低,指示轉換正在進行。直到A/D轉換完成,EOC變?yōu)楦唠娖?,指示A/D轉換結束,結果數據已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平時,輸出三態(tài)門打開,轉換結果的數字量輸出到數據總線上。WRA/D啟動寄存器清“鏟START圖6ADC0808信號的時序配合地址悚存3o2數據處理及控制單元此處采用AT89c51,它所需要實現的功能,一是將模數轉換后的數據經過處理并顯示于4位一體的LED上,二是提供LED的位控信號,選擇所應顯示數據的
13、一位8段數碼管,三是提供高電平將ADC0808的鎖存器打開,使得數字信號能夠輸出給單片機。PDIP匚匚匚匚匚匚匚匚匚匚匚匚UUVCCR_O(A£X>)PH>1CAD,)2CA£»j IFHJ3(AXX3)ZJPO4(AO4)DFH)5UR6CA£») 在7CAO7)EyvvFMPALEflPR.OGIF-SfcWZP2/(A.1S>二Ipze(Ai,PJL5(A.13>PN4(A.12>Z)P?3CAT1)ZlAZ2CA1O>ZlP71<Aa) A20(JMO圖7AT89C51的引腳AT89C51的引腳
14、說明如下:(1) VCC:電源電壓;(2) GND:接地;(3)P0口:P0口是一組8位漏極開路雙向I/O口,每位引腳可驅動8個TTL邏輯門路口管腳寫“1”時,被定義為高阻抗輸入。在訪問外部數據存儲器或程序存儲器時,它可以被定義為數據總線和地址總線的低八位。在FLASH編程時,P0口作為原碼輸入口;當FLASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。(4)RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。(5)/PSEN:外部程序存儲器的選通信號(6) XTAL1:片內高增益反向放大器的輸入及內部時鐘工作電路的輸入.(7) XTAL2:片內高增益反向放
15、大器的輸出端。3o34位一體七段數碼管本實驗的顯示模塊主要由一個4位一體的7段LED數碼管構成,用于顯示測量到的電壓值.它是一個共陰極的數碼管,每一位數碼管的原理圖如圖所示。每一位數碼管的a,b,c,d,e,f,g和dp端都各自連接在一起,用于接收AT89c51的P0口產生的顯示段碼。1,2,3,4引腳端為其位選端,用于接收AT89C51的P1口產生的位選碼.圖8為一位數碼管的原理圖。10 / 20資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除共陰3.8就ajk八八ABCDEFGDPoooooooo764219105圖8一位數碼管的原理圖。4電路原理說明4.1模數轉換如圖1電路原理圖
16、所示,三個地址位ADDA、ADDB,ADDC均接高電平+5V電壓,因而所需測量的外部電壓可由ADC0808的IN7端口輸入.由于ADC0808在進行A/D轉換時需要有CLK信,本設計中利用AT89C51的定時中斷產生一個100KHZ的脈沖,由P1.4口送給ADC0808的時鐘端,通過軟件給其輸入一個正脈沖,可立即啟動A/D轉換。在軟件設計中,由于我們對單片機知識還沒能很熟練的掌握,用中斷方式較復雜,且這個程序CPU1作量不大,查詢方式對速度不會產生影響,所以我們采用查詢方式,確保仿真的進度和準確度。在A/D轉換開始之前,逐次逼近寄存器的SAR的內容為0,在A/D轉換過程中,SAR存放“試探”數
17、字量,在轉換完畢后,它的內容即為A/D轉換的結果數字量.邏輯控制與定時電路在START正脈沖啟動后工作,沒來一個CLK脈沖,該電路就可能告知向SAR中傳送一次試探值,對應輸出U0與U1比較,確定一次逼近值,經過8次逼近,即可獲得最后轉換的結果數字量。此處,EOC端口的信號顯示ADC0808的狀態(tài),開始A/D轉換時,EOC為低電平,轉換結束后,輸出高電平。9 / 20U2IQ/TM1POCWCOPO"91P02/J3D2X7A12PO期聞電P04©POZgP0J&W6R$TPO.WDFP2o>neP21加P2.2/A10PSENP2.3ZA11ALEP2.4ZA
18、12EAP2.5/A13PZ0/A14PZ7/A15P1J0P3.0fRX£>P4.1P3.4/TX£>P12P3.20MTDP15F3.3SHHF1.4P3ATOF10P30/F1FMP3.U皿F"P3.7/RD:上29-.皿,一到二Pio4P112P123-P134-P145-P15n-PI。7-PITB-ATS0051.sd90dw8Xgd8VJlodsdU1FQ?»14F。!215F84,FO45-12F056-11FC67-10Rxe,popOEVR6FWVR£f(+)HiikjxirP2C-17-P2114uUUIQ&g
19、t;AUCOUT?ADDCOUTCAODBOUI5AODAE公15-F23批F2<18-F2r.-u-OLHQFC>20-UUIOIN/F272LUUIZIND.pie?uu11iNaIM4enr111。IP166-IM2sr加TIN1CLOCKIND1戶僅10-.,ieM2"22-24"2*5q2218口_2O”£XI>圖9運行中的電路圖10 / 20資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除5參考文獻1胡乾坤,李廣斌,李玲,喻紅。單片微型計算機原理與應用.華中科技大學出版社,20052朱清慧,張鳳瑞,翟天嵩,王志奎。Proteu
20、s教程。清華大學出版社,20083李廣弟.單片機基礎。北京航空航天大學出版社,19944譚運光。單片機開發(fā)手冊。華齡出版社,19946結論及心得我選擇的是簡易直流電壓表,這個所用到的芯片都是我們比較熟悉的,89c51和0808模/數轉換器??偟膩碚f,這次課設完成得還算順利,因為老師給的題目都很經典,加之所要實現的功能也很簡單,因而我們能夠獲得的資源就比較豐富。一開始我在網上查了一些資料,但是大部分都是匯編的,而且相當長,所連接的圖也是極其復雜。由于匯編部分的知識掌握得不太好,考慮到運行有問題不便修改,我最終決定放棄這些現有的程序,轉去研究C。C的程序一目了然,并不像匯編那樣涉及到口地址,存儲單
21、元什么的,因而結合起電路圖來看很快就能弄清楚各個芯片端口的作用。然而課設的過程中仍然遇到了一個大問題一一中斷,定時<>這個是最令人頭疼的部分,怎么計算定時時間,怎么設置控制字,方式字,何時開中斷,怎樣開中斷,如何選擇定時器的工作方式等等,對于概念倒還能敷衍過去,但到了實地操作卻是相當茫然。一開始本打算請教同學,畢竟若是看課本的話,得費上好些時間,而且這個設計里也沒涉及到太多的定時(后來分析知道,其實只是為0808模/數轉換提供脈沖而已)。可是左問右問的之后,發(fā)覺其他同學也稱自己不太清楚。沒辦法,最后只能是“自己動手,豐衣足食”。中斷的響應過程,中斷控制,定時/計數器的TCON,TM
22、OD,以及各種工作方式,特別是應用程序設計那一塊的例子,我一一詳盡地看了一遍,并在與同學的討論中對該部分的重難點大致有了個了解,然后便開始對該C程序的一步步分析。11 / 20資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除現在看來,整個課設的過程中,讀程序那一段時是受益最多的了.其實一開始也嘗試過用匯編,但是網上現成的程序放入仿真后,LED沒有任何顯示,經過同學們的多番討論與修改后,其顯示仍然與參考電壓表不一致,最終只好作罷。在跟同學的討論過程中,我是強烈地感覺到“書到用時方恨少,事非經過不知難”,平常看似簡單的問題,遇到復雜的調用程序就能難住我們一大片人,比如說,程序的執(zhí)行順序,函
23、數調用后如何返回,返回至哪里,RET與RETI有什么區(qū)別,如果兩個定時器同時工作應該選用什么方式,計數器與定時器的區(qū)別,某一段語句執(zhí)行完共用了多長時間等等。其實這些都不難,究其原因,還是我們平常的基礎知識掌握得不夠牢固。貌似這是大學里的最后一次課設了,其實一直覺得這種形式的學習很不錯,同學們在設計的過程中都會有種主動學習的欲望。但是在看程序,連電路的過程中,我們還是能夠學習那些編程人的思路的這一點對于加深我們對于每個知識點的理解非常有幫助。另外,由于是仿真,假如在讀程序的時候有某些地方看不明白,不知道它是用來干嘛的,那我們可以將其去掉然后觀察結果并與正確結果對比,大約就可以有些頭緒了。比如說我
24、這個C里,一開始我也不清楚中斷是干嘛用的,分析了半天,然后在網上查了些資料,貌似是為0808提供工作脈沖的.為了進一步確定,我將程序中有關中斷的部分都刪掉再放入89c51中,并直接給0808提供一個100KHz的CLOCK后運行,結果完全正確。由此證明了最初的猜測。7附錄7.1調試報告由于此次設計的程序較簡單,因而其在keil里運行的時候很順利。但是當將程序加入連接好的電路中并開始仿真時,LED沒有任何顯示。在仔細檢查了程序中調用顯示函數的子程序并確定其無誤后,我開始檢查電路的各個接口。原來是4位一體的數碼管選擇錯誤,程序里本來用的是公陰級,而我卻選擇了CA的共陽極.將正確元件換上后,LED有
25、了顯示,但是顯示極其不穩(wěn)定.我推想應該是程序中某些參數設置得不夠恰當,于是摸索著分別將定時器的計數初值改為TH0=(65536-500)/256,TH0=(65536300)/256,TH0=(65536-100)/256,并試著改變延遲_nop_()函數的個數,直到最后發(fā)覺LED已能穩(wěn)定顯示為止。當我移動可變電阻改變輸入電壓時,發(fā)現電源+15V用得不對,因為利用0808設計的電壓表的量程只有+5V。,超過了就顯示不出來了,所以最12/20資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除終選擇了+5V的電源.再次調試,運行結果正確,LED的顯示與參照電壓表的示數一致。源程序如下:13
26、/ 20資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除#include<reg52oh>#include"intrinsoh"調用_nop_();延時函數用unsignedcharcodedispbitcode=0x3f,0x06,0x5b,0x4f,0x660x6d,0x7d,0x07,0x7f,0x6f;共陰數碼管7段值unsignedchardispbuf4;unsignedchargetdata;unsignedinttemp;sbitCLK=PlA4;sbitST=PlA5;sbitOE=PlA7;sbitEOC=PlA6:sbitP10=PlA0;sbitPll=PlAl;sbitP12=PlA2;sbitP13=PlA3;sbitP07=P0A7:voidTimelnitial();voidDelay(unsignedinti):voidTimelnitial()TMOD=0x01;定時器TO工作在方式1,16位定時器/計數器TH0=(65536-100)/256;裝入計數初值高位TL0=(65536100)%256;裝入計數初值低位EA=1;開中斷ET0=l;允許TO中斷TR0=l;啟動定時器TO)voidDelay(unsig
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產科麻醉教學課件
- 2025年中國光纖擴束器行業(yè)市場運行現狀及投資戰(zhàn)略研究報告
- 2025年度知識產權服務分析報告
- 2025年中國廣場磚行業(yè)市場調查研究及投資潛力預測報告
- 2025年鋼鐵企業(yè)項目立項申請報告模板
- 2025年膠槍熱熔膠項目申請報告
- 煤礦購銷運輸協議書
- 2025年攝影擴印服務項目立項申請報告
- 2025年物理治療康復設備項目申請報告
- 教育資源平臺共享協議
- 宣傳用品發(fā)放管理辦法
- 2025年上海市科學學研究所招聘考試筆試試題(含答案)
- 2025至2030中國少兒英語學習App行業(yè)調研及市場前景預測評估報告
- 開展退伍老兵活動方案
- 2025年中國物流集團招聘筆試備考題庫(帶答案詳解)
- 年產 35 萬噸金屬結構件項目(一期年產 6 萬噸金屬結構件)環(huán)評報告書
- 【基于中國醫(yī)療行業(yè)上市公司數據的CAPM模型實證檢驗分析7800字】
- 陜西省專業(yè)技術人員繼續(xù)教育2025公需課《專業(yè)技術人員綜合素質拓展》4學時題庫及答案
- 四川成都市成華區(qū)2025年物理八下期末監(jiān)測試題含解析
- 劃線及交通設施工程施工方案
- 400T醫(yī)院污水處理方案
評論
0/150
提交評論