常用可编程并行数字接口芯片及其应用_第1页
常用可编程并行数字接口芯片及其应用_第2页
常用可编程并行数字接口芯片及其应用_第3页
常用可编程并行数字接口芯片及其应用_第4页
常用可编程并行数字接口芯片及其应用_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

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

文档简介

1、8 常用可编程并行数字接口芯片及其应用n 目前常用的可编程芯片有如下几种:目前常用的可编程芯片有如下几种:n8255A 并行并行I/O接口接口n8253/8254 计数器计数器/定时器定时器n8259A 中断控制器中断控制器 n8237A DMA控制器控制器通信(根据信息通信(根据信息交换方式分类)交换方式分类)并行通信并行通信串行通信串行通信可编程可编程不可编程不可编程8.1 可编程接口芯片的基本概念可编程接口芯片的基本概念8.2 定时定时/计数计数8253/8254 8.2.1 系统的时间基准系统的时间基准 计算机是一种严格按时序进行工作的数字化、智计算机是一种严格按时序进行工作的数字化、

2、智能化机器,因此,它离不开定时与计数。能化机器,因此,它离不开定时与计数。第一,计算机系统本身需要一个时间基准,以保证第一,计算机系统本身需要一个时间基准,以保证 计算机在确定时刻完成规定动作,如动态存储计算机在确定时刻完成规定动作,如动态存储 器的定时刷新等。器的定时刷新等。计算机系统本身的时间基准是计算机系统本身的时间基准是 它的主时钟频率(主频)它的主时钟频率(主频)第二,用计算机构成的测控系统常被要求能提供一第二,用计算机构成的测控系统常被要求能提供一 些定时和计数的功能,如定时中断,定时检测、些定时和计数的功能,如定时中断,定时检测、 以及其它定时处理等。以及其它定时处理等。 定时与

3、计数的本质是一样的,区别在于定时与计数的本质是一样的,区别在于计数器的输入信号计数器的输入信号CLK的不同。的不同。系统定时分类系统定时分类 1 1、软件定时、软件定时 软件定时是实现系统定时或延时控制的最简单的软件定时是实现系统定时或延时控制的最简单的方法。软件定时是指方法。软件定时是指CPUCPU执行一段具有固定延时时间执行一段具有固定延时时间的循环程序。的循环程序。优点优点是不需要外加硬件电路且定时精确。是不需要外加硬件电路且定时精确。缺点缺点是定时过程中,是定时过程中,CPUCPU一直在执行该定时程序,不一直在执行该定时程序,不能做其它工作,定时时间越长,能做其它工作,定时时间越长,C

4、PUCPU的开销越大,而的开销越大,而且不能响应中断,否则定时就不准确了。且不能响应中断,否则定时就不准确了。2、硬件定时、硬件定时 硬件定时是指由硬件电路来实现的定时。硬件定硬件定时是指由硬件电路来实现的定时。硬件定时的优点减轻时的优点减轻CPU的负担,使得在定时期间的负担,使得在定时期间CPU能能做其它工作。做其它工作。 不可编程的硬件定时不可编程的硬件定时如如555时基电路;缺点:元时基电路;缺点:元件参数一经设定就不能改变,电路调试也比较麻烦。件参数一经设定就不能改变,电路调试也比较麻烦。另外,时间一长,电阻、电容器件老化,电路工作另外,时间一长,电阻、电容器件老化,电路工作不稳定,会

5、严重影响定时准确度和稳定性。不稳定,会严重影响定时准确度和稳定性。 可编程硬件定时可编程硬件定时,它是一种软硬件结合的定时方,它是一种软硬件结合的定时方法,是为了克服单独的软件定时和硬件定时的缺点,法,是为了克服单独的软件定时和硬件定时的缺点,而将硬件电路做成通用的定时而将硬件电路做成通用的定时/计数器并集成到一个计数器并集成到一个硅片上,其定时参数和工作方式又可由软件来控制。硅片上,其定时参数和工作方式又可由软件来控制。如如Intel的的8253定时定时/计数器。计数器。 8.2.1 8253主要特性主要特性 8253是为微型计算机配套而设计的一个可编程定时是为微型计算机配套而设计的一个可编

6、程定时器器/计数器芯片,计数器芯片,24引脚双列直插式封装,采用单一的引脚双列直插式封装,采用单一的正正5V。 1、片内具有、片内具有3个独立的个独立的16位减法计数器(或称计数通位减法计数器(或称计数通 道),每个计数器又可分成两个道),每个计数器又可分成两个8位的计数器。位的计数器。2、计数频率为、计数频率为02MHz。3、两种计数方式:即二进制或、两种计数方式:即二进制或BCD方式计数。方式计数。4、六种工作方式,既可对系统时钟脉冲计数实现定、六种工作方式,既可对系统时钟脉冲计数实现定 时,又可对外部事件进行计数。时,又可对外部事件进行计数。5、可由软件或硬件控制开始计数或停止计数。、可

7、由软件或硬件控制开始计数或停止计数。 8.2.2 8253内部结构内部结构 数据总线缓冲器数据总线缓冲器8D0D7内部总线内部总线CLK0计数器计数器0GATE0OUT0计数器计数器1CLK1GATE1OUT1计数器计数器2CLK2GATE2OUT2读读/写逻辑写逻辑A0A1WRRDCS控制字寄存器控制字寄存器n1. 数据总线缓冲器,数据总线缓冲器,CPU通过其传递对通过其传递对 8253进行读写的内容;进行读写的内容;n2. 读写逻辑控制,对读写逻辑控制,对8253内部寄存器的读内部寄存器的读 写操作写操作n3. 控制寄存器控制寄存器(8位位)存放存放CPU送来的送来的 控制字,控制控制字,

8、控制8253的工作方式及计数的工作方式及计数 初值的写入。初值的写入。 n4. 有三个独立的计数有三个独立的计数/定时通道定时通道 计数器计数器0,计数器,计数器1,计数器,计数器2。计数通道内部逻辑框图计数通道内部逻辑框图计数初值寄存器计数初值寄存器(1616位)位):用于存放计数初值。在初用于存放计数初值。在初始化时装入的,一旦装入,计数过程中保持不变。始化时装入的,一旦装入,计数过程中保持不变。 计数采用二进制计数采用二进制(0FFFFH)或或BCD码码(09999H)(计数初值计数初值R)=0000H时时, 初值初值max=65536/10000(计数初值计数初值R)=0001H时,初

9、值时,初值min=1/1减减1 1计数器计数器(1616位)位):用于进行减用于进行减1 1计数操作,每来一计数操作,每来一个个CLKCLK,它就作减,它就作减1 1运算,直至将计数初值减为零。运算,直至将计数初值减为零。 当前计数值锁存器当前计数值锁存器(1616位)位):用于锁存减用于锁存减1 1计数器的内计数器的内容,以供读出和查询。容,以供读出和查询。计数初值与输入时钟(计数初值与输入时钟(CLK)频率及输出波形)频率及输出波形(OUT)频率之间的关系为:)频率之间的关系为: 初值初值=fCLK/fOUT例:例:fCLK=1.193MHz , fout=18.2HZ, 则则 初值初值=

10、 655498.2.3 8253外部特性外部特性 8253引脚功能引脚功能 数据线 控制线 电源线 D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 CS VCC GND 8 7 6 5 4 3 2 1 22 23 19 20 21 24 12 Intel 8253 9 11 10 15 14 13 18 16 17 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 计数器 0 计数器 1 计数器 2 8253引脚引脚n 8253与与CPU的接口的接口 8 位数据线:位数据线:D0 D7 寻址控制线:寻址控制线:A0、A1、C

11、S 读写控制线:读写控制线:RD、WR n 8253与外设的接口与外设的接口 注注: 三个独立的计数器三个独立的计数器/定时器定时器 时钟输入时钟输入:CLK 输入门控:输入门控:GATE 波形输出波形输出:OUT 8253的引脚信号的引脚信号D7D0:数据总线,双向,三态。数据总线,双向,三态。 用于与用于与CPU之间传递信息。之间传递信息。/RD:读信号,读信号, CPU输入到输入到8253。 通知通知8253把某个内部把某个内部R的值送数据线的值送数据线D7D0 。/WR:写信号,写信号, CPU输入到输入到8253。 。 通知通知8253把把D7D0上的值写入内部某个上的值写入内部某个

12、R中。中。/CS:片选信号,片选信号,CPU输入到输入到8253。 通过地址译码逻辑电路与地址总线相连。通过地址译码逻辑电路与地址总线相连。A1、A0:地址线,地址线,CPU输入到输入到8253。 指出当前指出当前8253被访问的是哪个被访问的是哪个R(端口)端口)8253的读写操作及端口地址的读写操作及端口地址计数器的计数器的3 3个引脚个引脚CLK(时钟)(时钟):外部输入给:外部输入给8253 在计数过程中,此引脚上每输入在计数过程中,此引脚上每输入1个时钟信号(下个时钟信号(下降沿),计数器的计数值将减降沿),计数器的计数值将减1GATE(门控)(门控):外部输入给外部输入给8253,

13、控制计数器工作,控制计数器工作 允许允许/关闭计数关闭计数高电平时允许计数高电平时允许计数 触发触发/重触发计数重触发计数触发开始计数或重装初值触发开始计数或重装初值OUT(计数器输出)(计数器输出)8253输出到外部输出到外部 根据初始化设置工作方式的不同,根据初始化设置工作方式的不同, OUT引脚可输引脚可输 出单个或连续的波形信号。出单个或连续的波形信号。在在PC/XT机中,机中,8253端口地址译码如端口地址译码如p391图:图: A9A8A7A6A5=00010参加译码实现片选参加译码实现片选(CS=0) A4A3A2未用,未用,A1A0接接8253的的A1A0。 故系统分配给故系统

14、分配给8253端口地址为端口地址为4005FH,实际只用了前,实际只用了前4个,个,分别对应:分别对应: CNT0(40H)、 CNT1(41H)、 CNT2(42H) 、控制字端口、控制字端口(43H)8253端口寻址端口寻址参考参考P3048.2.3 8253编程命令编程命令一、一、8253的控制字的控制字 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 SC1 SC0 RL1 RL0 M2 M1 M0 BCD (地地址址 43H) 计计数数器器选选择择 数数制制选选择择 00:计计数数器器 0 0:二二进进制制 01:计计数数器器 1 1:十十进进制制 10:计计数数

15、器器 2 11:非非法法 工工作作方方式式选选择择 读读/写写指指示示位位 000:方方式式 0 00:计计数数器器锁锁存存 001:方方式式 1 01:只只读读/写写低低字字节节 10:方方式式 2 10;只只读读/写写高高字字节节 11:方方式式 3 11:先先读读/写写低低字字节节 100:方方式式 4 后后读读/写写高高字字节节 101:方方式式 5 二二 8253初始化编程初始化编程 编程命令有两类编程命令有两类 写入命令写入命令n写控制字写控制字n写计数器初始值写计数器初始值n写锁存命令写锁存命令 读出命令读出命令:读取计数器当前被锁存的计数值。:读取计数器当前被锁存的计数值。初始

16、化编程必须严格遵守初始化编程必须严格遵守 先写控制字,再对各计数器通道写入初始值先写控制字,再对各计数器通道写入初始值初始值的写入初始值的写入 , 要符合控制字中的格式规定要符合控制字中的格式规定初始化编程初始化编程8253初始化编程举例(初始化编程举例(写控制字和写计数器初始值写控制字和写计数器初始值)初值决定了读写方式初值决定了读写方式n由由CPU访问输出锁存器,即可读出每个计数访问输出锁存器,即可读出每个计数器的计数值。如果是器的计数值。如果是8位计数只需读一次;位计数只需读一次;如果是如果是16位计数,则要读两次,先读低位计数,则要读两次,先读低8位,位,后读高后读高8位。位。n由于计

17、数器在不停的计数过程中,必须先使由于计数器在不停的计数过程中,必须先使用锁存命令锁存计数器的当前值,再读取计用锁存命令锁存计数器的当前值,再读取计数器的值。数器的值。8253锁存读出命令锁存读出命令 先向控制寄存器写锁存命令,再读被锁存的计数值先向控制寄存器写锁存命令,再读被锁存的计数值nD7D6决定锁存哪一个寄存器,决定锁存哪一个寄存器,D5D4=00为锁存命令为锁存命令,nD3D2D1D0可设定为全可设定为全0。假定计数假定计数器器1的初始的初始化如例化如例8.182538253的工作方式的工作方式 有效,有效, (1)对计数器初始化后,计数器全部控制逻辑电路复对计数器初始化后,计数器全部

18、控制逻辑电路复位,输出位,输出OUT为初始状态为初始状态(高高/低电平低电平);(2)初始化后,要经过初始化后,要经过1个个CLK和和1个个CLK,计数执,计数执行部件才能开始减行部件才能开始减1计数;计数;(3)CLK时,计数器对时,计数器对GATE采样,决定工作状态采样,决定工作状态n各种工作方式共同遵循的规则各种工作方式共同遵循的规则6种工作方式种工作方式方式方式0:计数结束产生中断输出(软件控制):计数结束产生中断输出(软件控制)方式方式1:重复触发的单稳输出(硬件控制):重复触发的单稳输出(硬件控制)方式方式2:分频器(软件控制):分频器(软件控制)方式方式3:方波发生器(软件控制)

19、:方波发生器(软件控制)方式方式4:选通信号发生器(软件触发):选通信号发生器(软件触发)方式方式5:选通信号发生器(硬件触发):选通信号发生器(硬件触发) CW N=4WROUT N 4 3 2 1 0 装控制字装控制字装初值装初值计数开始计数开始计数结束计数结束GATE方式方式0 0计数结束产生中断计数结束产生中断CLKFFn=55 4 3 2 1 0CLKWROUT软件启动,软件启动,计数过程计数过程OUT=0OUT=0,减,减1 1计数到计数到0 0,则,则OUT=1,计,计数结束数结束 可作为中断请求用;可作为中断请求用;GATEGATE的作用:无效的作用:无效不可自动重装初值,需编

20、程重新写入初值才可继续工不可自动重装初值,需编程重新写入初值才可继续工作。在计数期间写入新的初值,立即有效。作。在计数期间写入新的初值,立即有效。 n=55 4 3 3 2 1 0WRGATEOUTWROUTn=9n=49 8 4 3 2 1 0 CW N=3WRCLKGATEOUT N 3 2 1 0 FF 3 2 1 0 FF 装控制字装控制字装初值装初值计数开始计数开始计数结束计数结束方式方式1 1可重触发的单稳态触发器可重触发的单稳态触发器WRGATEOUTn=4 4 3 2 1 0CLKGATEOUT 4 4 3 2 1 0WRGATEOUT3 2 1 0 2 1 0n=2n=3 硬

21、件启动硬件启动 计数期间计数期间OUT为低电平,计数结束,为低电平,计数结束, OUT变为高电平,变为高电平, 故故OUT为为1个宽度为个宽度为TW=NTCLK 的负脉冲的负脉冲单稳触发器单稳触发器。 GATE的作用:的作用:触发重装初值计数触发重装初值计数 不能自动重装初值,计数期间若重新写入初值,要等当前计数不能自动重装初值,计数期间若重新写入初值,要等当前计数 回零且回零且GATE 到来后,才有效。到来后,才有效。 CW N=3WRCLKGATEOUT N N 3 2 1 3 2 1 3 2 1 3 方式方式2 2分频器(脉冲信号发生器)分频器(脉冲信号发生器)软件启动软件启动;计数期间

22、计数期间out=1 out=1 ,计到,计到1 1时,时,OUT=0OUT=0并保持并保持1 1个个CLKCLK周周 期,然后期,然后OUT=1 OUT=1 ,进入下一个计数周期,故,进入下一个计数周期,故OUTOUT为为CLKCLK 的的1/N1/N分频信号。分频信号。GATE作用作用: 无效无效有有自动装入初值功能自动装入初值功能,不用编程也能连续工作;,不用编程也能连续工作; 计数过程若编程重装初值,则当前计数结束后有效。计数过程若编程重装初值,则当前计数结束后有效。 CW N=4WRCLKGATEOUT N N 4 3 2 1 4 3 2 1 4 3 2 与方式与方式2类似,类似, 区

23、别区别1:输出方波,其:输出方波,其占空比占空比Q为:为: N为偶数为偶数:Q=0.5; N为奇数为奇数:Q=(N+1)/2N。 区别区别2:GATE有效,触发重装初值有效,触发重装初值方式方式3 3方波发生器方波发生器 CW N=3WRCLKGATEOUT N N 3 2 1 0 FF 3 2 1 0 FF N=3方式方式4 4软件触发的选通信号发生器软件触发的选通信号发生器软件启动软件启动。计数结束(归计数结束(归0 0)时,)时,OUTOUT产生一个宽度为产生一个宽度为1 1个个CLKCLK 周期的负脉冲周期的负脉冲可作选通信号用可作选通信号用GATEGATE作用:无效;作用:无效;不能

24、自动重装初值,若不能自动重装初值,若编程重装初值,立即有效编程重装初值,立即有效 CW N=3WRCLKGATEOUT N N 3 2 1 0 FF FE 3 2 1 0 FF 方式方式5 5硬件触发的选通信号发生器硬件触发的选通信号发生器硬件启动硬件启动。计数结束(归计数结束(归0 0)时,使输出)时,使输出OUTOUT为一个宽度为为一个宽度为1 1个个 CLKCLK周期的负脉冲周期的负脉冲选通信号。选通信号。GATEGATE的作用:的作用:触发重装初值计数触发重装初值计数不能自动重装初值,不能自动重装初值,计数过程重装初值,必须要在计数过程重装初值,必须要在 GATEGATE触发有效。触发

25、有效。工作方式工作方式方式方式 0 0 与方式与方式 4 4 的比较(软件控制的比较(软件控制)n 启动计数方式相同启动计数方式相同都是软触发,无自动重装入能力都是软触发,无自动重装入能力写入控制字及初值后,若写入控制字及初值后,若GATE=1,CE开始减计数开始减计数 当当CE = 0 时,时,OUT改变电平状态改变电平状态nOUTOUT输出不同不同点输出不同不同点 方式方式 0 在计数期间在计数期间 OUT = 0,计数结束,计数结束 OUT = 1方式方式 4 在计数期间在计数期间OUT=1,计数结束,计数结束OUT=负脉冲负脉冲方式方式 1 1 与方式与方式 5 5 的比较(硬件触发)

26、的比较(硬件触发) n启动计数方式相同启动计数方式相同写入控制字及初值后,写入控制字及初值后,若若 GATE 触发,触发,CE开始开始减计数减计数, 当当CE = 0时时, OUT改变电平状态改变电平状态uOUT输出不同输出不同 方式方式 1 在计数期间在计数期间 OUT = 0,计数结束,计数结束OUT = 1 方式方式 5 在计数期间在计数期间OUT=1,计数结束,计数结束OUT=负脉冲负脉冲方式方式 2 2 与方式与方式 3 3 的比较(波形输出)的比较(波形输出) n 相同点相同点 启动计数方式相同,均输出连续周期波形,预置初启动计数方式相同,均输出连续周期波形,预置初值可自动重装入值

27、可自动重装入 n 不同点不同点 方式方式 2 输出连续负脉冲周期波形输出连续负脉冲周期波形 方式方式 3 输出连续方波周期波形输出连续方波周期波形8.2.6 8253的应用的应用8253的端口地址为的端口地址为40H43H CNT0向系统提供定时中断向系统提供定时中断 CNT1向向DMAC系统提供定时中断,定时刷新系统提供定时中断,定时刷新DRAM CNT2提供喇叭的音调提供喇叭的音调 应用一:应用一:在在IBM-PC机中机中 P403n1、计数器、计数器0向系统提供定时中断向系统提供定时中断n工作方式及初值的确定工作方式及初值的确定n分析:分析: fCLK0=1193181.6Hz,fOUT

28、0=18.2Hz(周期为周期为55ms)的的方波控制方波控制8259A的的IRQ0(日时钟)的中断,即每隔(日时钟)的中断,即每隔55ms产生一次中断。产生一次中断。 初值初值=fCLK0/fOUT0=TOUT0/TCLK0=65536, 采用二进制计数,则初值寄存器采用二进制计数,则初值寄存器=0000H综合:综合:计数器计数器0工作方式工作方式3(方波),二进制计数,(方波),二进制计数, 初值初值N=0000H计数器计数器0 0的初始化编程的初始化编程2、计数器、计数器1向向DMAC提供定时请求,刷新提供定时请求,刷新DRAMn工作方式及初值的确定工作方式及初值的确定n分析:分析: fC

29、LK1=1193181.6Hz,TOUT1= 15.6s(周期为周期为15.6s)由由OUT1每隔每隔15.6s向向DMAC发送请求信号,以便对发送请求信号,以便对64KB的的DRAM进行刷新。进行刷新。 初值初值=fCLK1/fOUT1 = fCLK1*TOUT1=18 可以采用二进制计数,可以采用二进制计数,初值初值R=12H综合:综合:计数器计数器1工作方式工作方式2(周期性负脉冲),二进制(周期性负脉冲),二进制 计数,初值计数,初值R=12H计数器计数器1 1的初始化编程的初始化编程或或12H2、计数器、计数器2提供喇叭的音调提供喇叭的音调n工作方式及初值的确定工作方式及初值的确定n

30、分析:分析: fCLK2=1193181.6Hz,fOUT2= 600HZ,由,由OUT2向扬声器即喇叭向扬声器即喇叭提供频率为提供频率为600Hz的声音信号,在的声音信号,在PB1和和PB0的控制下发出声的控制下发出声音。音。 初值初值=fCLK2/fOUT2 = 1989 可以采用可以采用BCD码计数,码计数,初值初值R=1989H综合:综合:计数器计数器2工作方式工作方式3(方波),(方波),BCD计数,计数, 初值初值R=1989H计数器计数器2 2的初始化编程的初始化编程H应用二:系统机外扩实验台的应用应用二:系统机外扩实验台的应用 P404分析:分析:输入输入fclk0clk0=2

31、50kHz=250kHz,输出,输出fOUT0OUT0=1/1=1Hz,=1/1=1Hz,设置初值设置初值:N=:N=fclk0clk0/fOUT0OUT0=25000065536(10000)故需要使用两个计数器故需要使用两个计数器(CNT0CNT0和和CNT1CNT1)串联使)串联使用,可以扩大输出脉冲用,可以扩大输出脉冲的周期。的周期。如图如图8.19所示,先由所示,先由CNT0产生周期为产生周期为10ms的方波作为的方波作为 CNT1 的输入,再由的输入,再由CNT1产生周期为产生周期为1S的负脉冲信号。的负脉冲信号。工作方式及初值分析工作方式及初值分析CNT0:工作于方式:工作于方式

32、3(方波),二进制计数,(方波),二进制计数, 初值初值N0=fclk0/fOUT0=fclk0*TOUT0 =250K*10ms=2500=09C4HCNT1:工作于方式:工作于方式2(周期性负脉冲信号),(周期性负脉冲信号), 二进制计数。二进制计数。 初值初值N1=fclk1/fOUT1=TOUT1/Tclk1 =1s/10ms=100=64H编程如下:编程如下:00110110B01110100B作业作业nP443 8.1 8.2n计数与定时的区别计数与定时的区别 CLK为标准脉冲信号时为标准脉冲信号时定时定时 CLK为标准脉冲信号时为标准脉冲信号时计数计数 Intel8255A是一种

33、通用的可编程序并行是一种通用的可编程序并行I/O接接口芯片,又称口芯片,又称“可编程外设接口芯片可编程外设接口芯片” 可由程序来改变其功能,通用性强、使用灵可由程序来改变其功能,通用性强、使用灵活。通过活。通过8255A,CPU可直接同并行外设相连接,可直接同并行外设相连接,是应用最广的并行是应用最广的并行I/O接口芯片接口芯片。 含含3个独立的个独立的8位并行输入位并行输入/输出端口,各端口输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向各端口的工作方式和数据传送方向(入入/出出/双向双向)。8.3 可编程并行

34、接口8255A8.3.1 8255A基本功能概述基本功能概述8.3.2 8255A内部结构及引脚内部结构及引脚(1)端口)端口A对应对应 1个个8位数据位数据输入锁存器输入锁存器 1个个8位位输出锁存器输出锁存器/缓冲器缓冲器。(2)端口)端口B对应对应 1个个8位数据位数据输入缓冲器输入缓冲器 1个个8位位输出锁存器输出锁存器/缓冲器。缓冲器。 (3)端口)端口C对应对应 1个个8位数据位数据输入缓冲器输入缓冲器 1个个8位位输出锁存器输出锁存器/缓冲器。缓冲器。 数据端口数据端口A、B、C n通常使用方法:端口通常使用方法:端口A A、B B作为独立的输入或者输出作为独立的输入或者输出端口

35、,端口端口,端口C C配合端口配合端口A A、B B A A组控制和组控制和B B组控制组控制(1)A组控制电路组控制电路 根据根据CPU写入的方式控制字,控制写入的方式控制字,控制A口和口和C口高口高4位的位的工作工作方式和读写操作。方式和读写操作。(2)B组控制电路组控制电路 根据根据CPU写入的方式控制字,控制写入的方式控制字,控制B口和口和C口低口低4位的位的工作工作方式和读写操作。方式和读写操作。 读写控制逻辑电路读写控制逻辑电路 功能:管理功能:管理CPU与与8255三类信息的传输过程。三类信息的传输过程。 数据总线缓冲器数据总线缓冲器 功能:通过它与系统数据总线相连。功能:通过它

36、与系统数据总线相连。 8255A引脚功能引脚功能WRD0D1D2D3D4D5D6D7VCCPB7RDCSGNDA1A0PA4PA5PA6PA7PB5PB6PB4PB3RESETPB1PB2PB0PC3PC2PC1PC0PC4PC5PC6PC7PA3PA2PA1PA051101535403025211. 连接外设端的引脚连接外设端的引脚PA0PA7:A口外设数据线,接外设;口外设数据线,接外设;PB0PB7:B口外设数据线,接外设;口外设数据线,接外设;PC0PC7:C口外设数据线或联络线,接外设。口外设数据线或联络线,接外设。2.连接系统总线的主要引脚连接系统总线的主要引脚D0D7:数据线,双

37、向,连:数据线,双向,连CPU数据总线;数据总线;RESET:复位输入,接系统总线的:复位输入,接系统总线的RESET; CS:片选控制输入,接译码器;:片选控制输入,接译码器;RD:读命令输入,接:读命令输入,接CPU的的RD或或IOR;WR:写命令输入,接:写命令输入,接CPU的的WR或或IOW;A0;A1:片内端口地址输入,可选:片内端口地址输入,可选4个片内端口。个片内端口。8255 通道选择和基本操作表通道选择和基本操作表断开功能断开功能CPU的的DB三态三态非法状态非法状态CPU的的DB三态三态100110111输出操作输出操作(写)(写)CPU的的DB端口端口ACPU的的DB端口

38、端口BCPU的的DB端口端口CCPU的的DB控制口控制口00000000111101010011输入操作输入操作(读)(读)端口端口ACPU的的DB端口端口BCPU的的DB端口端口CCPU的的DB000111000010001端口及操作功能端口及操作功能A0A1RDWRCS 在在IBM PC/XT机中,有一片机中,有一片8255A,其占用的,其占用的 端口地址为端口地址为60H7FH共共32个,实际只用到前个,实际只用到前4个个60H63H分别为分别为A口、口、B口、口、C口和控制口的地址。口和控制口的地址。参考参考P3048255A的初始化:的初始化: 8255A的各种工作方式由的各种工作方

39、式由CPU对对8255A写入控制命写入控制命令字来设定,这个过程称为令字来设定,这个过程称为“初始化初始化”。 8255A有有2种控制命令字:种控制命令字: 方式选择控制字方式选择控制字确定确定3 3个端口的工作方式;个端口的工作方式; C C口置位口置位/ /复位控制字复位控制字确定确定C C口某一位的初始状口某一位的初始状 态,或用于设置态,或用于设置INTEINTE位的值位的值( (用于方式用于方式1,2)1,2)。8.3.3 8255A控制字控制字皆写入控制口皆写入控制口1. 8255 的工作方式控制字的工作方式控制字1D7D6D5D4D3D2D1D00 输出输出1 输入输入PC3PC

40、0B口口0 输出输出1 1 输入输入0 方式方式01 方式方式1B口工作方式口工作方式PC7PC40 输出输出1 输入输入A口口0 输出输出1 输入输入特征位,特征位,D7=1表示是方式控制字表示是方式控制字A口工作方式口工作方式00 方式方式001 方式方式11x 方式方式2A组控制组控制B组控制组控制例nA A端口方式端口方式 1 1 输入、输入、B B 端口方式端口方式 1 1 输出、输出、PC6PC6,PC7 PC7 作输入,给出方式控制字。作输入,给出方式控制字。 1 0 1 1 110X 1 0 1 0 011X0D7D6D5D4D3D2D1D00 复位复位1 置位置位设置内容设置

41、内容特征位,特征位,D7=0表示是表示是C口按位口按位置位置位/复位控制字复位控制字无意义无意义选择设置位选择设置位2、C端口置端口置/复位控制字复位控制字D3 D2 D1C端口位端口位0 0 0PC00 0 1PC10 1 0PC20 1 1PC31 0 0PC41 0 1PC51 1 0PC61 1 1PC7解:解: MOV DX,0063H ;置置DX为控制口地址为控制口地址 MOV AL,0000 0100B ;置置PC2为为0 OUT DX, AL MOV AL,0000 1001B ;置置PC4为为1 OUT DX, AL 例、通过控制口置例、通过控制口置 PC2 为为 0,置,置

42、 PC4 为为 1例:设例:设8255的的A端口工作于方式端口工作于方式1输入,输入,B端口工作于方端口工作于方式式0输出,置输出,置PC4 = 1,( 8255的操作地址为的操作地址为60H 63H )nMOV AL, 0B0H ;1011000X OUT 63H, AL ; 写方式控制字写方式控制字 MOV AL, 09H ;0XXX01001 OUT 63H, AL ; 写置写置/复位控制字复位控制字b7b6b5b4 b3b2 b1b0 1 0 1 1 0 0 0 x b7 b6b5 b4 b3b2b1b0 0 x x x 1 00 18.3.4 8255的工作方式的工作方式nA端口有三

43、种工作方式端口有三种工作方式 方式方式0、方式、方式1、方式、方式2 nB端口有二种工作方式端口有二种工作方式 方式方式0、方式、方式1 nC端口无工作方式选择端口无工作方式选择工作于方式工作于方式0,或作为,或作为A、B端口工作于方式端口工作于方式1、2时的时的联络联络信号信号注:注: 方式方式0(基本输入(基本输入/输出):常用于无条件传输输出):常用于无条件传输 方式方式1 (选通输入(选通输入/输出):常用于查询和中断方式输出):常用于查询和中断方式 方式方式2(双向数据传送):常用于查询和中断方式(双向数据传送):常用于查询和中断方式工作方式工作方式n方式方式 0基本输入和输出方式基

44、本输入和输出方式。 A、B与与C口之间口之间没没有硬件联系有硬件联系,即可分别作为独立的输入或输出端口,即可分别作为独立的输入或输出端口n方式方式 1选通输入选通输入/输出方式输出方式: nA口输入口输入/输出分别与输出分别与C口的口的PC3、4、5/ PC3、6、7联用联用;nB口与口与C口(口(PC0PC2)联用)联用;nC口的剩余线只能工作于方式口的剩余线只能工作于方式0。n方式方式 2双向输入双向输入/输出方式。输出方式。n只有只有A口可工作于此方式,口可工作于此方式,C口的口的PC3PC7可作为可作为A端口双向工作的专用状态联络线。端口双向工作的专用状态联络线。nB口可工作在方式口可

45、工作在方式1,则,则C口的口的PC0PC2作为专用的作为专用的联络信号线。联络信号线。方式方式0(基本输入基本输入/输出方式输出方式)n特点:特点: 1) 8255A相当于三个独立的相当于三个独立的8位数据口,即位数据口,即A口、口、 B口、口、C口(口(C口又可分为两个口又可分为两个4位的端口)。位的端口)。 2)各端口既可设置为输入口,也可设置为输出)各端口既可设置为输入口,也可设置为输出 口,但不能同时实现输入及输出。口,但不能同时实现输入及输出。 3)设置为输出口时有锁存能力,设置为输入口有缓)设置为输出口时有锁存能力,设置为输入口有缓 冲而无锁存能力。冲而无锁存能力。 C C端口即可

46、以作为一个端口即可以作为一个8 8位端口,也可以分为位端口,也可以分为两个独立的两个独立的4 4位端口,各端口单向传输。位端口,各端口单向传输。n应用应用无条件传送方式无条件传送方式 A、B、C端口均传送数据信息端口均传送数据信息 查询方式查询方式 A、B端口传送数据端口传送数据, C端口传送状态端口传送状态n工作在方式工作在方式 0 的端口的端口 作为输入口作为输入口相当于普通的三态门相当于普通的三态门 作为输出口作为输出口相当于普通的锁存器相当于普通的锁存器 二、方式二、方式 1(选通输入(选通输入/输出)输出)n功能功能:A、B端口作端口作 8 位数据输入或输出,位数据输入或输出,C端口

47、的特定端口的特定位为位为A、B端口服务端口服务 n电特性电特性:作输入作输入/输出时输出时, A、B端口皆有锁存功能端口皆有锁存功能 应用:应用: 查询方式:查询方式:C端口特定位传送状态端口特定位传送状态 中断方式:中断方式:C端口特定位发中断请求端口特定位发中断请求1011/01/011/01/0D7D6D5D4D3D2D1D0特征位特征位A口口工作方式工作方式 A口口I/OPC7PC7PC4PC4I/OB口口工作方式工作方式 B口口I/OPC3PC3PC0PC0I/O1 0 1 11/0A A口方式口方式1 1输入控制字输入控制字11 1B B口方式口方式1 1输入控制字输入控制字PA7

48、PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAC C口:口:D4D4与门与门IBFAIBFASTBASTBAINTRAINTRARDRDD7D7D0D0A口方式口方式1输入输入固定的联络信号固定的联络信号B口方式口方式1输入时输入时固定的联络信号固定的联络信号PB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEBINTEBC口:口:D2与门与门IBFBIBFBSTBBSTBBINTRBINTRBRDRDD7D7D0D0表示表示PC6、PC7为输入为输入/输出输出A,B口工作在方式口工作在方式1作为输入口时,作为输入口时,C口特定位作为联口特定位作为联

49、络信号络信号方式方式1 1下输入端口的联络信号下输入端口的联络信号输入设备数据准备好发出此信号给输入设备数据准备好发出此信号给8255A作用是将外设送来的数据锁存到作用是将外设送来的数据锁存到8255A的输入口的输入口 IBF:输入缓冲器满信号(高电平有效):输入缓冲器满信号(高电平有效)8255A的输入端口收到数据后自动发此信号给外的输入端口收到数据后自动发此信号给外设作为应答。表示数据已进入输入口,但设作为应答。表示数据已进入输入口,但CPU未取走,此时外设不能再送新数据过来。未取走,此时外设不能再送新数据过来。 INTR:中断申请信号(高电平或上升沿有效):中断申请信号(高电平或上升沿有

50、效)8255A 发出,向发出,向CPU发出中断申请,请求将输发出中断申请,请求将输入口的数据取走(入口的数据取走(IN AL,DX)。)。INTE:中断允许控制信号:中断允许控制信号控制是否允许控制是否允许8255A的的INTR的发出。的发出。此信号无引出,通过此信号无引出,通过控制口控制口对对C口相应位的口相应位的 置位置位/复位,设置复位,设置允许或不允许允许或不允许。n A口,口,对对PC4(C口口D4)置位置位, 使使INTEA=1, 允许中断允许中断 复位复位, 使使INTEA=0, 禁止中断禁止中断n B口,口,对对PC2(C口口D2)置位置位, 使使INTEB=1, 允许中断允许

51、中断 复位复位, 使使INTEB=0, 禁止中断禁止中断v注意:在方式注意:在方式1下,作为联络信号的外部引脚下,作为联络信号的外部引脚 PC4、PC2,不受,不受C口按位置位口按位置位/复位控制字的控制。复位控制字的控制。PB7PB0PA7PA0STBIBFINTRRD外设送来数据外设送来数据 当当INTE=1时时 AB口方式口方式1的输入时序的输入时序STBSTB的的使得使得IBFIBF变为变为“1”1”有效;有效;INTE=1INTE=1和和IBF=1IBF=1,STBSTB使得使得INTRINTR变为变为“1”1”有效;有效;RDRD使得使得INTRINTR复位无效,复位无效,RDRD

52、使得使得IBF=“0”IBF=“0”无效无效10101/0A A口方式口方式1 1输出控制字输出控制字11 0B B口方式口方式1 1输出控制字输出控制字A口方式口方式1输出时相输出时相应的联络信号应的联络信号B口方式口方式1输出时相输出时相应的联络信号应的联络信号方式方式1下输出端口的联络信号下输出端口的联络信号PA7PA7PA0PA0PC7PC7PC6PC6PC3PC3INTEAINTEAC口:口:D6与门与门ACKAACKAOBFAOBFAINTRAINTRAWRWRD7D7D0D0PB7PB7PB0PB0PC1PC1PC2PC2PC0PC0INTEBINTEBC口:口:D2与门与门AC

53、KBACKBOBFBOBFBINTRBINTRBWRWRD7D7D0D0表示表示PC4、PC5为输为输入入/输出输出由外设发出,送给由外设发出,送给8255A。作用是通知作用是通知 8255A,输出端口的数据已被外设取走,可,输出端口的数据已被外设取走,可以传送下一个数据。以传送下一个数据。 INTR:中断申请信号(高电平或上升沿有效):中断申请信号(高电平或上升沿有效)8255A 发出发出, 用来向用来向CPU发出中断申请。发出中断申请。方式方式1下输出端口的联络信号下输出端口的联络信号 OBF:输出缓冲器满信号(低电平有效):输出缓冲器满信号(低电平有效) ACK:外设响应信号(低电平有效

54、):外设响应信号(低电平有效)当当OBF 、ACK、INTE均为时,均为时,8255A自动发出自动发出INTRCPU执行执行“OUT DX,AL”,AL中数据送至中数据送至8255A输输出缓冲器后,出缓冲器后,8255A自动发出此信号。表明自动发出此信号。表明8255A输出输出端口中有数据,可用来通知外设把数据取走。端口中有数据,可用来通知外设把数据取走。 INTE INTE:中断允许控制信号:中断允许控制信号作用是控制是否允许中断申请信号作用是控制是否允许中断申请信号INTRINTR发出发出此信号无引出此信号无引出,通过控制口对,通过控制口对C C口相应位的置口相应位的置位位/ /复位设置允

55、许或不允许。复位设置允许或不允许。nA A口,对口,对PC6(CPC6(C口口D6)D6)置位置位, , 使使INTEA=1, INTEA=1, 允许中断允许中断 复位复位, , 使使INTEA=0, INTEA=0, 禁止中断禁止中断nB B口,对口,对PC2(CPC2(C口口D2)D2)置位置位, , 使使INTEB=1, INTEB=1, 允许中断允许中断 复位复位, , 使使INTEB=0, INTEB=0, 禁止中断禁止中断注意:在方式注意:在方式1 1下,作为联络信号的外部引脚下,作为联络信号的外部引脚PC6PC6、PC2PC2,不受,不受C C口按位置位口按位置位/ /复位控制字

56、控制复位控制字控制D7D0CPUCPU输出的输出的DATADATADATADATA写入端口写入端口A/BA/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”n82558255的状态字为采用程序查询的数据交换的状态字为采用程序查询的数据交换方式提供了状态标志方式提供了状态标志 输入:输入:IBFIBF 输出:

57、输出:OBFOBFnCPUCPU通过读通过读C C端口获得状态字端口获得状态字方式方式1 1,A A组和组和B B组的工作状态字组的工作状态字注意:注意: C C端口的状态位与端口的状态位与C C端口的外部引脚端口的外部引脚PC7PC0PC7PC0状态状态不完全一致不完全一致方式方式1 1,A A组和组和B B组的工作状态字组的工作状态字D7D6D5D4D3D2D1D0I/O I/O IBFAINTEAINTRAPC7PC6PC5PC4PC3A口作口作输入口输入口OBFAINTEAI/OI/OINTRAPC7PC6PC5PC4PC3A A口作口作输出口输出口INTEBIBFBINTRBPC2P

58、C1PC0B口作口作输入口输入口B口作口作输出口输出口INTEINTEBOBFBINTRBPC2PC1PC0A组状态组状态B组状态组状态STBAACKBC口的状态字口的状态字ACKASTBB方式方式1 1用于查询方式时:用于查询方式时: 输入输入/输出时,输出时,CPU查询查询C口的口的IBF/OBF标志标志方式方式1 A1 A口口B B口输入时的状态字口输入时的状态字方式方式1 A1 A口口B B口输出时的状态字口输出时的状态字C端口端口C端口端口STBASTBBACKBACKA方式方式1用于于中断方式时:用于于中断方式时: 输入时,输入设备通过输入时,输入设备通过STB向向8255A发中断

59、请求;发中断请求; 输出时,输出设备通过输出时,输出设备通过ACK向向8255A发中断请求。发中断请求。方式方式 2 双向输入双向输入/输出输出n功能功能 仅仅A端口具有双向数据传送功能端口具有双向数据传送功能 C端口特定位的组合应用端口特定位的组合应用 n电特性电特性 A端口具有双向锁存和缓冲特性端口具有双向锁存和缓冲特性 n应用应用 A端口双向传送数据端口双向传送数据 查询方式:查询方式:C端口特定位传送状态端口特定位传送状态 中断方式:中断方式:C端口特定位发中断请求端口特定位发中断请求 n工作在工作在方式方式2时,时,C口有口有5根引脚作为根引脚作为A口的联络信口的联络信号,号,是方式

60、是方式1下下A口输入、输出联络信号的组合口输入、输出联络信号的组合PA7PA7PA0PA0PC6PC6PC7PC7ACKAACKAOBFAOBFAD7D7D0D0RDRDWRWRPC4PC4PC5PC5STBASTBAIBFAIBFAINTEA1INTEA1PC4PC4INTEA2INTEA2PC6PC6与与门门PC3PC3INTRAINTRA或门或门与与门门方式方式2时的状态字时的状态字例:例:8255A8255A控制控制LEDLED发光二极管发光二极管nA端口接端口接8个开关个开关nB端口接端口接8个个LED发光二极管发光二极管n要求:开关断开要求:开关断开LED亮,反之灭亮,反之灭图图8

温馨提示

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

评论

0/150

提交评论