微机原理与接口技术第9章-常用可编程接口芯片课件_第1页
微机原理与接口技术第9章-常用可编程接口芯片课件_第2页
微机原理与接口技术第9章-常用可编程接口芯片课件_第3页
微机原理与接口技术第9章-常用可编程接口芯片课件_第4页
微机原理与接口技术第9章-常用可编程接口芯片课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、第9章 常用可编程接口芯片本章要点了解常用可编程接口芯片内部结构、特点和引脚功能掌握并行接口芯片8255A的工作方式、初始化流程和实际应用掌握8251A与CPU的连接以及与外设连接、8251A的初始化流程和实际应用掌握计数器/定时器8253的6种工作模式、初始化流程和实际应用。了解DMA控制器8237A的编程结构、工作原理、工作模式和编程应用 9.1可编程并行接口芯片8255A9.1.1 8255A的内部结构及引脚18255A的内部结构 8255A的内部结构如图9-1所示。它主要由三个数据端口、 A组控制和B组控制、读写控制逻辑电路和数据总线缓冲器四个部分组成 图9-1 8255A的内部结构

2、三个数据端口A、B和C8255A有三个8位的数据端口,即端口A、端口B和端口C。可以用软件使它们分别作为输入端口或输出端口,其中当端口A工作于方式2时,既可以作为输入口同时又可作为输出口。 控制字寄存器控制字寄存器电路由A组控制和B组控制两部分组成。这两组控制电路主要用来接收来自CPU的控制字和对C口按位置位/复位控制字,接收来自读写控制逻辑电路的读写命令,决定端口A和端口B的工作方式以及读写操作。 读写控制逻辑电路读写控制逻辑电路负责管理8255A的数据传输过程。它接收来自CPU的片选信号及来自系统地址总线的信号A1、A0和控制总线的信号RESET、等信号,并将它们组合形成A组和B组的控制命

3、令,以完成对数据、状态和控制信息的传输。由端口地址A1A0和相应控制信号组合起来可定义8255A的各端口的操作方式。、A1、A0、和等控制信号组合后所实现的操作如表9-1所示。 表9-1 A1,A0,和编码功能表 数据总线缓冲器这是一个8位的双向三态的数据总线缓冲器,8255A正是通过它与系统数据总线相连,用来输入和输出数据以及传送CPU的控制字和8255A的状态。28255A外部引脚功能 Intel8255A是双列直插式40引脚可编程并行接口芯片,芯片引脚除了电源(26脚)和地线(7脚)外,可以分为与外设相连的信号和与CPU相连的信号两组,如图9-2所示。图9-2 8255A的芯片引脚 与C

4、PU相连的信号 RESET:复位信号。在RESET的下降沿,清除8255A控制字寄存器的内容,并将三个端口置成输入方式。 D7D0:8位数据总线。和CPU系统数据总线相连。 :片选信号线。由译码电路的输出端提供,低电平有效。只有当=0时,8255A芯片被选中,读/写等控制信号对8255A才有效。 :读信号。与CPU的控制线相连,当=0即有效时,CPU才能读取通过8255A输入的数据。 :写信号。与CPU的控制线相连,=0即有效时,CPU可以向8255A写入控制字或通过8255A输出数据。 A1,A0:端口选择线。由于8255A内部由三个数据端口和一个控制端口,它们都有独立的地址,所以需要两根地

5、址线对其分别编址,A1和A2的组合00、01、10和11分别选择A口、B口、C口及控制端口。 与外设连接的信号 这部分引脚用于和外部设备相连接,包括24根数据线,其中A口、B口和C口各8根。 PA7PA0:8位A端口数据信号线。用来传送通过A端口输入/输出的数据。 PB7PB0:8位B端口数据信号线。用来传送通过B端口输入/输出的数据。 PC7PC0:8位C端口数据信号线。用来传送通过C端口输入/输出的数据,或控制和状态信号。 38255A的控制字 8255A可以通过指令在控制端口中设置控制字来决定它的工作,其控制字分为各端口的方式选择控制字和C端口按位置1/0控制字两种。各端口的方式选择控制

6、字指出8255A的3个数据端口工作在哪一种工作方式,是输入还是输出,由D7=1标识。C端口按位置1/0控制字可以使C口的某一置1或置0,由D7=0标识。这两个控制字必须由CPU写入8255A的控制寄存器。 方式控制字 方式选择控制字各位所表示的意义如图9-3所示。其中端口A有三种工作方式,即方式0、方式1和方式2,端口B有两种工作方式,即方式0和方式1,C口只有输入和输出。D7=1表示方式选择控制字。图9-3 8255A的方式控制字 端口C按位置1/0控制字 端口C的数位常常作为控制位或状态位使用,因此在8255A中允许端口C中的各数位通过置位/复位控制字来单独设置。8255A的置位/复位控制

7、字各位的功能如图9-4所示。D7=0表示C口的置位/复位控制字。图9-4 C端口按位置复位控制字 9.1.2 8255A的工作方式 从8255A初始化过程中的方式控制字可知:8255A的端口A可以工作在方式0、方式1、方式2三种方式,端口B可以工作在方式0、方式1两种方式 1.方式0 方式0是一种基本的输入输出方式。在该方式下,可以通过方式控制字把端口A和端口B设为输入口或输出口。端口C可以分为两个4位的端口使用,它也可以通过方式选择字被设为输入口或输出口,但必须4位为一个整体,即C口上半部和下半部必须作为整体同时输入或输出。 方式0输出数据时,地址信号必须提前有效且滞后消失,写脉冲宽度至少有

8、400ns, 数据必须提前有效并保持一段时间 ,输出时各信号之间的关系如图9-5所示。图9-5 8255A方式0写时序图 2. 方式1 方式1是一种选通的输入输出方式。和方式0相比较,两者最重要的差别在于当A端口和B端口用方式1进行输入输出传输时,要利用端口C提供选通和应答信号,而这些信号与端口C中的数位之间有着固定的对应关系,这种关系不随程序而变化(除非修改工作方式)。其基本特点是端口A和端口B可分别作为两个数据口工作于方式1,且任何一个端口可以作为输入口或输出口独立使用。如果8255A的端口A或端口B中只有一个端口工作于方式1,那么端口C中就有3位被规定为配合方式1工作的信号,端口C剩下的

9、数位仍可以作为输入或输出使用。(1)方式1输入图9-6是端口A和B工作于方式1输入时各信号的示意图。从图9-6可以看出,A和B端口工作于方式1输入时,C端口的PC0PC5作为端口A和B的选通和应答信号,PC6和PC7未定义,可以通过方式控制字的D3位规定其作为数据的输入或输出位。图9-6 8255A方式1输入端口信号图各控制信号功能如下: :选通信号。由外设送往8255A,当该信号有效时,8255A从外设接收一个8位数据,暂存在选定的数据口中,等待CPU通过输入指令读取。PC4作为A口的选通信号,PC2作为B口的选通信号。 IBF:输入缓冲器满信号。该信号有效时,表示当前输入缓冲器有新数据,供

10、CPU查询。该信号由置位,由的后沿复位。PC5与A口对应,PC1与B口对应。 INTR:送往CPU的中断请求信号。当IBF和都有效时被置为高电平,即有效,向CPU发出中断请求,CPU通过中断服务读取数据。A口使用PC3作为中断请求信号,B口使用PC0。 INTE:中断允许信号。只有在该信号有效时,8255A才能向CPU发出中断申请,端口A通过PC4的置位使TNTEA信号有效,端口B通过PC2的置位使INTEB信号有效。(2)方式1输出 图9-7是端口A和B工作于方式1输出时各信号的示意图。从图9-7可以看出,A和B端口工作于方式1输出时,PC4和PC5未定义,可以通过方式控制字的D3位规定其作

11、为数据的输入或输出位。C端口的其余各位作为端口A和B的选通和应答信号 图9-7 8255A方式1输出端口信号图各控制信号功能如下: :外设响应信号。由外设送给8255A,表明外设已取走数据。A口使用PC6,B口使用PC1。 :输出缓冲器满信号。由8255A送往外设,供外设查询数据是否准备好,是8255A通知外设取数据的信号。由的上升沿置为有效的低电平,由置为无效的高电平。A口使用PC7,B口使用PC2。 INTR:送往CPU的中断请求信号。当IBF和都有效时被置为高电平,即有效,向CPU发出中断申请,CPU通过中断服务读取数据。A口使用PC3作为中断请求信号,B口使用PC0。 INTE:中断允

12、许信号。只有在该信号有效时,8255A才能向CPU发出中断申请,端口A通过PC6的置位使INTEA信号有效,端口B通过PC2的置位使INTEBB信号有效。3、方式2 方式2为双向选通传输方式或双向应答传输方式,该方式只适用于端口A。方式2其基本特点是方式2仅适用于端口A,端口C用5个数据位分别作为它的控制和状态信号,其它的信号可以根据需要进行安排。图9-8 8255A方式2端口信号图各控制信号功能如下: :外设响应信号。由外设送给8255A,表明外设已取走数据。 :输出缓冲器满信号,低电平有效。由8255A送往外设,供外设查询,是8255A通知外设取数据的信号。由的上升沿置为有效的低电平,由置

13、为无效的高电平。 INTRA:送往CPU的中断请求信号。当IBFA和都有效时被置为高电平,即有效,向CPU发出中断申请,CPU通过中断服务读取数据。 INTE1:中断允许信号。只有在该信号有效时,8255A才能向CPU发出中断申请,通过PC6的置位使INTEA信号有效。 :选通信号。由外设送往8255A,当该信号有效时,8255A从外设接收一个8位数据。IBFA:输入缓冲器满信号。该信号有效时,表示当前输入缓冲器有新数据,供CPU查询。该信号由置位,由的后沿复位。 INTE2:中断允许信号。只有在该信号有效时,8255A才能向CPU发出中断申请,通过PC4的置位使INTEA信号有效。92 可编

14、程串行接口芯片8251A9.2.1 8251A的内部结构及引脚18251A的内部结构 8251A的内部结构如图9-10所示。由图9-10可知8251A是由接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、数据总线缓冲器、读写控制逻辑和调制解调控制电路等七个模块组成。图9-10 8251A内部结构2. 8251A的引脚 Intel8251A是双列直插式28个引脚可编程串行接口芯片,芯片引脚除了电源(26脚)和地线(4脚)外,可以分为与外设相连的信号和与CPU相连的信号两组,如图9-11所示。图9-11 8251A的引脚图(1)同CPU连接的信号与CPU之间的信号负责完成8251A与CPU之间的

15、信息交换。主要由以下信号:片选信号数据信号读/写控制信号 读信号低电平有效,写信号低电平有效,控制/数据信号是CPU送往8251A 的,用来控制CPU读写的内容,当=0时表示CPU对芯片写控制字或读状态字,当=1时表示CPU对芯片写或读数据。三者之间的编码功能见表9-2所示。收发联络信号复位信号时钟信号(2)同外设连接的信号 收发联络信号(Data Terminal Ready):数据终端准备好信号,是由8251A送往外设的,CPU通过命令可以使变为低电平即有效电平;从而通知外设,CPU已经准备好。(Data Set Ready):数据设备准备好信号,是外设送往CPU的,低电平有效。有效时表示

16、外设已准备好。(Request To Send):请求发送信号,是8251A送往外设的,低电平有效。有效时表示CPU已准备好。(Clear To Send):清除请求发送信号,是对信号的响应信号,由外设送往8251A。当有效时,8251A才能执行发送操作。 数据收发信号TxD:发送器输出数据信号。CPU送往8251A的并行数据被转换为串行数据后,在时钟信号的下降沿按位从TxD发送出去。RxD:接收器接收数据信号。RxD引脚用来接收外设送来的串行数据,数据进入8251A后被转换为并行数据,送入接收数据缓冲器。 收发时钟信号:控制发送器发送数据的时钟信号,低电平有效。在每个时钟信号的下降沿从TxD

17、端发送一位二进制数。:控制接收器接收数据的时钟信号,低电平有效。在每个时钟信号的上升沿从RxD端接收一位二进制数。在实际应用中,常常把和连接在一起接到同一个时钟源。8251A收发数据的速率与这两个时钟有着密切关系。38251A的基本功能可编程串行接口芯片Intel 8251A主要有以下基本功能: 全双工、双缓冲发送和接收器的异步通信接口电路。 通信波特率为509600bps。 每个串行字符可传送58位数据位。 可自动产生1个、1.5或2个停止位,可自动产生奇偶校验位。停止位的多少、是否选择奇偶校验以及是奇校验还是偶校验,可编程选择。 具有奇偶、溢出和帧错误等检测能力。 8251A内部具有优先级

18、中断控制部件,具有很强的中断控制能力。9.2.2 8251A的编程及应用实例18位接口芯片与16位数据总线的连接28251A的初始化,其初始化流程如图9-12所示。图9-12 8251A初始化流程图(1)模式寄存器的格式 对8251A初始化时,模式控制字(方式字)是按照模式寄存器的格式来设置的,其格式如图9-13所示。(2) 控制寄存器的格式 对8251A初始化时,控制字是按照控制寄存器的格式写入的,其格式如图9-14所示。(3) 状态寄存器的格式 对8251A初始化时,状态字是按照状态寄存器的格式写入的,其格式如图9-15所示。所有状态位置在“1”有效。9.3 可编程定时器/计数器接口芯片9

19、.3.1 微型计算机系统中的定时与计数在微型计算机应用系统中,常常需要一些实时时钟和计数器参与工作,以实现实时或延时以及对外部事件进行定时或对外部输入的脉冲进行计数。一般有3种方法可实现定时/计数的要求1软件方法2设计数字逻辑电路法3可编程定时/计数电路法9.3.2 8253的内部结构及引脚 1.8253的内部结构 8253采用+5V单一电源,NMOS工艺制成,双列直插式24引脚的可编程接口 芯片。该芯片内有3个彼此独立的定时/计数通道。其内部结构如图9-16所示。 图9-16 8253的内部结构可编程定时器/计数器8253由数据总线缓冲器、读/写控制逻辑、控制字寄存器和计数器等部分组成。2.

20、 8253的引脚 8253的引脚如图9-17所示 图9-17 8253引脚图8253的各引脚定义如下:D0D7:数据总线。8253通过D0D7与系统数据总线相连,传送命令字、状态字和计数初始值。:读控制信号。CPU利用此信号读取8253当前的计数值。:写控制信号。CPU利用此信号向前进253写入控制字和计数初值。A0和A1:地址线。用于选择8253内部4个端口之一。:片选信号。CLK:计数脉冲输入引脚。GATE:门控信号输入引脚。GATE为高电平时,允许计数器计数;GATE为低电平时,禁止计数器计数。OUT:输出信号引脚。当计数器的计数值减到0时,OUT线输出相应的信号,输出信号波形取决于82

21、53的工作方式。每个计数器都有各自的CLK、GATE和OUT .CS, RD, WR A1和A0的控制功能见表9-3所示。9.3.3 8253的编程 8253的初始化包括写入每个计数器的控制字和计数初值。控制字的格式如下图所示。 D0位用来设置计数初值的数制。D0=0表示二进制计数,D0=1表示十进制计数。D3、D2和D1三位用来选择8253的工作方式。由于8253中的每个计数器都有6种工作模式,所以在控制字中要用3位进行选择。见表9-4所示。D5和D4位规定读/写格式,见表9-5所示。D7和D6位规定所选择的是哪一个计数器,见表9-6所示。控制字写入控制寄存器。(表见下页)9.3.4 825

22、3的工作方式 可编程定时器/计数器8253有3个独立的计数器,可以在各自控制字的控制下,按照不同的工作方式进行定时或计数,每个计数器都有6种工作方式。1方式0完成计数时产生中断其工作波形如图9-18所示。图中写入的初始值为4。图9-18 方式0工作波形方式0的主要特点是:(1)计数器只计数一遍,当计数到0时,计数器不再装入初始值重新计数,输出保持高电平,直到CPU又写入一个新计数值为止,OUT变为低电平,开始新的计数。 (2)计数过程中可由GATE信号控制计数暂停,即GATE = 0时暂停计数,GATE=1 时又接着计数,但GATE不影响OUT的状态。 (3)计数过程中可重新装入计数初值,若是

23、按8位计数,在写入新的计数初值后,计数器按新的计数初值重新开始计数,如果是16位计数,在写入第一个字节后,计数器停止计数,写入第2个字节后,计数器按新的计数值开始计数。(4)8253内部是在CPU写计数值时利用的上升沿把计数值写到计数初值寄存器,上升沿的下一个CLK脉冲,才将计数值从时常寄存器装入减1计数器开始计数。所以若设置初值为N.则输出OUT是在N+1个CLK脉冲之后才变为高电平的,方式1、方式2、方式4和方式5同样具有这个特点。2方式1可编程单稳态触发器方式1有如下特点: (1)输出单脉冲的宽度是计数初值N乘以输入脉冲周期。 (2)当计数到0后,可再次由外部触发启动,输出1个同样宽度的

24、单脉冲,而不需要重新输入计数初值。(3)计数过程中,CPU可改写计数值,但计数过程不受影响,计数将按原来的计数值减到0。若再次启动,则开始按新的计数值计数。如图9-19所示的是方式1的工作波形。图9-19 方式1工作波形3方式2分频脉冲产生器方式2有如下特点: (1)不要重新设置计数值,。通道能连续工作,输出固定频率的脉冲。(2)计数过程可由GATE信号控制,当GATE低电平时,暂停计数; GATE变为高电平后,在下一个CLK脉冲到来时又重新开始计数 (3)在计数过程中,CPU可随时改变计数值,当计数器减到0后,按新的计数值分频。方式2工作波形如图9-20所示 图9-20 方式2工作波形4方式

25、3分频方波产生器方式3有如下特点: (1)当计数为偶数时,输出端的高低电平持续时间相等,若计数值为奇数,OUT输出(N+1)/2个高电平,(N-1)/2个低电平。(2)GATE信号可以控制计数,当GATE=0时,停止计数,GATE=1时,允许计数。(3)在计数期间装入新计数值不影响原来的计数过程。 图9-21 方式3工作波形方式3工作波形如图9-21所示5方式4软件触发选通信号发生器方式4有如下特点: (l)GATE一直为高电平才能保证软件触发计数。(2)若在计数过程中改变计数值,则按新计数值重新开始计数。方式4工作波形如图9-22所示。 图9-22 方式3工作波形6方式硬件触发选通信号发生器 写入控制字后,OUT变为高电平,写入计数值后,计数器不开始计数,而由GATE上升沿触发开始计数,计数到0后,输出变

温馨提示

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

评论

0/150

提交评论