微机中处理器与IO设备间 数据传输

上传人:yx****d 文档编号:242879415 上传时间:2024-09-10 格式:PPT 页数:112 大小:969KB
返回 下载 相关 举报
微机中处理器与IO设备间 数据传输_第1页
第1页 / 共112页
微机中处理器与IO设备间 数据传输_第2页
第2页 / 共112页
微机中处理器与IO设备间 数据传输_第3页
第3页 / 共112页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五章 输入输出系统,一、微机接口的基本概念,1、定义-接口(Interface)就是,主机(或CPU)与外设之间,起连接作用,的电路,;信息交换的中转站。,接口电路内的寄存器,-端口寄存器,简称端口,2、功能 :数据暂存(缓冲、锁存与驱动),信号联络,地址译码和端口读写,数据转换,中断管理,1,3、端口的分类,数据口-存放输入/输出的数据信息,状态口-存放状态信息,控制口-存放控制信息-由CPU写入,4、I/O端口的编址方式,DB,AB,CB,CPU,外设2,接口2,外设1,接口1,外设n,接口n,内存储器,内存接口,2,存储器映象方式,-与存储器统一编址,,使用存储器读/写指令实现输入输出;,占存储器寻址空间。,独立编址方式,-I/O端口与内存分别处理,使用输入/输出指令对端口进行读写,不占存储器寻址空间。,1-访问Memory,MOV指令;,0-访问I/O设备,IN/OUT指令;,M/IO=,3,5、I/O端口的地址译码,译码器方法-74LS138,译码控制端,,CBA,000,001,010,011,100,101,110,111,译码输出有效端,为100时,对输入信号,(CBA)译码。,1,8,9,16,V,cc,A,B,C,GND,4,数字比较器方法-74520(8位数字比较器),74520内部结构与逻辑功能,20,1,10,11,A,0,B,0,A,1,B,7,A,7,A,6,A,5,A,4,A,3,A,2,B,6,B,5,B,4,B,3,B,2,B,1,1, 1,0,1,0,0,5,用门电路设计地址译码电路,1#端口寄存器,2#端口寄存器,CPU,数据线,A,9,A,8,A,6,A,3,A,2,A,1,A,7,A,5,A,4,A,0,AEN,地址译码,I/O端口,读写控制,地址允许:AEN,端口地址:0b,6,二、微型机与输入输出设备的信息交换,信息交换方式:,DMA,CPU与I/O设备间,程序控制,中断控制,无条件传送,程序查询,7,CPU,在做输入输出操作之前不查询外设的状态,无条件执行输入输出操作指令,。,PORT1,PORT2,输出,锁存,输出,设备,输入,缓冲,输入,设备,地址,译码,DB,AB,1、,无条件传送方式-数据交换双方配合能力差、,可靠性低,8,输出指令序列:,Mov dx , port1 ;,Mov al , data,Out dx ,al,Port1为输出设备地址,Data为待输出的数据,输入指令序列:,Mov dx , port2 ;,In al , dx ;,Port2为输入设备地址,9,2、查询方式,-外设接口提供状态,CPU通过端口,读取状态;,-,交换前,先查状态,准备好,交换,未,再查,输入:,输入型外设,D,0, 数据,D,7,READY,(状态),地址译码器,AB,数据,缓冲器,DB,10,程序段:,mov dx , STATUS;,In al ,dx ;,读入READY线状态,mov dx , PORT;,in al , dx ;,READY=1,输入数据,test al ,1 ;,jz next ;,判READY=1?,READY=0,等待,next:,11,STATUS,输出:,硬件,PORT,DB,输出,锁存,地址译码器,AB,D,0, 数据,D,7,BUSY,(状态),输出型外设,12,程序段:,Mov dx , status ;,In al ,dx ;,读入BUSY状态,Mov dx ,port ;,Out dx , al ;,输出数据,Test al ,1 ;,Jnz next ;,判BUSY=1?,BUSY=1,忙;等待,Next:,13,3、程序中断方式,程序控制方式存在的问题:,无条件输入输出,-外设未准备好时数据,传输出错,;,查询方式,-外设未准备好时,CPU,反复查询、等待,,浪费,CPU,资源,;,14,解决办法:,查询-,-,CPU,主动查外设的状态;,若外设主动,一旦准备好就向,CPU,发请求;,CPU,平时执行正常的程序,接到外设请求,就中断当前的操作,转向为外设服务的子程序-中断服务子程序,结束后又回到断点处继续运行-程序中断输入输出方式。,程序中断输入输出方式-数据的输入输出操作指令在中断服务程序中。,15,中断请求,INTR=1,中断服务程序,(输入/输出),正常程序,继续,16,特点:,CPU,与外设交换数据的程序是放在一个特殊的子程序-中断服务子程序中;只有执行这个子程序,才能进行输入输出操作。,中断服务子程序的执行不是由,CPU,执行一条调用子程序指令来实现的,而是由外设给,CPU,的,INTR,端发一个中断请求信号来产生-硬件触发;,17,4、直接存储器存取方式 (Direct Memory Access),程序控制输入输出方式:交换数据要经过,CPU-,数据交换速度慢;,程序中断输入输出方式:断点要进栈和出栈,大量的寄存器操作-数据交换效率低;,成批数据传输-,DMA,方式。,18,在,DMA,方式下,,CPU,暂停执行程序,将总线控制权交给,DMA,控制器(,DMAC)。,数据的输入或输出是在,DMAC,的控制下直接在存储器与外设之间进行。因而效率高,速度快,适合批量数据的传输。,DMA,方式,主板必须配备有,DMA,控制器(,DMAC)。,19,三、8259A中断控制器,1、中断的基本概念,中断类型,-8086中断系统可管理256个中断,系统为每个中断分配一个代号-中断类型码n(0-255)。,256种中断,软件中断,硬件中断,可屏蔽中断(INTR),非屏蔽中断(NMI),20,中断向量-,中断服务程序的入口地址,中断向量= 中断类型码,n 4。,中断向量表,-内存中的特定空间,中断服务程序的地址表。向量表的地址(偏移地址)与内容反映中断类型码,n,与中断服务程序起始地址之间的对应关系。,21,80X86中断向量表的结构,80,X86,最多允许256个(级)中断。,每个中断向量占4个存储单元,中断向量表占 个单元,在,RAM,的低端(00000,H003FFH)。,中断服务程序入口地址,段,基地址(CS),16位,偏移地址(IP), 16位,-32位(4字节),-4个连续存储单元,2个低字节单元, 4n,4n+1 IP,2个高字节单元,4n+2,4n+3 CS,22,8086,RAM,区分配,中断服务主程序,CS:IP,入口,4Byte,4n+3,4n+2,4n+1,4n,8086,中断向量表,1024byte,00000H,003FFH,指令、数据、堆栈区,高位,低位,CS,段地址,IP,偏移地址,RAM,23,CPU,响应可屏蔽中断的条件:,CPU,必须开中断,即中断允许标志位,IF=1,;,CPU,必须将现行一条指令执行结束。,无优先级更高的中断请求。,说明:,外部硬件必须,保持,INTR,信号有效一直到被,CPU,检测到,,采取的方法通常是将外设发出的中断请求信号锁存起来;,中断服务程序执行完之前必须,清除,INTR,中断请求,。,24,中断向量表,中断服务,程序,IP,CS,PSW,堆栈区,RAM,2,6,1,中断请求,接口卡,INT,IR,X,D,0,D,7,3,8259A,8,7,4,9,压栈,中断返回,INTR,D,0,D,7,IF=0,TF=0,IP,CS,PSW,5,CPU,CPU,响应可屏蔽中断的过程:,25,接口向8259,A,发中断请求信号,IRQ,X,,,将8259内中断请求触发器,IRR,相应位置1;,8259,A,通过分析比较,由,INT,引脚向,CPU,的,INTR,引脚发中断请求信号;,若满足可屏蔽中断条件,,CPU,响应中断,连续发两个中断响应信号 。第一个表示,CPU,响应中断,将8259,A,的中断服务寄存器,ISR,相应位置位,同时将中断请求触发器,IRR,相应位复位;第二个读入8259,A,提供的中断类型码。,26,CPU,屏蔽中断,保护断点(标志寄存器和,CS,及,IP,压栈)。,CPU,将中断允许标志位,IF,和陷阱标志位,TF,清0。,CPU,计算中断向量,得出中断服务程序起始地址(段基址:偏移地址)送,CS:IP,寄存器,转入中断服务程序。,执行中断处理。,中断处理完毕,执行中断返回指令,IRET,,返回断点。,27,2、 8259A内部结构与中断过程,数据总线缓冲器,读/写,逻辑,级联缓冲/比较器,中断服务寄存器(ISR),中断优先级裁决器(PR),中断屏蔽寄存器(IMR),中断请求寄存器(IRR),控制逻辑,D,0,D,7,内部总线,功能与结构,28,1),中断请求寄存器IRR,接收并寄存8个中断请求输入IR,7,IR,0,的状态。,2),中断屏蔽寄存器IMR,IM,7,IM,0,每一位与中断请求输入IR,7,IR,0,一一对应。IM,i,=1,则IR,i,被禁止IM,i,=0IR,i,被允许。,3),中断在服务寄存器ISR,与IRR对应,记录正在被处理的中断请求。IRn被响应,ISRn被置1;IRn处理结束,ISRn置0。,4),中断优先权裁决器PR,分析、比较中断请求的优先级,裁决出优先级最高的中断源。,29,5),控制逻辑,控制核心,,寄存8259A的命令字,实现多种工作方式的控制,向处理器发INT,接收,。,6),读/写控制电路,接收端口地址信号、CPU的读写控制信号,控制命令字的写入和状态字的读取。,7),数据总线缓冲器,8位,双向三态。,是8259,A,与系统数据总线的接口。,CPU,写控制字、读状态信息,8259,A,送出中断类型码的通道。,30,8),级联缓冲/比较器,用于多片8259,A,构成级联方式。,多片8259,A,级联时,总是连成主从结构,最多可构成88=64级中断。,8259,A,级联时,对从片的标识码进行寄存与比较。,31,8259,A,的中断过程,(1)中断请求寄存器寄存中断请求;,(2)对寄存的中断请求判优;,(3)8259,A,向,CPU,发中断请求信号;,(4)满足条件时,,CPU,向8259,A,发中断响应信号;,(5)8259,A,清除中断请求寄存器的相应位,同时,使中断服务寄存器相应位置1;,(6)8259,A,送中断类型码至,CPU;,(7)CPU,根据中断类型码,计算中断向量,转向,中断服务程序。,32,8259A的级连,从片1,8259A,从片2,8259A,主片,8259A,CPU,+5V,中断请求,中断请求,33,3、8259A中断管理方式,1),优先级方式,。4种:,优先级全嵌套方式,-中断优先级固定:从IR,0,IR,7,依次是IR,0,最高,IR,7,最低。,优先级特殊嵌套方式,-主片开放“同级”中断;,优先级自动循环方式,-,起始优先级固定:从IR,0,IR,7,依次是IR,0,最高,IR,7,最低,当某一个中断受到服务后,它的优先级,自动,降到最低,其它中断源的优先级随之,按顺序循环,地改变。,优先级特殊循环方式,-起始优先级由命令字设置,自动循环。,34,优先级自动循环方式,IR,0,IR,1,IR,2,IR,3,IR,4,IR,5,IR,6,IR,7,IR,0,中断响应后,最高,最低,IR,0,IR,1,IR,2,IR,3,IR,4,IR,5,IR,6,IR,7,初始优先级队列,最高,最低,IR,0,IR,1,IR,2,IR,3,IR,4,IR,5,IR,6,IR,7,IR,4,中断响应后,IR,0,IR,1,IR,2,IR,3,IR,4,IR,5,IR,6,IR,7,IR,3,中断响应后,35,2)屏蔽中断源的方式,,2种。,普通屏蔽方式,用操作命令字,OCW,1,向8259,A,的中断屏蔽寄存器,IMR,写入屏蔽字来设置要屏蔽的中断源。,屏蔽为,“,1,”,;允许为“0”。,特殊屏蔽方式,“特殊”之处在于执行高级中断服务程序过程中,屏蔽掉较高级的中断,开放较低级的中断从而转为较低级的中断源服务。,用操作命令字设置/清除。,36,3)中断结束方式,普通中断结束方式,(结束发结束命令),特殊中断结束方式,(结束发结束命令),两大类,自动结束,非自动结束,3种,37,4)中断触发方式,3种,通过初始化命令字ICW,1,设置 。,边沿触发方式,将上升沿作为中断请求,即,上升沿有效,。,电平触发方式,高电平有效,,当中断请求得到响应后,中断请求信号必须及时撤消。,中断查询方式,5)总线连接方式,2种,缓冲方式,非缓冲方式,38,4、8259A的命令字与初始化编程,8259,A,工作方式设定及运行中的控制,均由8086发来的命令字(1字节代码)决定。命令字分初始化命令字和操作命令字两种,系统向8259,A,两个端口之一写入。,8259,A,根据接收命令字的端口号,特征位及顺序决定命令字的属性。,二类,初始化命令字,(Initialization Command Word,ICW),有ICW,1,ICW,4,四个,有接收顺序要求。,操作命令字,(Operation Command Word,OCW),有OCW,1,OCW,3,3个,无接收顺序要求。,39,8259A初始化流程,1,A15/T7,A14/T6,A13/T5,A12/T4,A13/T3,A10,A9,A8,ICW2,(type),用于8085,A0,0,ADI,LTIM,SNGL,A7,A6,A5,IC4,1,D7,D6,D5,D2,D1,D0,D4,D3,ICW1,(chip control),8085,用于8085,IC4=1,?,N,1,S5,S4,S6,S7,S3,S2/ID2,S1/ID1,S0/ID0,ICW3,(slave control),SNGL=1,?,Y,N,1,SFNM,0,0,BUF,M/S,AEOI,u PM,0,ICW4,(mode control),可中断,40,(1),ICW,1,-基本方式初始化命令字,(,偶地址,,即片内 口地址,A,0,=0,),硬件设置,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,是否要ICW,4,1:要写,0:不写,是否单片,1:单片,0:级联,触发方式,1:电平触发,0:边沿触发,标志位,ICW,1,A,7,A,6,A,5,1,LTIM ADI SNGL IC,4,中断向量地址的A,7,A,5,(MCS 80/85),地址间隔,8080/,8085,初始化命令字,41,(2),ICW,2,-中断类型码初始化命令字,(,奇地址,,即 片内口地址,A,0,=1,),ICW,2,是一个设定中断矢量用的命令字。它紧跟在,ICW,1,后面,任何工作方式下都必须设置。,在8086/8088模式下,,D,7,D,3,为中断类型码的高5位,(即,T,7,T,3,),,低3位不用。,中断类型码的低3位由硬件决定,,,自动填入,,分别对应8个中断源的中断请求,IR,0,IR,7,,,即,由,IRn,的,n,值定。,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,A,15,/T,7,A,14,/T,6,A,13,/T,5,A,12,/T,4,A,11,/T,3,A,10,/T,2,A,9,/T,1,A,8,/T,0,42,例:,若8个可屏蔽中断,IR,0,IR,7,类型号为08,H0FH,,则初始化,的,ICW,2,为08,H(,00001,000)。,若初始化的,ICW,2,为38,H(,00111,000) ,,则类型号为38,H3FH(0011100000111111),43,(3)ICW,3,-主/从片初始化命令字,若8259,A,处于,级联方式,,即,ICW,1,的,SNGL=0,,就必须,分别对主、从芯片写入,ICW,3,;,ICW,3,必须写入8259,A,的,奇地址,,,即,A,0,=1,S,i,=1,对应的输入端,IR,i,有从片,;S,i,=0,对应的输入端IR,i,无从片。,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,S,7,S,6,S,5,S,4,S,3,S,2,S,1,S,0,主,片,格式:,从片格式:,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,S,7,S,6,S,5,S,4,S,3,ID,2,ID,1,ID,0,ID,2,ID,0,为从片标识码,,与从片所连接的主片的中断请求输入端IR,i,序号 i 相对应。,S,7,S,3,不用,可为“1”或“0”,一般填“0”。,44,(4) ICW,4,-方式控制初始化命令字,若,ICW,1,的,D,0,位,为,“,1,”,就需,要,写入,ICW,4,,,进行方式控制初始化。,ICW,4,必须写入8259,A,的,奇地址,端口(,A,0,=1,)。,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,0 0 0,SFNM,BUF,M/S AEOI PM,微处理器选择,1:86/88,0:80/85,1:自动结束,0:非自动结束,中断结束方式,0 x 非缓冲方式,1 0 从片缓冲方式,1 1 主片缓冲方式,嵌套方式,1:特殊全嵌套方式,0:全嵌套方式,45,操作命令字,(1)OCW,1,-设置/清除中断屏蔽操作命令,片内,奇地址,口,,A,0,=1;,操作命令字,共有3个,OCW,1,-设置/清除中断屏蔽操作;,OCW,2,-设置优先级循环方式和中断结束方,式操作;,OCW,3,-设置特殊屏蔽和查询读出操作,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,M,7,M,6,M,5,M,4,M,3,M,2,M,1,M,0,M,i,=1 IR,i,被屏蔽;,M,i,=0 IR,i,被开放。,46,8259,A,的级连,从片1,8259A,从片2,8259A,主片,8259A,CPU,+5V,中断请求,中断请求,47,三、 DMA方式的数据传输,DMA(Direct Memory Access),的概念,DMA,方式不用处理器干预完成,M,与,I/O,间数据传送。,DMA,期间系统总线由,DMA,控制器控制(驱动),控制总线的主模块要提供系统的地址及控制信号。,DMA,控制器与处理器配合可实现系统的,DMA,功能。,特点:速度快,适合批量数据传送。,48,HRQ DREQ,DMAC,HLDA DACK,总线,请求,总线,响应,DMA,请求,DMA,响应,地址总线,HOLD,HLDA,I / O,设备,控制总线,数据总线,CPU,2.,DMA系统组成及工作过程,DMA,系统组成,DMAC,是,核心,49,DMA,工作过程,I/O向DMAC发请求,DMAC向CPU发请求,CPU响应DMAC请求,DMAC向I/O发响应,DMA传送结束,DMA数据传送,DMAC发出控制信号,DMAC发出内存地址,执行完当前总线周期后,执行完当前一条指令后,DMA方式,中断方式,50,3、 DMA控制器-8237A,8237A主从两面性:,作为DMAC,8237A是可控制总线的主模块。,作为I/O芯片,8237A可被处理器读写。,运行时注意8237A主-从地址的变化。,51,1)8237A组成说明:,8237,A,有四个独立通道:通道0,通道3。每个通道可独立响应外部,DMA,请求,完成,DMA,传送。,模式,REG, 1,个8位,1个,DMA,请求触发器,1个,DMA,屏蔽触发器,字节数寄存器2个16位,基字节数寄存器:,-DMA传送的总字节数。,当前字节数寄存器:,-DMA传送时内容变化,可读。,地址寄存器2个16位,基地址寄存器,-,放DMA传送RAM地址初值,当前地址寄存器:,-DMA传送时内容变化,可读。,每个通道,52,控制寄存器,,,8位,四个通道公用,状态寄存器,,,8位,屏蔽寄存器,,,8位,。,请求,标志,寄存器,,,8位,暂存器,,,8位,优先级编码电路-优先级裁决,定时和控制逻辑,作从模块-接收,CPU,的信号和命令字,产生控制,读/写内部寄存器,作主模块-控制总线,产生控制命令完成,DMA,传送,53,2)8237A引线说明:,DB7-DB0:双向数据总线,。,8237A为从模块时被处理器编程或读状态,DB7-DB0作为数据线,传输数据或命令字。,8237A为主模块时DB7-DB0输出地址A15-A8,在M,M传送操作时经DB7-DB0,将M数据送8237A暂存器。,A3-A4:地址线,,从模块时为输入,处理器寻址8237A;主模块时输出低四位地址。,:,片选,,从模块时处理器用来寻址8237A。,A7-A4:地址线,,主模块时输出A7-A4。,54,, :,I/O,读写控制,,双向。8237,A,在从模块时为输入,在主模块时为输出。,AEN,ADSTB,输出:8位地址锁存允许及选通,。在主模块时允许外部锁存器锁存8237,A,的高8位地址。,, :,输出,存储器读写,控制,主模块时送存储器。,READY:,输入,准备就绪,,主模块时控制总线周期的长度,与慢速设备同步。,RESET:,输入,复位信号,,复位时屏幕寄存器置1,其它寄存器置0。,55,:,双向。输出时,表明内部通道传送结束;输入时,表明外部强迫,DMA,传送仃止。,DREQ0-DREQ3:I/O,设备,DMA,请求输入,信号。,DACK0-DACK3:,输出,DMA,请求的,响应,。,HRQ:8237A,向处理器发出的,总线请求,信号。,HLDA:,处理器发给8237,A,的,总线,请求,响应,信号。,56,3)8237A的工作模式和传送类型,工作模式,4种,单字节传送,块传送,随机请求传送,级联传送,传送类型,校验传送,:虚拟传送,测试器件,读传送,:,MEM,I/O设备,写传送,:,MEM,I/O设备,管理,内存到内存的传送,57,4)8237A内部寄存器的功能和格式,基地址REG:,16位,存放DMA传送时存储器地址初值初始化时写入,先低后高。,当前地址REG:,16位,每次传送后可读,地址寄存器,字节数寄存器,基本字节REG:,16位,存放DMA传送时传送的字节数初值初始化时写入,先低后高。,当前字节REG:,16位,每次传送后 -1可读,58,命令寄存器,D7,D6,D5 D4,D3,D2,D1,D0,DACK有效电平,低电平有效 0,高电平有效,1,扩展写控制,不扩展写,0,扩展写,1,D3=1,X,0,1,Enable 8237A,8237A 工作,Disable 8237A,时序类型,0,1,X,普通时序,压缩时序,D0=1,1,0,Channel 0 地址保持不变,X,Disable,Enable,D0=0,禁止,MEM.,1,MEM.,传输,允许,0,DREQ有效电平,0,高电平有效,低电平有效,1,优先级类型,0,1,固定优先级,循环优先级,59,模式寄存器,D7,D6,D5 D4,D3,D2,D1,D0,模式选择,随机请求传输模式 0 0,单字节传输模式,0,1,0,1,数据块传输模式,1,1,级联传输模式,地址增量选择,地址加1 0,地址减1 1,0,通道选择,0 选 0#,Channel,0,1,1,1,0,1,选 1#,Channel,选 2#,Channel,选 3#,Channel,传输类型选择,0 0 校验传输,0,0,1,1,1,1,X X,写传输,读传输,非 法,D7 D6=11,自动预置功能选择,禁止 0,允许 1,60,请求寄存器,D7,D6,D3,D2,D1,D0,D5,D4,不用,0,清除DMA请求位,建立DMA请求位,1,0,0,Channel 0,0,0,1,1,1,1,Channel 1,Channel 2,Channel 3,61,屏蔽寄存器,D7,D6,D3,D2,D1,D0,D5,D4,不用,0,清除 MASK 位,建立 MASK 位,1,0,0,Channel 0,0,0,1,1,1,1,Channel 1,Channel 2,Channel 3,通道选择,62,多通道屏蔽寄存器,D7,D6,D3,D2,D1,D0,D5,D4,不用,0,0,1,1,清,Channel 0 Mask 位,设,Channel 0 Mask 位,清,Channel 1 Mask 位,设,Channel 1 Mask 位,0,清,Channel 3 M 位,设,Channel 3 M 位,1,0,清,Channel 2 M 位,1,设,Channel 2 M 位,63,状态寄存器,D7,D6,D3,D2,D1,D0,D5,D4,通道 3 有DMA请求 1,通道 2有DMA请求 1,通道 1 有DMA请求 1,通道 0 有DMA请求 1,1 通道 1计数结束,1 通道 0计数结束,1 通道 2计数结束,1 通道 3计数结束,64,暂存器,8位,四个通道公用。,进行存储器到存储器的传送时,暂存中间数据,可读,先/后触发器,控制基地址寄存器和基本字节数寄存器的写入顺序,16位基地址和字节数分两次写入,每次8位,写入基地址和基本字节数之前,先对清0,就能保证先低8位后高8位的写入顺序。,65,5)8237的编程,3个软件命令与端口号有关,与,DB,线上的内容无关。,写,C,号地址:,清除字节指针,F/F,,使将装入顺序为先,LSB,后,MSB。,写,D,号地址:,总清除命令,,屏蔽,REG.,为1,其它,REG.,为0 ,软件复位。,写,E,号地址,,清除屏蔽标志,。,66,编程过程,HLDA,无效时8237,A,接受,P,编程,不管,HRQ,是否有效。,编程前禁止8237,A:,发关闭8237,A,命令,向8号端口(硬件设置)写04,H,,或对通道进行屏蔽。,用软命令发出总清(,Master Clear),操作:向0,DH,端口执行一次写操作。,向有关通道送地址值,计数值,模式字。,送硬件设置命令字,打开8237,A。,去除,屏蔽准备接收,DMA,请求。,67,第六章 常用可编程外围接口芯片,8254-定时器/计数器,8255A-并行接口,8251A-串行接口,一、8254,1、主要功能 :,(1) 每片3个16位计数通道,各自独立,(2) 每个计数通道均可作定时器或计数器,二进制或十,进制计数方式,(3) 每个通道有6种工作方式,可编程实现,68,2、结构,GATE,0,CLK,0,OUT,0,计数器,0#,GATE,1,CLK,1,OUT,1,计数器,1#,GATE,2,CLK,2,OUT,2,计数器,2#,内部数据总线,读/写,控制逻辑,控制字,寄存器,A0,A1,DO-D7,数据总线,缓冲器,69,-读控制,输入;连接,-写控制,输入;连接,-片选,输入;来自地址译码,A,1,A,0,:片内端口地址,00-0#计数器,01-1#计数器,10-2#计数器,11-控制字寄存器,(1)数据总线缓冲器,隔离片外数据总线与片内数据总线。,CPU,对8253进行读写操作的数据通道。,(2)读写控制电路,接受,CPU,的控制命令后,控制芯片内部的操作。,70,(3)控制寄存器,8位,只能写入,不能读出,。,每个计数通道1个,共有3个;共用1 个端口地址,,由,控制字中的,D,7,D,6,(SC,1,SC,0,),位决定:,D,7,D,6,(SC,1,SC,0,),00:通道0#,01:通道1#,10:通道2#,11-读出,71,(4)3个相互独立的计数器 (0# ,1# ,2#),每个计数通道,内部的结构,内部数据总线,减 计 数 单 元 CE,计数初值寄存器,(高8位),计数初值寄存器,(低8位),输出锁存寄存器(高8位),输出锁存寄存器(低8位),控制字寄存器,控制逻辑,72,3、8254引脚信号,D,7,D,0,:数据线,双向三态;与CPU交换信息,地址: ,片选;A,1,A,0,:片内地址,控制: ,读 ; ,写;,0#通道,CLK,0,:计数脉冲输入,GATE,0,:门控信号,输入,OUT,0,:计数状态输出,1#通道,CLK,1,GATE,1,OUT,1,2#通道,CLK,2,GATE,2,OUT,2,73,4、8254的工作方式及控制,8253的3个,计数通道各自独立,,均有,6种工作方式,。,GATE,为低电平或负跳变禁止计数:,方式0、2、3、4,软,启动:方式0、4,硬启动:方式1、5,软/硬启动:方式2、3,自动循环。,74,计数启动方式,软启动,:(GATE=1时),写入计数初值 启动计数,硬启动,:(GATE=0),写入计数初值不计数,,GATE 启动计数,计数结束方式,一次性计数,自动重装初值,循环计数,75,1)方式0-事件计数方式(计数结束中断),写入方式命令字后,,OUT,引脚变低电平,;,若,GATE=1(,允许计数),当计数初值写入指定的初值寄存器,CR,后( ),在下一个计数脉冲,CLK,的下降沿,计数初值寄存器,CR,将计数初值送至减计数单元,CE;,再下一个计数脉冲开始减计数(,CLK,的下降沿计数器减1);计数器计数到0时,输出端,OUT,变为高电平,计数过程结束。,4 3 2 1 0,CW,n=4,CLK,OUT,GATE=1,76,若在减计数过程中,,GATE,变为0,则计数过程停止;直到,GATE,再次由0变为1后,计数器接着继续减1计数。,n=4,4 3 2 2 2 2 2 1 0,CW,CLK,OUT,GATE,若在减计数过程中,写入新的计数初值,并保持,GATE=1,,则在写入第一个字节时停止现行计数;写入第二个字节后( )第一个,CLK,的下降沿,,CR,将计数初值送至减计数单元,CE,,下一个,CLK,的下降沿计数器开始减1计数。,n=3,4 3 2 1,3 2 1 0,CW,n=4,CLK,OUT,GATE=1,77,2)方式1-硬件启动单脉冲方式,硬件(,GATE,),触发;,触发一次,计数一轮,。,写入控制字后( ),OUT,变高电平。,不论,GATE,是否高电平,写入初值不启动计数。,GATE,触发计数。,GATE,后,第一个,CLK,将计数初值从初值寄存器送至计数单元,CE,,同时,OUT,变低电平;下一个,CLK,计数器减1计数。,计数至0,,OUT,低变高。,计数过程中,若,GATE,由高变低(即1变0),不影响计数过程;,若出现,GATE ,,则重装初值重计数(不是延续原来的计数过程)。,78,计数过程中,若写入新初值,不影响计数。只有等到下一个,GATE,上升沿,,才将新初值装入计数单元并按新初值启动计数。,4 3 2 1 0,CW,n=4,n=5,CLK,OUT,GATE,79,3)方式2-脉冲发生器(分频方式),送一次初值,重复计数。,写入控制字后( ),OUT,变高电平。,软启动。先有,GATE=1,,后写入计数初值。由写入计数初值启动计数。,正常计数过程中,当,计数值减至1时,,OUT,变低电平,;当,计数值减至0时,,,OUT,又,由低电平,变成高电平,。且初值自动从初值寄存器,CR,送至减计数单元,开始新一轮计数。,若初值为,N,,则每输入,N,个计数脉冲(,CLK,信号),,OUT,端输出1个负脉冲。即:若,CLK,频率为,f,,则,OUT,输出信号(负脉冲)的频率为,f/N-,分频。,80,计数过程中,若,GATE,变低电平,计数停;当,GATE,变高后,重装初值重计数。,计数过程中,若,GATE=1,保持不变,重新写入初值,则新初值对本轮计数无影响;只有当计数值减至0时,下一轮计数过程按新初值进行。,4 3 2 1 0,4 3 2 1 0,n=3,CW,n=4,CLK,OUT,GATE=1,81,4)方式3-方波发生器,与方式2类似,初值一次写入,重复计数。,OUT,输出方波。,计数初值为偶数,输出高、低电平对称的方波;,计数初值为奇数,输出高、低电平近似对称的方波,其高电平时间比低电平时间多1个计数脉冲周期。,n=5,CW,5 5 5,5 2 0 2 0 2 0,n=4,CW,4 4 4 4,4 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2,CLK,OUT,GATE=1,OUT,82,5)方式4-软件启动单脉冲发生器,软件启动,一次性计数。,写入控制字后( ),输出,OUT,变高电平;,若门控,GATE=1,,则写入初值后( )启动计数。,计数减至0时,,OUT,变低电平并维持1个计数脉冲间隔后又变高电平,计数过程停止。,计数过程中,若,GATE,变为0,计数停;,GATE,再次变为1(,GATE ),时,重装初值重计数。,计数过程中,若写入新初值,不影响本轮计数过程;等本轮计数过程结束,新初值才被送到计数单元,下一轮计数按新初值进行。,83,方式4时序图,4 3 3 3 3,4 3 2 1 0,n=4,CW,4 3 2 1 0,CLK,OUT,GATE=1,OUT,GATE,84,6)方式5-硬件启动单脉冲发生器方式,一次装入初值,可多次触发(不是自动)进行多轮计数。,写入控制字( ),输出,OUT,变高电平;,写入初值后,不论,GATE,是高电平还是低电平,均不启动计数。,GATE,触发,触发一次,计数一轮;计数到0时,,OUT,变低电平并保持1 个,CLK,周期,然后自动变高电平。即输出一个宽度为1个,CLK,周期的负脉冲。,计数过程中,若,GATE,变成低电平或写入新初值,只要不出现,GATE,,,不影响计数过程。,85,方式5时序图,n=4,CW,4 3 2 1 0,4 3 2 1 0,CLK,OUT,GATE,86,5、 8254命令字与初始化编程,初始化编程的原则:,先写入控制字,后设置计数初值;,设置初值的过程必须符合控制字中规定的格式。,计数-输入信号为外部计数脉冲。,定时-输入信号为已知准确的、固定周期时钟。,定时时间,t=nT,CK,; n,为计数初值,,T,CK,为时钟周期,编程命令,读出命令-读输出锁存器内容,写入命令,设置控制字(工作方式),发锁存命令,设置计数初值,控制字,87,8254的命令字,(,A,1,A,0,=11),D,4,D,5,D,7,D,6,D,2,D,1,D,3,D,0,进位制,0-二进制,1-二-十进制,工作方式,000-方式0,001-方式1,10-方式2,11-方式3,100-方式4,101-方式5,设置读/写计数器的字节及顺序,00,-,锁存命令,。将SC,1,SC,0,指定的计数,单元当前值送至输出锁存寄存器,01-仅读/写一个低字节,10-仅读/写一个高字节,11-读/写2个字节,且先低后高,选择通道,00-0#通道,01-1#通道,10-2#通道,11-读出,88,初始化编程,(1),设置工作方式,向8253的控制寄存器(,A,1,A,0,=11),输出一个控制字,选择计数器,设置工作方式、计数进制和写入初值,的规定,(2),设置计数初始值,初值必须写入相应的计数器,初值可以只写8位(高8位或低8位),也可写16位,必须按设置工作方式时控制字的规定,89,锁存命令,也是向控制寄存器(,A,1,A,0,=11),输出一个控制字,控制字中:,D,5,D,4,=00,,D,3,D,0,无效;,D,7,D,6,-,计数器选择,00 -锁存0#计数器当前计数值,01 -锁存1#计数器当前计数值,10 -锁存2#计数器当前计数值,11 -非法,90,读出命令,控制字的,D,7,D,6,=11,D,4,D,5,1,1,D,2,D,1,D,3,0,=1,选中0#计数器,=1,选中1#计数器,=1,选中2#计数器,=0,锁存计数器状态,=0,锁存计数值,91,二、 并行外围接口8255A的结构与编程,1、并行通信与并行接口,微处理器与,I/O,设备进行数据传输时均需经过接口电路实现系统与设备互连的匹配。,并行接口电路中每个信息位有自己的传输线,一个数据字节各位可并行传送,速度快,控制简单。由于电气特性的限制,传输距离不能太长。,微处理器,串行接口,外设,并行接口,外设,92,2、8255A结构及功能说明,8255A是通用的可编程并行接口芯片。,3种,工作,方式,方式0,方式1,方式2,93,PA,7,PA,0,PB,7,PB,0,PC,7,PC,4,PC,3,PC,0,D,7,D,0,数据,总线,缓冲器,读/写,控制,逻辑,A口,(8位),A组,控制,部件,B组,控制,部件,C口,(高4位),B口,(8位),C口,(低4位),外设接口,CPU接口,内部逻辑,94,C口高4位,C口低4位,C口,A口,B口,A组控制,B组控制,读/写控制逻辑,数据总线缓冲器,8255A,片内两组寄存器,(4个口地址),控制寄存器 11,数据寄存器,00:A口,,8位,10:C口,,8位,高4位C,H,低4位C,L,01:B口,,8位,95,3个独立的数据端口,A、B、C,3,个8位数据端口,A、B,和,C,,其中,C,口既可作为输入/输出端口,又可作为控制口,用于输出控制和输入状态信号。,有,3种不同的工作方式,,各种方式下端口的功能(,P97,表4-1 ):,工作方式,基本输入/输出 输出锁存与缓冲 输入锁存,基本输入/输出输出锁存与缓冲 输入缓冲,单向选通输入/输出输入/输出均锁存,单向选通输入/输出输入/输出均锁存,作为A、B口的控制及状态位,双向选通输入/输出输入/输出均锁存,作为A口的控制及状态位,无此方式,基本输入/输出 输出锁存 与缓冲 输入缓冲,A口,B口,C口,0,1,2,96,3、8255A的控制字,方式选择控制字 特征位,D,7,=1,2个8位控制字,(共用一个端口),方式选择控制字(D,7,=1),C口按位置位/复位控制字(D,7,=0),8255A可分别对,A组,A口,8位,C口高4位,C口低4位,B口,8位,B组,设定,工作方式,A组,3种,方式0,方式1,方式2,B组,2种,方式0,方式1,和,数据流向,输入,输出,97,方式选择控制字,特征位,D,7,=1,1,D,6,D,5,D,4,D,3,D,2,D,1,D,0,A组控制,B组控制,特征位,1:输入,0:输出,C,L,方向,1:输入,0:输出,B口方向,1:输入,0:输出,A口方向,1:输入,0:输出,C,H,方向,0:方式0,1:方式1,工作方式,00:方式0,01:方式1,1:方式2,工作方式,98,C,口置位/复位控制字,特征位,D,7,=0,指 定 操 作 对 象(位),000:C,0,001:C,1,010:C,2,011:C,3,100:C,4,101:C,5,110:C,6,111:C,7,0,D,6,D,5,D,4,D,3,D,2,D,1,D,0,位控制,1:置位,0:复位,不用,特征位,99,4、8255A的工作方式,3种工作方式,方式0-基本输入/输出方式;,方式1-单向选通输入/输出方式;,方式2-双向选通输入/输出方式,(仅A口),方式0:,主要用于,同步传送;,方式1:,主要用于CPU与外设以中断或查询方式,单向传输数据。,方式2:,适用于中断或查询方式双向传输数据。,如既能做输入又能做输出的外设。,100,三、 串行通信接口8251A的结构与编程,1、串行通信的基本概念,1)串行通信的特点,字节数据经一条传输线按位串行发送与串行接收。,节省通信线路,可远距离传送,成本低。,数据传输速率低,控制较复杂。,101,2)串行通信的方式-数据的流向,全双工,:,两条独立的传输线, 双方可同时接收与发送。,半双工,:,一条传输线, 在某一时刻只能一个方向传输信息,线路切换后可改变传输方向。,A,发送器,接收器,B,发送器,接收器,全双工,A,发送器,接收器,B,发送器,接收器,半双工,单工,:,通信一方为发送器,另一方为接收器,一条传输线相连, 单向传输。,发送器,A,接收器,B,单工,102,3)同步与异步通信方式,同步方式:,通信双方用,统一的时钟控制通信,过程, 信息传输组成数据包(数据帧)。每帧头尾是控制代码,中间是数据块,有若干个字符。,数据块,包头,包尾,数据帧,同步字符,同步字符,数据,异步方式:,通信双方,无统一时钟同步,,传送的信息以一个字符数据为单位。,0,1,0,1,1,1,1,7位数据,I/O,I/O,I/O,0/1,I/O,I/O,I/O,I/O,低位,高位,起始位,停止位,奇偶校验,第n个字符,空闲位,第(n+1)个字符,下降沿指出下一个字符的开始,103,比特率与波特率,串行通信中,传输数据速度的测量单位。,比特率:每秒传输的二进制数的位数,bit/s。,波特率:每秒钟内发生二进制信号的事件数。,波特率=1/二进制位的持续时间,调制解调器(,MODEM) -,把数字信号的1和0调制成两种不同频率的正弦波。,104,2、,8251A功能及结构,全双工、同步/异步、接收/发送器,接收/发送双缓冲结构 (,USART),105,数据总线缓冲器,读/写,控制逻辑,调制/解调,控制逻辑,同步字符寄存器1,同步字符寄存器2,方式寄存器,状态寄存器,控制寄存器,发送移位寄存器,数据输出寄存器,发送缓冲器,接收缓冲器,拉收移位寄存器,数据输入寄存器,计数器,发送控制器,接收控制器,计数器,106,数据总线缓冲器,8位,双向。供,CPU,读写数据,写方式字、命令字及同步字符,读8251,A,的状态。,读/写控制逻辑,接收信号,产生相关操作。,发送缓冲器与发送控制电路,发送缓冲器包括数据输出寄存器(接收来自,CPU,的数据)和发送移位寄存器(串行发送数据)。,接收缓冲器与接收控制电路,接收缓冲器包括接收移位寄存器(接收串行数据)和数据输入寄存器(向,CPU,提供输入的数据)。,调制解调器控制逻辑,为调制解调器提供控制信号。,107,3、8251A操作地址,0-偶地址:数据端口-数据输入/输出,1-奇地址,:读状态;,先方式,后命令,:写方式和命令;,控制与状态口,108,4、8251A初始化编程,同步方式,复位操作,输出方式字,异步方式 ?,输出命令字,输出第一个同步字符,双同步,?,输出第二个同步字符,否,是,否,是,40H写入奇地址,方式字写入奇地址,(P245同步方式和异步方式初始化程序段),109,0,禁止奇偶校验,1,允许奇偶校验,SCS,ESD,EP,PEN,L2,L1,0,0,D7,D6,D5,D4,D3,D2,D1,D0,同步传送模式字格式,0,1,内同步检测,(SYNDET为出),外同步检测,(SYNDET为入),0,1,奇校验,偶校验,同步字符数目,0,1,双同步字符,单同步字符,校验设置,校验类型,检测方式,0,0,0,0,1,1,1,1,5位数据,7位数据,6位数据,8位数据,数据位数,110,D7,D6,D5,D4,D3,D2,D1,D0,S2,S1,EP,PEN,S2,B1,B2,L1,L2,PEN,EP,S1,仃止位数目,无 效,2 位,1 .5 位,1 位,0,1,1,0,1,0,0,0,0,5,0,0,1,1,1,1,8,7,6,数据位数,0,0,0,0,1,1,1,1,同步方式,1x,16x,64x,波特率因子,1,异步传送模式字格式,0,1,奇校验,偶校验,校验类型,0,1,禁止校,允许校,校验设置,111,IR,EH,ER,SBRK,RTS,R,X,EN,T,X,EN,DTR,命令字格式,置“1”为搜索同步字符,置“1”后8251A内部复位,请求发送置“1”后,输出0,清除错误标志置“1”后清PE、OE、FE,送中止符置“1”后T,X,D输出0,输出0,数据终端就绪置“1”后,1:接收允许0:屏蔽,1:发送允许0:屏蔽,112,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!