您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 计算机硬件_并行接口芯片
前课回顾8253:可编程计数器/定时器。⑴减“1”工作⑵减至“0”时,可输出一个计数回零信号⑶自动装入定时常数的初值,重新开始新的定时。8253的基本功能⑴3个独立的16位计数器通道。⑵每个计数器有6种工作方式⑶按二进制或十进制(BCD码)计数8253的内部结构Intel8253内部结构框图D7~D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA1A0CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2三个计数器(0#,1#,2#)三个独立的16位减法计数器,内部结构如下:控制单元初值寄存器减1计数器输出锁存器内部总线CLKGATEOUT图8-2 计数器内部逻辑图控制单元初值寄存器减1计数器输出锁存器内部总线CLKGATEOUT图8-2 计数器内部逻辑图每个计数器都包括:8位的控制寄存器、16位的计数初值寄存器、16位的减1计数器和16位的输出锁存器计数器的3个引脚CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种情形OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号方式功能计数初值N与输出波形的关系0计完最后一个数中断写入计数值N后,经过N+1个CLK,脉冲输出变高1硬件再触发单拍脉冲宽度为N个CLK的单拍负脉冲2速率(脉冲)发生器每经过N-1个CLK脉冲后,都输出宽度为1个CLK的负脉冲3方波速率发生器写入N后,输出N/2个CLK高电平,N/2个CLK低电平(N为偶数);(N+1)/2个CLK高电平,(N-1)/2个CLK低电平(N为奇数)4软件触发选通写入计数值N后,经过N+1个CLK,输出宽度为1个CLK的负脉冲5硬件触发选通写入N且门控触发后,经过N+1个CLK,输出宽度为1个CLK的负脉冲计数初值N与输出波形方式0方式1方式2方式3方式4方式5OUT输出状态(计数结束时在CLK下降沿处)写入控制字后变0,计数结束时变1,并维持至重写控制字或计数初值写入控制字后变1,GATE↑或↓触发后,在CLK↓变0,计数结束时变1写入控制字后变1,计数到1时变0,维持一个TCLK变1写入控制字后变1,计数到一半处变0写入控制字后变1,计数结束输出一个CLK宽度的负脉冲写入控制字后变1,且GATE↑或↓触发后开始计数,计数结束时变0,维持一个TCLK变1初值自动重装无无计数到0重装计数到0重装无无赋初值后或中途赋初值立即有效GATE触发后有效GATE触发或计数到1后有效GATE触发或计数结束后有效立即有效GATE触发后有效GATE0禁止计数无影响禁止计数禁止计数禁止计数无影响↓暂停计数从初值始重新计数停止计数停止计数停止计数从初值开始重新计数↑继续计数从初值始重新计数从初值开始重新计数从初值开始重新计数继续计数从初值开始重新计数1允许计数无影响允许计数允许计数允许计数无影响8253工作方式的比较CSRDWRA1A0操作功能01000计数初值装入计数器001001计数初值装入计数器101010计数初值装入计数器201011写控制器寄存器00100读计数000101读计数100110读计数200111!无效!8253的端口读/写操作00=计数器001=计数器110=计数器211=非法计数器读写格式工作方式数制D7D6D5D4D3D2D1D000=计数器锁存命令01=只读写低字节10=只读写高字节11=先读写低字节后读写高字节000=方式0001=方式1010=方式2011=方式3100=方式4101=方式50=二进制1=十进制控制字写入控制端口(A1A0=11)而计数器初值则写入对应计数器端口8253的方式控制字CW第十章并行接口芯片8255A的基本性能8255A是Intel公司为8086/8088系列微处理器设计的可编程外设接口电路(ProgrammablePeripheralInterface,简称PPI),通过它,CPU可直接与并行接口的外设相连接。8255A内部结构端口A端口B端口C数据总线A组B组8255A的引脚特性和外部连接①与外设连接的引脚:②与CPU连接的引脚:PA7~PA0、PB7~PB0和PC7~PC0三组。8条数据线:D7~D04条控制线:RESET、CS、RD、WR2条地址线:A1、A0Y24译码器CPUA1A0A15~A8A7~A2Y24CS00000000说明:A15~A8全0时选中译码器求8255各端口地址?0060H~0063H10进制例:A1、A0:端口选择信号,用来指明哪一个端口被选中。8255A有3个数据端口和一个控制端口,数据端口用来传送数据,控制端口接收CPU传送来的控制命令字:①当A1A0=00时,选中端口A;②当A1A0=01时,选中端口B;③当A1A0=10时,选中端口C;④当A1A0=11时,选中控制端口。CSRDWRA1A0操作00100数据总线←端口A内容读出00101数据总线←端口B内容00110数据总线←端口C内容01000数据总线→端口A写入01001数据总线→端口B01010数据总线→端口C01011数据总线→控制寄存器1xxxx端口输出为“高阻”高阻输出011xx端口输出为“高阻”00111非法(禁读控制端口)8255A端口的选择和基本操作表8255A的4个基本性能特点①具有三个8位并行输入/输出端口,可利用编程方法设置三个端口为输入端口或输出端口。②具有三种工作方式:方式0、方式1、方式2。③具有三种数据传送方式:无条件传送方式、查询式传送方式和中断传送方式。④对端口C的操作:端口C既可为数据口也可为控制口;当端口C作为数据口时,既可作为8位数据口也可分别作为两个4位数据口;当作为控制口时,可对端口C的每一位进行操作,设置某一位为输入或输出,为位控提供了便利条件。原因:8255A可以通过指令往控制端口中设置控制字来决定它的工作方式。8255A有两个控制字:方式选择控制字和端口C按位置位/复位控制字。使用方式:控制字写入控制端口,由控制字的D7位来区分是方式选择控制字(D7=1),还是端口C按位置位/复位控制字(D7=0)8255A的方式选择为什么需要控制字?方式选择控制字三种工作方式:①方式0——基本输入/输出②方式1——选通输入/输出③方式2——双向数据传送三种工作方式:①方式0——基本输入/输出②方式1——选通输入/输出③方式2——双向数据传送说明:①D7必须为1,它是方式选择控制字标识符。②端口A有3种工作方式:方式0、方式1、方式2。③端口B有2种工作方式:方式0、方式1。④端口C只能工作于方式0(在端口A工作于方式1、方式2,或端口B工作于方式1时,端口C的某些位会被“征用”)。若要求8255A的各个端口处在如下的工作方式,写出8255工作控制字:端口A,方式0,输入端口B,方式1,输出端口C(上半部),PC7~PC4,输出端口C(下半部),PC3~PC0,输入练习1B=95H10010101练习2控制字为A6,试判断A、B端口工作方式端口A,方式1,输出端口C(上半部),PC7~PC4,输出端口B,方式1,输入端口C(下半部),PC3~PC0,输出1010,0110B练习3对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入;端口B工作在方式0,输出;端口C低4位为输入。编写相应程序段MOVAL,10110001BOUT0C6H,ALB=B1H10110001端口C的每一位都可以通过向控制寄存器写入置位/复位控制字,而使它相应位置位(即输出为1)或复位(即输出为0)。按位置位/复位控制字注意:①针对端口C的置位/复位控制字必须写入控制端口,而不是写入端口C。②置位/复位控制字的D0位决定了置1操作还是置0操作。如为1,则对端口C中某一位置1;如为0,则置0。③置位/复位控制字的D6、D5、D4位可为1,也可为0,它们不影响置位/复位操作。但D7位必须为0,它是对端口C置位/复位的标识符。按下列要求对8255A进行初始化。要求端口A设定为输出数据,工作方式为方式0;端口B设定为输出数据,工作方式为方式1,端口C高四位输入,低四位输出。(端口地址为04A0H~04A6H)解:MOVDX,04A6H;控制端口地址MOVAL,8CH;工作方式控制字OUTDX,AL;控制字送控制端口例题1:10001100???例题2:上接例1,要求通过8255A芯片端口C的PC2位产生一个脉冲信号(PC2位平时为低电平)。(端口地址为04A0H~04A6H)解:MOVDX,04A6H;控制口地址MOVAL,05H;对PC2置位的控制字OUTDX,AL;控制字送控制端口CALLDELAY;延时程序MOVAL,04H;对PC2复位的控制字OUTDX,AL;控制字送控制端口000001011、设8255A的端口A、端口B、端口C和控制口的端口地址分别是60H、62H、64H和66H。要求端口A工作在方式0输入,端口B工作在方式0输出,端口C的高4位输入,低4位输出,试编写8255A的初始化程序。2、某片8255A的端口地址为60H~63H,PC5平时为低电平,要求从PC5的引脚输出一个正脉冲。试编写相应程序段。练习:方式0的功能方式0——基本的输入/输出方式a.两个8位端口:端口A和端口B;两个四位端口:端口C的高4位和低4位;b.任何一个端口可以进行输入或输出操作;但只能2选1。c.输出是锁存的;d.输入是不锁存的。使用场合:①同步传送(无条件传送):在传送过程中无需应答信号,执行的程序只需给出IN和OUT指令就能实现数据的输入或输出,此时,8255A的3个数据端口共可实现三路8位数据的传输。②查询传送:查询式传输时需要查询一个外设的状态,但在方式0中,没有规定固定的应答信号,此时,可将端口A和端口B作为数据端口,把端口C的4个位(高4位或低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个位规定为输入口,用来输入外设的状态。接口方式0输入时序数据数据D7~D0RD8255A对输入端口上的数据具有缓冲作用CS,A1,A0输入端口方式0输出时序D7~D0数据WR8255A对CPU通过它输出给外设的数据进行锁存CS,A1,A0数据输出端口方式1输入A端口引脚:数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器方式1输入B端口引脚:数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB中断允许触发器方式1需借用端口C作联络信号,且具有中断请求和屏蔽功能方式1输入联络信号STB——选通信号,低有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——输入缓冲器满信号,高有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——中断请求信号,高有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据方式1输入时序数据D7~D0STB输入端口数据RDIBFINTR原图STB和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据。方式1中断控制8255A的中断由中断允许触发器INTE控制。置位允许中断,复位禁止中断。对INTE的操作通过写入端口C的对应位实现。INTE触发器对应端口C的位是作应答联络信号的输入信号的那一位,只要对那一位置位/复位就可以控制INTE触发器。选通输入方式下端口A输入的INTEA对应PC4端口B输入的INTEB对应PC2方式1输出A端口引脚:外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CP
本文标题:计算机硬件_并行接口芯片
链接地址:https://www.777doc.com/doc-2043545 .html