找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3134|回复: 0
收起左侧

8086微机实验-开关状态显示 附程序+电路

[复制链接]
ID:711945 发表于 2020-3-20 00:08 | 显示全部楼层 |阅读模式
代码+心得+问答题+流程图

开关状态显示
【实验目的】
熟悉实验箱和软件开发平台的使用。了解基本 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)。

【程序框图】


【编程】
CODE SEGMENT
ASSUME CS:CODE
ORG 1200H

START:
MOV DX,8000H
IN AL,DX
TEST AL,01H
JNZ Y1 /测试AL是否等于01H,若不等于,则跳入循环Y1/
TEST AL,02H
JNZ Y2 /测试AL是否等于02H,若不等于,则跳入循环Y2/
MOV DX,9000H
MOV AL,0FFH /点亮所有的灯/
OUT DX,AL
JMP START

Y1:TEST AL,02H
JNZ Y3 /测试AL是否等于02H,若不等于,则跳入循环Y3/

MOV DX,9000H
MOV AL,0AAH /点亮奇数号灯/
OUT DX,AL
JMP START

Y2:MOV DX,9000H
MOV AL,55H /点亮偶数号灯/
OUT DX,AL
JMP START

Y3:MOV DX,9000H
MOV AL,00H /所有灯全灭/
OUT DX,AL
JMP START
CODE ENDS
END START

【问答题】
1、I/O 端口的寻址方式有哪 2 种?在 x86 系统中,采用哪一种?
解:I/O 端口的寻址方式有两种:一种是I/O地址与存储器地址统一编址,一种是I/O地址与存储器地址分别独立编址。在x86 系统中,采用I/O地址与存储器地址分别独立编址。
2、在输入/输出电路中,为什么常常要使用锁存器和缓冲器?
解:一般来说,I/O设备速度比CPU执行速度慢,故输入设备的数据线锁存在端口的锁存器中,CPU从端口中读入数据;输出时CPU将数据“打入”缓冲器后就可以退出,外设从缓冲器取数据。

【心得体会】
第一次的实践做的是开关状态显示,通过本次试验的操作,我了解了dice8086实验系统自带键盘、显示电路和监控管理程序,在无PC机的情况下,同样可以脱机通过单步、断点、全速等方法调试实验程序。熟悉了实验箱和软件开发平台的使用。了解基本 I/O 端口的操作方法和技巧,掌握编程和调试基本技能。掌握了编程和调试基本技能,加深了对课堂上理论知识的学习,将理论与实践动手相结合,更好的掌握了知识,熟练了实验箱和软件结合使用的方法。

以上图文的Word格式文档下载(内容和本网页上的一模一样,方便大家保存):
新建 Microsoft Word 文档.docx (313.67 KB, 下载次数: 6)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表