微機課程設(shè)計報告_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《微機原理與接口技術(shù)》</p><p><b>  課程設(shè)計</b></p><p>  姓名: </p><p>  學(xué)號: </p><p>  班級: </p><

2、;p>  專業(yè): 電子信息工程 </p><p>  學(xué)院: 電氣與信息工程學(xué)院 </p><p><b>  2012年6月</b></p><p><b>  目 錄</b></p><p>  一 課題要求及內(nèi)容…………………………………………2</p>

3、<p>  二 方案設(shè)計…………………………………………………2</p><p>  三 芯片介紹及原理簡介……………………………………2</p><p>  四 設(shè)計流程圖 ………………………………………………7</p><p>  五 硬件電路圖…………………………………………………8</p><p>  六 調(diào)試中出現(xiàn)的問題及

4、解決措施……………………………9</p><p>  七 總結(jié)…………………………………………………………9</p><p>  八 附件…………………………………………………………10</p><p><b>  一 課題要求與內(nèi)容</b></p><p><b>  基本要求</b></p

5、><p>  (1)使用AD0809獲取電壓數(shù)據(jù)。</p><p>  (2)數(shù)據(jù)在數(shù)碼管上面實時顯示。8255A</p><p>  (3)通過按鍵設(shè)置采樣時間,比如60秒采集一次。8253</p><p> ?。?)采樣時間計時結(jié)束后產(chǎn)生中斷,采集電壓數(shù)據(jù)。8259A</p><p>  小四號宋體,1.5倍行距。請各

6、位同學(xué)仔細閱讀與修改設(shè)計說明書的一稿,不要再出現(xiàn)語句不通順,錯別字等低級錯誤!</p><p><b>  二 方案設(shè)計</b></p><p>  ADC0809是逐次逼近型A / D轉(zhuǎn)換器,具有較好的精度和速度,其采集結(jié)果為8位二進制數(shù),沒采集一次一般需要100μs。設(shè)計程序時可采用中斷方式讀取A / D轉(zhuǎn)換結(jié)果數(shù)據(jù)。在中斷方式下,A / D轉(zhuǎn)換結(jié)束后會自動產(chǎn)生E

7、OC信號,將其與8259的中斷輸入端相接即可。電壓模擬量可由實驗箱上的電位器提供,其經(jīng)ADC0809轉(zhuǎn)換得到的數(shù)字量,再將轉(zhuǎn)換的結(jié)果通過軟件編碼得到相應(yīng)的原始電壓值并在LED數(shù)碼管上顯示。</p><p>  三 芯片介紹及原理簡介</p><p>  1、模數(shù)(A/D)轉(zhuǎn)換器ADC0809</p><p><b>  概述:</b></

8、p><p>  ADC0809是采樣分辨率為8位的、以逐次逼近原理進行模—數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A / D轉(zhuǎn)換。</p><p><b>  主要特性:</b></p><p>  8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。 </p><

9、;p>  具有轉(zhuǎn)換起??刂贫恕?</p><p>  轉(zhuǎn)換時間為100μs </p><p>  單個+5V電源供電 </p><p>  模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準(zhǔn)。 </p><p>  工作溫度范圍為-40~+85攝氏度 </p><p>  低功耗,約15mW。</p>

10、<p><b>  (三)引腳功能:</b></p><p>  ADC0809芯片有28條引腳,采用雙列直插式封裝。引腳圖見右圖1-1</p><p>  IN0~IN7:8路模擬量輸入端。 </p><p>  2-1~2-8:8位數(shù)字量輸出端。 </p><p>  ADDA、ADDB、ADDC:3位地

11、址輸入線,用于選通8路模擬輸入中的一路 </p><p>  ALE:地址鎖存允許信號,輸入,高電平有效。 </p><p>  START: A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。 </p><p>  EOC: A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換

12、期間一直為低電平)。 </p><p>  OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 </p><p>  CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 </p><p>  REF(+)、REF(-):基準(zhǔn)電壓。 </p><p>  Vcc:電源,單一+

13、5V。 </p><p><b>  GND:地。</b></p><p><b>  (四)工作過程:</b></p><p><b>  圖1-2</b></p><p>  首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器

14、。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。</p><p>  2、可編程中斷控制器8259A</p><p><b>  (一)概述:<

15、;/b></p><p>  8259A是專門為了對8085A和8086/8088進行中斷控制而設(shè)計的芯片,它是可以用程序控制的中斷控制器。單個的8259A能管理8級向量優(yōu)先級中斷。在不增加其他電路的情況下,最多可以級聯(lián)成64級的向量優(yōu)先級中斷系統(tǒng)。8259A有多種工作方式,能用于各種系統(tǒng)。各種工作方式的設(shè)定是在初始化時通過軟件進行的。 在總線控制器的控制下,8259A芯片可以處于編程狀態(tài)和操作狀態(tài).編程狀

16、態(tài)是CPU使用IN或OUT指令對8259A芯片進行初始化編程的狀態(tài) </p><p>  (二)初始化命令字:</p><p>  1)ICW1寫入雙數(shù)地址。</p><p>  2) ICW2寫入單數(shù)地址。</p><p>  3) ICW3寫入單數(shù)地址。</p><p>  4) ICW4寫入單數(shù)地址</p&

17、gt;<p>  5) 初始化命令字的設(shè)置過程</p><p><b>  (三)操作命令字:</b></p><p>  1)OCW1寫入單數(shù)地址。</p><p>  2) OCW2寫入雙數(shù)地址。</p><p>  3) OCW3寫入雙數(shù)地址。</p><p><b>

18、;  (五)</b></p><p><b>  (四)主要功能:</b></p><p>  在有多個中斷源的系統(tǒng)中,接受外部的中斷請求,并進行判斷,選中當(dāng)前優(yōu)先級最高的中斷請求,再將此請求送到cpu的INTR端;當(dāng)cpu響應(yīng)中斷并進入中斷子程序的處理過程后,中斷控制器仍負責(zé)對外部中斷請求的管理。</p><p><b>

19、;  3、數(shù)碼管</b></p><p>  七段式LED顯示部件</p><p>  典型的七段式LED器件 (b) 共陽極LED (c) 共陰極LED</p><p>  數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方

20、式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某

21、一字段的陽極為低電平時,相應(yīng)字段就不亮。</p><p><b>  四 設(shè)計流程圖</b></p><p><b>  五 硬件電路圖</b></p><p>  六 程序調(diào)試中出現(xiàn)的問題及解決措施</p><p>  1、 剛開始編寫程序時沒有意識到最終顯示的要為原始電壓值,而是單純的將八位二進

22、制數(shù)轉(zhuǎn)換為十進制數(shù)顯示,沒有考慮到輸入電壓與轉(zhuǎn)換后數(shù)字的關(guān)系,所以并沒有達到設(shè)計要求。</p><p>  2、 重新編寫LED段程序后發(fā)現(xiàn)數(shù)碼管發(fā)光不穩(wěn)定,閃爍比較嚴重,通過更改延時主程序參數(shù)問題得到解決。</p><p>  3、 七段數(shù)碼管實際共8段,a、b、c、d、e、f、g這七段用來顯示十進制或十六進制字和字符,另一段DP用來顯示小數(shù)點。在定義段碼時在各段控制信號gfedcba中

23、加一位h并進行組合,得到顯示小數(shù)點的段碼。</p><p>  例如: LEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;數(shù)碼管顯示0到9的字型代碼</p><p>  DB 7FH,6FH</p><p>  LEDDMAP: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H</p&

24、gt;<p>  DB 0FFH,0EFH ;包括小數(shù)點的顯示</p><p>  若要顯示小數(shù)點只要查LEDDMAP段碼表即可。</p><p>  4、 完善程序后編譯運行,調(diào)節(jié)電位器,可發(fā)現(xiàn)數(shù)碼管上顯示相應(yīng)的電壓值。</p><p><b>  七 總結(jié)</b><

25、/p><p>  本次課程設(shè)計主要檢查的是我們對基礎(chǔ)知識的了解程度,只要能夠仔細閱讀我們學(xué)過的幾塊芯片介紹,了解它們的芯片功能、工作原理及初始化即可。但要真正做到學(xué)以致用,則必須要理論與實際相結(jié)合。通過這次課程設(shè)計我深刻體會到只有通過實際編程和微機及接口的硬件實踐,才能真正掌握軟硬件設(shè)計的方法,從中得到收益和提高。</p><p><b>  八 附件</b></p

26、><p><b>  參考程序</b></p><p>  ;T0809.asm</p><p><b>  ;A/D轉(zhuǎn)換實驗</b></p><p>  IOY0 EQU 3000H ;片選IOY0對應(yīng)的端口始地址</p><p>  

27、IOY1 EQU 3040H ;片選IOY0對應(yīng)的端口始地址</p><p>  IOY2 EQU 3080H ;片選IOY0對應(yīng)的端口始地址</p><p>  IOY3 EQU 30C0H ;片選IOY0對應(yīng)的端口始地址</p><p>

28、  AD0809 EQU IOY1 ;AD0809的端口地址</p><p>  MY8255_A EQU IOY0+00H*4 ;8255的A口地址</p><p>  MY8255_B EQU IOY0+01H*4 ;8255的B口地址</p><p>  MY8255_C

29、 EQU IOY0+02H*4 ;8255的C口地址</p><p>  MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址</p><p>  MY8254_COUNT0 EQU IOY2+00H*4 ;8254計數(shù)器0端口地 </p><p>  MY8254_COUNT1 EQU

30、 IOY2+01H*4 ;8254計數(shù)器1端口地址</p><p>  MY8254_COUNT2 EQU IOY2+02H*4 ;8254計數(shù)器2端口地址</p><p>  MY8254_MODE EQU IOY2+03H*4 ;8254控制寄存器端口地址</p><p>  MY8259_ICW1 EQU IOY3+0

31、0H ;實驗系統(tǒng)中8259的ICW1端口地址</p><p>  MY8259_ICW2 EQU IOY3+04H ;實驗系統(tǒng)中8259的ICW2端口地址</p><p>  MY8259_ICW3 EQU IOY3+04H ;實驗系統(tǒng)中8259的ICW3端口地址</p><p>  MY8259_ICW4

32、 EQU IOY3+04H ;實驗系統(tǒng)中8259的ICW4端口地址</p><p>  MY8259_OCW1 EQU IOY3+04H ;實驗系統(tǒng)中8259的OCW1端口地址</p><p>  MY8259_OCW2 EQU IOY3+00H ;實驗系統(tǒng)中8259的OCW2端口地址</p><p> 

33、 MY8259_OCW3 EQU IOY3+00H ;實驗系統(tǒng)中8259的OCW3端口地址</p><p>  INTR_IVADD EQU 01C8H ;INTR對應(yīng)的中斷矢量地址</p><p>  INTR_OCW1 EQU 0A1H ;INTR對應(yīng)PC機內(nèi)部8259的OCW1地址</p>

34、;<p>  INTR_OCW2 EQU 0A0H ;INTR對應(yīng)PC機內(nèi)部8259的OCW2地址</p><p>  INTR_IM EQU 0FBH ;INTR對應(yīng)的中斷屏蔽字</p><p>  STACK1 SEGMENT STACK</p><p>  DB 256 DU

35、P(?) </p><p>  STACK1 ENDS</p><p>  DATA SEGMENT</p><p>  DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H</p><p>  CUN DB 256 DUP(?)

36、 </p><p>  MES DB 'Press any key to exit!',0AH,0DH,0AH,0DH,'$' </p><p>  CS_BAK DW ? ;保存INTR原中斷處理程序入口段地址的變量</p><p>  IP_BAK DW ?

37、 ;保存INTR原中斷處理程序入口偏移地址的變量</p><p>  IM_BAK DB ? ;保存INTR原中斷屏蔽字的變量</p><p><b>  DATA ENDS</b></p><p>  CODE SEGMENT</p><p>

38、;  ASSUME CS:CODE,DS:DATA</p><p>  START: MOV AX,DATA</p><p><b>  MOV DS,AX</b></p><p>  MOV SI,OFFSET CUN </p><p>  MOV DX,MY8259_ICW1 ;初始化實驗系統(tǒng)中82

39、59的ICW1</p><p>  MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW4</p><p>  OUT DX,AL</p><p>  MOV DX,MY8259_ICW2 ;初始化實驗系統(tǒng)中8259的ICW2</p><p>  MOV AL,08H</p&

40、gt;<p>  OUT DX,AL</p><p>  MOV DX,MY8259_ICW4 ;初始化實驗系統(tǒng)中8259的ICW4</p><p>  MOV AL,01H ;非自動結(jié)束EOI</p><p>  OUT DX,AL</p><p>  MOV DX,M

41、Y8259_OCW1 ;初始化實驗系統(tǒng)中8259的OCW1</p><p>  MOV AL,0FCH ;打開IR0和IR1的屏蔽位</p><p>  OUT DX,AL</p><p>  MOV DX,MY8254_MODE ;初始化8254工作方式</p><p>  

42、MOV AL,0B6H ;計數(shù)器2,方式3</p><p>  OUT DX,AL </p><p>  MOV DX,MY8254_COUNT2 ;裝入計數(shù)初值</p><p>  MOV AL,64H ;100分頻</p><p>&l

43、t;b>  OUT DX,AL</b></p><p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,MY8254_MODE ;初始化8254工作方式</p><p>  MOV AL,36H

44、 ;計數(shù)器0,方式3</p><p>  OUT DX,AL </p><p>  MOV DX,MY8254_COUNT0 ;裝入計數(shù)初值</p><p>  MOV AL,00H ;18432分頻</p><p>  OUT DX,AL </p><p&g

45、t;  MOV AL,48H</p><p>  OUT DX,AL </p><p>  MOV DX,MY8254_MODE ;初始化8254工作方式</p><p>  MOV AL,74H ;計數(shù)器1,方式0</p><p>  OUT DX,AL

46、 </p><p>  MOV DX,MY8254_COUNT1 ;裝入計數(shù)初值</p><p>  MOV AL,0AH ;計數(shù)10秒 </p><p><b>  OUT DX,AL</b></p><p>  MOV AL,00H</p><p>

47、<b>  OUT DX,AL</b></p><p>  CALL MY_0809</p><p>  MY_0809 PROC NEAR ;采樣</p><p><b>  PUSH DX</b></p><p><b>  PUSH CX</b>&

48、lt;/p><p><b>  PUSH AX </b></p><p>  MOV DX,AD0809 ;啟動A/D轉(zhuǎn)換</p><p><b>  OUT DX,AL</b></p><p>  CALL DALLY</p><p>  MOV DX,

49、AD0809 ;讀A/D轉(zhuǎn)換結(jié)果</p><p><b>  IN AL,DX</b></p><p>  MOV CH,AL ;分析結(jié)果進行顯示</p><p>  AND AL,0F0H</p><p>  MOV CL,04H</p><

50、p>  SHR AL,CL ;取出數(shù)據(jù)的十位</p><p>  MOV BX,OFFSET DATA</p><p><b>  XLAT</b></p><p>  MOV [SI],AL</p><p>  MOV AL,CH </p>

51、<p>  AND AL,0FH ;取出數(shù)據(jù)的個位</p><p>  MOV BX,OFFSET DATA</p><p><b>  XLAT</b></p><p><b>  INC SI</b></p><p>  MOV [SI],AL<

52、;/p><p><b>  POP AX</b></p><p><b>  POP CX</b></p><p><b>  POP DX</b></p><p><b>  RET</b></p><p>  MY_0809 END

53、P</p><p><b>  QUERY:</b></p><p>  CALL DISPLAY1 </p><p>  MOV AH,1 ;判斷是否有按鍵按下</p><p><b>  INT 16H</b></p><p>

54、  JNZ QUIT ;有按鍵則退出</p><p>  MOV DX,MY8259_OCW3 ;向8259的OCW3發(fā)送查詢命令</p><p>  MOV AL,0CH</p><p>  OUT DX,AL</p><p>  IN AL,DX

55、 ;讀出查詢字</p><p>  TEST AL,80H ;判斷中斷是否已響應(yīng)</p><p>  JZ QUERY ;沒有響應(yīng)則繼續(xù)查詢</p><p>  CALL MY_0809</p><p>  CALL DISPLAY1</p><p&g

56、t;  MOV DX,MY8259_ICW1 ;初始化實驗系統(tǒng)中8259的ICW1</p><p>  MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW4</p><p>  OUT DX,AL</p><p>  MOV DX,MY8259_ICW2 ;初始化實驗系統(tǒng)中8259的IC

57、W2</p><p>  MOV AL,08H</p><p>  OUT DX,AL</p><p>  MOV DX,MY8259_ICW4 ;初始化實驗系統(tǒng)中8259的ICW4</p><p>  MOV AL,01H ;非自動結(jié)束EOI</p><p> 

58、 OUT DX,AL</p><p>  MOV DX,MY8259_OCW1 ;初始化實驗系統(tǒng)中8259的OCW1</p><p>  MOV AL,0FCH ;打開IR0和IR1的屏蔽位</p><p>  OUT DX,AL </p><p>  JMP QUER

59、Y</p><p>  QUIT: MOV AX,4C00H ;結(jié)束程序退出</p><p><b>  INT 21H</b></p><p>  DISPLAY1 PROC NEAR</p><p><b>  PUSH AX</b></p><

60、p><b>  PUSH DX</b></p><p>  MOV DX,MY8255_MODE ;初始化8255工作方式 </p><p>  MOV AL,81H ;方式0,A口、B口輸出,C口低4位輸入 </p><p>  OUT DX,AL </p><

61、p>  MOV AL,[SI] </p><p>  MOV DX,MY8255_B</p><p><b>  OUT DX,AL</b></p><p>  MOV AL,02H</p><p>  MOV DX,MY8255_A </p><p><b>  

62、OUT DX,AL</b></p><p>  CALL DALLY</p><p><b>  DEC SI</b></p><p>  MOV AL,[SI]</p><p>  MOV DX,MY8255_B</p><p><b>  OUT DX,AL</b&

63、gt;</p><p>  MOV AL,01H</p><p>  MOV DX,MY8255_A</p><p><b>  OUT DX,AL</b></p><p>  CALL DALLY</p><p><b>  INC SI</b></p>&l

64、t;p><b>  POP DX</b></p><p><b>  POP AX</b></p><p>  DISPLAY1 ENDP</p><p>  DALLY PROC NEAR ;軟件延時子程序</p><p><b>  PUSH C

65、X</b></p><p><b>  PUSH AX</b></p><p>  MOV CX,4000H</p><p>  D1: MOV AX,0300H</p><p>  D2: DEC AX</p><p><b>  JNZ D2</b>

66、;</p><p><b>  LOOP D1</b></p><p><b>  POP AX</b></p><p><b>  POP CX</b></p><p><b>  RET</b></p><p>  DALLY

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論