




已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
附:學生課程設計 題目:模擬電壓采集電路設計 專 業(yè): 計算機科學與技術 日 期: 2008年3月2日 目 錄一設計目的二實驗平臺和所用器材三設計內(nèi)容四設計原理五程序流程圖六調試分析七原理圖設計八收獲、體會和建議九程序清單一設計目的1. 通過本設計,使學生綜合運用微型計算機技術、匯編語言程序設計以及電子技術等課程的內(nèi)容,為以后從事計算機檢測與控制工作奠定一定的基礎。2. 主要掌握并行i/o接口芯片8253、8255a、adc0809及中斷控制芯片8259a等可編程器件的使用,掌握譯碼器74ls138的使用。3. 學會用匯編語言編寫一個較完整的實用程序。4. 掌握微型計算機技術應用開發(fā)的全過程:分析需求、設計原理圖、選用元器件、布線、編程、調試、撰寫報告等步驟。二實驗平臺和所用器材 本實驗是在windows xp操作系統(tǒng)上下實現(xiàn)的,程序的開發(fā)環(huán)境是用實驗室的課設平臺,所用到的器材如下: 一臺微機原理與接口實訓平臺。 可編程芯片8253、8255a 、adc0809和譯碼器芯片74ls138、數(shù)據(jù)總路線緩沖器74ls245各一片。 可調電位器4.7k一個、發(fā)光二極管8個、74ls06芯片2個、排電阻1個。 其它邏輯器件、導線若干。 示波器、萬用表、常用工具等。三設計內(nèi)容 采用adc0809設計一個單通道模擬電壓采集電路,要求對所接通道變化的模擬電壓值進行采集,采集來的數(shù)字量一路送至發(fā)光二極管指示,一路送至計算機顯示到屏幕上,每行顯示5個數(shù)據(jù),采集完100個數(shù)據(jù)后停止采集過程,采集過程中按下esc鍵也可中斷采集過程。 首先要求我們定義出選擇菜單,給出顯示界面。1. 8255的自檢測這部分要求我們初始化8255,為了能夠正確的看出8255已經(jīng)初始化,當8255初始化后向b口送數(shù)據(jù)0fh到發(fā)光二管上顯示,如果能夠正確顯示就說明8255已經(jīng)被初始化。2. 8253的自檢測 這部分要求我們初始化8253,8253初始化后可以通過示波器觀察輸出的波形是否滿足要求。進行a/d轉換這部分是本次課設的關鍵部分,在做此之前,必須保證8255和8253都被正確的初始化,通過8255的c口控制adc0809對模擬數(shù)據(jù)的采集,然后從a口讀取轉換后的數(shù)據(jù),一路送發(fā)光二極管顯示,一路送顯示器上顯示,這里模擬量由電位器得到。3. 退出系統(tǒng)想結束程序的時候,從菜單上選擇此鍵就可以退出程序.四設計原理1.要用protues設計出正確電路原理圖:a 4.7k電位器一端接+5v,一端接地,調節(jié)電位器得到變化的模擬電壓,該電壓接至adc0809的某一通道輸入端(如in0),adc0809的時鐘為500khz,可由總線直接提供,用8253進行定時中斷,中斷后進行a/d轉換,要求定時為100ms,8253的端口地址:304h307h b. 編程啟動adc0809轉換(adc0809完成一次轉換的時間大約為120s),在中斷服務程序中讀入模數(shù)轉換結果,一路送至發(fā)光二極管指示,一路送至計算機顯示到屏幕上。 c. 8255a用做cpu和adc0809間的接口芯片,adc0809的控制信號(如oe、ale、start等)可由8255a提供,8255a端口地址:300h303h。模數(shù)轉換后的數(shù)字量也可經(jīng)8255a的pa口讀入。d. 譯碼電路由74ls138提供,在總線和其它接口芯片之間還必須加入74ls245,起到隔離總線的作用。mfpt pci總線驅動板邏輯結構如圖所示芯片簡介(1)74ls245的功能表74ls245數(shù)據(jù)總路線緩沖器(2).adc0809簡介 提供一個8通道的多路開關和尋址邏輯l in0in7:8個模擬電壓輸入端l adda、addb、addc:3個地址輸入線l ale:地址鎖存允許信號 ale的上升沿用于鎖存3個地址輸入的狀態(tài),然后由譯碼器從8個模擬輸入中選擇一個模擬輸入端進行a/dstartd0d7oedata100ms2ms+8t(最大)200ns(最小)adda/b/cfsdaaaa/c/eoc adc0809的數(shù)字輸出 adc0809內(nèi)部鎖存轉換后的數(shù)字量 具有三態(tài)數(shù)字量輸出端d0d7 配合輸出允許信號oe 當輸出允許信號oe為高電平有效時,將三態(tài)鎖存緩沖器的數(shù)字量從d0d7輸出其它的芯片查閱微型計算機技術的書。(3).8255a與adc0809的連接(4).8253定時/計數(shù)器 對8253進行編程,定時100ms后,產(chǎn)生中斷,該定時信號(out0)送入到系統(tǒng)預留給用戶的irq2(或irq10)引腳產(chǎn)生中斷,在中斷服務子程序中,啟動一次adc0809模數(shù)轉換,adc0809采用查詢方式工作。irq10中斷向量號為72h 8253的時鐘(clk0)取自mfid實驗平臺。2.編寫程序初始化8255和8253(1)初始化8255:8255有四個寄存器,地址為300h-303h,分別為a口,b口,c口,和控制口,首先要向c口寫入控制字,控制字格式如下:工作方式控制d7 d6 d5 d4 d3 d2 d1 d0特征位1a組方式選擇端口a輸入/輸出c口高四位輸入/輸出b組方式選擇端口b輸入/輸出端口c低四位輸入/輸出c端口置位/復位控制d7 d6 d5 d4 d3 d2 d1 d0特征位0任意位選擇置位/復位 0為復位,1為置位可用如下代碼初始化8255:mov dx,303h mov al,10011001bout dx,al(2)初始化82538253控制字格式如下d7 d6 d5 d4 d3 d2 d1 d0計數(shù)器選擇讀寫格式工作方式計數(shù)方式輸入時鐘信號為0.25mhz,要得到100ms定時,需要寫入的計數(shù)初值為25000,選用計數(shù)器0,工作方式3,代碼如下:mov dx,307h mov al,00110110b out dx,al mov ax,25000 mov dx,304h out dx,al mov al,ah out dx,al3.編寫中斷服務子程序首先要設置好中斷向量,這里是調用72h號中斷,在里面寫入a/d轉換的中斷服務子程序地址,所以要保存原來72h中斷向量表里面的內(nèi)容,最后在程序完成時要恢復72h里的內(nèi)容,在執(zhí)行這些操作的時候是不容許中斷的,所以要關中斷,操作完成后要開中斷,可以用一下指令來完成:cli;獲取原中斷向量里的內(nèi)容并保存 mov ax,3572h int 21h mov intoff,bx mov intseg,es push ds mov dx,offset convert;設置新的中斷向量 mov ax,seg convert mov ds,ax mov ax,2572h int 21h pop ds sticli;恢復72號中斷向量 mov dx,intoff mov ax,intseg mov ds,ax mov ax,2572h int 21h sti中斷服務子程序:要想啟動0809進行轉換,首先必須有一個start信號,該信號為:在轉換的時候通過eoc信號來判斷轉換是否結束,當eoc信號由0變?yōu)?時就代表轉換結束,此時讓oe引腳為1,這時轉換出來的數(shù)據(jù)就輸出了,部分代碼如下:mov dx,303h mov al,10011001b out dx,al mov dx,303h;送啟動信號 mov al,00h out dx,al nop mov al,01h out dx,al nop mov al,00h out dx,al mov dx,302h query: in al,dx test al,10h jz query mov dx,300h in al,dx inc dx out dx,al注意在每次轉換完后都必須將c端口置位: mov dx,303h;將c口復位,以保證下次能正確轉換數(shù)據(jù) mov al,90h out dx,al mov dx,302h mov al,0ffh out dx,al在中斷服務子程序結束之前,必須發(fā)中斷結束命令: mov al,20h ;結束中斷 out 20h,al out 0a0h,al 在進入a/d轉換之前,必須開發(fā)72h號中斷: in al,0a1h;設置中斷屏蔽寄存器,系統(tǒng)開放72號中斷 and al,0fbh out 0a1h,al五程序流程圖 主程序 中斷服務子程序 六調試分析 進入主菜單后選擇1進行8255的初始化,這時候會發(fā)現(xiàn)在實驗板上的一半燈亮,一半滅,同時提示8255 is ok ;選擇2后進入8253的初始化,可以用示波器觀察輸出的波形,同時顯示8253 is ok ,選擇3后進入a/d轉換,將轉換來的數(shù)據(jù)一路送二極管顯示,一路送顯示器。 在調試的過程中,有很多技巧,剛開始的時候,我把所有的電路都連接好調試,結果那樣帶來了很多的麻煩,而且也不容易找出錯誤的所在,最后我把所以的線都拆掉,一個器件一個器件的調試,先從8255開始,直到8255能正確輸出數(shù)據(jù)的時候才開始下一步的測試,然后再測試0809,在測試0809的時候遇到了一個小問題,就是每次轉換來的數(shù)據(jù)都一樣,除非讓8255復位,經(jīng)過認真的分析,才知道是8255的c端口的控制信號沒有置位,接下來測試的是8253,一開始,分頻率總是不對,計數(shù)初值沒有問題,經(jīng)過仔細檢查才發(fā)現(xiàn)8253的芯片出了問題,電源引腳斷了,換芯片后就沒有問題了,在設計中斷的時候,一開始不能讓其自動產(chǎn)生中斷,后來查閱資料才知道是在中斷服務子程序中沒有結束中斷引起的,這些故障調試通過后 ,整個設計就完成了。七原理圖設計八收獲、體會和建議本次課程設計,我學到了很多的東西,對匯編語言程序設計加深了理解和掌握,我們這次設計的要求主要是熟悉微型計算機技術中所學到的幾中芯片的使用,掌握它們的初始化編程,并學會他們的基本應用,這是一個比較全面的設計,和以前的實驗相比較復雜很多,一方面要求我們設計硬件電路,另一方面需要對設計的硬件電路進行編程,這就需要軟件和硬件相結合,具體的電路具體分析,在此次設計中還用到了中斷,通常來說,中斷是很復雜,很難的去調試。在此設計中遇到了很多困難,一開始的時候,硬件電路測試都沒成功,最后把所有的電路都拆了,一個一個測試,進行數(shù)據(jù)轉換的時候,開始轉換出來的數(shù)據(jù)都一樣的,無論電位是否發(fā)生變化,經(jīng)過仔細分析才知道是8255沒有復位,在中斷的產(chǎn)生過程中,由于沒有寫中斷結束也帶來了一定的困難。這次課程設計后,我對學硬件有了一定的體會,它要求我們認真仔細的做好每個環(huán)節(jié),對所有的問題要考慮周全,它和軟件不同,對具體的電路要編寫適合該電路的程序,電路一改,程序也要跟著改,從中我也學會了很多實際應用的知識。最后,還要感謝程世旭老師、趙立輝老師、雷鳴在百忙之中抽出時間來對我的幫助和輔導,他們給我們講授了一些編程的經(jīng)驗,這對于我以后做事幫助很大,由于他們的熱情幫助和支持我才能順利的完成這次課程設計的任務。九程序清單 .model small.386.stack .data intoff dw 0;存放原來中斷向量里的偏移地址intseg dw 0;存放原來中斷向量里的段地址string db this is a a/d converter system,please db input your choice(1-3),0dh,0ah,0ah,0ah,$showline db 23 dup(*),0dh,0ah,$check8255 db *,20h,1 .8255 check self,*,0dh,0ah,$check8253convert db *,20h,2 .8253 check self and a/d convert,*,0dh,0ah,$quit db *,20h,3 .quit the system,*,0dh,0ah,$.code .startup;顯示菜單及提示信息 mov dx,offset string mov ah,9 int 21h mov dx,offset showline mov ah,9 int 21h mov dx,offset check8255 mov ah,9 int 21h mov dx,offset check8253convert mov ah,9 int 21h mov dx,offset quit mov ah,9 int 21h mov dx,offset showline mov ah,9 int 21h cli;獲取原中斷向量里的內(nèi)容并保存 in al,0a1h;設置中斷屏蔽寄存器,系統(tǒng)自動產(chǎn)生72號中斷 and al,0fbh out 0a1h,al mov ax,3572h int 21h mov intoff,bx mov intseg,es push ds mov dx,offset convert_proc;設置新的中斷向量 mov ax,seg convert_proc mov ds,ax mov ax,2572h int 21h pop ds sti;開中斷,進行判斷選擇按什么鍵 jmp choicexwait_press: nop nop nop jne wait_presschoicex: mov ah,1 int 21h cmp al,33h;退出系統(tǒng) je quit_system choice2: cmp al,32h;當選擇2的時候進行8253自檢 jne choice3 mov dl,13 ;向屏幕送回車符 mov ah,2 int 21h mov dl,10 ;向屏幕送換行符 mov ah,2 int 21h mov dx,307h mov al,00110110b out dx,al mov ax,25000 mov dx,304h out dx,al mov al,ah out dx,al in al,0a1h;設置中斷屏蔽寄存器,系統(tǒng)自動產(chǎn)生72號中斷 and al,0fbh out 0a1h,al jmp wait_press choice3:cmp al,31h;8255自檢,將結果輸出到顯示器和發(fā)光二極管 jne choicex mov dl,35h mov ah,2 int 21h mov dx,303h mov al,10011001b out dx,almov al,0fhmov dx,301hout dx,al jmp choicex quit_system: cli mov dx,intoff;恢復1c號中斷向量 mov ax,intseg mov ds,ax mov ax,2572h int 21h sti .exit 0convert_proc proc mov dx,303h mov al,10011001b out dx,al mov dx,303h;送啟動信號 mov al,00h out dx,al nop mov al,01
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電子啟動開關項目可行性研究報告
- 2025年電動調節(jié)閥控制箱項目可行性研究報告
- 2025年甲肝病毒檢測試劑盒項目可行性研究報告
- 2025年環(huán)型壺項目可行性研究報告
- 溫州肯恩大學《有機化學A(上)》2023-2024學年第二學期期末試卷
- 江西服裝學院《論文寫作基礎》2023-2024學年第一學期期末試卷
- 浙江省紹興市新昌中學2025年高三第三次調研測試物理試題含解析
- 云南省文山州硯山縣一中2025年高三(實驗班)第三次質檢英語試題含解析
- 寧波職業(yè)技術學院《寫作(二)》2023-2024學年第一學期期末試卷
- 江蘇省興化市顧莊學區(qū)重點名校2025年初三語文試題3月診斷性測試一模試題含解析
- 工業(yè)互聯(lián)網(wǎng)+危險化學品企業(yè) 安全風險智能化管控平臺
- 《居家養(yǎng)老服務規(guī)范》
- 2025年福建能化集團招聘筆試參考題庫含答案解析
- 邁瑞除顫儀培訓
- 2024-2030年中國高壓變頻器行業(yè)現(xiàn)狀分析及前景趨勢調研報告
- 2024年度中國船員心理健康報告
- 《地源熱泵介紹》課件
- 5以內(nèi)數(shù)的守恒-課件
- 2024年第四屆全國工業(yè)設計職業(yè)技能大賽決賽包裝設計師理論考試題庫(含答案)
- 幼兒園小班認識小動物課件
- GB/T 44569.1-2024土工合成材料內(nèi)部節(jié)點強度的測定第1部分:土工格室
評論
0/150
提交評論