微機原理專業(yè)課程設(shè)計簡單數(shù)字電壓表的設(shè)計_第1頁
微機原理專業(yè)課程設(shè)計簡單數(shù)字電壓表的設(shè)計_第2頁
微機原理專業(yè)課程設(shè)計簡單數(shù)字電壓表的設(shè)計_第3頁
微機原理專業(yè)課程設(shè)計簡單數(shù)字電壓表的設(shè)計_第4頁
微機原理專業(yè)課程設(shè)計簡單數(shù)字電壓表的設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、word可編輯微機原理專業(yè)課程設(shè)計簡單數(shù)字電壓表的設(shè)計.word可編輯 微機原理與接口技術(shù) 課程設(shè)計姓名: 黃濤 學(xué)號: 班級: 09電信2班 專業(yè): 電子信息工程 學(xué)院: 電氣與信息工程學(xué)院 江蘇科技大學(xué)張家港校區(qū)2012年6月.word可編輯目 錄一 理論局部21課題要求與內(nèi)容22 系統(tǒng)方案設(shè)計23 系統(tǒng)硬件的設(shè)計3二 實踐局部41 系統(tǒng)硬件原理簡介42 系統(tǒng)硬件調(diào)試中出現(xiàn)的問題及解決措施83 系統(tǒng)軟件8 軟件設(shè)計810三 附錄11數(shù)字電壓表的設(shè)計一 理論局部 1 課題要求與內(nèi)容根本要求:(1) 使用AD0809獲取電壓數(shù)據(jù)。(2) 數(shù)據(jù)在數(shù)碼管上面實時顯示。(3) 通過按鍵設(shè)置采樣時間,

2、比方60秒采集一次。(4) 采樣時間計時結(jié)束后產(chǎn)生中斷,采集電壓數(shù)據(jù)。附加要求:1 通過串口在PC上的串口調(diào)試助手顯示實時電壓信號。 2 系統(tǒng)方案設(shè)計本電路采用模塊化設(shè)計,主要由A/D轉(zhuǎn)換模塊、控制模塊和LED顯示模塊組成.被測電壓基準電壓源積分RC元件3 12位 A/D轉(zhuǎn)換器A/D轉(zhuǎn)換器顯示電路字位驅(qū)動電路VREF圖 1 數(shù)字電壓表原理框圖框圖功能說明基準電源:提供A/D轉(zhuǎn)換參考電壓,基準電壓的精度和穩(wěn)定性是影響轉(zhuǎn)換精度的主要因素。A/D電路:A/D轉(zhuǎn)換器是數(shù)字電壓表的核心部件,由它完成模擬量轉(zhuǎn)換為數(shù)字量的任務(wù)。譯碼驅(qū)動電路:將二-十進制BCD碼轉(zhuǎn)換成七段供LED發(fā)光顯示信號。顯示電路:將譯

3、碼器輸出的七段信號進行數(shù)字顯示,即A/D轉(zhuǎn)換結(jié)果。積分RC元件:通過對RC元件的選取,控制測量量程。字位驅(qū)動電路:根據(jù)A/D器上DS4DS1端的位選信號,控制顯示局部個、十、百、千位哪一位上進行顯示。3 系統(tǒng)硬件設(shè)計本電路采用模塊化設(shè)計,主要由A/D轉(zhuǎn)換模塊、控制模塊和LED顯示模塊組成??刂颇K LED顯示模塊計數(shù)器 中斷請求與響應(yīng)A/D轉(zhuǎn)換模塊外部電壓圖2 系統(tǒng)總體硬件框圖設(shè)計的根本思想和順序利用0809采集電壓數(shù)據(jù),將模擬電壓信號數(shù)字電壓信號。8255通過I/O控制兩位數(shù)碼管顯示 采集電壓值。8254設(shè)置采樣頻率。8359設(shè)置中斷。根本思路:當(dāng)?shù)蕉〞r時間時產(chǎn)生中斷信號,進入中斷采集電壓數(shù)

4、據(jù)。采集的數(shù)據(jù)轉(zhuǎn)化后保存到內(nèi)存空間里,返回主程序后在數(shù)碼管上顯示。二 實踐局部(一) 系統(tǒng)硬件原理簡介1 模數(shù)(A/D)轉(zhuǎn)換器ADC0809 概述ADC0809是采樣分辨率為8位的、以逐次逼近原理進行模數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A / D轉(zhuǎn)換。 主要特性1) 8路輸入通道,8位AD轉(zhuǎn)換器,即分辨率為8位。 2) 具有轉(zhuǎn)換起停控制端。 3) 轉(zhuǎn)換時間為100s 4) 單個5V電源供電 5) 模擬輸入電壓范圍05V,不需零點和滿刻度校準。 6) 工作溫度范圍為-4085攝氏度 7) 低功耗,約15mW。圖3 ADC

5、0809引腳圖2 可編程中斷控制器8259A 概述 8259A是專門為了對8085A和8086/8088進行中斷控制而設(shè)計的芯片,它是可以用程序控制的中斷控制器。單個的8259A能管理8級向量優(yōu)先級中斷。在不增加其他電路的情況下,最多可以級聯(lián)成64級的向量優(yōu)先級中斷系統(tǒng)。8259A有多種工作方式,能用于各種系統(tǒng)。各種工作方式的設(shè)定是在初始化時通過軟件進行的。 在總線控制器的控制下, 8259A引腳圖圖4 8259A引腳圖 主要功能 在有多個中斷源的系統(tǒng)中,接受外部的中斷請求,并進行判斷,選中當(dāng)前優(yōu)先級最高的中斷請求,再將此請求送到CPU的INTR端;當(dāng)CPU響應(yīng)中斷并進入中斷子程序的處理過程后

6、,中斷控制器仍負責(zé)對外部中斷請求的管理。3 并行接口8255A3.1 概述Intel 8086/8088 系列的可編程外設(shè)接口電路Programmable Peripheral Interface)簡稱 PPI,型號為8255改良型為8255A及8255A-5,具有24條輸入/輸出引腳、可編程的通用并行輸入/輸出接口電路。它是一片使用單一+5V電源的40腳雙列直插式大規(guī)模集成電路。8255A的通用性強,使用靈活,通過它CPU可直接與外設(shè)相連接。 8255A工作方式l 方式0:根本輸入輸出方式適用于無條件傳送和查詢方式的接口電路l 方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路l 方式2

7、:雙向選通傳送方式適用于與雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路 8255A引腳圖圖5 8255A引腳圖4 數(shù)碼管 數(shù)碼管結(jié)構(gòu)圖 (a)七段式LED (b) 共陽極LED (c) 共陰極LED圖6七段式LED顯示部件數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元多一個小數(shù)點顯示;按能顯示多少個“8可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字

8、段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。5 計數(shù)器Intel8254 概述8254 芯片是一款使用十分廣泛的可編程定時,計數(shù)芯片,其主要功能是定時和計數(shù)的功能。是8253的改良型,比8253具有更優(yōu)良的性能。與大多數(shù)微處理器兼容;技術(shù)頻率從支流到10MHz;有6種可編程計數(shù)器方式;3個獨立的16位計數(shù)器,二進制或十進制(BCD)計數(shù);7V. Intel825

9、4的引腳圖與邏輯引腳圖圖7 8254的引腳圖對8254的編程通常只需注意兩點:先寫控制字,再寫計數(shù)初值;計數(shù)初值必須遵循控制字中設(shè)定的格式(只有低字節(jié)或只有高字節(jié)或者先低后高,由RW1,RW0規(guī)定)。只有當(dāng)CPU向8254 控制字存放器寫入控制字后,即對其初始化之后, 8254 才能正常地工作。寫入控制字后,所有控制邏輯電路將立即復(fù)位,輸出端OUT立即進入初始狀態(tài)。接著向計數(shù)器的計數(shù)初值存放器中寫計數(shù)初值,在寫入初值后, 需要經(jīng)過一個時鐘脈沖后, 計數(shù)器才開始在脈沖下降沿進行減1計數(shù)。通常在時鐘脈沖的上升沿時,門控信號GATE被采樣。當(dāng)A1,A0=11時,控制字存放器被選擇,控制字存放器中的S

10、C1,SC0那么決定著(0 2)計數(shù)器中哪個會被選中以寫計數(shù)初值。2 系統(tǒng)硬件調(diào)試中出現(xiàn)的問題及解決措施實驗中,.(1)連接好電路圖后運行程序數(shù)碼管顯示不太穩(wěn)定.重新檢查電路,發(fā)現(xiàn)有些導(dǎo)線接觸不良甚至損壞,更換損壞導(dǎo)線重新運行程序直至數(shù)碼管顯示穩(wěn)定.(2)連接好電路后發(fā)現(xiàn)調(diào)節(jié)電位器數(shù)碼管顯示不改變。首先檢查整個電路,發(fā)現(xiàn)電路正常;轉(zhuǎn)而檢查程序是否有問題,發(fā)現(xiàn)有個子程序參數(shù)設(shè)置錯誤,設(shè)置了錯誤的終端屏蔽端口。糾正之后重新連接中斷局部電路之后運行程序,發(fā)現(xiàn)當(dāng)調(diào)節(jié)電位器之后,在一個計數(shù)周期之后,數(shù)碼管的顯示值會變化電路正常。3 系統(tǒng)軟件 軟件設(shè)計1、整個程序源代碼包括定義數(shù)據(jù)段,定義代碼段、子程序及

11、主程序內(nèi)容。子程序中包括延時子程序、中斷效勞子程序及8259A初始化主程序。2、A / D轉(zhuǎn)換器從啟動轉(zhuǎn)換到轉(zhuǎn)換結(jié)束需要一定時間。為了得到正確的轉(zhuǎn)換結(jié)果,必須在轉(zhuǎn)換結(jié)束之后才能去讀取數(shù)字量,這就是時間配合。常用三種方法實現(xiàn)時間配合,有:延時等待法、查詢法和中斷法。中斷法是當(dāng)ADC轉(zhuǎn)換結(jié)束,用轉(zhuǎn)換結(jié)束信號作為中斷請求信號向CPU提出中斷請求,CPU相應(yīng)中斷,在中斷效勞子程序中讀取轉(zhuǎn)換結(jié)果。3、此次設(shè)計中我使用的是中斷法。將ADC0809的轉(zhuǎn)換結(jié)束指示引腳EOC輸出信號作為中斷請求信號,送中斷控制器8259A,占用一個終端類型號n,在中斷效勞程序里讀取轉(zhuǎn)換結(jié)果。4、A / D轉(zhuǎn)換中IN0單極性輸入

12、電壓與轉(zhuǎn)換后數(shù)字的關(guān)系為N=輸入電壓/參考電壓*2565、經(jīng)過A / D轉(zhuǎn)換后的數(shù)字量是八位二進制數(shù),通過以下程序轉(zhuǎn)換為原始電壓值MOV BL,0C4H ;乘以5/256*10000=196 MUL BL ;AX=AL*BL,得16位結(jié)果 PUSH AX ;壓棧,存入結(jié)果 MOV BX,0001H POP AX MUL BX ;將AX擴展為32位,結(jié)果在DX:AX中 MOV BX,64H ;100 DIV BX ;DX:AX/BX,得32位,商在AX中,余數(shù)在DX中 DIV BL ;AX/BL,得16位,商在AL中,余數(shù)在AH中 MOV SI,AL ;整數(shù)局部,結(jié)果放進NUM MOV SI,O

13、FFSET NUM ;段碼地址,指向七段碼表 MOV AL,AH MOV AH,00H MOV BL,0AH DIV BL;再除10 MOV SI+1,AL ;AL中為小數(shù)點后第一位 MOV SI+2,AH ;AH中為小數(shù)點后第二位6、通過8255A輸出在三位LED數(shù)碼管上,程序如下:后兩位同理 MOV AL,SI MOV DI,OFFSET LEDDMAP ;段碼地址,查表,顯示第一位包括小數(shù)點 MOV AH,0 ADD DI,AX MOV AL,DI MOV DX,PORTA OUT DX,AL MOV DX,PORTC ;位選 MOV AL,00000100B OUT DX,AL ;選通

14、第一位數(shù)碼管,整數(shù)位 CALL DELAY總程序見附錄一 軟件調(diào)試中出現(xiàn)的問題及解決措施1編寫程序時候有細微語法錯誤,結(jié)合運行時軟件糾錯提示,發(fā)現(xiàn)并改正;2局部子程序未到達設(shè)定要求,無法產(chǎn)生想要的結(jié)果; 整理思路,重新構(gòu)思程序的設(shè)計,與他人交流,修改程序。3 編寫好的程序沒有實現(xiàn)要求的全部功能,無法實現(xiàn)通過按鍵設(shè)置采樣時間,只能在程序里面事先設(shè)置好采樣時間,不可以用小鍵盤設(shè)置并顯示。 最后,由于時間和精力問題,此功能未能得以實現(xiàn)。總結(jié): 通過本次課程設(shè)計,使我們加深了對微機接口技術(shù)這一門課程的理解,在思路的構(gòu)思,方案的設(shè)定、動手操作方面都有較大的提升。還增強了我們的團隊協(xié)作能力。還有,能夠熟練

15、的運用TD-PIT+這個軟件來調(diào)試運行已編號的程序和調(diào)節(jié)實驗箱。更重要的是通過這次課程設(shè)計,使我們能夠熟練理解書本上所學(xué)的代碼并運用到電路的設(shè)計中去。這就是理論與實踐的轉(zhuǎn)變。三 附錄附錄1 參考程序清單;A/D轉(zhuǎn)換實驗IOY0 EQU 3000H ;片選IOY0對應(yīng)的端口始地址IOY1 EQU 3040H ;片選IOY0對應(yīng)的端口始地址AD0809 EQU IOY1 ;AD0809的端口地址MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址M

16、Y8255_MODE EQU IOY0+03H*4 ;8255的控制存放器地址IOY2 EQU 3080H ;片選IOY0對應(yīng)的端口始地址MY8254_COUNT0 EQU IOY2+00H*4 ;8254計數(shù)器0端口地址MY8254_COUNT1 EQU IOY2+01H*4 ;8254計數(shù)器1端口地址MY8254_COUNT2 EQU IOY2+02H*4 ;8254計數(shù)器2端口地址MY8254_MODE EQU IOY2+03H*4 ;8254控制存放器端口地址IOY3 EQU 30C0H ;片選IOY0對應(yīng)的端口始地址MY8259_ICW1 EQU IOY3+00H ;實驗系統(tǒng)中825

17、9的ICW1端口地址MY8259_ICW2 EQU IOY3+04H ;實驗系統(tǒng)中8259的ICW2端口地址MY8259_ICW3 EQU IOY3+04H ;實驗系統(tǒng)中8259的ICW3端口地址MY8259_ICW4 EQU IOY3+04H ;實驗系統(tǒng)中8259的ICW4端口地址MY8259_OCW1 EQU IOY3+04H ;實驗系統(tǒng)中8259的OCW1端口地址MY8259_OCW2 EQU IOY3+00H ;實驗系統(tǒng)中8259的OCW2端口地址MY8259_OCW3 EQU IOY3+00H ;實驗系統(tǒng)中8259的OCW3端口地址INTR_IVADD EQU 01C8H ;INTR

18、對應(yīng)的中斷矢量地址INTR_OCW1 EQU 0A1H ;INTR對應(yīng)PC機內(nèi)部8259的OCW1地址INTR_OCW2 EQU 0A0H ;INTR對應(yīng)PC機內(nèi)部8259的OCW2地址INTR_IM EQU 0FBH ;INTR對應(yīng)的中斷屏蔽字STACK1 SEGMENT STACK DB 256 DUP() STACK1 ENDSDATA SEGMENT DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HCUN DB 256 DUP() MES DB 'Press number to set inte

19、rrupt time!',0AH,0DH,0AH,0DH,'$' CS_BAK DW ;保存INTR原中斷處理程序入口段地址的變量IP_BAK DW ;保存INTR原中斷處理程序入口偏移地址的變量IM_BAK DB ;保存INTR原中斷屏蔽字的變量DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV SI,OFFSET CUN CALL MY_8259 ;初始化8259,完成設(shè)置 CALL MY_8254 CALL MY_0809 ;第一次采集電壓QUERY: CALL D

20、ISPLAY1 ;顯示電壓 MOV AH,1 ;判斷是否有按鍵按下 INT 16H JNZ QUIT ;有按鍵那么退出 MOV DX,MY8259_OCW3 ;向8259的OCW3發(fā)送查詢命令 MOV AL,0CH OUT DX,AL IN AL,DX ;讀出查詢字 TEST AL,80H ;判斷中斷是否已響應(yīng) JZ QUERY ;沒有響應(yīng)那么繼續(xù)查詢 CALL MY_0809 CALL DISPLAY1 CALL MY_8259 JMP QUERYQUIT: MOV AX,4C00H ;結(jié)束程序退出 INT 21HMY_8254 PROC NEAR MOV DX,MY8254_MODE ;初

21、始化8254工作方式 MOV AL,0B6H ;計數(shù)器2,方式3 OUT DX,AL MOV DX,MY8254_COUNT2 ;裝入計數(shù)初值 MOV AL,64H ;100分頻 OUT DX,AL MOV AL,00H OUT DX,AL MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,36H ;計數(shù)器0,方式3 OUT DX,AL MOV DX,MY8254_COUNT0 ;裝入計數(shù)初值 MOV AL,00H ;18432分頻 OUT DX,AL MOV AL,48H OUT DX,AL MOV DX,MY8254_MODE ;初始化8254工作方式 MOV

22、AL,74H ;計數(shù)器1,方式0 OUT DX,AL MOV DX,MY8254_COUNT1 ;裝入計數(shù)初值 ; MOV AH,01H ;INT 21H ;SUB AL,30H MOV AL,08H ;計數(shù)8秒 OUT DX,AL MOV AL,00H OUT DX,AL RETMY_8254 ENDP MY_8259 PROC NEAR MOV DX,MY8259_ICW1 ;初始化實驗系統(tǒng)中8259的ICW1 MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW4 OUT DX,AL MOV DX,MY8259_ICW2 ;初始化實驗系統(tǒng)中8259的ICW2 MOV AL,08H OUT DX,AL MOV DX,MY8259_ICW4 ;初始化實驗系統(tǒng)中8259的ICW4 MOV AL,01H ;非自動結(jié)束EOI OUT DX,AL MOV DX,MY8259_OCW1 ;初始化實驗系統(tǒng)中8259的OCW1 MOV AL,0FEH ;翻開IR0屏蔽位 OUT DX,AL RETMY_8259 ENDP MY_0809 PROC NEAR ;采樣 PUSH DX PUSH CX PUSH AX MOV DX,AD0809

溫馨提示

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

評論

0/150

提交評論