微機(jī)原理和接口技術(shù)重要實(shí)驗(yàn)詳細(xì)講解_第1頁(yè)
微機(jī)原理和接口技術(shù)重要實(shí)驗(yàn)詳細(xì)講解_第2頁(yè)
微機(jī)原理和接口技術(shù)重要實(shí)驗(yàn)詳細(xì)講解_第3頁(yè)
微機(jī)原理和接口技術(shù)重要實(shí)驗(yàn)詳細(xì)講解_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余23頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、.專業(yè)整理 .實(shí)驗(yàn)三可編程定時(shí)器計(jì)數(shù)器 ( 8253 )一、實(shí)驗(yàn)?zāi)康恼莆?8253 的基本工作原理和編程方法。二、實(shí)驗(yàn)內(nèi)容、 按圖 3-1 虛線連接電路,將計(jì)數(shù)器0 設(shè)置為方式0 ,計(jì)數(shù)器初值為N(N 0FH) ,用手動(dòng)逐個(gè)輸入單脈沖 ,編程使計(jì)數(shù)值在屏幕上顯示,并同時(shí)用邏輯筆觀察OUT0 電平變化 (當(dāng)輸入N+1 個(gè)脈沖后OUT0 變高電平 )。三、編程提示1、 8253 控制寄存器地址283H計(jì)數(shù)器 0 地址280H計(jì)數(shù)器 1 地址281HCLK0 連接時(shí)鐘1MHZ;*;*8253 方式 0 計(jì)數(shù)器實(shí)驗(yàn)*;*;io8253aequ 283hio8253bequ 280h. 學(xué)習(xí)幫手 .專業(yè)

2、整理 .code segmentassumecs:codestart: mov al,14h;設(shè)置 8253 通道 0 為工作方式2,二進(jìn)制計(jì)數(shù)mov dx,io8253aout dx,almov dx,io8253b;送計(jì)數(shù)初值為0FHmov al,0fhout dx,allll:in al,dx;讀計(jì)數(shù)初值call disp;調(diào)顯示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch;退出int 21hdispproc near;顯示子程序push dx. 學(xué)習(xí)幫手 .專業(yè)整理 .and al,0fh;首先取低四位mov

3、dl,alcmp dl,9;判斷是否 =9jlenum;若是則為 0-9,ASCII碼加 30Hadd dl,7;否則為 A-F,ASCII 碼加 37Hnum:add dl,30hmov ah,02h;顯示int 21hmov dl,0dh;加回車符int 21hmov dl,0ah;加換行符int 21hpop dxret;子程序返回disp endpcode endsend start實(shí)驗(yàn)三可編程定時(shí)器計(jì)數(shù)器 ( 8253 ). 學(xué)習(xí)幫手 .專業(yè)整理 .一、實(shí)驗(yàn)?zāi)康恼莆?8253 的基本工作原理和編程方法。二、實(shí)驗(yàn)內(nèi)容1、按圖 3-2 連接電路 ,將計(jì)數(shù)器0、計(jì)數(shù)器1 分別設(shè)置為方式3,

4、計(jì)數(shù)初值設(shè)為1000 ,用邏輯筆觀察 OUT1 輸出電平的變化 (頻率 1HZ) 。三、編程提示1、 8253 控制寄存器地址283H計(jì)數(shù)器 0 地址280H計(jì)數(shù)器 1 地址281HCLK0 連接時(shí)鐘1MHZ;*;*8253 分頻*;*io8253aequ 280hio8253bequ 281hio8253cequ 283hcode segment/ 聲明代碼段assumecs:code. 學(xué)習(xí)幫手 .專業(yè)整理 .start:mov dx,io8253c;向 8253 寫控制字mov dx , 283h ;mov al,36h;使 0 通道為工作方式3D7D6D5D4D3D2D1D0=0011

5、0110,D7D6=00表示計(jì)數(shù)器0 ;D5D4=11先讀寫低 8 為再讀寫高8 位; D3D2D1=011表示計(jì)數(shù)器工作方式3;D0=0 表示計(jì)數(shù)器的初值為二進(jìn)制數(shù)out dx,al/ 向 283h 寫控制字mov ax,1000;寫入循環(huán)計(jì)數(shù)初值1000mov dx,io8253aout dx,al;先寫入低字節(jié)到計(jì)數(shù)器0 地址 280Hmov al,ahout dx,al;后寫入高字節(jié)到計(jì)數(shù)器0 地址 280Hmov dx,io8253cmov al,76h;設(shè) 8253 通道 1 工作方式3 .D7D6D5D4D3D2D1D0=01110110,D7D6=01表示計(jì)數(shù)器1; D5D4=

6、11先讀寫低8 為再讀寫高8 位; D3D2D1=011表示計(jì)數(shù)器工作方式3 ; D0=0 表示計(jì)數(shù)器的初值為二進(jìn)制;out dx,almov ax,1000;寫入循環(huán)計(jì)數(shù)初值1000mov dx,io8253bout dx,al;先寫低字節(jié)到計(jì)數(shù)器1 地址 281Hmov al,ah. 學(xué)習(xí)幫手 .專業(yè)整理 .out dx,al;后寫高字節(jié)到計(jì)數(shù)器1 地址 281Hmov ah,4ch;程序退出int 21hcode endsend start實(shí)驗(yàn)四可編程并行接口(一)( 8255 方式 0)一、實(shí)驗(yàn)?zāi)康恼莆?8255 方式 0 的工作原理及使用方法。二、實(shí)驗(yàn)內(nèi)容、 實(shí)驗(yàn)電路如圖4-1 ,

7、8255C 口接邏輯電平開關(guān)K0 K7, A 口接 LED 顯示電路L0 L7。、 編程從 8255C 口輸入數(shù)據(jù) ,再?gòu)?A 口輸出 。三、編程提示1、 8255 控制寄存器端口地址28BHA 口的地址288HC 口的地址28AH;*;* 8255 方式 0 的 C 口輸入 ,A 口輸出*;*;. 學(xué)習(xí)幫手 .專業(yè)整理 .io8255aequ 288hio8255bequ 28bhio8255cequ 28ahcodesegment/ 定義代碼段assume cs:codestart:mov dx,io8255b;設(shè) 8255 為 C 口輸入 ,A 口輸出mov dx ,28bh/D7=1,

8、D6D5=00(工作方式為0),D4=0 (A 出) ,D2=0 ,D3=1 ( C 入) ,D0=1 ( C 入)。mov al,8bh/D7D6D5D4D3D2D1D0=10001011, D7=1 , D6D5=00 ,D4=0,D3.D0=0,D2=0, D1=1out dx,al/ 設(shè) 8255 為 C 口輸入 ,A 口輸出inout:mov dx,io8255c;c 口的地址28AH 從 C 口輸入一數(shù)據(jù)in al,dx/ 將 al 的數(shù)給 dxmov dx,io8255a;A 口的地址288H 從 A 口輸出剛才自C 口out dx,al;所輸入的數(shù)據(jù)mov dl,0ffh;判斷

9、是否有按鍵mov ah,06hint 21hjz inout;若無(wú) ,則繼續(xù)自 C 口輸入 ,A 口輸出mov ah,4ch;否則返回int 21h. 學(xué)習(xí)幫手 .專業(yè)整理 .codeendsend start實(shí)驗(yàn)七競(jìng)賽搶答器一、實(shí)驗(yàn)?zāi)康?、了解微機(jī)化競(jìng)賽搶答器的基本原理。2、進(jìn)一步學(xué)習(xí)使用并行接口。二、實(shí)驗(yàn)內(nèi)容圖 7-1 為競(jìng)賽搶答器(模擬 )的原理圖 ,邏輯開關(guān)K0 K7 代表競(jìng)賽搶答按鈕07 號(hào),當(dāng)某個(gè)邏輯電平開關(guān)置 “時(shí)” ,相當(dāng)某組搶答按鈕按下。在七段數(shù)碼管上將其組號(hào)(0 7) 顯示出來(lái) ,并使微機(jī)揚(yáng)聲器響一下。三、編程提示設(shè)置 8255 為 C 口輸入 、A 口輸出 ,讀取 C 口

10、數(shù)據(jù) ,若為 0 表示無(wú)人搶答,若不為 0 則有人搶答。根據(jù)讀取數(shù)據(jù)可判斷其組號(hào)。從鍵盤上按空格鍵開始下一輪搶答,按其它鍵程序退出。;*;*本程序?yàn)槟M搶答器*;*. 學(xué)習(xí)幫手 .專業(yè)整理 .datasegment;定義數(shù)據(jù)段io8255aequ 28ah;端口初始化io8255bequ 28bhio8255cequ 288hleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;數(shù)碼表data endscodesegment;定義代碼段assumecs:code,ds:data;有了這一句代碼,程序就知道從ds:data 中找到 data 所定義的內(nèi)存地址 ,然后傳送給d

11、sstart:movax,data;把 data 段的段地址送入es 中,以便計(jì)算物理地址的時(shí)候得到正確的段地址。mov ds,axmov dx,io8255b;設(shè) 8255 為 A 口輸出 ,C 口輸入mov ax,89hout dx,almov bx,offset led;使 BX 指向段碼管首址sss: mov dx,io8255a ; 從 8255 的 C 口輸入數(shù)據(jù)inal,dxoral,al;比較是否為0jesss;若為 0,則表明無(wú)鍵按下,轉(zhuǎn) sss. 學(xué)習(xí)幫手 .專業(yè)整理 .mov cl,0ffh;cl 作計(jì)數(shù)器 ,初值為 -1rr:shr al,1;al 邏輯 右移一位inc

12、 cl;cl 減一jnc rr;如果進(jìn)位則跳轉(zhuǎn)mov al,cl;xlat;交換 。 22 行到 27行應(yīng)該循環(huán)計(jì)數(shù)mov dx,io8255c;從 8255 的 C 端輸出“個(gè)人覺得是初始化 ”out dx,almov dl,7;響鈴 ASCII 碼為 07mov ah,2;輸出指令 (三條指令一起讀 )int 21hwai:mov ah,1;鍵盤輸入一個(gè)數(shù)int 21hcmp al,20h;是否為空格jne eee;不是 ,轉(zhuǎn) eee ,等于零跳轉(zhuǎn) ,不等于零繼續(xù)執(zhí)行mov al,0;是 ,關(guān)滅燈mov dx,io8255c;從 8255 的 C 端輸出“個(gè)人覺得是初始化 ”out dx,

13、aljmp sss;跳轉(zhuǎn)到 ssseee:mov ah,4ch;功能調(diào)用 ,該功能為關(guān)閉窗 ,即搶答結(jié)束. 學(xué)習(xí)幫手 .專業(yè)整理 .int 21hcodeends;代碼段結(jié)束end start;程序結(jié)束實(shí)驗(yàn)九中斷一、實(shí)驗(yàn)?zāi)康?、掌握 PC機(jī)中斷處理系統(tǒng)的基本原理。2、學(xué)會(huì)編寫中斷服務(wù)程序 。二、實(shí)驗(yàn)原理與內(nèi)容1、實(shí)驗(yàn)原理PC機(jī)用戶可使用的硬件中斷只有可屏蔽中斷,由 8259 中斷控制器管理 。 中斷控制器用于接收外部的中斷請(qǐng)求信號(hào),經(jīng)過優(yōu)先級(jí)判別等處理后向CPU發(fā)出可屏蔽中斷請(qǐng)求。 IBMPC 、 PC/XT機(jī)內(nèi)有一片 8259 中斷控制器對(duì)外可以提供8 個(gè)中斷源 :中斷源中斷類型號(hào)中斷功能I

14、RQ008H時(shí)鐘IRQ109H鍵盤IRQ20AH保留. 學(xué)習(xí)幫手 .專業(yè)整理 .IRQ3OBH串行口 2IRQ40CH串行口 1IRQ50DH硬盤IRQ60EH軟盤IRQ70FH并行打印機(jī)8個(gè)中斷源的中斷請(qǐng)求信號(hào)線IRQ0 IRQ7 在主機(jī)的 62線 ISA總線插座中可以引出,系統(tǒng)已設(shè)定中斷請(qǐng)求信號(hào)為 “邊沿觸發(fā) ”,普通結(jié)束方式 。 對(duì)于 PC/AT 及 286 以上微機(jī)內(nèi)又?jǐn)U展了一片 8259中斷控制 ,IRQ2 用于兩片 8259 之間級(jí)連 ,對(duì)外可以提供 16 個(gè)中斷源 :中斷源中斷類型號(hào)中斷功能IRQ8070H實(shí)時(shí)時(shí)鐘IRQ9071H用戶中斷IRQ10072H保留IRQ11O73H保

15、留IRQ12074H保留IRQ13075H協(xié)處理器IRQ14076H硬盤IRQ15077H保留TPC-USB實(shí)驗(yàn)板上 ,固定的接到了 3號(hào)中斷 IRQ3上,即進(jìn)行中斷實(shí)驗(yàn)時(shí),所用中斷類型號(hào)為0BH 。. 學(xué)習(xí)幫手 .專業(yè)整理 .2、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)電路如圖 9-1 ,直接用手動(dòng)產(chǎn)單脈沖作為中斷請(qǐng)求信號(hào)(只需連接一根導(dǎo)線)。 要求每按一次開關(guān)產(chǎn)生一次中斷,在屏幕上顯示一次“TPCA Interrupt!”,中斷 10次后程序退出。;*;*中斷實(shí)驗(yàn)*;*;data segment ;定義數(shù)據(jù)段mess db TPCA interrupt!,0dh,0ah,$;顯示 TCPA interrupt! 0d

16、h:回車0ah: 換行data ends;數(shù)據(jù)段結(jié)束code segment;定義代碼段assume cs:code,ds:data ;假定 code 位于代碼段 , data 位于數(shù)據(jù)段start:mov ax,cs;cs內(nèi)容送 ax中mov ds,ax;ds:dx 內(nèi)容為中斷服務(wù)程序的入口地址,位于數(shù)據(jù)段 ,偏移量送到 dx 中mov dx,offset int3;取中斷服務(wù)程序的偏移地址送dx 中mov ax,250bh;dos 調(diào)用的功能號(hào)為25h, 中斷矢量是 0bhint 21h;設(shè)置 IRQ3 的中斷矢量. 學(xué)習(xí)幫手 .專業(yè)整理 .in al,21h;讀中斷屏蔽寄存器and al

17、,0f7h;開放 IRQ3 中斷 (與上 11110111H ,3位為 0)out 21h,al; 寫進(jìn)去允許mov cx,10;記中斷循環(huán)次數(shù)為10次Sti;置中斷標(biāo)志位,IF=1ll: jmp ll; cx 是否為 0,等待循環(huán)int3:中斷服務(wù)程序mov ax,data取數(shù)據(jù)的地址mov ds,ax把數(shù)據(jù)的地址送到 dsmov dx,offset mess把字符串的偏移地址取出mov ah,09顯示每次中斷的提示信息(ds:dx= 字符緩沖首址 )int 21h 執(zhí)行調(diào)用mov al,20h20H送 al,OCW2=00100000Bout 20h,al發(fā)出 EOI結(jié)束中斷l(xiāng)oop ne

18、xtCF=1 ,不為 0 ,跳到 nextin al,21h設(shè)中斷屏蔽器or al,08h關(guān)閉 IRQ3 中斷out 21h,al寫入sti顯中斷標(biāo)志位 , IF=1mov ah,4ch. 學(xué)習(xí)幫手 .專業(yè)整理 .int 21h返回 DOSnext:iret中斷返回code endsend start實(shí)驗(yàn)十可編程并行接口(二)( 8255 方式 )一、實(shí)驗(yàn)?zāi)康?、掌握 8255 工作方式 時(shí)的使用及編程。2、進(jìn)一步掌握中斷處理程序的編寫。二、實(shí)驗(yàn)內(nèi)容1、按圖 10-1 , 8255 方式 1 的輸出電路連好線路。2、編程 :每按一次單脈沖按鈕產(chǎn)生一個(gè)正脈沖使8255 產(chǎn)生一次中斷請(qǐng)求,讓 CP

19、U 進(jìn)行一次中斷服務(wù) :依次輸出01H 、 02H ,04H , 08H ,10H , 20H ,40H , 80H 使 L0 L7 依次發(fā)光 ,中斷次結(jié)束 。;*;*8255 方式 1 實(shí)驗(yàn) 1*;. 學(xué)習(xí)幫手 .專業(yè)整理 .;*;1 code segment2 assume cs:code3 start:4 mov ax,cs5 mov ds,ax6mov dx,offset int_proc;將int_proc 地址送給 dx7mov ax,250bh; 設(shè)置外部中斷 int_proc 類型號(hào)為 0bh ,25H系統(tǒng)設(shè)置中斷向量程序:AH=25H,DS:DX= 中斷服務(wù)入口 (由 6 可

20、知 dx 中放的是 int_proc 的地址 ),AL= 中斷類型號(hào)8int 21h;調(diào)用 0bh 這個(gè)中斷 (功能 0bH描述:檢查標(biāo)準(zhǔn)輸入設(shè)備上是否有字符可讀。該輸入操作可被重定向入口參數(shù) :AH 0bH,)9mov dx,21h;將21h 送給 dx10in al,dx;將21h 號(hào)端口的內(nèi)容給 al11and al,0f7h;開放 IRQ3( 串口設(shè)備 )中斷. 學(xué)習(xí)幫手 .專業(yè)整理 .12out dx ,al13mov dx,28bh;設(shè)8255 為A口方式 1輸入14 mov al,0a0h15 out dx ,al16mov al,0dh;將PC6置位17 out dx ,al1

21、8 mov bl,119ll:jmp ll;循環(huán)等待20 int_proc:21 mov al,bl22mov dx,288h;將AL 從8255 的A口輸出23 out dx ,al24 mov al,20h25 out 20h ,al26 shl bl ,127jnc next;中斷次數(shù)小于 8,返回主程序28in al,21h29or al,08h;關(guān)閉 IRQ7中斷30out 21h ,al31sti;開中斷,將IF置1. 學(xué)習(xí)幫手 .專業(yè)整理 .32mov ah,4ch;返回 DOS33int21h34next:iret;中斷返回指令35 code ends36end start接口

22、程序10.2 可編程并行接口( 8255 方式一實(shí)驗(yàn)二 )一、實(shí)驗(yàn)?zāi)康?、掌握 8255 工作方式 時(shí)的使用及編程。2、進(jìn)一步掌握中斷處理程序的編寫。二、實(shí)驗(yàn)內(nèi)容1、按圖 10-2 ,8255 方式 1 輸入電路 ,連好線路 。2、編程 :每按一次單脈沖按鈕產(chǎn)生一個(gè)正脈沖使8255 產(chǎn)生一次中斷請(qǐng)求,讓 CPU 進(jìn)行一次中斷服務(wù) :讀取邏輯電平開關(guān)預(yù)置的ASCII 碼,在屏幕上顯示其對(duì)應(yīng)的字符,中斷 次結(jié)束 。三、實(shí)驗(yàn)原理圖四:實(shí)驗(yàn)流程圖五:實(shí)驗(yàn)代碼及注釋;*;*8255 方式 1 實(shí)驗(yàn) 2*;. 學(xué)習(xí)幫手 .專業(yè)整理 .;*;code segment;定義代碼段assume cs:code;

23、假定 code 位于代碼段start:;程序開始mov ax,cs;將 cs內(nèi)容送到 ax中mov ds,ax;將 ax內(nèi)容送到 ds中,因?yàn)椴荒芏闻c段之間直接傳送,所以借助 axmov dx,offset int_proc;將中斷子程序的偏移地址送入dx ,設(shè)置 IRQ3 中斷矢量mov ax,250bh ;dos調(diào)用 25 號(hào)功能號(hào)設(shè)置中斷向量號(hào),設(shè)外部中斷 int_proc 類型號(hào)為 0bhint 21hmov dx,21hin al,dx;讀中斷屏蔽寄存器and al,0f7h;開放 IRQ3 中斷 ,將第 4位置 0out dx,almov dx,28bh;將控制寄存器端口地址( 28bh )送到 dx 中mov al,0b8h ;0b8h=10111000D7 是標(biāo)志位 , D6,D5 是A 組方式的選擇 (方式 0, 1,2),D4 是 A口的輸入輸出選擇( 0 為輸出 ), D3是 C口高四位的輸入輸出選擇,D2 是 B組方式的選擇(方式 0 ,1 ), D1 是B口的輸入輸出選擇, D0 是 C. 學(xué)習(xí)幫手 .專業(yè)整理 .口低四位的輸入輸出選擇。這里設(shè)置 8255A 口工作于方式 1 作輸入 , B口工作于方式 0作輸出 , C口上半部輸入 ,下半部輸出out dx,al ;

溫馨提示

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

評(píng)論

0/150

提交評(píng)論