若干介面實驗報告

2021-07-24 05:54:46 字數 4135 閱讀 7478

南華大學

電腦科學與技術學院

接**術實驗報告

( 2010 ~2011學年度第二學期)

實驗:介面驗證性實驗

實驗五七段數碼管

七段數碼管動態顯示

一、實驗目的

掌握數碼管顯示數字的原理

二、實驗內容

動態顯示:按圖23連線好電路,七段數碼管段碼連線不變,位碼驅動輸入端s1,s0接8255 c口的pc1,pc0。程式設計在兩個數碼管上顯示「56」

三、程式設計顯示

實驗台上的七段數碼管為共陰型,段碼採用同相驅動,輸入端加高電平,選中的數碼管亮,位碼加反相驅動器,位碼輸入端高電平選中。

1、 實驗流程圖

2、 實驗原理圖

四、實驗**

data segment

ioport equ 0d400h-0280h

io8255a equ ioport+28ah

io8255b equ ioport+28bh

io8255c equ ioport+288h

led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段碼

buffer1 db 5,6存放要顯示的個位和十位

bz dw位碼

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

mov dx,io8255b將8255設為a口輸出

mov al,80h

out dx,al

mov di,offset buffer1 ;設di為顯示緩衝區

loop2: mov bh,02

lll: mov byte ptr bz,bh

push di

dec di

add di, bz

mov bl,[dibl為要顯示的數

pop di

mov al,0

mov dx,io8255a

out dx,al

mov bh,0

mov si,offset led置led數碼表偏移位址為si

add si,bx求出對應的led數碼

mov al,byte ptr [si]

mov dx,io8255c自8255a的口輸出

out dx,al

mov al,byte ptr bz使相應的數碼管亮

mov dx,io8255a

out dx,al

mov cx,3000

delay: loop delay延時

mov bh,byte ptr bz

shr bh,1

jnz lll

mov dx,0ffh

mov ah,06

int 21h

je loop2有鍵按下則退出

mov dx,io8255a

mov al,0關掉數碼管顯示

out dx,al

mov ah,4ch返回

int 21h

code ends

end start

五、實驗結果

當沒有鍵按下時,相對應的數碼管會發光,有鍵按下,就退出。

七段數碼管靜態顯示

一、實驗目的

掌握數碼管顯示數字的原理

二、實驗內容

靜態顯示:按圖22連線好電路,將8255的a口pa0~pa6分別與七段數碼管的段碼驅動輸入端a~g相連,位碼驅動輸入端s1接+5v(選中),s0、dp接地(關閉)。程式設計從鍵盤輸入一位十進位制數字(0~9),在七段數碼管上顯示出來。

三、程式設計提示

實驗台上的七段數碼管為共陰型,段碼採用同相驅動,輸入端加高電平,選中的數碼管亮,位碼加反相驅動器,位碼輸入端高電平選中。

四、實驗原理圖

實驗流程圖

五、實驗**

data segment

ioport equ 0d400h-0280h

io8255a equ ioport+288h

io8255b equ ioport+28bh

led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

mesg1 db 0dh,0ah,'input a num (0--9h):',0dh,0ah,'$'

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

mov dx,io8255b使8255的a口為輸出方式

mov ax,80h

out dx,al

sss: mov dx,offset mesg1 ;顯示提示資訊

mov ah,09h

int 21h

mov ah,01從鍵盤接收字元

int 21h

cmp al,'0是否小於0

jl exit若是則退出

cmp al,'9是否大於9

jg exit若是則退出

sub al,30h將所得字元的ascii碼減30h

mov bx,offset led ;bx為數碼表的起始位址

xlat求出相應的段碼

mov dx,io8255a從8255的a口輸出

out dx,al

jmp sss轉sss

exit: mov ah,4ch返回dos

int 21h

code ends

五、實驗結果

當按下0-9的數字鍵時,在七段數碼管上顯示出來。不是數字鍵就會退出。

實驗九中斷c

中斷方式

一、實驗目的

1、了解windows下中斷處理過程

2、比較中斷和查詢兩種資料交換方法的效率差別

二、實驗內容

用查詢和中斷方式分別實現控制指示燈,實驗電路如圖。要求直接用手動產生的單脈衝作為中斷請求訊號,每按一次單脈衝產生一次中斷,讓指示燈顯示一秒鐘的0x55,否則讓指示燈顯示0xaa。然後在工作列比較中斷和查詢方式下cpu利用率的差別。

用中斷方法

將8255的a口設為輸出,irq直接接到正脈衝

3.原理圖及流程圖

原理圖流程圖

4.實驗**

/* 中斷實驗(中斷方式) */

#include

#include

#include "apiex.h"

#pragma comment(lib,"apiex.lib")

int i;

void myisr()

void main()

printf("please press dmc! press any key to exit!\n");

portwritebyte(0x28b,0xa0);

registerlocalisr(myisr); /*註冊中斷程式*/

enableintr開中斷*/

while(!kbhit())

disableintr關中斷*/

cleanup關閉裝置*/

}5.實驗結果

直接用手動產生的單脈衝作為中斷請求訊號,每按一次單脈衝產生一次中斷,讓指示燈顯示一秒鐘的0x55,否則讓指示燈顯示0xaa,並延遲2秒。若有鍵按下就跳出,否則繼續。

查詢方式

一、實驗目的

1、了解windows下中斷處理過程

2、比較中斷和查詢兩種資料交換方法的效率差別

二、實驗內容

用查詢和中斷方式分別實現控制指示燈,實驗電路如圖。要求直接用手動產生的單脈衝作為中斷請求訊號,每按一次單脈衝產生一次中斷,讓指示燈顯示一秒鐘的0x55,否則讓指示燈顯示0xaa。然後在工作列比較中斷和查詢方式下cpu利用率的差別。

查詢方法

將8255的a口設為輸出接指示燈,c口設為輸入,將pc0接正脈衝輸入,線路連線三.原理圖及流程圖

原理圖:

流程圖:

4.試驗**

/* 中斷實驗(查詢方式) */

微機介面實驗報告三

組合語言程式設計上機實驗報告 實驗三 1 實驗目的 內容及要求 題目 迴圈程式1 內容 編寫按十五行 每行十六列的 形式顯示ascii碼為10h ffh的所有字元。即以行為主的順序及ascii碼遞增的次序顯示對應的字元。每十六個字元為一行,每行中的相鄰兩個字元之間用空格 ascii碼為20h 隔開。...

微機介面實驗報告五

組合語言程式設計上機實驗報告 實驗五 1 實驗目的 內容及要求 題目 子程式設計 dos系統功能呼叫 內容 編寫鍵盤輸入4位十六進製制數,結果以二進位制數儲存到bx暫存器中的程式。要求 實驗前要做好充分準備,包括程式清單,除錯步驟 除錯方法 對程式結果的分析等。實驗過程要注意觀察結果。本實驗要求在e...

計算機介面與通訊實驗報告

1 8253定時 計數器實驗 2 8255並行介面實驗 3 數字式時鐘 電子鐘 4 d a 數 模 轉換實驗 5 a d 模 數 轉換實驗 學生學院 計算機學院 專業班級 學號學生姓名 指導教師區明明 2012 年 12 月 17 日 計算機學院 學院電腦科學與技術專業班學號 姓名協作者教師評定 實...