微机原理:查询式数据传送(输入输出)实验

您所在的位置:网站首页 输入输出端口实验 微机原理:查询式数据传送(输入输出)实验

微机原理:查询式数据传送(输入输出)实验

2024-06-30 03:33| 来源: 网络整理| 查看: 265

查询式输入输出实验 一、实验目的

掌握I/O数据传送的基本原理;熟悉查询式数据输入输出的基本原理和接口电路设计方法。掌握查询式数据传送的程序设计方法。

二、实验内容

1.查询式数据输出实验 利用查询方式,将buffer单元开始的10个字节数,逐个输出到43AH 端口,并保证外设正确接收。设状态端口为43BH,D0位为0时表示数据输出缓冲区为空。

2.查询式数据输入实验 利用查询方式,从端口43AH获取来自外设的数据,并以十六进制方式显示,其状态端口43BH的D1为数据缓冲区状态标志,D1=1表示输入缓冲区满。

三、实验保障

PC 微机、汇编程序调试工具软件 春软微机原理虚拟实验系统之“查询输出装置”和“查询输入装置”单元电路

四﹑实验原理 查询式输出的接口电路如图4-10-1。在输出设备空闲时,cpu执行输出指令,将数据送入锁存器,同时将触发器置1,通知输出设备接收数据。当输出设备取得数据后,便发出ACK信号,使"BUSY"信号为0,作为程序状态查询信号,允许再次输出数据。 在这里插入图片描述

图4-10-1 查询式输出接口电路 查询式输入的接口电路如图4-10-2。输入设备发送数据的同时发出STB选通信号,置ready信号表示输入缓冲区满,程序查询到该信号后,即可将数据读入,读入数据的同时清除ready信号,输入设备即可再准备下一个数据输入。

图4-10-2 查询式输入接口电路

五、实验步骤

1.查询式数据输出实验步骤

(1)运行“春软微机原理虚拟实验系统”,打开“查询输出装置”单元电路。如图4-10-3。

图4-10-3 查询式输出装置接口电路 (2)编写查询式输出汇编语言程序。 (3)编辑汇编语言程序,然后进行汇编、链接。 (4)打开电源开关,运行程序,观察输出设备接收的数据是否正确。

2.查询式数据输入实验步骤

(1)打开“查询输入装置”单元电路。如图4-10-4。

图4-10-4 查询式输入装置接口电路

(2)编写查询式输入汇编语言程序。 (3)编辑汇编语言程序,然后进行汇编、链接。 (4)打开电源开关,运行程序,观察屏幕上显示的数据是否与输入设备发送的数据相同。

六、参考例程

(1)例程框图如图4-10-5。

图4-10-5 查询式输出例程框图 (2)查询式数据输出例程

data segment buffer db 1,2,3,4,5,6,7,8,9,10 data ends code segment assume cs:code,ds:data go: mov ax,data mov ds,ax lea si,buffer mov cx,10 l1: mov dx,43bH in al,dx ; 读状态端口 test al,00000001b jnz l1 mov al,[si] mov dx,43ah out dx,al ; 数据输出 inc si loop l1 mov ah,4ch int 21h code ends end go

(3)查询式数据输入例程

data segment buffer db ?,?," " ; 显 示 缓 冲 区 p o r t d a t a e q u 43 a H p o r t s t a t u s e q u 43 b H s d b " P r e s s a n y k e y t o e x i t . . . " , 0 d h , 0 a h , " " ;显示缓冲区 port_data equ 43aH port_status equ 43bH s db " Press any key to exit...",0dh,0ah," ";显示缓冲区portd​ataequ43aHports​tatusequ43bHsdb"Pressanykeytoexit...",0dh,0ah,"" data ends code segment assume cs:code,ds:data go: mov ax,data mov ds,ax mov dx,offset s ;显示提示 mov ah,9 int 21h mov cx,10 L1: mov ah,0bh int 21h ;检测有无按键 cmp al,0FFh jz Exit MOV DX,port_status IN AL,DX ; 读状态端口 TEST AL,00000010B JZ L1 MOV DX,port_data IN AL,DX ; 读取数据 mov si,offset buffer mov ah,al and al,0fh ; 低4位 cmp al,10 jnc L2 ; 不小于10 add al,48 ; A~F转ASCII码 jmp L3 L2: add al,55 ; 0~9转ASCII码 L3: mov [si+1],al mov al,ah mov cl,4 shr al,cl and al,0fh ; 高4位 cmp al,10 ; 小于10 jnc L4 add al,48 jmp L5 L4: add al,55 L5: mov [si],al mov dx,offset buffer ;显示数据 mov ah,9 int 21h jmp L1 exit: mov ah,4ch int 21h code ends end go



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3