《常用接口芯》PPT课件.ppt
《《常用接口芯》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《常用接口芯》PPT课件.ppt(90页珍藏版)》请在三一办公上搜索。
1、微机通过输入输出接口与外部设备相连接,这些接口一般可分为并行接口和串行接口两种,在实际应用中,并行通信常采用Intel公司的8255A作为接口芯片,而串行外设与微机系统相连,常采用串行接口芯片8251A。,第8章 常用接口芯片,在微机系统中,除了I/O 接口外,往往还需要一些专业功能的接口芯片,以增强系统的综合处理能力。例如,用于定时和对脉冲信号进行计数的可编程定时器/计数器芯片8253;在不需要处理器干预的情况下,用于存储器和接口之间直接进行数据传输管理的DMA控制器芯片8237A。,第8章 常用接口芯片,微型计算机经常要对外部事件进行定时控制或对外部事件发生的次数进行记数,即定时或计数控制
2、。一般采用两种方法,软件法和可编程定时/计数器法。后者构成一个方便灵活的定时/计数电路。这种电路不仅定时值和定时范围可由程序设置,而且具有多种工作方式,可以输出多种控制信号,具备较强的功能。,8.1 可编程定时计数器8253/8254,在设定了定时值及计数范围后,定时/计数器就可以脱离CPU独立进行定时或计数,完全不占用CPU的资源。8254是8253的升级产品,它的引脚和8253完全相同,凡是使用8253的系统,均可由8254来取代。8254的工作频率比8253高,它还可通过读回命令来读取状态寄存器的当前内容以及计数器的值。,8.1 可编程定时计数器8253/8254,8253具有3个功能相
3、同的16位减法计数器T0、T1和T2,可进行二进制或十进制的计数/定时操作。通过编程可以选择多种工作方式和计数初值,可以方便地与PC总线连接。8253的内部结构如图所示,主要由数据总线缓冲器、读/写逻辑、控制寄存器及三个功能相同的计数器组成。,8.1.1 8253的内部结构及其外部引脚,8253内部结构图,8.1.1 8253的内部结构及其外部引脚,(1)数据总线缓冲器 该缓冲器为三态、双向的8位缓冲器,用于将8253与系统数据总线相连接。CPU执行I/O 指令时通过缓冲器发送或接收数据,写入8253控制字、装入计数初值或读出当前计数值。(2)读/写逻辑 读/写逻辑电路的功能是接收来自CPU的
4、控制信号,包括读、写信号和地址信号,然后产生控制整个芯片工作的控制信号。,8.1.1 8253的内部结构及其外部引脚,(3)控制寄存器 每个计数器都有1个控制寄存器,只能写入,不能读出,用于接收CPU送来的方式控制字。控制字决定了计数器的工作方式、计数形式和计数初值写入方式等。(4)计数器0计数器2 三个计数器内部结构完全相同,每个计数器中都有一个16位减法计数器,可对二进制数或十进制数的BCD码进行计数。每个计数器都有时钟输入CLK、门控输入GATE和输出OUT引脚。,8.1.1 8253的内部结构及其外部引脚,8253引脚图,8.1.1 8253的内部结构及其外部引脚,8253端口选择表,
5、8.1.1 8253的内部结构及其外部引脚,8253的工作方式可以通过编程序设定,将给定的工作方式控制字写入控制寄存器,就可以选定8253的计数通道,并规定计数通道的工作方式,读写格式和计数数制。8253的控制字如图所示。,8.1.2 8253的控制字,8253的控制字格式,8.1.2 8253的控制字,SC1SC0:计数通道选择位。8253的3个计数器是完全独立的,所以需要有3个控制寄存器存放各自的控制字,但是这3个控制字寄存器的地址是惟一的,即A0A1=11所对应的地址。所以将控制字的最高2位SC1和SC0用于选择使用哪个计数器,指明该控制字将指挥哪个计数器工作。,8.1.2 8253的控
6、制字,RL1RL0:读/写操作位。它规定了数据读写格式。RL1RL0 00时,是计数值锁存操作。在计数过程中读计数值时,需要先送出锁存命令,再读取计数值。M2M1M0:工作方式位。它用来指定所选择计数器的工作方式,8253共有6种工作方式,即方式0方式5,每种工作方式都对应各自的工作流程、计数器的输出和门控信号。BCD:计数类型位。用以确定计数是采用二进制计数还是十进制计数。,8.1.2 8253的控制字,根据计数器启动计数的方式的不同和计数结束后输出波形的不同,8253有6种工作方式可供选择。1.方式0(计数结束产生中断)8253工作于方式0时,CLK端作为计数输入信号,OUT端为输出信号,
7、当减1计数器减到零时,OUT输出高电平。,8.1.3 8253工作方式与操作时序,8253工作方式0时序,8.1.3 8253工作方式与操作时序,当GATE为1时,写入控制字后OUT信号立即变为低电平。将计数初值N写入计数初值寄存器后,从下一个CLK脉冲的下降沿开始进行减1计数,计数期间OUT端一直维持低电平,直到计数器减到零,OUT端变为高电平,并保持到重新写入计数初值或复位。OUT端输出的高电平可以作为中断请求信号使用。,8.1.3 8253工作方式与操作时序,2方式1(可编程单稳脉冲方式)方式1可以输出一个宽度可编程控制的负脉冲,并由GATE门控信号的上升沿启动计数器。写入控制字后,OU
8、T端即输出高电平。将计数初值N写入计数初值寄存器后,计数器并不开始计数,而是要等到门控信号GATE的上升沿到来后的下个CLK脉冲的下降沿到来时才开始计数。此时输出OUT变为低电平,直至计数器计数减到0,计数过程结束,输出端OUT变为高电平。在这个过程中,OUT端的输出为单稳态负脉冲,其宽度为N个CLK脉冲周期。,8.1.3 8253工作方式与操作时序,8253工作方式1时序,8.1.3 8253工作方式与操作时序,3方式2(频率发生器)方式2能在OUT端输出连续的周期性负脉冲信号,又称为频率发生器方式。其OUT端输出负脉冲的宽度等于1个CLK计数时钟周期,输出脉冲的周期等于N(计数初值)个CL
9、K计数时钟周期。在计数过程中,CPU重新写入初值时,现行的计数过程不受影响,直到下一次计数时,计数器才按新的计数值进行计数操作。,8.1.3 8253工作方式与操作时序,8253工作方式2时序,8.1.3 8253工作方式与操作时序,4方式3(方波发生器)方式3的操作也是一种连续计数的工作方式,只是OUT端输出的是方波,当计数值N为偶数,则输出对称的方波、前N/2个计数期间OUT输出高电平,后N/2个计数期间输出低电平;当N为奇数,则前(N+1)/2计数期间输出高电平;后(N1)/2计数期间输出低电平。计数器当前值减到0时计数器从新装入计数初值,开始新一轮计数。,8.1.3 8253工作方式与
10、操作时序,8253工作方式3时序,8.1.3 8253工作方式与操作时序,5方式4(软件触发方式)方式4与方式0非常类似,写入计数初值后,在下一个时钟脉冲的下降沿开始计数。然后计数开始,当计数减到0时,由OUT输出一个时钟周期宽度的负脉冲,计数器停止工作。当门控GATE信号为高电平时,写入8253控制字后,OUT输出立即变高电平,写入计数初值后即开始计数(软件触发),当计数器减到0时输出1个时钟周期的负脉冲。计数器停止计数。,8.1.3 8253工作方式与操作时序,8253工作方式4时序,8.1.3 8253工作方式与操作时序,6方式5(硬件选通方式)方式4与方式0非常类似,写入计数初值后,在
11、下一个时钟脉冲的下降沿开始计数。然后计数开始,当计数减到0时,由OUT输出一个时钟周期宽度的负脉冲,计数器停止工作。当门控GATE信号为高电平时,写入8253控制字后,OUT输出立即变高电平,写入计数初值后即开始计数(软件触发),当计数器减到0时输出1个时钟周期的负脉冲。计数器停止计数。,8.1.3 8253工作方式与操作时序,8253工作方式5时序,8.1.3 8253工作方式与操作时序,1初始化的编程 对8253初始化编程包括写入控制字和写入计数初值两个步骤:(1)先将方式控制字写入计数器的控制寄存器,以确定该计数通道的工作方式。(2)写入定时或计数的初值。如果计数值为16位,则要用两条输
12、出指令完成初值的设置,即先写低字节,再写高字节,并注意写入正确的计数通道地址。,8.1.4 初始化编程与读输出锁存器,在不需要门控信号GATE 触发的方式中,写入计数初值计数就开始了。例如,对计数器0 初始化,使其工作于方式1,按二进制计数,计数值为5080H。计数值低8位为80H,高8位为50H,假设端口地址为2A0H2A3H,则初始化程序为:,8.1.4 初始化编程与读输出锁存器,MOV DX,2A3H;控制端口地址为2A3HMOV AL,32H;控制字为00110010B OUT DX,AL;送控制字到控制字寄存器MOV DX,2A0H;计数器0端口地址为2A0HMOV AL,80HOU
13、T DX,AL;先写低8位计数值到计数器0MOV AL,50HOUT DX,AL;再写高8位计数值到计数器0,8.1.4 初始化编程与读输出锁存器,2读输出锁存器 CPU可用指令读取8253任通道的计数值,读到的是执行指令瞬间的值。因为8253是16位的,要分两次读至CPU,因此若不锁存的话,在前两次执行输入指令的过程中,计数值可能已经变化了。锁存当前计数值有两种方法:(1)利用GATE信号使计数过程暂停。(2)利用控制字将待读计数值锁存至锁存器。,8.1.4 初始化编程与读输出锁存器,这种方法通过写入控制字=00,使其不受执行计数单元的变化而变化,保证CPU读出一个稳定的数值。读输出锁存器的
14、值,也有读8位和读16位的问题,若是读16位的数据,分两次读出,先读低字节,再读高字节,即执行两次输入指令。CPU 读取此锁存值后,锁存器自动解除。,8.1.4 初始化编程与读输出锁存器,例如:要读取上面例子中计数器0的16位计数值,采用锁存器锁存方式的程序为:MOV AL,00H;锁存计数通道0的控制字00H MOV DX,2A3H;控制字送控制端口 OUT DX,AL MOV DX,2A0H IN AL,DX;读取计数器0的低8位数据XCHG AL,AH;暂存AH IN AL,DX;读取计数器0的高8位数据XCHG AL,AH;AX中为计数器0的16位计数值,8.1.4 初始化编程与读输出
15、锁存器,18253在PC机上的应用 IBM PCXT机使用一片Intel 8253,3条计数通道分别用于日时钟计时、DRAM刷新定时和扬声器发声。IBM PCAT使用与8253兼容的Intel 8254,在AT机的连接使用也与XT机一样。三条计数器通道的时钟输入CLK均连接到频率为1.193l8MHz的时钟信号,周期为0.838s。,8.1.5 8253应用举例,(1)计数器0的应用 门控信号GATE0接+5V为常启状态。OUT0输出接8259A的IRQ0,用做XT的日时钟的中断请求信号。设定计数器0为方式3,计数值写入0,产生最大的计数初值为65536,因此输出信号频率为18.206Hz,即
16、每秒产生182次中断请求,或者说每隔55ms申请一次日时钟中断。,8.1.5 8253应用举例,初始化程序如下:MOV AL,36H;设定计数器0为工作方式3,采用二进制计数,以先低后 高字节顺序写人计数值OUT 43H,AL;写入方式控制字MOV AL,0;计数初值为0OUT 40H,AL;写入低字节计数值OUT 40H,AL;写入高字节计数值,8.1.5 8253应用举例,(2)计数器1的应用 门控GATE1接+5V为常启状态。输出OUT1从低变高使触发器置1,Q端输出一高电平信号,作为内存刷新的请求信号,一次刷新结束,响应信号将触发器复位。DRAM每个单元要求在2ms内必须刷新次。实际芯
17、片每次刷新操作完成512个单元,所以经过128次刷新就能将全部芯片的64KB刷新一遍。由此可算出每隔2ms12815.6us进行次刷新操作。,8.1.5 8253应用举例,(3)计数器2的应用 微机系统中,计数通道2的输出加到扬声器上并控制其发声,作为机器的报警或伴音信号。门控GATE2接并行口位,用它控制通道2的计数过程。在XT机中是并行接口电路8255的端口位,受IO端口地址61H的位控制。输出OUT2经过一个与门,这个与门受位控制。受IO端口地址61H的位控制,XT机中是8255的位。所以扬声器可由或分别控制发声。,8.1.5 8253应用举例,8255A是Intel80 x86系列微处
18、理机的配套并行接口芯片,它可以为CPU与外设之间提供并行输入/输出的通道。8255A有三个8位的并行I/O口,可通过编程设置多种工作方式,通常不需要附加外部电路,在中小系统中有着广泛应用。具备较强的功能。,8.2 可编程并行I/O芯片825SA,8255A是一个有40条引脚的双列直插式芯片,主要有3个数据输入/输出端口,即A口、B口和C口,还包括A组控制器和B组控制器、数据缓冲器和读写控制逻辑。,8.2.1 8255A芯片内部结构及其功能,8.2.1 8255A芯片内部结构及其功能,1.输入/输出端口A、B、C 8255A内部包含3个8位的输入/输出端口,通过外部的24根引脚与外设交换数据,2
19、4根引脚分别是PA7PA0,PB7PB0和PC7PC0。端口C可分成两个4位端口,分别与端口A和端口B配合工作,通常是将端口A和端口B定义为输入输出的数据端口,而端口C可作为状态或控制信息的传送端口。,8.2.1 8255A芯片内部结构及其功能,2.A组和B组控制器 端口A与端口C的高4位(PC7PC4)构成A组,由A组控制器实现控制功能,端口B与端口C的低4位(PC3PC0)构成B组,由B组控制器实现控制功能。它们各有一个控制单元,可接收来自读写控制部件的命令和CPU通道数据总线(D7D0)送来的控制字,并根据它们来定义各个端口的操作方式。,8.2.1 8255A芯片内部结构及其功能,3.数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常用接口芯 常用 接口 PPT 课件
链接地址:https://www.31ppt.com/p-5503551.html