北郵微原硬體實驗報告

2021-03-04 09:59:31 字數 6215 閱讀 7601

學院:資訊與通訊工程學院

班級:2010211123

姓名:羅

學號:10211***

班內序號:

實驗一熟悉實驗環境及io的使用

一, 實驗目的

掌握i/o位址解碼的基本原理

二,實驗內容

三,硬體接線圖

四,程式流程圖

五,源程式**

code segment

assume cs:code

start:

exit:mov dx,2a0h;時鐘y4埠

out dx,al;輸出時鐘負脈衝

call delay;延時,燈泡端為高電平

mov dx,2a8h;d觸發器資料口y5

out dx,al;送入低電平熄滅燈泡

call delay

mov ah,1;測試按鍵

int 16h

jmp exit

mov ax,4c00h

int 21h

delay proc near

push bx

mov bx,28ah

wait:loop wait

pop bx

retdelay endp

code ends

end start

七,實驗收穫和體會

本次實驗主要聯絡了埠的輸出,d觸發器作為乙個外部埠實現了向d觸發器內寫值並正確輸出,控制燈泡亮滅,實現了解碼功能,其中乙個解碼輸出對應8個位址訊號。

實驗二簡單並行介面

三、 程式流程圖

四、 源程式

code segment

assume cs:code

start:mov ah,1

int 21h

cmp al,00011011b

jz exit

mov dx,2a8h;送出ascii碼

out dx,al

mov dx,2a0h;讀入ascii碼

in al,dx

mov dl,al

mov ah,02h;螢幕顯示ascii碼

int 21h

jmp start

exit:mov ax,4c00h

int 21h

code ends

end start

實驗四七段數碼管

四,源程式**

顯示靜態學號

data segment

data ends

code segment

assume cs:code,ds:data

start: mov dx,28bh;控制口位址

mov al,80h ;控制字***設定工作方式0

out dx,al

lop1: mov dx,288h ;a口位址

mov al,06h;段選寫1

out dx,al

mov dx,28ah ;位選第4個led,c口位址

mov al,08h

out dx,al

mov dx,28ah ;熄滅數碼管

mov al,0

out dx,al

mov dx,288h ;段選寫3

mov al,4fh

out dx,al

mov dx,28ah ;位選第3個led

mov al,04h

out dx,al

mov dx,28ah ;熄滅數碼管

mov al,0

out dx,al

mov dx,288h ;段選寫9

mov al,6fh

out dx,al

mov dx,28ah ;位選第2個led

mov al,02h

out dx,al

mov dx,28ah ;熄滅數碼管

mov al,0

out dx,al

mov dx,288h ;段選寫4

mov al,66h

out dx,al

mov dx,28ah ;位選第1個led

mov al,01h

out dx,al

mov dx,28ah ;熄滅數碼管

mov al,0

out dx,al

mov ah,01h

int 16h

jnz exit;有鍵輸入則跳出

jmp lop1

exit: mov ax,4c00h

int 21h

code ends

end start

五,實驗心得與體會

這次的實驗裡我學習了使用8255晶元進行並口介面的應用,先用了i/o命令檢測出了數碼管的顯示規律和段選規律。在顯示學號的實驗中,由於數碼管一次只能顯示乙個,所以只有靠掃瞄顯示的方法,通過選位暫存器選擇乙個數碼管,顯示數字,接下來換下乙個顯示另乙個數字,由於數字停留的時間特別短,所以一秒內數碼管會顯示很多次從人眼看就是幾位數碼管在同時顯示。

實驗五鍵盤顯示控制實驗

一、實驗目的

1、掌握8255控制鍵盤及顯示電路的基本功能及程式設計方法

2、掌握一般鍵盤和顯示電路的基本原理

二、實驗內容

三、流程圖

四、源程式:

data segment

table1 db 0,4,8,12

table2 db 1,5,9,13

table3 db 2,6,10,14

table4 db 3,7,11,15

table5 db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,53h,79h,71h

data ends

stack segment 'stack' stack

code segment

assume cs:code,ds:data

start: mov dx,seg data

mov ds,dx

mov dx,offset data

push dx

loops:mov dx,28bh ;控制口位址

mov al,81h ;控制字10000001

out dx,al

mov dx,28ah ;c口

mov al,0fh ;行賦0

out dx,al

in al,dx ;讀入列值在高4位

mov cl,al ;儲存列值

call delay;延遲函式

;mov dx,28ah;再讀一遍

;mov al,0fh ;

;out dx,al

in al,dx ;

cmp al,cl ;兩次讀入列值相同,說明不是抖動產生

jnz loops

test al,08h ;按鍵是否在第一列

jz col1

test al,04h

jz col2

test al,02h

jz col3

test al,01h

jz col4

;沒有鍵值輸入

;mov dx,289h ;位選第4個led,b口位址

;mov al,0h

;out dx,al;熄滅數碼管

mov ah,01h

int 16h

jnz endd ;有鍵輸入則跳出

jmp loops

col1: call jrow;返回行值在al中

mov bx,offset table1

jmp next

col2: call jrow

mov bx,offset table2

jmp next

col3: call jrow

mov bx,offset table3

jmp next

col4: call jrow

mov bx,offset table4

jmp next

next: xlat ;al中行值對應查列所在的表

mov bx,offset table5

xlat ;根據下標查到數碼管對應顯示

mov cl,al ;儲存到cl中

mov dx,289h ;位選第4個led,b口位址

mov al,0h

out dx,al ;熄滅數碼管

mov dx,288h ;a口位址

mov al,cl ;段選寫cl

out dx,al

mov dx,289h ;位選第4個led,b口位址

mov al,08h

out dx,al

mov ah,01h

int 16h

jnz endd;有鍵輸入則跳出

jmp loops

endd: mov ax,4c00h

int 21h

jrow proc near

push ax ;al中為已產生的列值

mov dx,28bh ;控制口位址

mov al,88h ;控制字10001000

out dx,al

pop ax

or al,0f0h

mov dx,28ah ;把列值輸入

out dx,al

mov dx,28ah ;把列值輸入

in al,dx ;讀入行值,高四位

test al,80h

jz row0

test al,40h

jz row1

test al,20h

jz row2

mov al,3 ;都不滿足則在第3行

jmp exit

row2: mov al,2

jmp exit

row1: mov al,1

jmp exit

row0: mov al,0

exit: ret

jrow endp

delay proc near

push cx

mov cx,100h

loop1:loop loop1

pop cx

retdelay endp

delay1 proc near

push cx

mov cx,5h

loop2:loop loop2

pop cx

retdelay1 endp

code ends

end start

五、實驗總結

本次試驗主要聯絡了對並行介面8255的操作,通過c口控制鍵盤,a口控制數碼管實現了cpu與外設之間的通訊。在判斷鍵值時採取行列反轉法,通過改變控制字來實現c口高四位和低四位的輸入輸出方式的改變。

實驗三 8253計數器/定時器的應用

一、實驗目的

學習掌握8253用作定時器的程式設計原理

二、實驗內容

1. 完成乙個**發生器,通過蜂鳴器放出**,並在數碼管上顯示樂譜。

2、擴充套件功能:利用小鍵盤完成彈琴功能

三、電路連線

硬體圖:

埠位址:

1.8253控制埠位址為283h

定時器0位址為280h

定時器1位址為281h

定時器2位址為282h

2.定時器可工作在方式3下,產生方波訊號。

四、實現功能與方案:

按0鍵放**;按其他數字鍵彈琴,同時數碼管顯示所彈音節

此實驗將放**和彈琴兩種功能結合。若按0鍵則轉入放音子程式中執行,若普通按鍵,則通過判斷按鍵的鍵值,放入計數器不同計數值實現不同頻率方波訊號的輸出

五、程式流程圖

五,源程式**

data segment

song dw 3906,3472,3125,2933,2604,2344,2083,1953

cont equ $-song

table1 db 0,4,8,12

table2 db 1,5,9,13

table3 db 2,6,10,14

table4 db 3,7,11,15

table5 db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,53h,79h,71h

data ends

stack segment 'stack'

db 100 dup(?)

stack ends

code segment

北郵微原硬體實驗報告

2013年微機原理硬體實驗報告 學院 資訊與通訊工程學院 班級 2011211104 姓名 實驗一 i o位址解碼 一 實驗目的 掌握i o位址解碼電路的工作原理。二 實驗原理和內容 1.實驗電路如圖1 1所示,其中74ls74為d觸發器,可直接使用實驗台上數位電路實驗區的d觸發器,74ls138為...

北郵通原硬體實驗報告

北京郵電大學實驗報告 題目 基於tims通訊原理實驗報告 班級 專業 資訊工程 姓名成績目錄實驗1振幅調製 am 與解調 4 一 實驗目的 4 二 實驗內容 4 2.1 am調製 4 2.1.1.原理 4 2.1.2.實驗原理框圖 4 2.1.3.實驗連線圖 5 2.2 am解調 5 2.2.1.調...

北郵DSP數字訊號處理硬體實驗報告

一 常用指令實驗 一 實驗目的 熟悉dsp開發系統的連線,了解dsp開發系統的組成,結構和應用系統構成 熟悉常用c54x系列指令的用法。二 實驗裝置 計算機,ccs 3.3版軟體,dsp 器,expiii 試驗箱。三 實驗步驟與內容 進行dsp實驗之前,先必須連線好 器 實驗箱及計算機,連線方法如下...