簡易數字電壓表的設計微機原理與應用課程設計_第1頁
簡易數字電壓表的設計微機原理與應用課程設計_第2頁
簡易數字電壓表的設計微機原理與應用課程設計_第3頁
簡易數字電壓表的設計微機原理與應用課程設計_第4頁
簡易數字電壓表的設計微機原理與應用課程設計_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、湖南工程學院課 程 設 計課程名稱 微機原理與應用課程設計 課題名稱 簡易數字電壓表 專 業(yè) 電氣工程及其自動化 設計內容與設計要求設計內容:設計一個簡易數字電壓表,設計內容包括:(1) 使用串行ad轉換器(tlc2543/tlc1543)或并行ad轉換器(adc0809)對外部模擬電壓進行測量。(2) 使用4位led或6位led對測量結果(需轉化為工程量)進行顯示。(3) 能通過鍵盤對轉換通道進行選擇。設計要求:1)確定系統(tǒng)設計方案; 2)進行系統(tǒng)的硬件設計;3)完成必要的參數計算與元器件選擇;4)完成應用程序設計;5)進行軟硬件調試;目錄課程設計書 2第一章 系統(tǒng)總體方案選擇明 4第二章

2、系統(tǒng)結構框圖與工理 4第三章 各單元硬件設計說明及計法 53.1 a/d轉換模塊adc0809電路說明53.2 信號腳 63.3 控制模塊單片機電路說明 83.4顯示模塊led數碼顯示電路說明9第四章 軟件設計與說明(包括流程圖). 10第五章 調試結果與必要的調試說明 125.1 調試過程.125.2調試結果.13第六章 使用說明.13第七章 程序清單.13第八章 總結.18參考文獻.19附錄.191.系統(tǒng)總體方案選擇與說明本電路采用模塊化設計,主要由a/d轉換模塊、控制模塊和led顯示模塊組成(如圖1.0)。控制模塊 led顯示模塊 a/d轉換模塊外 部 電 壓 圖1.0系統(tǒng)總體硬件框圖2

3、.系統(tǒng)結構框圖與工作原理被測電壓基準電壓源積分rc元件3 12位 a/d轉換器a/d轉換器顯示電路字位驅動電路vref圖 2.0數字電壓表原理框圖框圖功能說明基準電源:提供a/d轉換參考電壓,基準電壓的精度和穩(wěn)定性是影響轉換精度的主要因素。a/d電路:a/d轉換器是數字電壓表的核心部件,由它完成模擬量轉換為數字量的任務。譯碼驅動電路:將二-十進制(bcd)碼轉換成七段供led發(fā)光管顯示信號。顯示電路:將譯碼器輸出的七段信號進行數字顯示,即a/d轉換結果。積分rc元件:通過對rc元件的選取,控制測量量程。字位驅動電路:根據a/d器上ds4ds1端的位選信號,控制顯示部分個、十、百、千位哪一位上進

4、行顯示。3.各單元硬件設計說明及計算方法3.1 a/d轉換模塊adc0809電路說明圖3.0中多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用一個a/d轉換器進行轉換,這是一種經濟的多路數據采集方法。地址鎖存與譯碼電路完成對a、b、c 3個地址位進行鎖存和譯碼,其譯碼輸出用于通道選擇,其轉換結果通過三態(tài)輸出鎖存器存放、輸出,因此可以直接與系統(tǒng)數據總線相連。 3.1adc0809內部邏輯結構3.2信號引腳adc0809芯片為28引腳為雙列直插式封裝,其引腳排列見圖3.1。對adc0809主要信號引腳的功能說明如下:in7in0模擬量輸入通道ale地址鎖存允許信號。對應ale上跳沿,a、b

5、、c地址狀態(tài)送入地址鎖存器中。start轉換啟動信號。start上升沿時,復位adc0809;start下降沿時啟動芯片,開始進行a/d轉換;在a/d轉換期間,start應保持 低電平。本信號有時簡寫為st.a、b、c地址線。 通道端口選擇線,a為低地址,c為高地址,引腳圖中為adda,addb和addc。其地址狀態(tài)與通道對應關系見表9-1。clk時鐘信號。adc0809的內部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為500khz的時鐘信號eoc轉換結束信號。eoc=0,正在進行轉換;eoc=1,轉換結束。使用中該狀態(tài)信號即可作為查詢的狀態(tài)標志,又可作為中斷請求信

6、號使用。d7d0數據輸出線。為三態(tài)緩沖輸出形式,可以和單片機的數據線直接相連。d0為最低位,d7為最高 oe輸出允許信號。用于控制三態(tài)輸出鎖存器向單片機輸出轉換得到的數據。oe=0,輸出數據線呈高阻;oe=1,輸出轉換得到的數據。vcc +5v電源。 vref參考電源參考電壓用來與輸入的模擬信號進行比較,作為逐次逼近的基準。其典型值為+5v(vref(+)=+5v, vref(-)=-5v). 圖3.2 adc0809引腳3.3 控制模塊單片機電路說明at89c51(如圖3.3)是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperom)的低電壓,高性能cmos8位微處理器,俗稱單片機。主要管腳

7、說明:p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。 p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流。p2口在flash編程和校驗時接收高八位地址信號和控制信號。

8、 p3口:p3口管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。p3口也可作為at89c51的一些特殊功能口。如:p3.3 /int1(外部中斷1)。p3口同時為閃爍編程和編程校驗接收一些控制信號。 rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。 ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一

9、個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時,ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,xtal2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 3.3at89c5

10、1引腳圖3.4顯示模塊led數碼顯示電路說明四位一體led數碼顯示器分別采用位選和段選位來控制,ag為段選位,14為選為位,dp位小數點控制位如圖2.7。當其為有效信號時則被點亮。圖1.3四位動態(tài)數碼管動態(tài)數碼顯示采用循環(huán)點亮的方式即假設第一位點亮則其它都不點亮,因此如果要顯示數據即要不停的循環(huán)點亮,利用余暉效應顯示出說有的數據。 3.4led數碼顯示引腳圖4.系統(tǒng)的軟件設計程序設計(programming)是指設計、編制、調試程序的方法和過程。在單片機控制系統(tǒng)中,大體上可分為數據處理、過程控制兩個基本類型。為了完成上述任務,在進行軟件設計時,通常采用模塊程序設計法。本系統(tǒng)軟件采用模塊化結構,

11、由主程序數據接收子程序、數據轉換子程序、數據顯示子程序構成(程序見附件)。 圖4.1數據接收程序設計 圖4.2數據接收子程序流程圖將接收的數據除以51商存入51單元將余數除以5將商存入52單元余數存入53單元返回主程序 4.3 數據轉換程序設計關段選位 開段選第一位和小數點位設123置循環(huán)外次數r7=10 將51單元內的數顯示并延時設置循環(huán)內次數r6=100 開段選第二位 r6-1=0 將52單元內的數顯示并延時n y 開段選第三位nr7-1=0將53單元內的數顯示并延時y 返回 返回主程序 圖4.4延時子程序流程圖 圖4.5數據顯示子程序流程圖5.調試結果與必要的調試說明5.1 調試過程由于

12、adc0809在進行a/d轉換時需要有clk信號,而此時的adc0809的clk是接在at89c51單片機的p3.3端口上。也就是要求從p3.3輸出clk信號供adc0809,使用。因此產生clk信號的方法就得用軟件來產生了。由于adc0809的參考電壓vref=vcc,所以轉換之后的數據要經過數據處理,在數碼管上顯示出電壓值。實際顯示的電壓值(d/56*vref)在實驗過程中,發(fā)現了數碼管顯示的電壓在測試的那一路電壓正常顯示,而其他路為不定的電壓值,(電壓為懸浮電壓),加一個排阻接地后使它和低電平相連,在未加電壓的情況下為低電平,數碼管顯示值為0值。用原程序進行調試時,不執(zhí)行報警和通道選擇、

13、單路選擇(原程序少了通道選擇函數和報警函數)。多次修改和添加原程序后能夠達到要求。5.2調試結果通過對上述模塊的調試,可以看出基于單片機控制的電壓表在proteus軟件上可以很好的實現顯示模塊、ad轉換模塊的仿真。當仿真開始運行時,各個模塊處于初始狀態(tài)。當滑動變阻器改變時,顯示的電壓值也相應改變。因此,從仿真結果可以看出,本設計可以得到預期的仿真效果。 6. 使用說明a插好芯片,結好電路。b將輸入端接地,接通+5v,-5v電源(先結好地線),此時顯示器將顯示“000”值,如果不是,應檢測電源正負電壓。c用電阻、電位器構成一個簡單的輸入電壓調節(jié)電路,調節(jié)電位器,4位數碼管將相應變化。7程序清單

14、port0809 equ 0cfa0hadvalue equ 50hadtemp_hi equ 51hadtemp_mi equ 52hadtemp_lo equ 53hdisptemp1 equ 54h;54h-59hdisptemp2 equ 55h;54h-59hdisptemp3 equ 56h;54h-59hdisptemp4 equ 57h;54h-59hdisptemp5 equ 58h;54h-59hdisptemp6 equ 59h;54h-59h org 0000h ajmp main org 0030hmain: mov sp,#60h ;顯示緩沖區(qū)初始化 mov dis

15、ptemp1,#11h;- mov disptemp2,#11h;- mov disptemp3,#11h;- mov disptemp4,#11h;黑 mov disptemp5,#11h;d mov disptemp6,#11h;astart: mov dptr,#port0809 ;adc0809的入口地址 mov a,#00h movx dptr,a ;啟動a/d掛換 mov r0,#0ffhloop1: djnz r0,loop1 ;等待a/d轉換結束,才可讀取結果 jnb p3.2,$ ;查詢方式 movx a,dptr ;取出a/d轉換結果 mov advalue,a lcall

16、 ad_calc a/d轉換結果計算子程序todisp: lcall disp1 ;p1顯示子程序 lcall delay1 ;采樣延時子程序 ljmp start ;循環(huán)ad_calc: push psw push acc mov a,advalue ;255/51=5.0 mov b,#51 div ab mov adtemp_hi,a mov a,b clr f0 subb a,#1ah mov f0,c mov a,#10 mul ab mov b,#51 div ab jb f0,covloop_1 add a,#5covloop_1: mov adtemp_mi,a mov a,b

17、 clr f0 subb a,#1ah mov f0,c mov a,#10 mul ab mov b,#51 div ab jb f0,covloop_2 add a,#5covloop_2: mov adtemp_lo,a pop acc pop psw retdisp1: push acc push 00h ;占用r0 push 01h ;占用r1 push 02h ;占用r2 push 03h ;占用r3 clr a mov p1,a ;送顯碼輸出,p1數據口地址 mov r2,#0feh mov r3,#06h mov disptemp1,adtemp_lo ;ad轉換結果送顯示緩沖

18、區(qū) mov disptemp2,adtemp_mi mov disptemp3,adtemp_hi mov r1,#disptemp1disploop: cjne r1,#disptemp3,disp2 mov a,r1 lcall table ;轉換為顯碼 add a,#80h sjmp disp3disp2: mov a,r1 lcall table ;轉換為顯碼disp3: mov p1,a ;送顯碼輸出,p1數據口地址 mov a,r2 mov p3,a lcall delay12 clr a mov p1,a ;送顯碼輸出,p1數據口地址 mov a,r2 rl a mov r2,a

19、 inc r1 djnz r3,disploop pop 03h pop 02h pop 01h pop 00h pop acc rettable: inc a movc a,a+pc ret db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h db 7fh,6fh,77h,7ch,39h,5eh,79h,71h db 80h,40h,73h,00h,3ehdelay1: push 05h mov r5,#10 ;延時一段時間使顯示穩(wěn)定delay2: lcall disp1 ;p1顯示子程序 djnz r5,delay2 pop 05h retdelay12: push 06h push 05h mov r6,#4 ;延時一段時間使顯示穩(wěn)定delay21: mov r5,#255delay31: djnz r5,delay31 djnz r6,delay21 pop 05h pop 06h ret end 7. 結束語首先感謝學校能為我們提供這樣一個鍛煉自己實踐設計與操作能力的機會,讓我們從中受益匪淺,受益終生。電子技術課程設計是一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論