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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

13、FFSET NUM ;段碼地址,指向七段碼表 MOV AL,AH MOV AH,00H MOV BL,0AH DIV BL;再除10 MOV SI+1,AL ;AL中為小數點后第一位 MOV SI+2,AH ;AH中為小數點后第二位6、通過8255A輸出在三位LED數碼管上,程序如下:后兩位同理 MOV AL,SI MOV DI,OFFSET LEDDMAP ;段碼地址,查表,顯示第一位包括小數點 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、第一位數碼管,整數位 CALL DELAY總程序見附錄一 軟件調試中出現的問題及解決措施1編寫程序時候有細微語法錯誤,結合運行時軟件糾錯提示,發(fā)現并改正;2局部子程序未到達設定要求,無法產生想要的結果; 整理思路,重新構思程序的設計,與他人交流,修改程序。3 編寫好的程序沒有實現要求的全部功能,無法實現通過按鍵設置采樣時間,只能在程序里面事先設置好采樣時間,不可以用小鍵盤設置并顯示。 最后,由于時間和精力問題,此功能未能得以實現。總結: 通過本次課程設計,使我們加深了對微機接口技術這一門課程的理解,在思路的構思,方案的設定、動手操作方面都有較大的提升。還增強了我們的團隊協作能力。還有,能夠熟練

15、的運用TD-PIT+這個軟件來調試運行已編號的程序和調節(jié)實驗箱。更重要的是通過這次課程設計,使我們能夠熟練理解書本上所學的代碼并運用到電路的設計中去。這就是理論與實踐的轉變。三 附錄附錄1 參考程序清單;A/D轉換實驗IOY0 EQU 3000H ;片選IOY0對應的端口始地址IOY1 EQU 3040H ;片選IOY0對應的端口始地址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對應的端口始地址MY8254_COUNT0 EQU IOY2+00H*4 ;8254計數器0端口地址MY8254_COUNT1 EQU IOY2+01H*4 ;8254計數器1端口地址MY8254_COUNT2 EQU IOY2+02H*4 ;8254計數器2端口地址MY8254_MODE EQU IOY2+03H*4 ;8254控制存放器端口地址IOY3 EQU 30C0H ;片選IOY0對應的端口始地址MY8259_ICW1 EQU IOY3+00H ;實驗系統中825

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

18、對應的中斷矢量地址INTR_OCW1 EQU 0A1H ;INTR對應PC機內部8259的OCW1地址INTR_OCW2 EQU 0A0H ;INTR對應PC機內部8259的OCW2地址INTR_IM EQU 0FBH ;INTR對應的中斷屏蔽字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,完成設置 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 ;判斷中斷是否已響應 JZ QUERY ;沒有響應那么繼續(xù)查詢 CALL MY_0809 CALL DISPLAY1 CALL MY_8259 JMP QUERYQUIT: MOV AX,4C00H ;結束程序退出 INT 21HMY_8254 PROC NEAR MOV DX,MY8254_MODE ;初

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

22、AL,74H ;計數器1,方式0 OUT DX,AL MOV DX,MY8254_COUNT1 ;裝入計數初值 ; MOV AH,01H ;INT 21H ;SUB AL,30H MOV AL,08H ;計數8秒 OUT DX,AL MOV AL,00H OUT DX,AL RETMY_8254 ENDP MY_8259 PROC NEAR MOV DX,MY8259_ICW1 ;初始化實驗系統中8259的ICW1 MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW4 OUT DX,AL MOV DX,MY8259_ICW2 ;初始化實驗系統中8259的ICW2 MOV AL,08H OUT DX,AL MOV DX,MY8259_ICW4 ;初始化實驗系統中8259的ICW4 MOV AL,01H ;非自動結束EOI OUT DX,AL MOV DX,MY8259_OCW1 ;初始化實驗系統中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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論