計算機專業
《微型機接**術》
實驗指導書
計算機學院
2023年10月
實驗一組合語言程式設計 3
實驗二中斷處理技術 5
實驗三 dma特性及8237應用實驗 10
實驗四 8253定時/計數實驗(1) 12
實驗五 8253定時/計數實驗(2) 12
實驗六 8255並行介面實驗 19
實驗七序列口實驗 24
實驗八 a/d轉換實驗 26
實驗九 d/a轉換實驗 27
1. 實驗目的
(1) 熟悉組合語言程式設計的格式和上機除錯方法
(2) 掌握在pc機上以十六進製制數形式顯示資料的方法
(3) 掌握部分dos功能呼叫方法
(4) 熟悉實驗軟體
2. 實驗內容
本實驗要求將指定資料區的資料以十六進製制形式顯示在螢幕上,由dos功能呼叫完成顯示功能。本程式用到的主要呼叫:
(1) 顯示單個字元
入口引數:ah=02h, 顯示字元在dl中,ascii碼形式。
(2) 顯示字串
入口引數:ah=09h, 顯示字串位址寫入ds:dx,「$」為字串結束標誌。
(3) 返回dos系統
入口引數:ah=4ch
3. 實驗步驟
(1) 啟動計算機進入dos,c:\sy\tddebug , 執行實驗軟體;
(2) 按鍵alt+e,進入編輯視窗,輸入源程式。注意檔名要用字尾 .asm
(3) 退出編輯程式,按鍵alt+c,編譯、連線程式。
(4) 按鍵alt+r,執行程式,觀察結果。按任意鍵退出程式。
4.實驗思考題
(1) 閱讀參考程式,畫出程式流程圖。
(2) 如果要顯示其它字元的十六進製制數,如何修改程式?
(3) 自己編寫乙個資料傳送實驗程式,要求將資料段中的乙個字串傳送到附加段中去,並將附加段中的字串輸出到螢幕上。字串隨便定義。
附錄:本實驗參考程式
1. 實驗目的
(1)理解中斷的過程,理解8259的工作原理。
(2)掌握修改pc機中斷向量表的方法。
(3)掌握中斷服務子程式的編制方法。
2. 實驗內容
(1)編寫一鍵盤按鍵中斷處理程式,計數鍵盤中斷次數,當鍵盤中斷10次後(按鍵按下和抬起均會引起中斷,所以實際中斷次數等於按鍵次數乘以2),顯示按鍵次數並結束程式。
(2)pc機中8259的埠位址是20h,21h,鍵盤的中斷型別號是09h,接irq1。
(3)每按一次鍵,鍵盤需要復位,復位鍵盤只需讀出61h埠的內容,將最高位置1,再寫入該埠即可。
3. 實驗步驟
(1)執行實驗軟體,輸入源程式。
(2)編譯、連線程式。
(3)執行程式,觀察結果。
4.實驗思考題
(1) 主程式中是如何保護原有中斷向量和寫入新的中斷向量的?
(2) 程式中為什麼保護8259原來的遮蔽字?
(3) 程式中為什麼沒有對8259進行初始化?
(4) 注意程式中中斷服務子程式、一般子程式的編寫相同點和不同點。
(5) 如果將讀入的鍵盤掃瞄碼在螢幕上顯示出來,程式如何修改?
(6) 如果將掃瞄碼轉化為ascii碼在螢幕上顯示出來,程式如何修改?即在螢幕上顯示按的鍵。
(7)自己動手連線實驗板kk+鍵至irq(中斷型別號為71h),編寫中斷程式,實現每按一次開關,在螢幕上顯示乙個「7」。
附錄一:本實驗參考程式
stack1 segment stack
dw 100 dup(?)
stack1 ends
data segment
csbak dw ?
ipbak dw ?
mkbak db ?
key_num db 0
data ends
code segment
assume cs:code, ds:data ,ss:stack1
start: mov ax, data
mov ds, ax
in al, 21h
mov mkbak, al ;保護8259遮蔽字
cliand al, 0fdh
out 21h, al允許irq1中斷
mov ax,0000h保護和修改中斷向量
mov es, ax
mov di, 0024h09h * 4= 24h
mov ax, es:[di]
mov ipbak, ax
mov ax, offset myint
cldstosw
mov ax, es:[di]
mov csbak, ax
mov ax, seg myint
stosw
xor dx,dx
a1: sti
cmp key_num, 0ah判別中斷次數到否
jz a2
jmp a1
a2: push dx
climov ax,0000h恢復原中斷向量
mov es,ax
mov di, 0024h
mov ax, ipbak
cldstosw
附錄二:實驗思考題7參考程式
intcsr_byte0 equ 0dc38h
intcsr_byte1 equ 0dc39h
intcsr_byte2 equ 0dc3ah
intcsr_byte3 equ 0dc3bh
imb4_byte equ 0dc1fh
stack1 segment stack
dw 100 dup (?)
stack1 ends
data segment
csbak dw ?
ipbak dw ?
mkbak db ?
data ends
code segment
assume cs:code, ds:data,ss:stack1
start: cli
mov ax, data
mov ds, ax
mov dx, intcsr_byte0
mov al,00h ; pci板卡初始化
out dx, al
mov dx, intcsr_ byte1
mov al, 1fh
out dx, al
mov dx, intcsr_byte2
mov al, 3fh
out dx, al
mov dx, intcsr_byte3
mov al,00h
out dx, al
mov ax,0 ;保護和修改中斷向量
mov es, ax
mov di, 01c4h ;71h * 4= 01c4h
mov ax, es:[di]
mov ipbak, ax
mov ax, offset myint
cldstosw
mov ax, es:[di]
計算機介面與通訊實驗報告
1 8253定時 計數器實驗 2 8255並行介面實驗 3 數字式時鐘 電子鐘 4 d a 數 模 轉換實驗 5 a d 模 數 轉換實驗 學生學院 計算機學院 專業班級 學號學生姓名 指導教師區明明 2012 年 12 月 17 日 計算機學院 學院電腦科學與技術專業班學號 姓名協作者教師評定 實...
計算機測控系統實驗指導書
南京工業大學自動化學院測控系 二o o五年九月 前言本課程為測控技術與儀器專業的專業課,它是計算機技術與測控技術 電子技術相結合的產物,是學生從事本專業的科研 生產工作必備的理論基礎。通過此課程的學習,使學生了解微機化測控儀器和系統的整機原理,掌握它的總體設計思想,使學生能從過去學過的微型計算機 感...
《計算機硬體綜合實驗》實驗指導書
上海工程技術大學 電子電氣工程學院計算機系 目錄第一章系統概述 1.1 dj cpth簡介1 1.2 dj cpth特點1 1.3 實驗系統組成2 第二章模型機模組實驗 2.1 暫存器實驗3 實驗1 a w 暫存器實驗4 實驗2 r0 r1 r2 r3 暫存器實驗7實驗3 mar位址暫存器 st 堆...