页汇编C及C+对IO的访问_第1页
页汇编C及C+对IO的访问_第2页
页汇编C及C+对IO的访问_第3页
页汇编C及C+对IO的访问_第4页
页汇编C及C+对IO的访问_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四节 接口分析与设计方法,1.I/O接口硬件分类,系统板上I/O芯片和I/O扩展槽接口卡,2.I/O端口地址分配,PC系列I/O地址线有16根,对应64K空间,PC/XT的I/O端口译码只使用了A0-A9,共1024个端口,地址范围为0000H03FFH,不同的微机系统对I/O端口地址的分配不同,初期:A9=0端口(512个)为系统板所用,其他端口(512个)为扩展槽所用,系统板I/O接口芯片端口地址(0000H-00FFH,PC/AT:A8=A9=0端口(256个)为系统板所用,其他端口(768个)为扩展槽所用,返回29页,扩展槽I/O接口卡端口地址(0100H-03FFH,用户I/O端口

2、地址选用原则,系统配置占用的端口地址一律不能用,厂家声明保留的端口地址不要用,其余端口地址可用,为避免冲突最好采用DIP,3.I/O端口地址译码方法,一个I/O接口对应多个连续I/O端口,I/O接口芯片片选(CS)译码,I/O接口芯片内部端口译码,I/O端口地址低位,例1:并行接口使用8255A芯片,地址空间60H-63H,多个接口时,采用单独译码/集中译码,返回下页,例2:多个接口集中译码,如何区分MEM和I/O,转上页,返回26页,4.I/O端口访问,CPU通过I/O指令对I/O接口进行访问,汇编语言指令:IN、OUT,C语言指令:inportb(inport)、outportb(outp

3、ort,VC+指令:_inp(_inpw)、_outp(_outpw,例:读取CMOS信息,main() int i; unsigned char c_CmosMessage64; for (i=0;i=63;i+) outportb(0 x70,i); c_CmosMessagei=inportb(0 x71) ; printf(CMOS信息读取完毕。n);,功能:读取CMOS信息 ;调用:AL=CMOS地址 ;返回:AL=CMOS内容 proc_read_cmos proc cli or al,80h ;屏蔽NMI out 70h,al jmp $+2 ;延迟 in al,71h ;读CM

4、OS数据 sti ret proc_read_cmos endp,5.I/O指令与接口实现,执行CPU指令:MOV DX,42H OUT DX,8AH,地址总线:将42H写入A9A0,接口芯片:8253工作,其他接口芯片不工作,接口电路:8253对应接口电路应答选中信号,8253根据DX低位选择相应的寄存器,8253: 接受数据总线(D7D0)数据(8AH),写入所选寄存器,转24页,二、I/O端口地址译码电路的几种形式,1.固定式端口地址译码,接口中只有一个端口时可采用门电路构成,接口中有多个端口时一般采用译码器电路构成,常见的译码器有74LS138、74LS154等,74LS138译码器,

5、工作条件,工作原理,将复合的输入信号变为枚举的输出信号,输入/输出真值表,CBA连续时,Y0Y7亦为连续的,74LS138在PC机系统板端口译码的应用,转20页,为何中断控制1端口地址为0020H-003FH,每个出端对应接口的端口数量? Y1、Y4对应端口地址,8个 08H(88H)、20H(A0H,7.2 微机系统与与输入/输出设备信息交换,7.2.1 无条件传送方式,特点:I时假设外设已准备好,O时假设外设空闲,要求:接口I时加缓冲器,O时加锁存器,应用:对简单外设的操作,7.2.2 查询方式,工作原理:CPU查询外设已准备好后,才传送数据,特点:CPU与外设间自然同步,要求:不需要增加

6、额外的硬件电路,应用:适用在CPU不太忙且传送速度要求不高时,7.2.3 中断传送方式,特点:CPU与外设可同时工作,要求:接口中需要中断控制逻辑支持,应用:适用于非高速度大量数据传送时,7.2.4 直接存储器存取(DMA)方式,特点:数据的传送不经过CPU,I/O设备管理由CPU控制,简化CPU对I/O的控制,要求:需要DMA控制器及相关逻辑支持,应用:适用与高速度大量数据传送时,7.2.5 I/O处理机(IOP)方式,特点: I/O处理机接管了CPU的各种I/O操作及I/O控制功能,CPU能与IOP并行工作,要求:需要IOP支持,应用:高速I/O归IOP管理,低速I/O设备归CPU管理,8

7、253的组成与功能,13个独立的16位计数器,3个计数器分别为计数器0、计数器1、计数器2,每个计数器的内部逻辑结构如图4.8所示,如图4.6、图4.7所示为8253/8254的内部结构及引脚图,7.3 可编程计数/定时器 8254,图4.6 8253/8254的内部结构示意图,图4.7 8253引脚图,图4.8 8253/8254计数器内部逻辑图,2控制命令寄存器,此寄存器用来保存来自CPU送入的控制字。每个计数器都有一个控制命令寄存器,用于保存该计数器的控制信息。控制字将决定计数器的工作方式、计数形式及输出方式,也能决定应如何装入计数器初值。8253的3个控制寄存器只占用一个地址号,而靠控

8、制字中最高二位来指定当前的控制字是发给哪一个计数器的。控制寄存器只能写入,不能读取,3读/写逻辑,读/写逻辑的任务是接收来自CPU的控制信号,完成对8253各计数寄存器的读/写操作。这些控制信号包括读信号RD、写信号WR、片选信号CS和片内寄存器对址信号A0、A1,4数据总线缓冲器,这是一个双向、三态8位缓冲器。它用于8253和系统数据总线连接。CPU通过数据总线缓冲器将控制命令字和计数值写入8253计数器,或者从8253计数器读取当前计数值。 8253的8位数据线D0D7通常与系统数据总线D0D7相连。8253共占用4个I/O地址。 8253各端口的地址分配见表4.8所示,表4.8 8253端口的地址分配,返回本节,8253与系统的连接应用实例,图4.9为8253用作方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论