微机实践实验一

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

实验一开关状态显示

一、实验目的

熟悉实验箱和软件开发平台的使用。了解基本 I/O 端口的操作方法和技巧,掌握编程

和调试基本技能。

二、实验内容

利用74LS244作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过74LS273驱动发光二极管显示出来。

三、实验区域电路连接图

参考上图连线:

Y0~Y1接K1~K2(对应J1、J2);Q0~Q7接L1~L8(对应J3至J10);CS1接8000H孔(对应J12);CS2接9000H孔(对应J11);IOWR→IOWR;IORD→IORD;然后用数据排线连接JX7→JX17(BUS2)。

四、编程指南

本实验要求编写程序将连接在74LS244芯片端口的开关状态读入,根据下面表格给出

的开关状态对应的LED输出灯亮状态,控

制74LS273芯片驱动LED。按下M O N或系统复位

五、程序框图

六、实验步骤

1.按连线图连接好,检查无误后打开实验箱电源。

2.在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3.运行程序后,拨动K1-K2,L1-L8会跟着亮灭。

4.如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。

七、实验程序清单及注释

CODE SEGMENT

ASSUME CS:CODE

ORG 1200H

Start:MOV DX,8000H 累加器A输入8000H口的数据

IN AL,DX

TEST AL,01H 判断累加器A是不是为01H

JNZ JUDGE1 值不等于零跳转JUDGE1

TEST AL,02H 判断累加器A是不是为02H

JNZ JUDGE2 值不等于零跳转JUDGE2

MOV DX,9000H

MOV AL,0FFH 0FFH送9000H口

OUT DX,AL

JMPSTART跳转循环

JUDGE1: TEST AL,02H

JNZ JUDGE3 值不等于零跳转

MOV DX,9000H

MOV AL,0AAH 0AAH送9000H口,点亮奇数号灯

OUT DX,AL

JMPSTART跳转循环

JUDGE3: MOV DX,9000H

MO V AL,0 0H送9000H口所有灯全灭

OUT DX,AL

JMPSTART跳转循环

JUDGE2: MOV DX,9000H

MOV AL,55H 55H送9000H口,点亮偶数号灯

OUT DX,AL

JMPSTART跳转循环

CODE ENDS

E N D S T A R T

问答题:

1. I/O 端口的寻址方式有哪 2 种?在 x86 系统中,采用哪一种?

一种是“I/O端口与内存统一编址”和“I/O端口与内存独立编址”;在x86系统中采用的是“I/O 端口与内存独立编址”

2. 在输入/输出电路中,为什么常常要使用锁存器和缓冲器?

在输出接口电路中,通常使用锁存器。原因是外设速度比较慢,要求输出数据在接口电路输出端维持一段时间。在输入接口电路中,通常使用缓冲器。原因是缓冲器具有三态输出,选通时,输出端为输入数据并进数据总线;未被选通时,输出端为高阻态,不影响数据总线。

相关文档
最新文档