版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8常用可编程并行数字接口芯片及其应用目前常用的可编程芯片有如下几种:8255A
并行I/O接口8253/8254
计数器/定时器8259A
中断控制器8237ADMA控制器通信(根据信息交换方式分类)并行通信串行通信可编程不可编程8.1可编程接口芯片的基本概念8.2定时/计数8253/8254
8.2.1系统的时间基准
计算机是一种严格按时序进行工作的数字化、智能化机器,因此,它离不开定时与计数。第一,计算机系统本身需要一个时间基准,以保证计算机在确定时刻完成规定动作,如动态存储器的定时刷新等。计算机系统本身的时间基准是它的主时钟频率(主频)第二,用计算机构成的测控系统常被要求能提供一些定时和计数的功能,如定时中断,定时检测、以及其它定时处理等。
定时与计数的本质是一样的,区别在于计数器的输入信号CLK的不同。系统定时分类
1、软件定时
软件定时是实现系统定时或延时控制的最简单的方法。软件定时是指CPU执行一段具有固定延时时间的循环程序。优点是不需要外加硬件电路且定时精确。缺点是定时过程中,CPU一直在执行该定时程序,不能做其它工作,定时时间越长,CPU的开销越大,而且不能响应中断,否则定时就不准确了。2、硬件定时
硬件定时是指由硬件电路来实现的定时。硬件定时的优点减轻CPU的负担,使得在定时期间CPU能做其它工作。
不可编程的硬件定时如555时基电路;缺点:元件参数一经设定就不能改变,电路调试也比较麻烦。另外,时间一长,电阻、电容器件老化,电路工作不稳定,会严重影响定时准确度和稳定性。
可编程硬件定时,它是一种软硬件结合的定时方法,是为了克服单独的软件定时和硬件定时的缺点,而将硬件电路做成通用的定时/计数器并集成到一个硅片上,其定时参数和工作方式又可由软件来控制。如Intel的8253定时/计数器。8.2.18253主要特性
8253是为微型计算机配套而设计的一个可编程定时器/计数器芯片,24引脚双列直插式封装,采用单一的正5V。1、片内具有3个独立的16位减法计数器(或称计数通道),每个计数器又可分成两个8位的计数器。2、计数频率为0~2MHz。3、两种计数方式:即二进制或BCD方式计数。4、六种工作方式,既可对系统时钟脉冲计数实现定时,又可对外部事件进行计数。5、可由软件或硬件控制开始计数或停止计数。8.2.28253内部结构
数据总线缓冲器8D0~D7内部总线CLK0计数器0GATE0OUT0计数器1CLK1GATE1OUT1计数器2CLK2GATE2OUT2读/写逻辑A0A1WRRDCS控制字寄存器1.数据总线缓冲器,CPU通过其传递对
8253进行读写的内容;2.读写逻辑控制,对8253内部寄存器的读写操作3.控制寄存器(8位)——存放CPU送来的控制字,控制8253的工作方式及计数初值的写入。4.有三个独立的计数/定时通道——
计数器0,计数器1,计数器2。计数通道内部逻辑框图计数初值寄存器(16位):用于存放计数初值。在初始化时装入的,一旦装入,计数过程中保持不变。计数采用二进制(0~FFFFH)或BCD码(0~9999H)(计数初值R)=0000H时,初值max=65536/10000(计数初值R)=0001H时,初值min=1/1减1计数器(16位):用于进行减1计数操作,每来一个CLK,它就作减1运算,直至将计数初值减为零。
当前计数值锁存器(16位):用于锁存减1计数器的内容,以供读出和查询。计数初值与输入时钟(CLK)频率及输出波形(OUT)频率之间的关系为:
初值=fCLK/fOUT例:fCLK=1.193MHz,fout=18.2HZ,
则初值=655498.2.38253外部特性
8253引脚功能8253引脚
8253与CPU的接口
8位数据线:D0~D7
寻址控制线:A0、A1、CS
读写控制线:RD、WR8253与外设的接口注:三个独立的计数器/定时器时钟输入:CLK
输入门控:GATE
波形输出:OUT
8253的引脚信号D7~D0:数据总线,双向,三态。用于与CPU之间传递信息。/RD:读信号,CPU输入到8253。通知8253把某个内部R的值送数据线D7~D0。/WR:写信号,CPU输入到8253。
。通知8253把D7~D0上的值写入内部某个R中。/CS:片选信号,CPU输入到8253。
通过地址译码逻辑电路与地址总线相连。A1、A0:地址线,CPU输入到8253。指出当前8253被访问的是哪个R(端口)8253的读写操作及端口地址计数器的3个引脚CLK(时钟):外部输入给8253
在计数过程中,此引脚上每输入1个时钟信号(下降沿),计数器的计数值将减1GATE(门控):外部输入给8253,控制计数器工作允许/关闭计数——高电平时允许计数触发/重触发计数——↑触发开始计数或重装初值OUT(计数器输出)8253输出到外部根据初始化设置工作方式的不同,OUT引脚可输出单个或连续的波形信号。在PC/XT机中,8253端口地址译码如p391图:
A9A8A7A6A5=00010参加译码实现片选(CS=0)
A4A3A2未用,A1A0接8253的A1A0。故系统分配给8253端口地址为40~05FH,实际只用了前4个,分别对应:
CNT0(40H)、CNT1(41H)、
CNT2(42H)、控制字端口(43H)8253
端口寻址参考P3048.2.38253编程命令一、8253的控制字二8253初始化编程编程命令有两类
写入命令写控制字写计数器初始值写锁存命令
读出命令:读取计数器当前被锁存的计数值。初始化编程必须严格遵守
先写控制字,再对各计数器通道写入初始值初始值的写入,要符合控制字中的格式规定初始化编程8253初始化编程举例(写控制字和写计数器初始值)初值决定了读写方式由CPU访问输出锁存器,即可读出每个计数器的计数值。如果是8位计数只需读一次;如果是16位计数,则要读两次,先读低8位,后读高8位。由于计数器在不停的计数过程中,必须先使用锁存命令锁存计数器的当前值,再读取计数器的值。8253锁存读出命令
先向控制寄存器写锁存命令,再读被锁存的计数值D7D6决定锁存哪一个寄存器,D5D4=00为锁存命令,D3D2D1D0可设定为全0。假定计数器1的初始化如例8.18253的工作方式
每个计数器有6种工作方式,其主要标志有3点:一是输出波形的不同二是启动计数的方式不同
软件启动:写入初值,则开始计数硬件启动:写入初值且GATE↑有效,则开始计数三是计数过程中GATE对计数操作的控制不同
GATE高/低电平:允许/停止计数(6种方式同)
GATE↑有效:触发开始计数/触发重装初值(1)对计数器初始化后,计数器全部控制逻辑电路复位,输出OUT为初始状态(高/低电平);(2)初始化后,要经过1个CLK↑和1个CLK↓,计数执行部件才能开始减1计数;(3)CLK↑时,计数器对GATE采样,决定工作状态
各种工作方式共同遵循的规则6种工作方式方式0:计数结束产生中断输出(软件控制)方式1:重复触发的单稳输出(硬件控制)方式2:分频器(软件控制)方式3:方波发生器(软件控制)方式4:选通信号发生器(软件触发)方式5:选通信号发生器(硬件触发)
CWN=4WROUT
N43210装控制字装初值计数开始计数结束GATE方式0——计数结束产生中断CLKFF①n=5543210CLKWROUT软件启动,计数过程OUT=‘0’,减1计数到0,则OUT=‘1’,计数结束
——可作为中断请求用;GATE↑的作用:无效不可自动重装初值,需编程重新写入初值才可继续工作。在计数期间写入新的初值,立即有效。n=55433210WRGATEOUT②WROUTn=9n=49843210③
CWN=3WRCLKGATEOUT
N3210FF3210FF装控制字装初值计数开始计数结束方式1——可重触发的单稳态触发器WRGATEOUT①n=443210CLKGATEOUT443210②WRGATEOUT3210210n=2n=3③①硬件启动②计数期间OUT为低电平,计数结束,OUT变为高电平,故OUT为1个宽度为TW=N×TCLK
的负脉冲—单稳触发器。③
GATE↑的作用:触发重装初值计数④不能自动重装初值,计数期间若重新写入初值,要等当前计数回零且GATE↑到来后,才有效。
CWN=3WRCLKGATEOUT
NN3213213213方式2——分频器(脉冲信号发生器)①软件启动;②计数期间out=‘1’,计到1时,OUT=‘0’并保持1个CLK周期,然后OUT=‘1’,进入下一个计数周期,故OUT为CLK
的1/N分频信号。③GATE↑作用:无效④有自动装入初值功能,不用编程也能连续工作;计数过程若编程重装初值,则当前计数结束后有效。
CWN=4WRCLKGATEOUT
NN43214321432与方式2类似,区别1:输出方波,其占空比Q为:
N为偶数:Q=0.5;N为奇数:Q=(N+1)/2N。区别2:GATE↑有效,触发重装初值方式3——方波发生器
CWN=3WRCLKGATEOUT
NN3210FF3210FFN=3方式4——软件触发的选通信号发生器①软件启动。②计数结束(归0)时,OUT产生一个宽度为1个CLK
周期的负脉冲——可作选通信号用③GATE↑作用:无效;④不能自动重装初值,若编程重装初值,立即有效
CWN=3WRCLKGATEOUT
NN3210FFFE3210FF方式5——硬件触发的选通信号发生器①硬件启动。②计数结束(归0)时,使输出OUT为一个宽度为1个
CLK周期的负脉冲——选通信号。③GATE↑的作用:触发重装初值计数④不能自动重装初值,计数过程重装初值,必须要在
GATE↑触发有效。工作方式方式0与方式4的比较(软件控制)启动计数方式相同 都是软触发,无自动重装入能力 写入控制字及初值后,若GATE=1,CE开始减计数当CE=0时,OUT改变电平状态OUT输出不同不同点方式0在计数期间OUT=0,计数结束OUT=1方式4在计数期间OUT=1,计数结束OUT=负脉冲OUTOUT方式
1与方式5的比较(硬件触发)
启动计数方式相同写入控制字及初值后,若GATE↑触发,CE开始减计数,当CE=0时,OUT改变电平状态OUT输出不同方式1在计数期间OUT=0,计数结束OUT=1方式5在计数期间OUT=1,计数结束OUT=负脉冲计数期间GATEOUT计数期间GATEOUT方式2与方式3的比较(波形输出)
相同点
启动计数方式相同,均输出连续周期波形,预置初值可自动重装入不同点方式2输出连续负脉冲周期波形方式3输出连续方波周期波形方式3方式28.2.68253的应用8253的端口地址为40H~43HCNT0—向系统提供定时中断
CNT1——向DMAC系统提供定时中断,定时刷新DRAMCNT2——提供喇叭的音调应用一:在IBM-PC机中P4031、计数器0——向系统提供定时中断工作方式及初值的确定分析:
fCLK0=1193181.6Hz,fOUT0=18.2Hz(周期为55ms)的方波控制8259A的IRQ0(日时钟)的中断,即每隔55ms产生一次中断。初值=fCLK0/fOUT0=TOUT0/TCLK0=65536,采用二进制计数,则初值寄存器=0000H综合:计数器0工作方式3(方波),二进制计数,初值N=0000H计数器0的初始化编程2、计数器1——向DMAC提供定时请求,刷新DRAM工作方式及初值的确定分析:
fCLK1=1193181.6Hz,TOUT1=15.6μs(周期为15.6μs)由OUT1每隔15.6μs向DMAC发送请求信号,以便对64KB的DRAM进行刷新。初值=fCLK1/fOUT1=fCLK1*TOUT1=18
可以采用二进制计数,初值R=12H综合:计数器1工作方式2(周期性负脉冲),二进制计数,初值R=12H计数器1的初始化编程或12H2、计数器2——提供喇叭的音调工作方式及初值的确定分析:
fCLK2=1193181.6Hz,fOUT2=600HZ,由OUT2向扬声器即喇叭提供频率为600Hz的声音信号,在PB1和PB0的控制下发出声音。初值=fCLK2/fOUT2=1989
可以采用BCD码计数,初值R=1989H综合:计数器2工作方式3(方波),BCD计数,初值R=1989H计数器2的初始化编程H应用二:系统机外扩实验台的应用P404分析:输入fclk0=250kHz,输出fOUT0=1/1=1Hz,设置初值:N=fclk0/fOUT0=250000>65536(10000)故需要使用两个计数器(CNT0和CNT1)串联使用,可以扩大输出脉冲的周期。如图8.19所示,先由CNT0产生周期为10ms的方波作为CNT1
的输入,再由CNT1产生周期为1S的负脉冲信号。工作方式及初值分析CNT0:工作于方式3(方波),二进制计数,初值N0=fclk0/fOUT0=fclk0*TOUT0=250K*10ms=2500=09C4HCNT1:工作于方式2(周期性负脉冲信号),二进制计数。初值N1=fclk1/fOUT1=TOUT1/Tclk1=1s/10ms=100=64H编程如下:00110110B01110100B作业P4438.18.2计数与定时的区别
CLK为标准脉冲信号时——定时
CLK为标准脉冲信号时——计数
Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同并行外设相连接,是应用最广的并行I/O接口芯片。含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。8.3可编程并行接口8255A8.3.18255A基本功能概述8.3.28255A内部结构及引脚(1)端口A对应1个8位数据输入锁存器1个8位输出锁存器/缓冲器。(2)端口B对应1个8位数据输入缓冲器1个8位输出锁存器/缓冲器。
(3)端口C对应1个8位数据输入缓冲器1个8位输出锁存器/缓冲器。
数据端口A、B、C
通常使用方法:端口A、B作为独立的输入或者输出端口,端口C配合端口A、B
A组控制和B组控制(1)A组控制电路
根据CPU写入的方式控制字,控制A口和C口高4位的工作方式和读写操作。(2)B组控制电路
根据CPU写入的方式控制字,控制B口和C口低4位的工作方式和读写操作。读写控制逻辑电路功能:管理CPU与8255三类信息的传输过程。数据总线缓冲器功能:通过它与系统数据总线相连。8255A引脚功能1.连接外设端的引脚PA0~PA7:A口外设数据线,接外设;PB0~PB7:B口外设数据线,接外设;PC0~PC7:C口外设数据线或联络线,接外设。2.连接系统总线的主要引脚D0~D7:数据线,双向,连CPU数据总线;RESET:复位输入,接系统总线的RESET;CS:片选控制输入,接译码器;RD:读命令输入,接CPU的RD或IOR;WR:写命令输入,接CPU的WR或IOW;A0;A1:片内端口地址输入,可选4个片内端口。8255通道选择和基本操作表断开功能CPU的DB→三态非法状态CPU的DB→三态100×11×01×1××1×输出操作(写)CPU的DB→端口ACPU的DB→端口BCPU的DB→端口CCPU的DB→控制口00000000111101010011输入操作(读)端口A→CPU的DB端口B→CPU的DB端口C→CPU的DB000111000010001端口及操作功能A0A1RDWRCS在IBMPC/XT机中,有一片8255A,其占用的端口地址为60H~7FH共32个,实际只用到前4个——60H~63H分别为A口、B口、C口和控制口的地址。参考P3048255A的初始化:
8255A的各种工作方式由CPU对8255A写入控制命令字来设定,这个过程称为“初始化”。
8255A有2种控制命令字:
方式选择控制字——确定3个端口的工作方式;
C口置位/复位控制字——确定C口某一位的初始状态,或用于设置INTE位的值(用于方式1,2)。8.3.38255A控制字皆写入控制口1.8255的工作方式控制字1D7D6D5D4D3D2D1D00输出1输入PC3~PC0B口0
输出1输入0方式01方式1B口工作方式PC7~PC40输出1输入A口0输出1输入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式2A组控制B组控制例A端口方式1输入、B端口方式1输出、
PC6,PC7作输入,给出方式控制字。1011110X1010011XBCHA7HA端口方式1输出、B端口方式1输入、
PC4,PC5作输出,给出方式控制字。0D7D6D5D4D3D2D1D00复位1置位设置内容特征位,D7=0表示是C口按位置位/复位控制字无意义选择设置位2、C端口置/复位控制字D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7解:
MOVDX,0063H
;置DX为控制口地址
MOVAL,00000100B;置PC2为0OUTDX,ALMOVAL,00001001B;置PC4为1OUTDX,AL例、通过控制口置PC2为0,置PC4为1
例:设8255的A端口工作于方式1输入,B端口工作于方式0输出,置PC4=1,(8255的操作地址为60H~63H)MOVAL,0B0H;1011000XOUT63H,AL;写方式控制字
MOVAL,09H;0XXX01001OUT63H,AL
;写置/复位控制字b7b6b5b4b3b2b1b01011000xb7b6b5b4b3b2b1b00xxx1001C口置/复位控制字工作方式控制字8.3.48255的工作方式A端口有三种工作方式方式0、方式1、方式2B端口有二种工作方式方式0、方式1C端口无工作方式选择工作于方式0,或作为A、B端口工作于方式1、2时的联络信号注:方式0(基本输入/输出):常用于无条件传输方式1(选通输入/输出):常用于查询和中断方式方式2(双向数据传送):常用于查询和中断方式工作方式方式0—基本输入和输出方式。A、B与C口之间没有硬件联系,即可分别作为独立的输入或输出端口方式1—选通输入/输出方式:A口输入/输出分别与C口的PC3、4、5/PC3、6、7联用;B口与C口(PC0~PC2)联用;C口的剩余线只能工作于方式0。方式2—双向输入/输出方式。只有A口可工作于此方式,C口的PC3~PC7可作为A端口双向工作的专用状态联络线。B口可工作在方式1,则C口的PC0~PC2作为专用的联络信号线。方式0(基本输入/输出方式)特点:
1)
8255A相当于三个独立的8位数据口,即A口、
B口、C口(C口又可分为两个4位的端口)。
2)各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。
3)设置为输出口时有锁存能力,设置为输入口有缓冲而无锁存能力。
C端口即可以作为一个8位端口,也可以分为两个独立的4位端口,各端口单向传输。D7D6D5D4D3D2D1D0特征位A口方式0A口输入PC7~PC4输出B口方式0B口输出10010001PC3~PC0输入应用无条件传送方式
A、B、C端口均传送数据信息
查询方式
A、B端口传送数据,C端口传送状态工作在方式0的端口作为输入口相当于普通的三态门作为输出口相当于普通的锁存器二、方式1(选通输入/输出)功能:A、B端口作8位数据输入或输出,C端口的特定位为A、B端口服务电特性:作输入/输出时,A、B端口皆有锁存功能
应用:查询方式:C端口特定位传送状态中断方式:C端口特定位发中断请求1011/01/011/01/0D7D6D5D4D3D2D1D0特征位A口工作方式
A口I/OPC7~PC4I/OB口工作方式
B口I/OPC3~PC0I/O10111/0×××A口方式1输入控制字1××××11×B口方式1输入控制字PA7~PA0PC4PC5PC3INTEAC口:D4与门IBFASTBAINTRARDD7~D0A口方式1输入固定的联络信号B口方式1输入时固定的联络信号PB7~PB0PC2PC1PC0INTEBC口:D2与门IBFBSTBBINTRBRDD7~D0表示PC6、PC7为输入/输出A,B口工作在方式1作为输入口时,C口特定位作为联络信号方式1下输入端口的联络信号输入设备数据准备好发出此信号给8255A作用是将外设送来的数据锁存到8255A的输入口②IBF:输入缓冲器满信号(高电平有效)8255A的输入端口收到数据后自动发此信号给外设作为应答。表示数据已进入输入口,但CPU未取走,此时外设不能再送新数据过来。③
INTR:中断申请信号(高电平或上升沿有效)8255A发出,向CPU发出中断申请,请求将输入口的数据取走(INAL,DX)。①STB:选通信号(低电平有效)STB、IBF、INTE均为1时,8255A自动发INTR④INTE:中断允许控制信号控制是否允许8255A的INTR的发出。此信号无引出,通过控制口对C口相应位的置位/复位,设置允许或不允许。
A口,对PC4(C口D4)置位,使INTEA=1,允许中断复位,使INTEA=0,禁止中断
B口,对PC2(C口D2)置位,使INTEB=1,允许中断复位,使INTEB=0,禁止中断注意:在方式1下,作为联络信号的外部引脚
PC4、PC2,不受C口按位置位/复位控制字的控制。PB7~PB0PA7~PA0STBIBFINTRRD外设送来数据②⑤当INTE=1时
①AB口方式1的输入时序③④STB的↓使得IBF变为“1”有效;INTE=1和IBF=1,STB↑使得INTR变为“1”有效;RD↓使得INTR复位无效,RD↑使得IBF=“0”无效10101/0A口方式1输出控制字110B口方式1输出控制字A口方式1输出时相应的联络信号B口方式1输出时相应的联络信号方式1下输出端口的联络信号PA7~PA0PC7PC6PC3INTEAC口:D6与门ACKAOBFAINTRAWRD7~D0PB7~PB0PC1PC2PC0INTEBC口:D2与门ACKBOBFBINTRBWRD7~D0表示PC4、PC5为输入/输出由外设发出,送给8255A。作用是通知8255A,输出端口的数据已被外设取走,可以传送下一个数据。③INTR:中断申请信号(高电平或上升沿有效)8255A发出,用来向CPU发出中断申请。方式1下输出端口的联络信号①OBF:输出缓冲器满信号(低电平有效)②ACK:外设响应信号(低电平有效)当OBF、ACK、INTE均为1时,8255A自动发出INTRCPU执行“OUTDX,AL”,AL中数据送至8255A输出缓冲器后,8255A自动发出此信号。表明8255A输出端口中有数据,可用来通知外设把数据取走。④
INTE:中断允许控制信号作用是控制是否允许中断申请信号INTR发出此信号无引出,通过控制口对C口相应位的置位/复位设置允许或不允许。A口,对PC6(C口D6)置位,使INTEA=1,允许中断复位,使INTEA=0,禁止中断B口,对PC2(C口D2)置位,使INTEB=1,允许中断复位,使INTEB=0,禁止中断注意:在方式1下,作为联络信号的外部引脚PC6、PC2,不受C口按位置位/复位控制字控制①D7~D0CPU输出的DATADATA写入端口A/BWROBFINTRACK②当INTE=1时
AB口方式1的输出时序③④⑤WR↑使得CPU的data写入端口,使得OBF有效=“0”,使得INTR无效=“0”ACK↓使得OBF无效=“1”,RD↑使得IBF=“0”无效INTE=1和OBF=1,ACK↑使得INTR有效=“1”8255的状态字为采用程序查询的数据交换方式提供了状态标志
输入:IBF
输出:OBFCPU通过读C端口获得状态字方式1,A组和B组的工作状态字注意:
C端口的状态位与C端口的外部引脚PC7~PC0状态不完全一致方式1,A组和B组的工作状态字D7D6D5D4D3D2D1D0I/OI/OIBFAINTEAINTRAPC7PC6PC5PC4PC3A口作输入口OBFAINTEAI/OI/OINTRAPC7PC6PC5PC4PC3A口作输出口INTEBIBFBINTRBPC2PC1PC0B口作输入口B口作输出口INTEBOBFBINTRBPC2PC1PC0A组状态B组状态STBAACKBC口的状态字ACKASTBB方式1用于查询方式时:输入/输出时,CPU查询C口的IBF/OBF标志方式1A口B口输入时的状态字方式1A口B口输出时的状态字C端口C端口STBASTBBACKBACKA方式1用于于中断方式时:输入时,输入设备通过STB向8255A发中断请求;输出时,输出设备通过ACK向8255A发中断请求。方式
2——双向输入/输出功能
仅A端口具有双向数据传送功能
C端口特定位的组合应用
电特性A端口具有双向锁存和缓冲特性
应用A端口双向传送数据
查询方式:C端口特定位传送状态中断方式:C端口特定位发中断请求
工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下A口输入、输出联络信号的组合PA7~PA0PC6PC7ACKAOBFAD7~D0RDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6与门PC3INTRA或门与门方式2时的状态字例:8255A控制LED发光二极管A端口接8个开关B端口接8个LED发光二极管要求:开关断开LED亮,反之灭图8.358088外扩展8255A接线图端口地址:0218~021BH方式0,A口输入,B口输出:控制字为10010000B
[例8.11]
8255A端口地址0218H~021BH
8253A端口地址20H和21H(已初始化)分析:8255A的A端口工作在方式1作为输出口用,B口未用。打印机与CPU采用中断的方式进行数据的传递打印机的工作情况及与8255接口的联络线当打印机处于“空闲”状态时,BUSY=0,同时向8255A发出一个负脉冲ACK作为应答信号,表示字符打印完成;CPU得知打印机空闲(检测BUSY=0或
IR3的中断请求有效),将一个新的打印字符送入8255的A口,此时CPU再通过PC0向打印机发送一个选通脉冲,将字符送入打印机,此时打印机BUSY=0表示打印机忙;CPU得知打印机忙(检测BUSY=1或
IR3的中断请求无效),则不再发新字符给打印机,直到得知打印机空闲再发新数据过去8255的工作情况及与打印机和CPU接口的联络线A口方式1,作为输出口PC0产生打印机的选通脉冲,而自动联络线PC7未用PC6接受打印机的应答信号ACK输入PC3自动作INTR,接中断控制器8253A的IR3,中断类型号0BH,中断向量在向量表中0002CH~0002FH这四个单元中单元通道C其他位及通道B未用PA7~PA0PC7PC6PC3INTEAPC6与门ACKAOBFAINTRAWRD7~D0软件程序如下:指向下一个打印字符例:
8255A打印机接口设8255A的端口地址分别为0C0H、0C2H、0C4H和0C6H,A口为方式1输出8255端口线的使用A为数据通道,方式1,输出PC0产生打印机的选通脉冲PC7未用;PC6为ACK输入PC3自动作INTR,接中断控制器8253A的IR3,中断类型号0BH,中断向量在0002CH~0002FH单元通道C其他位及通道B未用PA7~PA0PC7PC6PC3INTEAPC6与门ACKAOBFAINTRAWRD7~D08255初始化MOV AL,0A0H ;初始化,1010XXX0OUT 0C6H,AL;控制字MOV AL,1 ;PC0=1,选通无效OUT 0C6H,AL设置中断向量设置向量0100H:2000HPUSHDS ;保护原数据段XORAX,AXMOVDS,AX ;设向量表段地址为0000HMOV AX,2000HMOV WORDPTR[002CH],AX;中断服务程序偏移地址MOV AX,0100HMOV WORDPTR[002EH],AX;中断服务程序段地址POP DS
;恢复原数据段8255中断设置MOV AL,0DH ;00001101;PC6置1OUT 0C6H,AL ;允许8255A中断STI ;CPU开中断;主程序中断服务程序中断服务程序发选通信号,将数据送打印机打印机接收并打印字符后发出应答信号,清除8255A的数据缓冲区满信号RINT:MOVAL,[DI] ;输出字符送A通道
OUT0C0H,ALMOVAL,0 ;PC0产生低电平脉冲选通信号
OUT 0C6H,AL;00000000,PC0置0INC ALOUT 0C6H,AL;00000001,PC0置1… ;后续处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年洗衣房租赁合同样本3篇
- 2024年版权转让合同:关于某畅销小说的版权转让及分成协议
- 2024-2025学年度广西部分学校高一第一学期12月阶段性考试历史试题
- 主管护师(儿科护理)资格考试题库(含各题型)
- 纸箱制作课程设计
- 中考语文散文阅读的答题技巧
- 幼儿面试课程设计
- 爱国微课程设计
- 2024年用电监察员(用电检查员)技师职业鉴定考试题库(含答案)
- 网络营销教学课程设计
- 2023年CQE客诉工程师年度总结及下年规划
- MQL4命令中文详解手册
- 人教版地理七年级上册期末测试题(4套含答案)
- 水平井施工方案及措施
- 小学数学一年级上册-期末测试卷(二)含答案-人教版
- 登金陵凤凰台
- 小学四年级数学上册促销问题
- 初中体育-50米跑教学设计学情分析教材分析课后反思
- 国内外中学数学教学改革与发展
- 医院药品评价与遴选量化评分表
- 专业英语四级模拟试卷450(题后含答案及解析)
评论
0/150
提交评论