第7章 可编程接口芯片(8255,8253)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章可编程接口芯片7-1可编程并行接口芯片8255A7-2可编程定时器/计数器82537-1可编程并行接口芯片8255ACPU与外设之间的信息传送都是通过接口电路来进行的,实现并行通信的接口称之为并行接口。8255A是块专用的并行I/O接口芯片,可通过软件来设置工作方式。连接外设时,通常不需附加电路。一、8255A的内部结构oooD7~D0RDWRA1A0RESETCSPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0I/O数据总线缓冲嚣读写控制逻辑A组控制B组控制内部总线A组A口A组C口B组B口B组C口1.有三个8位端口(PA、PB、PC),可分别设置成输入或输出端口。PA口和PB口可作为独立端口。PC口常被分成两个4位端口,配合A口和B口的工作,输入状态信号和输出控制信号。2.A组和B组控制电路一方面接收芯片内部总线上的控制字。另一方面接收来自读/写控制逻辑电路的读/写命令,决定两组端口的工作方式和读/写操作。oooD7~D0RDWRA1A0RESETCSPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0I/O数据总线缓冲嚣读写控制逻辑A组控制B组控制内部总线A组A口A组C口B组B口B组C口A组控制电路控制PA和PC7~PC4B组控制电路控制PB和PC3~PC0oooD7~D0RDWRA1A0RESETCSPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0I/O数据总线缓冲嚣读写控制逻辑A组控制B组控制内部总线A组A口A组C口B组B口B组C口3.数据总线缓冲器(8位双向三态)传送输入输出的数据、控制字及外设状态信息。4.读/写控制逻辑接收/CS、A1、A0和控制信号/RD、/WR、RESET,将这些信号进行组合,得到对A、B组控制的控制命令,完成对数据、状态信息及控制信息的传输。oooD7~D0RDWRA1A0RESETCSPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0I/O数据总线缓冲嚣读写控制逻辑A组控制B组控制内部总线A组A口A组C口B组B口B组C口二、8255A的引脚8255AA1A0RESETD7~D0CSWRRDPA7~PA0PB7~PB0PC7~PC0A口B口C口和外设一边相连的有:PA、PB、PC口。和CPU相连的有:D7~D0数据线,与系统DB线相连。RESET复位,其高时,清除内部所有寄存器,A、B、C三端口被自动设为输入端口。/CS片选,/CS=‘0’,启动8255A与CPU之间的通信。/RD芯片读,/RD=‘0’,CPU可从8255A读取数据或状态信息。/WR芯片写,/WR=‘0’,CPU可往8255A写入数据或控制命令。A1、A0端口选择信号。8255A内部有3个数据端口和一个控制字端口,共4个端口,A1、A0对这4个端口选择规定如下:A1A0端口00PA01PB10PC11控制8255AA1A0RESETD7~D0CSWRRDPA7~PA0PB7~PB0PC7~PC0A口B口C口三、8255A的控制字一类是芯片各端口的方式选择控制字,可使8255A的3个数据端口工作在不同方式。另一类是C端口按位置位/复位控制字,可对C端口的某一位置1或置0。8255A通过向控制端口写控制字,来决定各端口的工作。控制字分为二类:方式0:一般的(基本的/无条件的)输入/输出。在此方式下,A、B、C可分别设置成输入或输出。1.方式选择控制字方式1:选通输入/输出。只有A口、B口可工作在方式1,它们要分别占用C口三条线作为联络线,C口的余下线只能工作在方式0。8255A的三种工作方式:方式2:双向传送。只有A口可工作在方式2,此时C口有5条线用来作A口和外设之间的联络线,C口剩下的3条线视B口而定,若B口工作在方式0,亦为方式0;若B口工作在方式1,则作B口联络线。即方式控制字=10001001B=89H。例:设A、B、C口均工作在方式0,要求A、B口作输出,C口作输入。问如何确定方式选择控制字?D7D6D5D4D3D2D1D010000011特征位A组方式0A口C高输入C低输入B口输出B组方式0输出1=输入0=输出PC3~PC0:D7D6D5D4D3D2D1D0特征位A组方式选择:00=方式001=方式11=方式2A口:1=输入0=输出PC7~PC4:1=输入0=输出B组方式选择:0=方式01=方式1B口:1=输入0=输出特征位1有效方式选择控制字格式方式选择控制字应送入控制口,可用如下两条指令完成:(设控制口地址为83H)MOVAL,89HOUT83H,AL2.C端口按位置位/复位控制字D7D6D5D4D3D2D1D0无效0复位1置位特征位0=有效D3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7例:将PC5复位,其控制字为:00001010B(0AH)设控制口地址为22BH,对PC5进行复位的指令段为:MOVAL,0AHMOVDX,22BHOUTDX,AL注意:此控制字尽管对PC口操作,但必须写入控制口。PC端口的数据位常作为控制位用。此控制字只影响其中某一位,其它位状态不变。四、8255A的工作方式1.方式0(基本的输入/输出方式)特点:三个端口(PA、PB、PC的高4位及低4位)中的任一端口既可作输入口,也可作输出口,各端口之间没有必然的联系。2.方式1(选通的输入/输出方式)A、B口可设置为输入或输出。和方式0比,其差别主要是要利用C口提供选通信号和应答信号。3.方式2(双向工作方式)使外设在单一的8位数据总线上,既能发送数据,也能接收数据,实现与CPU的双向通信。仅A口具有方式2,并占用C口的5位作控制联络线。说明:方式1、方式2基本了解。方式0举例:将下图中8255的A、B口置成方式0,使B口上8个发光二极管对应指示A口上8个开关的状态。各口地址A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0A口10000000001000008020HB口10000000001000108022HC口10000000001001008024H控制口10000000001001108026H方式控制字:10010000B=90H(方式0,A口输入,B口输出)WRRD8255ARESETD7~D0PA7PB7PA0PB0RRR+5VR驱动器RESETCSWRRDA2A1A1A0D7~D0发光二极管74LS138G1/G2A/G2BCBAA15A6M//IOA5A4A3+/Y4┇A0CODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFARSTART:PUSHDSMOVAX,0PUSHAXMOVAL,90H;方式控制字MOVDX,8026HOUTDX,ALMOVDX,8020HINAL,DX;读入A口开关状态MOVDX,8022HOUTDX,AL;B口输出RETMAINENDPCODEENDSENDSTART程序设计:开关处在高电平时,发光二极管亮;反之暗。#37-2可编程定时器/计数器8253一、基本概念在微机应用中,经常有定时和计数的要求。1.定时应用如定时中断、定时检测、定时扫描等。定时实现方法有两种:①软件定时:通过执行延迟程序实现,优点是节省硬件,缺点是降低了CPU效率,且编写软件略显麻烦。②硬件定时:用到可编程定时器/计数器,优点是不占用CPU时间,提高了CPU效率,而且定时范围可由软件改变。由于定时器/计数器芯片开销不大,因此得到了广泛应用。①软件计数:计数脉冲通过并口(如8255的I/O线)送入计算机,软件不断检测该线状态,若发现电平变化,就认定有一次外部事件到来,此时软件将某一变量加1。缺点是降低了CPU的工作效率。②硬件计数:计数脉冲送入可编程定时器/计数器,通过内部计数器完成计数,CPU需要时对定时器/计数器访问,读取计数值即可。最大优点是CPU和定时器/计数器并行工作,提高了CPU的工作效率。2.计数应用:如各种外部事件的计数等。计数实现方法同样有两种:可编程定时器/计数器的核心部件为可预置初值计数器。计数器一旦被启动工作,便开始计数,直至计数值归0或产生溢出,可申请中断。计数器有加1计数或减1计数两种形式。可预置初值计数器启动控制GATE溢出信号OUT计数初值计数脉冲CLK定时和计数本质相同,也是对输入脉冲进行计数,如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对应的关系。例:输入脉冲频率为2MHz,那么计数2106计时1秒3.定时器/计数器的基本工作原理8253与CPU的接口引线除了没有RESET引脚外,其他与8255相同。其中包括:D7~D0、/RD、/WR、/CS、A1、A0引脚。8253的三个计数通道的结构和功能完全一样,每个通道均有两个输入引脚CLK和GATE,一个输出信号引脚OUT。二、可编程定时器/计数器8253概述含3个独立的16位计数器:可进行二进制或BCD码计数,计数速率可达1.6MHz。控制寄存器:可控制每个计数器的工作方式(6种),计数制式以及计数初值的装入。数据总线缓冲器:与数据总线的接口部件,CPU对8253读写信息都通过这8条数据线传送,包括:传送工作方式控制字、向某一计数器装入计数初值、从某一计数器读出计数初值。数据总线缓冲器读/写逻辑控制寄存器片内总线RDWRA0A1CSD0D7~计数器0计数器1计数器2CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2读/写控制逻辑:8253内部操作的控制电路,它从系统控制总线上接收控制信号,然后产生8253内部操作的各种控制信号,具体接收的控制信号/CS、/RD、/WR、A1、A0与8255A同理。A1A0:00——计数器001——计数器110——计数器211——控制寄存器数据总线缓冲器读/写逻辑控制寄存器片内总线RDWRA0A1CSD0D7~计数器0计数器1计数器2CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT28253输入信号与各功能的对应关系/CS/RD/WRA1A0功能01000对计数器0设置计数初值01001对计数器1设置计数初值01010对计数器2设置计数初值01011设置控制字或给一个命令00100从计数器0读出计数值00101从计数器1读出计数值00110从计数器2读出计数值三、8253编程控制字格式:1BCD计数D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD0二进制计数工作方式选择000方式0001方式110方式211方式3100方式4101方式5计数长度选择00将计数器中的数据锁存于缓冲器01选择计数器低8位读或写10选择计数器高8位读或写11选择先低后高两个字节读或写计数器选择00计数器001计数器110计数器211非法计数过程的启动方式不同OUT端的输出波形不同自动重复功能、GATE的控制作用以及更新计数初值对计数过程的影响也不完全相同。四、8253工作方式(6种)①方式0——计数结束中断方式②方式1——可编程的单独负脉冲③方式2——速率发生器(分频工作方式)④方式3——方波发生器⑤方式4——软件触发方式⑥方式5——硬件触发方式此处仅介绍方式0、3,其余方式不作要求。6种方式的区别:1.方式0——计数结束中断方式写入方式0的控制字后,其输出OUT端变低。写入计数初值N,经过CLK的一个上升沿和一个下降沿,初值进入减1计数器。计数器减到0后,OUT为高电平。这是一种软件启动、不能自动重复的计数方式。CLKGATE543201OUTCWWRN=5方式0的波形在计数过程中,可随时写入新的初值,计数器使用新的初值重新开始计数。方式0主要用于单次计数,计数到时,利用OUT信号作为查询信号或中断请求信号。CLKGATE543201OUTCWWRN=5方式0的波形322201CLKGATEOUTWRCWN=3方式0时GATE信号的作用方式3

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功