




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗安排實驗安排實驗地點實驗地點:6320要求要求:實驗后書寫實驗報告,交電子版。實驗后書寫實驗報告,交電子版。打包,命名打包,命名為為“學號學號+ +姓名姓名.rar.rar” ,發(fā)至郵箱:,發(fā)至郵箱: 。上交紙質實驗報告:上交紙質實驗報告:1 1、可編程定時器計數器(、可編程定時器計數器(82538253)- -(1 1)、()、(2 2)和)和思考題思考題2 2、電子琴、電子琴最后兩次實驗安排 12月9日(周三)下午2:306:00 12月10日(周四)上午8:3010:10 12月10日(周四)下午4:306:00 課程考試時間:12月15日(周二)下午2:004:00 課程設計時間:
2、16-17周,具體安排看郵箱 1、存儲器、存儲器6116讀寫實驗讀寫實驗 2、可編程定時器計數器(、可編程定時器計數器(8253) 3、中斷(、中斷(8259).49 4、可編程并行接口(、可編程并行接口(8255方式)方式) 5、七段數碼管、七段數碼管.75 6、電子琴、電子琴.92TPC-USB通用微機接口實驗系統(tǒng)通用微機接口實驗系統(tǒng) 8255實驗區(qū)8253實驗區(qū)0832實驗區(qū)0809實驗區(qū)電源開關USB連接槽總線信號輸出區(qū)直流電機步進電機喇叭保護電路直流信號繼電器七段數碼管點陣邏輯電平開關LED顯示燈通用插座通用插座邏輯筆I/O地址譯碼區(qū)單脈沖源單脈沖源整機復位與或非門電路及D觸發(fā)器 擴
3、展插槽USB2.0連接線5 0 芯連 接線USB總線接口模塊TPC-USB通用微機接口實驗系統(tǒng)通用微機接口實驗系統(tǒng) USB模塊功能模塊功能1.實驗系統(tǒng)中的實驗系統(tǒng)中的USB模塊使用模塊使用PHILIHPS的的ISP1581 USB2.0高速接口芯片高速接口芯片,符合,符合USB2.0接口規(guī)范,提供了接口規(guī)范,提供了高速高速USB下的通信能力。下的通信能力。2.支持支持ISP下載,通過模塊上的下載,通過模塊上的RS-232接口,可以對接口,可以對模塊模塊內部的內部的MCU進行在線編程,對軟件進行修改或在線升級。進行在線編程,對軟件進行修改或在線升級。也可以通過也可以通過RS-232接口下載實驗程
4、序到接口下載實驗程序到USB模塊,進行模塊,進行實驗。實驗。3.模塊內擴展有模塊內擴展有DMA控制器控制器8237及存儲器及存儲器,可以完成微,可以完成微機機DMA傳送和傳送和USB的的DMA傳送實驗。傳送實驗。4.該模塊提供一個該模塊提供一個50線扁平電纜,通過該電纜將模塊產線扁平電纜,通過該電纜將模塊產生的生的仿仿ISA總線信號總線信號連到實驗臺上。連到實驗臺上。 擴展實驗臺結構及主要電路擴展實驗臺結構及主要電路 50芯總線信號插座及總線信號插孔芯總線信號插座及總線信號插孔(各總各總線信號采用線信號采用“自鎖緊自鎖緊”插孔插孔 )微機接口微機接口I/O地址譯碼電路地址譯碼電路 時鐘電路時鐘
5、電路(輸出輸出1MHZ、2MHZ兩種信號兩種信號 )邏輯電平開關電路邏輯電平開關電路 8個開關個開關K0-K7,開關撥到開關撥到“1”位置時開關斷開,輸出高位置時開關斷開,輸出高電平。撥到電平。撥到“0”位置時開關接通輸出低電平。位置時開關接通輸出低電平。 擴展實驗臺結構及主要電路擴展實驗臺結構及主要電路 LED顯示電路顯示電路 8個發(fā)光二極管及相關驅動電路個發(fā)光二極管及相關驅動電路(輸入端輸入端L7L0),當輸,當輸入信號為入信號為“1”時發(fā)光,為時發(fā)光,為“0”時滅。時滅。6. 七段數碼管顯示電路七段數碼管顯示電路 兩個共陰極數碼管及驅動電路兩個共陰極數碼管及驅動電路 7. 單脈沖電路單脈
6、沖電路采用采用RS觸發(fā)器產生,實驗者每按一次開關即可以從兩觸發(fā)器產生,實驗者每按一次開關即可以從兩個插座上分別輸出一個正脈沖及負脈沖,供個插座上分別輸出一個正脈沖及負脈沖,供“中斷中斷”、“DMA”、“定時器定時器/計數器計數器”等實驗使用。等實驗使用。 擴展實驗臺結構及主要電路擴展實驗臺結構及主要電路 LED顯示電路顯示電路 8個發(fā)光二極管及相關驅動電路個發(fā)光二極管及相關驅動電路(輸入端輸入端L7L0),當輸,當輸入信號為入信號為“1”時發(fā)光,為時發(fā)光,為“0”時滅。時滅。6. 七段數碼管顯示電路七段數碼管顯示電路 兩個共陰極數碼管及驅動電路兩個共陰極數碼管及驅動電路 7. 單脈沖電路單脈沖
7、電路采用采用RS觸發(fā)器產生,實驗者每按一次開關即可以從兩觸發(fā)器產生,實驗者每按一次開關即可以從兩個插座上分別輸出一個正脈沖及負脈沖,供個插座上分別輸出一個正脈沖及負脈沖,供“中斷中斷”、“DMA”、“定時器定時器/計數器計數器”等實驗使用。等實驗使用。 擴展實驗臺結構及主要電路擴展實驗臺結構及主要電路 8、邏輯筆、邏輯筆當輸入端當輸入端Ui接高電平時紅燈接高電平時紅燈(H)亮,接低電平時綠燈亮,接低電平時綠燈(L)亮。亮。6. 七段七段數碼管顯示電路數碼管顯示電路9、繼電器及驅動電路、繼電器及驅動電路 10、復位電路、復位電路11、步進電機驅動電路、步進電機驅動電路 12、接口集成電路、接口集
8、成電路13、邏輯門電路、邏輯門電路 實驗臺上設有幾個邏輯門電路,包括實驗臺上設有幾個邏輯門電路,包括“與門與門”、“或門或門”、“非非門門”、“觸發(fā)器觸發(fā)器”, 供實驗時選擇使用。供實驗時選擇使用。用戶擴展實驗區(qū)用戶擴展實驗區(qū) 實驗臺上設有實驗臺上設有4個通用數字集成電路插座,其中個通用數字集成電路插座,其中 “通用插座通用插座”為為40芯活動插座以方便插拔器件。芯活動插座以方便插拔器件。插座的每個引腳都用自鎖緊插孔引出。部分實驗插座的每個引腳都用自鎖緊插孔引出。部分實驗(簡單并行接口、串行通信、集成電路測試等)(簡單并行接口、串行通信、集成電路測試等)電路就是利用這些插座搭試的。利用這些插座
9、可電路就是利用這些插座搭試的。利用這些插座可以進行數字電路實驗,也可以設計開發(fā)新的接口以進行數字電路實驗,也可以設計開發(fā)新的接口實驗或讓學生做課程設計、畢業(yè)設計等項目。實驗或讓學生做課程設計、畢業(yè)設計等項目。 TPC-USB集成軟件開發(fā)環(huán)境集成軟件開發(fā)環(huán)境 USB模塊連接測試模塊連接測試 一、實驗目的一、實驗目的 熟悉熟悉61166116靜態(tài)靜態(tài)RAMRAM的使用方法,掌握的使用方法,掌握PCPC機外存擴充的手段。機外存擴充的手段。二、實驗內容二、實驗內容 編制程序,將字符編制程序,將字符A-ZA-Z循環(huán)寫入擴展的循環(huán)寫入擴展的6116RAM6116RAM中,然后再中,然后再將將6116611
10、6的內容讀出來顯示在主機屏幕上。的內容讀出來顯示在主機屏幕上。實驗實驗1 存儲器存儲器6116讀寫實驗讀寫實驗實驗指導實驗指導書的實驗二十一書的實驗二十一 TPC-USB通用微機接口實驗系統(tǒng)通用微機接口實驗系統(tǒng) 8255實驗區(qū)8253實驗區(qū)0832實驗區(qū)0809實驗區(qū)電源開關USB連接槽總線信號輸出區(qū)直流電機步進電機喇叭保護電路直流信號繼電器七段數碼管點陣邏輯電平開關LED顯示燈通用插座通用插座邏輯筆I/O地址譯碼區(qū)單脈沖源單脈沖源整機復位與或非門電路及D觸發(fā)器 擴展插槽開關狀態(tài)是開關狀態(tài)是on,off,off,on時,對應時,對應A15A12取取0110,輸出端(,輸出端(19)才為低電平,
11、從而選中該片)才為低電平,從而選中該片6116硬件電路如下硬件電路如下: :三、編程提示三、編程提示1、注意、注意:TPC-USB已為擴展的已為擴展的6116(2K*8)指定了段地址)指定了段地址:0d4000H。2、TPC-USB模塊外擴存儲器的地址范圍為模塊外擴存儲器的地址范圍為0D4000H-0D7fffH(共(共16K)。)。3、通過片選信號的產生方式,確定、通過片選信號的產生方式,確定6116RAM在在PC機系統(tǒng)中的地址范圍。因機系統(tǒng)中的地址范圍。因為段地址已指定,所以其地址為為段地址已指定,所以其地址為CS=A15 and A14 and A13 and A12,實驗,實驗臺上設有
12、臺上設有地址選擇微動開關地址選擇微動開關K2,撥動開關,可以選擇,撥動開關,可以選擇4000-7fff的地址范圍。的地址范圍。 編制程序,編制程序,從從0d6000H開始循環(huán)寫入開始循環(huán)寫入100h個個A-Z。 開關狀態(tài)如下開關狀態(tài)如下:1234地址地址ON OFFON OFFd5000hONOFFOFFONd6000h data segment message db please enter a key to show the contents!,0dh,0ah,$data endscode segment assume cs:code,ds:data,es:datastart: mov a
13、x,data mov ds,ax mov ax,0d000h mov es,ax mov bx,06000h mov cx,100h mov dx,40h ;A的的ASCII碼是碼是41H rep1: inc dl mov es:bx,dl ;dl的值寫入的值寫入6116(地址(地址0d6000h)儲存)儲存 inc bx cmp dl,5ah ;看是否加到了;看是否加到了Z jnz ss1 mov dl,40h ;加到;加到Z了,再從了,再從A開始寫開始寫ss1: loop rep1 mov dx,offset message ;以下開始讀出以下開始讀出 mov ah,09 int 21h
14、mov ah,01h ;等待鍵入等待鍵入 int 21h mov ax,0d000h mov es,ax mov bx,06000h mov cx,0100hrep2: mov dl,es:bx ;輸出輸出0d6000h開始的開始的100h單元內容單元內容 mov ah,02h int 21h inc bx loop rep2 mov ax,4c00h int 21h code ends end start思考題:思考題:如果想將數據寫入如果想將數據寫入0d7000h,應如何調整電路應如何調整電路及程序?及程序?將寫入的順序改為將寫入的順序改為Z到到A,寫入字母個數仍保,寫入字母個數仍保持持2
15、56個,應如何修改程序?個,應如何修改程序?1. 將寫入并讀出顯示在屏幕上的內容改為將寫入并讀出顯示在屏幕上的內容改為將將“Assemble”重復重復5次。次。一、實驗目的一、實驗目的 掌握掌握82538253的基本工作原理和編程方法,觀察不同方式下的的基本工作原理和編程方法,觀察不同方式下的波形。波形。 二、實驗內容二、實驗內容 1 1、按圖、按圖1 1虛線連接電路,將計數器虛線連接電路,將計數器0 0設置為方式設置為方式0 0,計數器初,計數器初值為值為N(N15)N(N15),用手動逐個輸入單脈沖,用手動逐個輸入單脈沖,編程使計數值在屏編程使計數值在屏幕上顯示幕上顯示,并同時用邏輯筆觀察
16、,并同時用邏輯筆觀察OUT0OUT0電平變化電平變化( (當輸入當輸入N+1N+1個個脈沖后脈沖后OUT0OUT0變高電平變高電平) )。 實驗實驗2 可編程定時器計數器(可編程定時器計數器(8253) 圖 1 8.1可編程定時器可編程定時器/計數器芯片計數器芯片8253/8254 方式0 計數結束中斷GATEOUTCLK 031244方式方式0WR設設定定工工作作方方式式設設定定計計數數初初值值計計數數值值送送入入計計數數器器計計數數過過程程計計數數結結束束 軟件啟動,不自動重復計數 裝入初值后OUT端變低電平 計數結束OUT輸出高電平。io8253aequ 283hio8253bequ 2
17、80hcode segmentassume cs:codestart: mov al,14h ;設置設置8253通道通道0為工作方式為工作方式0,二進制計數二進制計數 mov dx,io8253a out dx,al mov dx,io8253b ;送計數初值為送計數初值為0FH mov al,0fh out dx,allll: in al,dx ;讀計數初值讀計數初值 call disp ;調顯示子程序調顯示子程序 push dx mov ah,06h mov dl,0ffh int 21h ;直接控制臺直接控制臺I/O, DL=FF(輸入輸入),DL=字符字符(輸出輸出) pop dx j
18、z lll mov ah,4ch ;退出退出 int 21hdisp proc near ;顯示子程序顯示子程序 push dx and al,0fh ;首先取低四位首先取低四位 mov dl,al cmp dl,9 ;判斷是否判斷是否=9 jle num ;若是則為若是則為0-9,ASCII碼加碼加30H add dl,7 ;否則為否則為A-F,ASCII碼加碼加37Hnum: add dl,30h mov ah,02h ;顯示顯示 int 21h mov dl,0dh ;加回車符加回車符 int 21h mov dl,0ah ;加換行符加換行符 int 21h pop dx ret ;子程
19、序返回子程序返回disp endpcode endsend start 2 2、按圖、按圖2 2連接電路,將計數器連接電路,將計數器0 0、計數器、計數器1 1分別設置為方分別設置為方式式3 3,計數初值設為,計數初值設為10001000,用邏輯筆觀察,用邏輯筆觀察OUT1OUT1輸出電平的變輸出電平的變化化( (頻率頻率1HZ)1HZ)。圖 2 io8253aequ 280hio8253bequ 281hio8253cequ 283hcode segmentassume cs:codestart:mov dx,io8253c ;向向8253寫控制字寫控制字mov al,36h ;使使0通道為
20、工作方式通道為工作方式3out dx,almov ax,1000 ;寫入循環(huán)計數初值寫入循環(huán)計數初值1000mov dx,io8253aout dx,al ;先寫入低字節(jié)先寫入低字節(jié)mov al,ahout dx,al ;后寫入高字節(jié)后寫入高字節(jié)mov dx,io8253cmov al,76h ;設設8253通道通道1工作方式工作方式2out dx,almov ax,1000 ;寫入循環(huán)計數初值寫入循環(huán)計數初值1000mov dx,io8253bout dx,al ;先寫低字節(jié)先寫低字節(jié)mov al,ahout dx,al ;后寫高字節(jié)后寫高字節(jié)mov ah,4ch ;程序退出程序退出int
21、21hcode endsend start 按圖按圖3 3連接電路,將計數器連接電路,將計數器0 0設置為方式設置為方式3 3(方波),計(方波),計數器設置為方式數器設置為方式2 2(分頻)。實現計數器(分頻)。實現計數器0 0的輸出為方波,計的輸出為方波,計數器數器1 1的輸出是計數器的輸出是計數器0 0輸出的分頻波形。人機交互界面設計:輸出的分頻波形。人機交互界面設計:實現在顯示屏幕上提示輸入計數器實現在顯示屏幕上提示輸入計數器0 0(方波)的參數和計數(方波)的參數和計數器器1 1(分頻信號)的參數。如下所示:(分頻信號)的參數。如下所示: counter1:_counter1:_ c
22、ounter2:_ counter2:_ continue?(y/n)_ continue?(y/n)_ 實現用鍵盤直接輸入修改程序中方波的參數和分頻信號實現用鍵盤直接輸入修改程序中方波的參數和分頻信號的參數,以改變方波的寬度,分頻信號的周期和分頻數,不的參數,以改變方波的寬度,分頻信號的周期和分頻數,不需重新修改源代碼。觀察計數器需重新修改源代碼。觀察計數器0 0和計數器和計數器1 1的輸出波形及其的輸出波形及其關系,并在紙上畫出關系,并在紙上畫出CLK0CLK0、OUT0OUT0、OUT1OUT1的波形。的波形。 ;*;* 8253 program *;*;data segment mes
23、g0 db 13,10,* 8253 program *,13,10,$ mesg1 db 13,10,Counter1:,$ mesg2 db 13,10,Counter2:,$ mesg3 db 13,10,Continue?(Y/N),$ mesg4 db 13,10,13,10,Thank You ! ,13,10,$ errorm db 13,10,Input Error ! ,$ counter1 dw 0 counter2 dw 0data endscode segment assume cs:code,ds:datamain proc farstart: mov dx,seg
24、data mov ds,dx mov dx,offset mesg0 mov ah,09h int 21hdo: sub bx,bx sub ax,ax mov counter1,0 mov counter2,0 ;initl1: mov dx,offset mesg1 mov ah,09h int 21hrd1 : ;read counter1 mov al,0 ;判斷有無輸入判斷有無輸入 mov ah,01 ;read a char int 21h cmp al,0 jz rd1 cmp al,13 ;if enter je fdone1 jmp tdone1fdone1: jmp don
25、e1tdone1: cmp al,10 je fdone1 cmp al,0 ;if input9 error jb error cmp al,9 ja error push ax mov ax,10 mul counter1 mov counter1,ax ;counter1=counter*10 pop ax sub bx,bx mov bl,al sub bl,30h add counter1,bx ;counter=counter+input jmp rd1error: mov dx,offset errorm mov ah,09h int 21h mov dl,7 mov ah,2
26、int 21h jmp done3tr: ;for jmp do mov dl,al mov ah,02h int 21h mov dl,10 int 21h mov dl,13 int 21h jmp dol2: mov dx,offset mesg2 mov ah,09h int 21h rd2: mov al,0 ;判斷有無輸入判斷有無輸入 mov ah,01 ;read counter2 int 21h cmp al,0 jz rd2 cmp al,13 ;if enter je fdone2 cmp al,10 je fdone2 jmp tdone2 fdone2: jmp don
27、e2 tdone2: cmp al,10 je fdone2 cmp al,0 jb error cmp al,9 ja error push ax mov ax,10 mul counter2 mov counter2,ax ;counter2=counter2*10 pop ax sub bx,bx mov bl,al sub bl,30h ;bh=0 add counter2,bx ;counter2=counter2+input jmp rd2done1: jmp l2done2: jmp out8253 ;after enter two counters ; set 8253 and
28、 do itdone3: mov dx,offset mesg3 mov ah,09h int 21hl3: mov ah,07h int 21h cmp al,Y je tr cmp al,y je tr cmp al,N je quit cmp al,n je quit mov dl,7 mov ah,02h int 21h jmp l3 out8253: ;work code mov al,00110110b mov dx,283h out dx,al mov ax, counter1 mov dx,280h out dx,al mov al,ah out dx,al mov al,01
29、110110b mov dx,283h out dx,al mov ax,counter2 mov dx,281h out dx,al mov al,ah out dx,al mov cx,2801delay: loop delay jmp done3quit: ;return to DOS mov dx,offset mesg4 mov ah,9 int 21h mov ax,4c00h int 21hmain endpcode endsend start 思考:思考:1、模仿實驗內容、模仿實驗內容2,令,令通道通道1工作于方式工作于方式3(方波發(fā)方波發(fā)生器),其輸出接通道生器),其輸出接通
30、道2輸入。令輸入。令通道通道2工作于單工作于單穩(wěn)負脈沖輸出方式(方式穩(wěn)負脈沖輸出方式(方式1),用單脈沖電路觸),用單脈沖電路觸發(fā)該通道輸出發(fā)該通道輸出500ms寬的負脈沖寬的負脈沖,將通道,將通道2的輸的輸出送發(fā)光二極管進行顯示。出送發(fā)光二極管進行顯示。2、改變實驗參數(計數器的計數初值),加快和、改變實驗參數(計數器的計數初值),加快和減慢二極管的閃爍速度。減慢二極管的閃爍速度。提示:輸入脈沖頻率為提示:輸入脈沖頻率為1MHz,設通道,設通道1計數初值計數初值為為1000,則其輸出方波頻率為,則其輸出方波頻率為1000Hz。要想在。要想在通道通道2產生產生500ms的信號,則計數初值計算方
31、法的信號,則計數初值計算方法為:為:(1/1000)*x=0.5, 得得:x=500一、實驗目的一、實驗目的 、掌握、掌握PCPC機中斷處理系統(tǒng)的基本原理。機中斷處理系統(tǒng)的基本原理。 、學會編寫中斷服務程序。、學會編寫中斷服務程序。二、實驗內容二、實驗內容 用手動產單脈沖作為中斷請求信號用手動產單脈沖作為中斷請求信號( (只需連接一根導線只需連接一根導線) )。要求每按一次開關產生一次中斷,在屏幕上顯示一次要求每按一次開關產生一次中斷,在屏幕上顯示一次“TPCA TPCA Interrupt!Interrupt!”,中斷,中斷1010次后程序退出。次后程序退出。 實驗實驗3 中斷中斷 三、實驗
32、原理三、實驗原理 PC機用戶可使用的硬件中斷只有可屏蔽中斷,由機用戶可使用的硬件中斷只有可屏蔽中斷,由8259中斷控制器中斷控制器管理。中斷控制器用于接收外部的中斷請求信號,經過優(yōu)先級判別等處管理。中斷控制器用于接收外部的中斷請求信號,經過優(yōu)先級判別等處理后向理后向CPU發(fā)出可屏蔽中斷請求。發(fā)出可屏蔽中斷請求。IBMPC、PC/XT機內有一片機內有一片8259中斷中斷控制器對外可以提供控制器對外可以提供8個中斷源:個中斷源:中斷源中斷源中斷類型號中斷類型號中斷功能中斷功能IRQ0 08H時鐘時鐘IRQ1 09H鍵盤鍵盤IRQ2 0AH保留保留IRQ30BH串行口串行口2IRQ40CH串行口串行
33、口1IRQ50DH硬盤硬盤IRQ60EH軟盤軟盤IRQ70FH并行打印機并行打印機 8個中斷源的中斷請求信號線個中斷源的中斷請求信號線IRQ0IRQ7在主機的在主機的62線線ISA總線插座總線插座中可以引出,中可以引出,系統(tǒng)已設定中斷請求信號為系統(tǒng)已設定中斷請求信號為“邊沿觸發(fā)邊沿觸發(fā)”,普通結束方式,普通結束方式,8259的地址已經設定為的地址已經設定為20h和和21h。對于對于PC/AT及及286以上微機內又擴展了以上微機內又擴展了一片一片8259中斷控制,中斷控制,IRQ2用于兩片用于兩片8259之間級連,一共可對外可以提供之間級連,一共可對外可以提供15個個中斷源:中斷源:中斷源中斷源
34、中斷類型號中斷類型號中斷功能中斷功能IRQ8070H實時時鐘實時時鐘IRQ9071H用戶中斷用戶中斷IRQ10072H保留保留IRQ11073H保留保留IRQ12074H保留保留IRQ13075H協(xié)處理器協(xié)處理器IRQ14076H硬盤硬盤IRQ15077H保留保留 TPC-USB實驗板上,固定地接到了實驗板上,固定地接到了3號中斷號中斷IRQ3上,即進行中斷實驗上,即進行中斷實驗時,所用中斷類型號為時,所用中斷類型號為0BH。流程圖流程圖可編程中斷控制器可編程中斷控制器Intel8259A A0 RD* WR* CS*功能功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1
35、 1 0 1寫入寫入ICW1、OCW2和和OCW3寫入寫入ICW2ICW4和和OCW1讀出讀出IRR、ISR和查詢字和查詢字讀出讀出IMR數據總線高阻狀態(tài)數據總線高阻狀態(tài)數據總線高阻狀態(tài)數據總線高阻狀態(tài)data segmentmess db TPCA interrupt!,0dh,0ah,$data endscode segmentassume cs:code,ds:datastart:mov ax,csmov ds,axmov dx,offset int3mov ax,250bhint 21h ;設置設置IRQ3的中斷矢量的中斷矢量in al,21h ;讀中斷屏蔽寄存器讀中斷屏蔽寄存器and
36、 al,0f7h out 21h,al ;寫寫IMR,開放,開放IRQ3中斷中斷mov cx,10 ;記中斷循環(huán)次數為記中斷循環(huán)次數為10次次still:jmp llint3: ;中斷服務程序中斷服務程序mov ax,datamov ds,axmov dx,offset messmov ah,09 ;顯示每次中斷的提示信息顯示每次中斷的提示信息int 21hmov al,20hout 20h,al ;發(fā)出發(fā)出EOI結束中斷(寫入結束中斷(寫入ocw2)loop nextin al,21hor al,08h out 21h,al;關閉關閉IRQ3中斷中斷(ocw1)sti ;置中斷標志位置中斷標
37、志位mov ah,4ch ;返回返回DOSint 21hnext: iretcode endsend start D5:EOI位,中斷結束命令位。為位,中斷結束命令位。為1時,時,OCW2用做結束中斷命令;為用做結束中斷命令;為0時,時,OCW2用做設定優(yōu)先級循環(huán)方式的命令字。用做設定優(yōu)先級循環(huán)方式的命令字。 四、思考題 修改中斷服務程序,在屏幕上顯示修改中斷服務程序,在屏幕上顯示0、1、2、3、,觸發(fā)一次,顯示一個。程序觸發(fā)一次,顯示一個。程序設成死循環(huán),顯示到設成死循環(huán),顯示到5程序退出。程序退出。MOV BL,0 IRQ1: CLI ;以下是中服程序,開中斷以下是中服程序,開中斷 INC
38、 BL ;下一個輸出字符下一個輸出字符 MOV AL,BL MOV AH,1 INT 21H;輸出字符輸出字符 MOV AL,20H; OUT 20H,AL;中斷結束字中斷結束字 STI;開中斷開中斷 IRET;中斷返回中斷返回實驗實驗4 可編程并行接口可編程并行接口(8255方式)方式)指導書實驗指導書實驗10一、實驗目的一、實驗目的 1、掌握、掌握8255工作方式時的使用及編程。工作方式時的使用及編程。 2、進一步掌握中斷處理程序的編寫。、進一步掌握中斷處理程序的編寫。 二、實驗內容二、實驗內容11、按圖、按圖1,8255方式方式1的輸出電路連好線路。的輸出電路連好線路。2、編程、編程:每
39、按一次單脈沖按鈕產生一個正脈沖使每按一次單脈沖按鈕產生一個正脈沖使8255產生一次中斷請求,讓產生一次中斷請求,讓CPU進行一次中斷服務進行一次中斷服務:依次輸依次輸出出01H、02H,04H,08H,10H,20H,40H,80H使使L0L7依次發(fā)光,中斷次結束。依次發(fā)光,中斷次結束。TPC-USB通用微機接口實驗系統(tǒng)通用微機接口實驗系統(tǒng) 圖圖 1 8255控制輸出控制輸出 12月3日,周三,上午1、2節(jié),實驗4 12月3日,周三,中午12:50,實驗5 12月10日,周三,中午12:50,實驗6流程圖流程圖主程序主程序中斷服務程序中斷服務程序code segmentassume cs:co
40、destart:mov ax,csmov ds,ax mov dx,offset int_procmov ax,250bh ;設外部中斷設外部中斷int_proc類型號為類型號為0BHint 21hmov dx,21hin al,dxand al,0f7h ;開放開放IRQ3中斷中斷out dx,almov dx,28bh ;置置8255為為A口方式口方式1輸出輸出mov al,0a0hout dx,almov al,0dh ;將將PC6置位置位out dx,almov bl,1 ll:jmp ll ;循環(huán)等待循環(huán)等待程序:程序:int_proc:mov al,blmov dx,288h ;將
41、將AL從從8255的的A口輸出口輸出out dx,al mov al,20hout 20h,alshl bl,1jnc next ;中斷次數小于中斷次數小于8,返回主程序,返回主程序in al,21hor al,08h ;關閉關閉IRQ7中斷中斷out 21h,alsti ;開中斷開中斷mov ah,4ch ;返回返回DOSint 21hnext: iretcode endsend start三、實驗內容三、實驗內容21、按圖、按圖2,8255方式方式1輸入電路,連好線路。輸入電路,連好線路。2、編程、編程:每按一次單脈沖按鈕產生一個正脈沖使每按一次單脈沖按鈕產生一個正脈沖使8255產生一次中
42、斷請求,讓產生一次中斷請求,讓CPU進行一次中斷服務進行一次中斷服務:讀取邏讀取邏輯電平開關預置的輯電平開關預置的ASCII碼,在屏幕上顯示其對應的字碼,在屏幕上顯示其對應的字符,中斷次結束。符,中斷次結束。 圖圖 2 8255控制輸入控制輸入流程圖流程圖主程序主程序中斷服務程序中斷服務程序code segmentassume cs:codestart:mov ax,csmov ds,ax mov dx,offset int_proc ;設置設置IRQ3中斷矢量中斷矢量mov ax,250bhint 21hmov dx,21hin al,dxand al,0f7h ;開放開放IRQ7中斷中斷o
43、ut dx,almov dx,28bh ;設設8255為為A口方式口方式1輸入輸入mov al,0b8hout dx,almov al,09hout dx,almov bl,8 ;BL為中斷次數計數器為中斷次數計數器ll:jmp ll程序:程序:int_proc: ;中斷服務程序中斷服務程序mov dx,288h ;自自8255A口輸入一數據口輸入一數據in al,dxmov dl,al ;將所輸入的數據保存到將所輸入的數據保存到DLmov ah,02h;顯示顯示ASCII碼為碼為DL的字符的字符int 21hmov dl,0dh ;回車回車int 21hmov dl,0ah ;換行換行int
44、 21hmov dx,20h ;發(fā)出發(fā)出EOI結束命令結束命令mov al,20hout dx,aldec bl ;計數器減計數器減1jnz next ;不為不為0則返回主程序則返回主程序in al,21hor al,08hout 21h,al ;關關IRQ3中斷中斷sti ;開中斷開中斷mov ah,4ch ;返回返回DOSint 21hnext: iretcode endsend start思考題:思考題: 以以8255的的B口作輸入口口作輸入口、連接邏輯電平開關;以、連接邏輯電平開關;以8255的的A口作輸出口口作輸出口、連接發(fā)光二極管電路。要求:當輸入不是全、連接發(fā)光二極管電路。要求:
45、當輸入不是全0時,輸出與輸入保持一致(即高電平時點亮);當輸入時,輸出與輸入保持一致(即高電平時點亮);當輸入是全是全0時,令發(fā)光二極管時,令發(fā)光二極管循環(huán)點亮循環(huán)點亮(或閃爍告警)。(或閃爍告警)。begin: mov dx,portc ; 8255 初始化初始化 mov al,82h ; A組方式組方式0,A口出,口出,; B組方式組方式0,B口入口入 out dx,al mov ah,0ffh mov bl,0lp: mov dx,portb ; B 口讀入開關狀態(tài)口讀入開關狀態(tài) in al,dx test al,ah ;與;與ffh比較,看是否比較,看是否8個開關全閉合(個開關全閉合(
46、0信號)信號) jz shift mov dx,porta ; A 口輸出開關狀態(tài)口輸出開關狀態(tài)not al out dx,al jmp lpshift: mov al,bl ;bl初值為初值為0 mov dx,porta not al out dx,al call delay ; 延時延時shl bl,1 ; 移位移位 test bl,ah ;ah初值為初值為ffh jnz lp mov bl,1 jmp lp一、實驗目的一、實驗目的 掌握數碼管顯示數字的原理掌握數碼管顯示數字的原理實驗實驗5 七段數碼管(七段數碼管(指導書實驗指導書實驗5)hgfedcbaLED數碼管及其接口數碼管及其接口
47、 發(fā)光二極管發(fā)光二極管LED(Light Emitting Diode)是是最簡單的最簡單的顯示設備顯示設備 由由8段段LED組成的組成的LED數碼管數碼管 LED數碼管廣泛用于單片機、數碼管廣泛用于單片機、微型機控制系統(tǒng)及數字化儀器微型機控制系統(tǒng)及數字化儀器中中1. LED數碼管的工作原理數碼管的工作原理 主要部分是主要部分是7(8)段段LED發(fā)光管發(fā)光管 各段順時針排列,分別稱為各段順時針排列,分別稱為a、b、c、d、e、f、g、 dp (或(或h,即小即小數點,有時不用)數點,有時不用) 通過通過7個發(fā)光段的不同組合可顯個發(fā)光段的不同組合可顯示不同內容。示不同內容??娠@示可顯示09十個數
48、碼十個數碼也可以顯示也可以顯示AF(實現實現16進制數的進制數的顯示)顯示)還可以顯示個別特殊字符,如、還可以顯示個別特殊字符,如、P、H 等等abcdefgLED數碼管的結構共陽極共陽極共陽極共陽極+5Vabcdefgh共陰極共陰極abcdefgh共陰極共陰極實驗臺實驗臺七段數碼管顯示電路七段數碼管顯示電路 實驗臺設有實驗臺設有兩個共陰極數碼管兩個共陰極數碼管及驅動電路,電路圖及驅動電路,電路圖如圖。段碼輸入端:如圖。段碼輸入端:a、b、c、d、e、f、g、dp,位碼,位碼輸入端:輸入端:S0、S1。顯示字形顯示字形gefdcba段碼段碼001111113fh1000011006h21010
49、115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fh二、實驗內容二、實驗內容 1、靜態(tài)顯示靜態(tài)顯示:按圖按圖5-1連接好電路,將連接好電路,將8255的的A口口PA0PA6分別與七段數碼管的段碼驅動輸入端分別與七段數碼管的段碼驅動輸入端a相相連,位碼驅動輸入端連,位碼驅動輸入端S1接接+5V(選選),S0、dp接地接地(關閉關閉)。編程從鍵盤輸入一位十進制數字編程從鍵盤輸入一位十進制數字(09),在七段數碼管,在七段數碼管上顯示出來。上顯示出來。圖圖5-1data segmentio
50、8255a equ 288hio8255b equ 28bhled db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,Input a num (0-9),other key will exit:,0dh,0ah,$data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255b ;使使8255的的A口為方式口為方式0,輸出方式,輸出方式mov ax,80hout dx,alsss: mov dx,offset mesg1 ;顯
51、示提示信息顯示提示信息 mov ah,09hint 21hmov ah,01 ;從鍵盤接收字符從鍵盤接收字符int 21hcmp al,0 ;是否小于是否小于0jl exit ;若是則退出若是則退出cmp al,9 ;是否大于是否大于9jg exit ;若是則退出若是則退出sub al,30h ;將所得字符的將所得字符的ASCII碼減碼減30Hmov bx,offset led ;bx為數碼表的起始地址為數碼表的起始地址xlat ;求出相應的段碼求出相應的段碼alds:bxalmov dx,io8255a ;從從8255的的A口輸出口輸出out dx,aljmp sss ;轉轉sssexit:
52、 mov ah,4ch ;返回返回int 21hcode endsend start二、實驗內容二、實驗內容動態(tài)顯示動態(tài)顯示:按圖按圖5-2連接好電路,七段數碼管段碼連接連接好電路,七段數碼管段碼連接不變,位碼驅動輸入端不變,位碼驅動輸入端S1,S0接接8255 C口的口的PC1,PC0。編程在兩個數碼管上顯示。編程在兩個數碼管上顯示“56”。動態(tài)顯示動態(tài)顯示(選作選作):使用圖使用圖5-2的電路,編程在兩個數碼管的電路,編程在兩個數碼管上循環(huán)顯示上循環(huán)顯示“00-99”。圖圖5-2; LED2.ASMdata segmentio8255a equ 28ah ;C口口io8255b equ 2
53、8bh ;控制口控制口io8255c equ 288h ;A口口led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段碼段碼buffer1 db 6,5 ;存放要顯示的個位和十位存放要顯示的個位和十位bz dw ? ;位碼位碼data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,io8255b ;將將8255設為設為A口方式口方式0輸出輸出mov al,80hout dx,almov di,offset buffer1 ;設設di為顯示緩沖區(qū)為顯示緩沖區(qū)
54、loop2: mov bh,02lll: mov byte ptr bz,bhpush di ;di指向要顯示的數,為什么要指向要顯示的數,為什么要push?dec diadd di, bzmov bl,di ;bl取得要顯示的數取得要顯示的數pop di mov al,0 mov dx,io8255a out dx,al ;C口口送送0h,即關掉數碼管顯示即關掉數碼管顯示mov bh,0mov si,offset led ;置置led數碼表偏移地址為數碼表偏移地址為SIadd si,bx ;求出對應的求出對應的led數碼數碼mov al,byte ptr simov dx,io8255c ;
55、自自8255的的A口口輸出輸出out dx,al ;使相應的數碼管亮使相應的數碼管亮mov al,byte ptr bz mov dx,io8255aout dx,al ;C口送口送2,即,即pc1=1mov cx,3000delay: loop delay ;延時延時mov bh,byte ptr bzshr bh,1 ; bh內容右移內容右移1位,即變成了位,即變成了01h,控制個位,控制個位jnz lllmov dx,0ffhmov ah,06int 21h ;直接控制臺直接控制臺I/O, DL=FF(輸入輸入),DL=字符字符(輸出輸出) ;DL0FFH時,執(zhí)行鍵盤輸入操作。若標志時,
56、執(zhí)行鍵盤輸入操作。若標志ZF0,AL中放入字符的中放入字符的;ASCII碼;若標志碼;若標志ZF1,表示無鍵按下。,表示無鍵按下。je loop2 ;無無鍵按下則繼續(xù)顯示鍵按下則繼續(xù)顯示mov dx,io8255amov al,0 out dx,al ;有鍵按下,關掉數碼管顯示有鍵按下,關掉數碼管顯示mov ah,4ch int 21h ;程序終止,退出程序終止,退出code endsend start思考題編程實現以下功能:編程實現以下功能: 按下數字按下數字1,在數碼管上顯示,在數碼管上顯示23按下數字按下數字2,在數碼管上顯示,在數碼管上顯示45實驗實驗6 電子琴電子琴實驗指導書上的實驗
57、十六實驗指導書上的實驗十六一、實驗目的一、實驗目的 1、通過、通過8253產生不同的頻率信號,使產生不同的頻率信號,使PC機成為簡易電機成為簡易電 子琴。子琴。2、了解利用、了解利用8255和和8253產生音樂的基本方法。產生音樂的基本方法。二、實驗內容二、實驗內容 實驗電路如圖實驗電路如圖6,8253的的CLK0接接1MHZ時鐘,時鐘,GATE0接接8255的的PA1,OUT0和和8255的的PA0接到與門的接到與門的兩個輸入端,兩個輸入端,K8跳線連接喇叭,編程使計算機的數字鍵跳線連接喇叭,編程使計算機的數字鍵1、2、3、4、5、6、7作為電子琴按鍵,按下即發(fā)出相作為電子琴按鍵,按下即發(fā)出相應的音階。應的音階。圖圖6 電子琴電路電子琴電路三、編程提示三、編程提示: 利用利用8255的的PA0口來施加控制信號給與門,用來控制口來施加控制信號給與門,用來控制揚聲器的開關狀態(tài)。再利用設置不同的計數值,使揚聲器的開關狀態(tài)。再利用設置不同的計數值,使8253產生不同頻率的波形,使揚聲器產生不同頻率的音調,達產生不同頻率的波形,使揚聲器產生不同頻率的音調,達到類似與音階的高低音變換。對于音樂,每個音階都有確到類似與音階的高低音變換。對于音樂,每個音階都
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JG/T 114-1999混凝土空心板推擠成型機
- GM/T 0014-2023數字證書認證系統(tǒng)密碼協(xié)議規(guī)范
- GB/T 42186-2022醫(yī)學檢驗生物樣本冷鏈物流運作規(guī)范
- GB/T 42183-2022城市公共汽電車監(jiān)管信息系統(tǒng)技術要求
- DZ/T 0176-1997回轉式工程鉆機
- DZ/T 0168-1997重力儀環(huán)境試驗條件及方法
- CJ/T 517-2017生活垃圾滲瀝液厭氧反應器
- CJ/T 47-2016水處理用濾磚
- CJ/T 375-2011中低速磁浮交通車輛通用技術條件
- CJ/T 368-2011生活垃圾產生源分類及其排放
- 攀成德鐵四院中鐵四院集團績效考核管理制度
- 北師大版數學四年級上冊第八單元《可能性》大單元整體教學設計
- 《班組安全培訓》課件
- 2025年中考道德與法治時政熱點專題復習:凝聚榜樣力量 堅定文化自信(含練習題及答案)
- 中小學網絡道德教育管理制度
- DB11-T 584-2022 薄抹灰外墻外保溫工程技術規(guī)程
- 2024秋期國家開放大學本科《經濟學(本)》一平臺在線形考(形考任務1至6)試題及答案
- 老年癡呆癥的護理
- 2024秋期國家開放大學本科《中國當代文學專題》一平臺在線形考(形考任務一至六)試題及答案
- 飛亞達財務報表分析報告
- 2025年中考歷史復習專項訓練:中國近代史材料題40題(原卷版)
評論
0/150
提交評論