南華大學
電腦科學與技術學院
接**術實驗報告
( 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 日 計算機學院 學院電腦科學與技術專業班學號 姓名協作者教師評定 實...