微机原理简单输入输出实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东南大学

《微机实验及课程设计》

实验报告

实验四(1)简单输入输出

一. 实验目的与内容

(一)实验目的

1)进一步掌握TPC实验装置的基本原理和组成结构;

2)掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况;

3)掌握简单并行输入输出接口的工作原理及使用方法,进一步熟悉掌握输入输出单元的功能

和使用。

(二)实验内容及要求

1、输出接口输出,根据8个发光二极管发光的情况验证编程从键盘输入一个字符或数字,将其ASCII码通过正确性。(输出端口实验必做)

2、用逻辑电平开关预置某个字母的ASCII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来。(输入端口实验必做)

3、利用基本实验(1)中的输出锁存电路,设计L0~L7为流水灯,流水间隔时间由软件产生。(输出端口实验)

4、利用基本实验(2)中的输入电路,监测逻辑电平开关K0~K7的变换,当开关状态为全开时,在屏幕上显示提示信息并结束程序。(输入端口实验)

要求:

1、输入输出端口应该可以响应外设的连续变化。

2、输出按ESC键退出;输入按任意键退出。

3、内容3、4比做一题,选做一题

二. 实验基本原理

(一)基本原理

简单并行输出实验:八D触发器74LS273的八个输入端接数据总线D0~D7,从键盘输入一个字符或数字,通过2A8H~输出接口输出该字符或者数字代表的ASCII码,再通过8个发光二极管发光显示二进制数码,从而验证编程以及电路的正确性。

简单并行输入实验:八缓冲器74LS244的八个输出端接数据总线D0~D7,8个输入端分别接逻辑电平开关K0~K7,在逻辑电平开关上预置任意字符的ASCII码,编程将此ASCII码通过2A0H~输入,ASCII码对应字符显示在屏幕上,从而验证编程及电路的正确性。

(二)实验接线图

图 3.4-1 简单并行输出接口

图 3.4-1 简单并行输入接口(三)主程序流程图

开始

等待键盘输入

是ESC键

自端口2A8H输出ASCII码

结束Y

N

开始

自端口2A0H输入ASCII

保存输入的ASCII码至

DL

显示字符

有键按下

结束

Y

N

输出参考流程图输入参考流程图

三. 方案实现与测试(或调试)

(一)实验代码

必做1:代码与参考程序相同,主要是替换主机的tpc卡的i/o地址

ioport equ 0d400h-0280h

ls273 equ ioport+2a8h

必做2:代码与教材参考程序相同,同样需要替换主机的tpc卡的i/o地址 ioport equ 0d400h-0280h

ls244 equ ioport+2a0h

必做3(选择输出实验)代码如下:

ioport equ 0b800h-0280h

ls273 equ ioport+2a8h

stacks segment stack

db 100 dup (?)

stacks ends

code segment

assume cs:code,ss:stacks

main proc far

start:mov ax,stacks

mov ss,ax

mov ah,2 ;回车符

mov dl,0dh

int 21h

mov ah,1 ;等待键盘输入

int 21h

judge:cmp al,27 ;判断是否为ESC键je exit ;若是则退出

cmp al,31h

je X1

X2:mov cx,8

int 21h

jnz judge

je X2 ;若无,则转X2

X1:mov cx,8

mov al,01h

mov dx,ls273

XX1:out dx,al

call delay

rol al,1

loop XX2

mov ah,06 ;是否有键按下mov dl,0ffh

int 21h

jnz judge

je X1 ;若无,则转X1 exit: mov ah,4ch ;返回DOS

int 21h

main endp

delay proc near ;延时子程序

mov al,01h

mov dx,ls273

XX2:out dx,al

call delay

rol al,1

loop XX2

mov ah,06 ;是否有键按下mov dl,0ffh

mov bx,3000 zzz: mov cx,0 zz: loop zz

dec bx

jne zzz

ret

delay endp code ends

end start

(二)实验调试结果

首先,实验运行之前应该检测硬件是否正常,在正常的情况下,运行实验代码,检测试验结果,运行结果如下:

实验1:从键盘输入不同的字母,灯可以连续响应变化,按照字母的ASCII,实现灯的亮灭。实验2:可以实现通过开关控制输入的字母在电脑上显示,改变开关的开与关(高低电平)可以实现题目要求。

实验3 :可以实现流水灯,任意从键盘上按下一个键子就可以启动流水灯,按esc键可以停止程序。

四.分析与总结

在简单输出接口电路中74LS273作为一个输出缓冲器,其内部结构为八个触发器,电路中一旦有来自地址译码器的译码信号2A0H,它就能将来自数据总线的数据锁存起来,等到/IOW(输入输出写)信号有效地时候再将数据送到端口上,本实验中是七个LED灯。

同样的在简单输入电路中74LS244充当一个三态的输入缓冲器,电路中一旦有来自地址译码器的译码信号2A8H以及/IOR(输入输出读)有效时,它就将由开关所代表的一个字节的数据送到数据总线上。

总结以上两种电路都可以看出,输入输出电路中都会有一个缓冲器作为数据传输中间介质,目的是让外部IO的时序与CPU匹配。

相关文档
最新文档