“简单并行输入”实验分析

阅读所需知识点

  • 引脚名头上有一杠代表低电平有效
  • CLK有个三角标代表上升沿工作

“简单并行输入”实验代码详细注解

start:
	mov dx,2a0h	;将立即数送入dx寄存器,立即数由这条代码提供
	in al,dx	;in为输入(CPU)指令,将地址为[dx]的设备内容输入到al寄存器中
	
	mov dl,al	;将al寄存器内容保存到dl寄存器中
	mov ah,02	;;ah为21h中断模块入口,2为字符显示模块
	int 21h	;执行21h中断2号模块,在屏幕中显示输入的字符,dl为显示字符入口
	
	mov dl,0dh	;0dh代表回车符ASCII码
	int 21h	;在屏幕中显示出回车符
	
	mov dl,0ah	;0ah代表换行符ASCII码
	int 21h	;在屏幕中显示出换行符
	
	mov ah,1	;设置功能模块
	int 16h	;1号功能用来查询键盘缓冲区,对键盘扫描但不等待,并设置ZF标志。若有按键操作(即键盘缓冲区不空),则ZF=0,AL中存放的是输入的ASCII码,AH中存放输入字符的扩展码。若无键按下,则标志位ZF=1
	je start	;无限循环以上代码直到有键按下

exit:
	mov ah, 4ch
	int 21h

“in al,dx”指令时序分析

IO读操作时序图

  1. T1时刻:A0~A19、BHE、ALE、M/IO信号有效,此时地址锁存器将地址信号锁存到地址总线上
    地址锁存器

  2. T2时刻:ALE信号无效,地址锁存器不工作,但地址信号一直有效;D0-D15、DEN信号开始有效,DT/R为低电平,数据收发器准备读取数据工作

  3. T3时刻:检测到IO端口的READY信号为高电平,开始从数据总线上接收数据(图中将右边B0-B7数据锁存到左边)数据收发器

  4. T4时刻:DEN信号失效,数据接收工作结束

“简单并行输出”实验电路图

“I/O地址译码”实验电路图
“简单并行输入”实验电路图

实验工作原理:

  1. T1时刻,地址总线有02a0h(0000001010100000)电平信号,译码器中Y4会生效,但此时IOW和IOR为高电平,都无效,U2:A输出0,U1输出1,译码器不工作,Y4输出高电平,74LS32输出高电平(02a0h与Y4相连);
  2. T2时刻,IOR生效,U2:A输出1,U1输出0,译码器工作,Y4输出低电平,74LS32输出低电平,此时8缓冲器74LS244工作,将开关信息K0-K7锁存到右边;
  3. T3时刻,开关数据送入数据总线,被数据收发器接收保存到al寄存器中;
  4. T4时刻IOR失效,译码器不工作,Y4输出高电平,74LS32输出高电平,74LS244停止向数据总线传输数据。
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值