《微机原理与接口技术》第三章——接口概念和原理

虽然写这个博客主要目的是为了给我自己做一个思路记忆录,但是如果你恰好点了进来,那么先对你说一声欢迎。我并不是什么大触,只是一个菜菜的学生,如果您发现了什么错误或者您对于某些地方有更好的意见,非常欢迎您的斧正!

目录

第1节   接口/端口的定义

第2节  端口访问指令

第3节    接口/端口地址设计

 第4节    数据传输方式


第1节   接口/端口的定义

接口:任何两电路或设备间的连接电路。是一组特殊控制电路,介于CPU与内存、CPU与外设之间。

各种外设都必须通过接口才能和CPU(或总线)相连。

寻址:确定设备的地址,区分不同的设备

缓冲:适配外设与CPU的工作速度

转换:适配外设与CPU的信息格式、类型、幅度

时序:外设与CPU的工作时序

 

接口电路的组成:由多类/多个寄存器构成。

端口:寄存器的另一称呼。

微机的端口:

16根I/O线:地址空间2^16=64K

IBM:A0~9线有效,地址空间2^10=1K:000H~3FFH(1023)

PC系统IO端分配

前256个端口:000h-0FFh,系统外设占用

后768个端口:100h-3FFh,常规外设占用

第2节  端口访问指令

 

第3节    接口/端口地址设计

概念:给某个端口(接口/设备)设计特定的地址

即设计端口译码电路

输入:端口地址(结合IO/M,WR,RD等信号)

输出:仅当AB(地址总线)上出现端口地址时,输出低电平

 

设计地址译码电路三个前提

①有效I/O地址线10位:A9~0

②端口读写属性(只读/只写/可读可写)

③考虑DMA操作:地址允许信号AEN(DMAC信号)

3.1 AEN=0,即非DMA操作时,端口可以访问;

3.2 AEN=1,即是DMA操作时,端口不能访问;

 

例子:使用门电路设计端口地址2F8H的只读地址译码电路

分析:仅当AB(地址总线)输入2F8H时输出电平,其它都输入高电平

地址线

0    0   A9    A8

A7   A6   A5   A4

A3   A2   A1   A0

十六进制

2

F

8

二进制

0     0    1     0

1     1     1    1

1     0     0    0

通过程序分析端口2F8H(760)的访问

MOV   DX,2F8H  ;把数据2F8H输入到DX寄存器

IN     AL, DX   ;F=0,对应端口被选中。用寄存器DX读数据到AL中。

 

通过跳线或变成改变端口的地址(2F8H/3F8H

含有多个端口的接口地址译码电路

例子:某接口有4个端口:384H ~ 387H。画出地址译码电路

步骤:

①选中接口(接口译码)

384H  11 1000 0100

385H  11 1000 0101

386H  11 1000 0110

387H  11 1000 0111

仅当A9-0=11 1000 01XX时译码电路输出低电平

②选中特定电路

用74LS138实现第2级译码:注意AB与A1、A0的对应关系

接口地址的构成形式和实现方法总结:

①单端口:门电路直接译码

②多端口:两级译码,门电路和译码器

③地址可变:通过跳线或编程改变端口的地址

 第4节    数据传输方式

 

猜你喜欢

转载自blog.csdn.net/weixin_40851250/article/details/84298466