MCS51系列单片机系统扩展.ppt

上传人:laozhun 文档编号:2233871 上传时间:2023-02-04 格式:PPT 页数:191 大小:1.84MB
返回 下载 相关 举报
MCS51系列单片机系统扩展.ppt_第1页
第1页 / 共191页
MCS51系列单片机系统扩展.ppt_第2页
第2页 / 共191页
MCS51系列单片机系统扩展.ppt_第3页
第3页 / 共191页
MCS51系列单片机系统扩展.ppt_第4页
第4页 / 共191页
MCS51系列单片机系统扩展.ppt_第5页
第5页 / 共191页
点击查看更多>>
资源描述

《MCS51系列单片机系统扩展.ppt》由会员分享,可在线阅读,更多相关《MCS51系列单片机系统扩展.ppt(191页珍藏版)》请在三一办公上搜索。

1、2/4/2023,1,程序存储器扩展数据存储器扩展输入/输出口扩展,2/4/2023,2,学会利用现有的芯片扩展存储器学会利用现有的芯片扩展输入/输出口,2/4/2023,3,问题的提出,在单片机应用系统的设计中,往往出现RAM,ROM或者I/O口不够的情况,怎么办?,ROM的扩展,RAM的扩展,并行I/O口的扩展,2/4/2023,4,3.1 系统扩展概述,对于复杂的场合,MCS-51系列单片机硬件资源不够使用时则需要进行系统扩展包括存储器扩展和输入/输出扩展。进行系统扩展时三总线结构如下图所示:,2/4/2023,5,2/4/2023,6,(1)系统的扩展一般有以下几方面的内容:外部程序存

2、储器的扩展。外部数据存储器的扩展。输入/输出接口的扩展。管理功能器件的扩展(如定时器/计数器、键盘/显示器、中断优先级编码器等)。,一、系统扩展的内容与方法,2/4/2023,7,(2)系统扩展的基本方法:,P0口具有分时传送低8位地址和8位数据信息的复用功能。通过ALE信号与地址锁存器配合使用,从而使得地址信息和数据信息区分开。,一般来讲,所有与计算机扩展连接芯片的外部引脚线都可以归属为三总线结构。扩展连接的一般方法实际上是三总线对接。要保证单片机和扩展芯片协调一致地工作,即要共同满足其工作时序。,2/4/2023,8,二.驱动芯片,扩展芯片都通过三总线与单片机连结,而单片机三总线驱动能力有

3、限,须增加驱动器。,常用总线驱动器如下图所示:,2/4/2023,9,单向驱动器74LS244,单向驱动器74LS244(DIP20)Double In-line Package,1、含有两组8个三态驱动器,,2/4/2023,10,双向驱动器74LS245,DIR=0,双向驱动器74LS245(DIP20),2/4/2023,11,单向驱动器74LS244作地址总线驱动器 双向驱动器74LS245作数据总线驱动器,使用:,2/4/2023,12,3.2 程序存储器扩展,一.程序存储器的扩展方法及时序,2/4/2023,13,2/4/2023,14,送地址,取出指令,2/4/2023,15,2

4、/4/2023,16,2/4/2023,17,二.地址锁存器,LS:Low power Schottky,2/4/2023,18,1、引脚图如下图所示:,2/4/2023,19,2、8D锁存器74LS373,74LS373结构示意图,2/4/2023,20,74LS373用作地址锁存器,2/4/2023,21,3、具体使用连接图如下图所示:,2/4/2023,22,1.EPROM芯片介绍,三.EPROM芯片接口,2/4/2023,23,2/4/2023,24,2/4/2023,25,2/4/2023,26,不同型号EPROM芯片应用参数,2/4/2023,27,2.具体应用,(1)使用单片EP

5、ROM扩展外部程序存储器,在8031单片机上扩展4KB EPROM?,引入:,思考:4KBEPROM芯片地址范围是多少?需要多注根地址线?,2/4/2023,28,在8031单片机上扩展4KB EPROM,D7 Q7 373D0 Q0 G,2/4/2023,29,练一练:,提示:27128EPROM芯片地址范围为00003FFFH(16KB)。,2/4/2023,30,2/4/2023,31,注意,2/4/2023,32,(2)使用多片EPROM扩展外部程序存储器,2/4/2023,33,2/4/2023,34,2/4/2023,35,单片机用于“选片”的高位地址线(即存储器芯片未用完的地址线

6、)若一根连接一片存储器芯片的片选端,这样每一条高位地址线可选中两片存储器芯片,这种方法称之为线选法,其特点是译码电路简单、有地址重叠区。,利用两片2764扩展16KB程序存储器(线选法)如下图所示:,A、线选法,2/4/2023,36,2/4/2023,37,2/4/2023,38,注意,.可取0或取1,有地址重叠,这里取0;,.P2.5作为线选法中片选信号线,也可使用 P2.6或P2.7作为片选信号线。,2/4/2023,39,单片机用于“选片”的高位地址线(即存储器芯片未用完的地址线)全部用译码器或门电路进行译码,再把译码器输出的信号和存储器芯片的片选信号端相连,称为全译码法,其特点是译码

7、电路复杂,每片存储器芯片地址是唯一确定的,不存在地址重叠,利用两片2764扩展16KB程序存储器(全译码法)如下图所示:,B、全译码法,2/4/2023,40,2/4/2023,41,2/4/2023,42,单片机用于“选片”的高位地址线(即存储器芯片未用完的地址线)某几根用译码器或门电路进行译码,再把译码器输出的信号和存储器芯片的片选信号端相连,称为局部译码法,其特点是译码电路较为复杂,每片存储器芯片地址区间不唯一,有地址重叠。,关于部分译码法例题见后一节内容。,C、局部译码法(部分译码法),2/4/2023,43,四.并行E2PROM芯片接口,1.E2PROM芯片介绍,2/4/2023,4

8、4,2/4/2023,45,2/4/2023,46,2.具体应用,使用单片E2PROM扩展外部程序存储器,2/4/2023,47,2/4/2023,48,6.3 外部数据存储器的扩展,一.外部数据存储器的扩展方法及时序,2/4/2023,49,2/4/2023,51,2/4/2023,52,二.静态RAM芯片接口,1.静态RAM芯片介绍,2/4/2023,53,2/4/2023,54,2/4/2023,55,2/4/2023,56,2.具体应用,(1)使用单片静态RAM扩展外部数据存储器(线选法),2/4/2023,57,(2)多片静态RAM扩展外部数据存储器(局部译码法),2/4/2023,

9、58,2/4/2023,59,2/4/2023,60,注意,1.可取0或取1,这里取0,A15未参加译码;,2.随着单片RAM容量增多,多片RAM扩展很少 使用,2/4/2023,61,三.I2C总线E2PROM接口,1.I2C 总线的信号线,当总线空闲时,这两条信号线都保持高电平,不会消耗电流。电气兼容性好。上拉电阻接5V 电源就能与5V 逻辑器件接口,上拉电阻接3V 电源又能与3V 逻辑器件接口。因为是开漏结构,所以不同器件的SDA 与SDA 之间、SCL 与SCL 之间可以直接相连,不需要额外的转换电路。,2/4/2023,62,2.I2C 总线上数据的有效性(Data validity

10、),数据线SDA 的电平状态必须在时钟线SCL 处于高电平期间保持稳定不变。SDA 的电平状态只有在SCL 处于低电平期间才允许改变。但是在I2C 总线的起始和结束时例外。,2/4/2023,63,3.起始条件和停止条件,起始条件 当SCL 处于高电平期间时,SDA 从高电平向低电平跳变时产生起始条件。总线在起始条件产生后便处于忙的状态。起始条件常常简记为S。停止条件 当SCL 处于高电平期间时,SDA 从低电平向高电平跳变时产生停止条件。总线在停止条件产生后处于空闲状态。停止条件简记为P。,2/4/2023,64,4.从机地址(Slave Address)I2C 总线不需要额外的地址译码器和

11、片选信号。多个具有I2C 总线接口的器件都可以连接到同一条I2C 总线上,它们之间通过器件地址来区分。主机是主控器件,它不需要器件地址,其它器件都属于从机,要有器件地址。必须保证同一条I2C 总线上所有从机的地址都是唯一确定的,不能有重复,否则I2C 总线将不能正常工作。一般从机地址由7 位地址位和一位读写标志R/W 组成,7 位地址占据高7 位,读写位在最后。读写位是0,表示主机将要向从机写入数据;读写位是1,则表示主机将要从从机读取数据。,2/4/2023,65,5.数据按字节传输 I2C 总线总是以字节(Byte)为单位收发数据。每次传输的字节数量没有严格限制。首先传输的是数据的最高位(

12、MSB,第7 位),最后传输的是最低位(LSB,第0 位)。另外,每个字节之后还要跟一个响应位,称为应答。,2/4/2023,66,6.应答(Acknowledge)在I2C 总线传输数据过程中,每传输一个字节,都要跟一个应答状态位。接收器接收数据的情况可以通过应答位来告知发送器。应答位的时钟脉冲仍由主机产生,而应答位的数据状态则遵循“谁接收谁产生”的原则,即总是由接收器产生应答位。主机向从机发送数据时,应答位由从机产生;主机从从机接收数据时,应答位由主机产生。I2C 总线标准规定:应答位为0 表示接收器应答(ACK),常常简记为A;为1 则表示非应答(NACK),常常简记为A。发送器发送完L

13、SB 之后,应当释放SDA 线(拉高SDA,输出晶体管截止),以等待接收器产生应答位。如果接收器在接收完最后一个字节的数据,或者不能再接收更多的数据时,应当产生非应答来通知发送器。发送器如果发现接收器产生了非应答状态,则应当终止发送。,2/4/2023,67,7.基本的数据传输格式,主机发送,主机接收,S:起始位SA:从机地址,7 位从机 地址W:写标志位,1 位写标志 R:读标志位,1 位读标志A:应答位,1 位应答,A-:非应答位,1 位非应答D:数据,每个数据都必须是8 位P:停止位阴影:主机产生的信号无阴影:从机产生的信号,2/4/2023,68,8.传输一个字节数据的时序图,主机向从

14、机发送1 个字节数据的时序图,主机从从机接收1 个字节数据的时序图,2/4/2023,69,9.重复起始条件,主机与从机进行通信时,有时需要切换数据的收发方向。例如,访问某一具有I2C 总线接口的E2PROM 存储器时,主机先向存储器输入存储单元的地址信息(发送数据),然后再读取其中的存储内容(接收数据)。在切换数据的传输方向时,可以不必先产生停止条件再开始下次传输,而是直接再一次产生开始条件。I2C 总线在已经处于忙的状态下,再一次直接产生起始条件的情况被称为重复起始条件。重复起始条件常常简记为Sr。,带有重复起始条件的多字节数据传输格式示意图,2/4/2023,70,10.子地址 带有I2

15、C 总线的器件除了有从机地址(Slave Address)外,还可能有子地址。从机地址是指该器件在I2C 总线上被主机寻址的地址,而子地址是指该器件内部不同部件或存储单元的编址。例如,带I2C 总线接口的E2PROM 就是拥有子地址器件的典型代表。某些器件(只占少数)内部结构比较简单,可能没有子地址,只有必须的从机地址。与从机地址一样,子地址实际上也是像普通数据那样进行传输的,传输格式仍然是与数据相统一的,区分传输的到底是地址还是数据要靠收发双方具体的逻辑约定。子地址的长度必须由整数个字节组成,可能是单字节(8 位子地址),也可能是双字节(16 位子地址),还可能是3 字节以上,这要看具体器件

16、的规定。,2/4/2023,71,CAT24WCXX 是一个1-256K位的支持I2C总线数据传送协议的串行CMOS E2PROM,可用电擦除,可编程自定时写周期(包括自动擦除时间不超过10ms,典型时间为5ms)。串行E2PROM一般具有两种写入方式,一种是字节写入方式,还有另一种页写入方式。允许在一个写周期内同时对1个字节到一页的若干字节的编程写入,1页的大小取决于芯片内页寄存器的大小。其中,CAT24WC01具有8字节数据的页面写能力,CAT24WC02/04/08/16具有16字节数据的页面写能力,CAT24WC32/64具有32字节数据的页面写能力,CAT24WC128/256具有6

17、4字节数据的页面写能力。,11.I2C总线 CMOS E2PROM CAT24WCXX,2/4/2023,72,CAT24WCXX系列串行E2PROM特性一览表,2/4/2023,73,2/4/2023,74,串行E2PROM芯片的寻址,(1)从器件地址位,主器件通过发送一个起始信号启动发送过程,然后发送它所要寻址的从器件的地址。8位从器件地址的高4位D7D4固定为1010,接下来的3位D3D1(A2、A1、A0)为器件的片选地址位或作为存储器页地址选择位,用来定义哪个器件以及器件的哪个部分被主器件访问,这些位必须与硬连线输入脚A2、A1、A0相对应。1个CAT24WC16/128可单独被系统

18、寻址。从器件8位地址的最低位D0,作为读写控制位。“1”表示对从器件进行读操作,“0”表示对从器件进行写操作。在主器件发送起始信号和从器件地址字节后,CAT24WCXX监视总线并当其地址与发送的从地址相符时响应一个应答信号(通过SDA线)。CAT24WCXX再根据读写控制位(R/W)的状态进行读或写操作。,2/4/2023,75,从器件地址,A0、A1和A2对应器件的管脚1、2和3,a8、a9和a10对应为存储阵列页地址选择位,2/4/2023,76,AT24C02 及其外围扩展电路,2/4/2023,77,(2)应答信号 I2C总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个

19、应答信号。应答的器件在第9个时钟周期时将SDA线拉低,表示其已收到一个8位数据。CAT24WCXX在接收到起始信号和从器件地址之后响应一个应答信号,如果器件已选择了写操作,则在每接收一个8位字节之后响应一个应答信号。当CAT24WCXX工作于读模式时,在发送一个8位数据后释放SDA线并监视一个应答信号,一旦接 收到应答信号,CAT24WCXX继续发送数据,如主器件没有发送应答信号,器件停止传送数据并等待一个停止信号。主器件必须发一个停止信号给CAT24WCXX使其进入备用电源模式并使器件处于已知的状态。,2/4/2023,78,(3)数据地址分配 CAT24WC01/02/04/08/16的A

20、8A15位无效,只有A0A7是有效位。对于CAT24WC01/02正好合适,但对于CAT24WC04/08/16来说,则需要a8、a9、a10页面地址选择位进行相应的配合。,2/4/2023,79,(4)写操作方式 1)字节写 在字节写模式下,主器件发送起始命令和从器件地址信息(R/W位置0)给从器件,主器件在收到从器件产生应答信号后,主器件发送1个8位字节地址写入CAT24WC01/02/04/08/16的地址指针,对于CAT24WC32/64/128/256来说,所不同的是主器件发送两个8位地址字写入CAT24WC32/64/128/256的地址指针。主器件在收到从器件的另一个应答信号后,

21、再发送数据到被寻址的存储单元。CAT24WCXX再次应答,并在主器件产生停止信号后开始内部数据的擦写,在内部擦写过程中,CAT24WCXX不再应答主器件的任何请求。,CAT24WC01/02/04/08/16字节写时序,2/4/2023,80,CAT24WC32/64/128/256字节写时序,字节写范例(适用于CAT24WC01/02/04/08/16):MOV SLA,#CAT24WCXX MOV SUBA,#10H;指定地址是10H MOV NUMBYTE,#01H;指定页写入字节数为1 MOV MTD,#0FH;将数据写入MTD缓冲区 LCALL IWRNBYTE;将数据写入CAT24

22、WCXX指定地址 RET,2/4/2023,81,2)页写 在页写模式下,CAT24WC01/02/04/08/16/32/64/128/256 可一次写入8/16/16/16/16/32/32/64/64个字节数据。页写操作的启动和字节写一样,不同的是在于传送了一字节数据后并不产生停止信号。主器件被允许发送P(CAT24WC01:P=7;CAT24WC02/04/08/16:P=15;CAT24WC32/64:P=31;CAT24WC128/256:P=63)个额外的字节。每发送一个字节数据后CAT24WCXX产生一个应答位,且内部低3/3/4/4/4/5/5/5/6位地址加1,高位保持不变

23、。如果在发送停止信号之前主器件发送超过P+1个字节,地址计数器将自动翻转,先前写入的数据被覆盖。接收到P+1字节数据和主器件发送的停止信号后,CAT24WCXX启动内部写周期将数据写到数据区。所有接收的数据在一个写周期内写入CAT24WCXX。,CAT24WC01/02/04/08/16页写时序,2/4/2023,82,CAT24WC32/64/128/256页写时序,页写时应该注意器件的页“翻转”现象,如CAT24WC01的页写字节数为8,从0页首址00H处开始写入数据,当页写入数据超过8个时,会页“翻转”;若从03H处开始写入数据,当页写入数据超过5个时,会页“翻转”,其它情况依此类推。,

24、2/4/2023,83,页写范例(适用于CAT24WC01/02/04/08/16):MOV MTD,#87H;先把写入的数据依次装入MTD缓冲区 MOV MTD+1,#0F1H;装载数据 MOV MTD+2,#0F2H MOV MTD+3,#0F3H MOV MTD+4,#0F4H MOV MTD+5,#0F5H MOV MTD+6,#0F3H MOV MTD+7,#0F4H MOV SLA,#CAT24WCXX MOV SUBA,#10H;指定写入数据的首地址 MOV NUMBYTE,#08H LCALL IWRNBYTE;把MTD缓冲区的数据以页写方式写入 CAT24WCXX RET,2

25、/4/2023,84,3)应答查询 可以利用内部写周期时禁止数据输入这一特性。一旦主器件发送停止位指示主器件操作结束时,CAT24WCXX启动内部写周期,应答查询立即启动,包括发送一个起始信号和进行写操作的从器件地址。如果CAT24WCXX正在进行内部写操作,不会发送应答信号。如果CAT24WCXX已经完成了内部自写周期,将发送一个应答信号,主器件可以继续进行下一次读写操作。,2/4/2023,85,4)写保护 写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写,当WP管脚接高时,整个寄存器区全部被保护起来而变为只可读取。CAT24WCXX可以接收从器件地址和字节地址,但是装

26、置在接收到第一个数据字节后不发送应答信号从而避免寄存器区域被编程改写。,2/4/2023,86,(5)读操作方式 对CAT24WCXX读操作的初始化方式和写操作时一样,仅把R/W位置为1,有三种不同的读操作方式:读当前地址内容、读随机地址内容、读顺序地址内容。,1)立即地址读取 CAT24WCXX的地址计数器内容为最后操作字节的地址加1。也就是说,如果上次读/写的操作地址为N,则立即读的地址从地址N+1开始。如果N=E(CAT24WC01,E=127;CAT24WC02,E=255;CAT24WC04,E=511;CAT24WC08,E=1023;CAT24WC16,E=2047;CAT24W

27、C32,E=4095;CAT24WC64,E=8191;CAT24WC128,E=16383;CAT24WC256,E=32767),则计数器将翻转到0且继续输出数据。CAT24WCXX接收到从器件地址信号后(R/W位置1),它首先发送一个应答信号,然后发送一个8位字节数据。主器件不需发送一个应答信号,但要产生一个停止信号。,2/4/2023,87,立即地址读取范例:MOV SLA,#CAT24WCXX LCALL IRDBYTE;读出现行地址上的数据,数据返回值在 ACC RET,立即地址读时序,2/4/2023,88,2)随机地址读取 随机读操作允许主器件对寄存器的任意字 节进行读操作,主

28、器件首先通过发送起始信号、从器件地址和它想读取的字节数据的地址执行一个伪写操作。在CAT24WCXX应答之后,主器件重新发送起始信号和从器件地址,此时R/W位置1,CAT24WCXX响应并发送应答信号,然后输出所要求的一个8位字节数据,主器件不发送应答信号但产生一个停止信号。,CAT24WC01/02/04/08/16随机地址读时序,2/4/2023,89,CAT24WC32/64/128/256随机地址读时序,随机地址读取范例:MOV SLA,#CAT24WCXX MOV SUBA,#2FH;指定地址是2FH MOV NUMBYTE,#01H;指定读取字节数1 LCALL IRDNBYTE;

29、指定地址读1个字节数据,返回数据存 在MRD缓冲区RET,2/4/2023,90,3)顺序地址读取 顺序读操作可通过立即读或选择性读操作启动。在 CAT24WCXX发送完一个8位字节数据后,主器件产生一个应答信号来响应,告知CAT24WCXX主器件要求更多的数据,对应每个主机产生的应答信号CAT24WCXX将发送一个8位数据字节。当主器件不发送应答信号而发送停止位时结束此操作。从CAT24WCXX输出的数据按顺序由N到N+1输出。读操作时地址计数器在CAT24WCXX整个地址内增加,这样整个寄存器区域在可在一个读操作内全部读出。当读取的字节超过E(CAT24WC01,E=127;CAT24WC

30、02,E=255;CAT24WC04,E=511;CAT24WC08,E=1023;CAT24WC16,E=2047;CAT24WC32,E=4095;CAT24WC64,E=8191;CAT24WC128,E=16383;CAT24WC256,E=32767)计数器将翻转到零并继续输出数据字节。,2/4/2023,91,顺序地址读时序,顺序读范例:顺序地址读出是连续读出多个字节,当字地址的低位部分增量到溢出后会出现地址的“翻转”现象。MOV SLA,#CAT24WCXX MOV SUBA,#10H;指定地址是10H MOV NUMBYTE,#05H;读取字节数为5 LCALL IRDNBYT

31、E;进行连续读,返回数据依次存在MRD 缓冲区中 RET,2/4/2023,92,SPI总线E2PROM:93C06/46/56/66(64-512x8)I2C铁电存储器:FM24C04/16(512-2Kx8)双口RAM:IDT7132(并行2Kx8)并行FLASH存储器:AT29C256/512/010/020/040(32K-512Kx8)I2C总线虚拟技术超越64K的扩展换体/分页3V/5V转换:上拉电阻/电平转换IC,2/4/2023,93,三.兼有EPROM和RAM存储器的接口,2/4/2023,95,2/4/2023,96,四.数据存储器的掉电保护,2/4/2023,97,1.简

32、单的掉电保护电路,2/4/2023,98,2.实用的掉电保护电路,2/4/2023,100,2/4/2023,101,6.4 并行输入输出口的扩展,概述:,为什么需要I/O接口电路CPU与外部设备速度的匹配外部设备数据信号的多样性外部设备种类繁多外部设备数据传输距离有长有短,2.I/O接口电路具备的主要功能速度协调三态缓冲数据转换,2/4/2023,102,3.数据隔离技术三态缓冲电路集电极开路门电路,4.I/O编址技术独立编址统一编址,5.I/O数据传输的控制方式无条件传送方式程序查询方式程序中断方式DMA方式,2/4/2023,103,MCS-51系列单片机,若输入/输出端口不够使用,则须

33、扩展。当单片机扩展I/O接口较多时,便于单片机管理,象对存储单元一样,对多个I/O接口进行统一编号,这种对I/O接口的编号称之为I/O端口编址。,2/4/2023,104,I/O端口地址和存储器独立编址方式,2/4/2023,105,I/O端口地址和存储器统一编址方式,这种编址方式适用于不带IO/M引脚的CPU系统中,把所有的I/O接口都当作存储单元对待。对某一外部设备输入输出操作,就象对存储器中某一个存储单元操作一样,所有访问存储单元指令均适用于对I/O端口的操作,指令系统不含专用的I/O指令。,2/4/2023,106,2/4/2023,107,二.用TTL芯片扩展I/O接口,1.用74L

34、S377扩展8位并行输出口,2/4/2023,108,2/4/2023,109,2.用74LS244扩展8位并行输入口,2/4/2023,110,2/4/2023,111,3.用74LS373扩展8位并行输入口,2/4/2023,112,2/4/2023,113,4.兼有74LS377、74LS373、74LS244芯片的I/O接口,2/4/2023,115,2/4/2023,116,MOV DPTR,#73FFH;指向1#74LS377MOVX A,20H;片内RAM20H单元内容AMOVX DPTR,A;A内容送1#74LS377输出MOV DPTR,#53FFH;指向2#74LS377M

35、OV A,21H;片内RAM21H单元内容AMOVX DPTR,A;A内容送2#74LS377输出MOV DPTR,#33FFH;指向74LS244MOVX A,DPTR;74LS244输入AMOV 22H,A;A内容存片内RAM22H单元在INT0中断服务子程序中执行MOV DPTR,#13FFH;指向74LS373MOVX A,DPTR;74LS373输入AMOV 23H,A;A内容存片内RAM23H单元,2/4/2023,118,三.用可编程芯片扩展并行I/O接口,Intel公司常用的外围芯片都可以直接与MCS-51系列单片机进行接口。常用外围芯片如下表所示:,2/4/2023,119,

36、2/4/2023,120,利用Intel-8255A和Intel-8155A进行并行I/O接口的扩展已被广泛使用,下面对Intel-8255A和Intel-8155A加以详细讨论。,2/4/2023,121,(一).用Intel-8255A扩展I/O接口,1.8255A芯片介绍,2/4/2023,122,.8255A具有功能:,2/4/2023,123,.8255A内部结构,2/4/2023,124,8255A内部结构,2/4/2023,125,8255A包括四大部分:数据总线缓冲器、读写控制部件、A组和B组控制部件、端口A、B、C。,(1)并行输入/输出端口A、B、C,端口A:包含一个8位数

37、据输出锁存器/缓冲器和一个8位数据输入锁存器,输入输出数据均受到锁存。,2/4/2023,126,端口B和C:都包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器,输出数据能锁存,输入数据不锁存。端口C:可分成两个4位端口,分别定义为输入或输出端口,还可定义为控制、状态端口,配合端口A和端口B工作,输出数据能锁存,输入数据不锁存。,2/4/2023,127,(2)A组和B组控制部件,2/4/2023,128,A组,B组的控制寄存器,接收来自数据总线的控制字,并根据控制字确定各端口的工作状态和工作方式。,2/4/2023,129,(3)数据总线缓冲器,2/4/2023,130,(4)读

38、/写控制部件,接收来自CPU地址总线信号和控制信号,并发出命令到两个控制组(A组和B组)。,2/4/2023,131,RESET:复位信号。RESET有效时,清 8255A 所有控制寄存器内容,并将各端口置成输入方式。,2/4/2023,132,.8255A的引脚,8255A采用40线双列直插封装,引脚图如图所示。,8255A引脚定义,2/4/2023,133,*PA7PA0:A端口数据信号引脚,*PB7PB0:B端口数据信号引脚,*PC7PC0:C端口数据信号引脚,*D7D0:8255A的8位数据线,2/4/2023,134,*A1A0:端口选择信号,当A1A0=00时 选择端口A,当A1A

39、0=01时 选择端口B,当A1A0=10时 选择端口C,当A1A0=11时 选择控制端口,2/4/2023,135,8255A的读写操作控制,2/4/2023,136,8255A共有两个控制字:即工作方式控制字和对C口置位/复位控制字。,(1)工作方式控制字:控制字和各位的含义如图所示。,.控制命令字(控制字),2/4/2023,137,8255A工作方式控制字格式,2/4/2023,138,(2)端口C的置位/复位控制字,控制字的格式如图所示。,8255A 置位/复位控制字格式,2/4/2023,139,关于控制字要说明:,(1)设置方式控制字时,A口、B口作为整体设置,而C口要分成上、下两

40、部分分别设置。三个端口的工作方式由一个控制字规定。,(2)C口按位置位/复位控制字不是送到C口地址,而是送到控制寄存器地址;且一个控制字只能使C口一位置位或复位。,2/4/2023,140,(3)方式控制字和按位置位/复位控制字均写入同一个控制寄存器地址,二者通过最高位D7来区别。D7=1为方式控制字,D7=0为按位置位/复位控制字。,2/4/2023,141,(1)方式0 基本输入/输出方式,方式0是一种基本输入输出工作方式,它的24条I/O线全部都用作传送数据,不设置应答信号线,常用于无条件传送,输出有锁存,输入只有缓冲能力而无锁存功能。,.工作方式,方式0中,端口C被分成两个4位端口,它

41、们可被定义为输入或输出端口,CPU与3个端口之间交换数据,可直接由CPU执行MOVX指令来完成。,2/4/2023,142,(2)工作方式1选通式输入/输出方式,方式1选通输入,方式1操作使端口A或端口B作为锁存输入设备工作。端口C也可按方式1操作使用但不是对数据,而是对控制信号,或当端口A或端口B为选通输入端口时的握手信号。,下图示出8255A方式1选通输入时的内部结构图。,2/4/2023,143,(a)端口A方式1输入,(b)端口B方式1输入,方式1输入端口状态,2/4/2023,144,IBF:输入缓冲器满信号,向外设输 出,高电平有效。,INTE:中断允许信号,它是通过端口PC4(端

42、口A)或PC2(端口B)的位来编程 的内部位。,2/4/2023,145,方式1选通输出,2/4/2023,146,方式1输出端口状态,(a)端口A方式1输出,(b)端口B方式1输出,2/4/2023,147,INTR:中断请求信号。高电平有效。,INTE:中断允许信号。,2/4/2023,148,(3)工作方式2双向选通输入/输出方式,方式2只允许A组采用,此时端口A变为双向,允许数据在同一组8条线上发送和接收。,下图示出方式2操作内部结构图。,2/4/2023,149,端口A工作在方式2的端口状态,2/4/2023,150,2/4/2023,151,IBFA:输入缓冲器满信号,向外设输出,

43、高电平有效。,INTE:中断允许信号(INTE1和INTE2)。高电平有效。,INTRA:中断请求信号,高电平有效。,2/4/2023,152,8255A中端口A工作方式2时,允许端口B工作于方式0或方式1,完成输入/输出功能。4种组合状态及其工作方式控制字格式如下表。,2/4/2023,153,方式2的组合状态与控制字格式,2/4/2023,154,2.8255A的工作方式初始化(初始化),2/4/2023,155,3.8255A中PC口置位/复位操作,2/4/2023,156,4.8255A与8031接口及应用,2/4/2023,158,MOV DPTR,#0F7FFH;指向控制命令寄存器

44、端口MOV A,#82H;工作方式控制字AMOVX DPTR,A;控制字控制命令寄存器端口;以上三条指令完成为8255A工作方式初始化MOV DPTR,#0F7FCH;指向PA口MOV A,R0;R0AMOVX DPTR,A;APA口输出INC DPTR;指向B口MOVX A,DPTR;PB口AMOV B,A;ABINC DPTR;指向PC口MOV A,R1;R1AMOVX DPTR,A;APC口输出,2/4/2023,160,MOV DPTR,#0F7FFH;指向控制口端口MOV A,#09H;控制字AMOVX DPTR,A;控制字控制口,使PC4=1,若想PC口的PC4置1,相应的按位置位

45、/复位控制字为00001001B=09H,对应的程序段为:,若想PC口的PC4清零,相应的按位置位/复位控制字为00001000B=08H,对应的程序段为:,MOV DPTR,#0F7FFHMOV A,#08HMOVX DPTR,A,2/4/2023,161,特别注意:在MCS 51系列单片机应用系统中,若含有Intel-8255A或Intel-8155A(后面内容介绍)与单片机I/O口扩展电路,由于8255A或8155A的复位时间比单片机复位时间长,若在应用程序中安排单片机复位后,立即对8255A或8155A进行I/O初始化,则因8255A或8155A仍处于复位状态(复位未结束)而导致初始化

46、失败。解决方法是在单片机复位后先执行别的程序或执行一段延时程序,等待8255A或8155A复位后再进入初始化,延时时间为20100ms。,2/4/2023,162,内含2568位静态RAM两个可编程的8位I/O口一个可编程的6I/O口一个可编程14位减法定时/计数器可产生中断请求具有地址锁存功能,(二).用Intel-8155A(8156A)扩展I/O接口,1.8155/8156芯片介绍,功能,2/4/2023,163,适用范围,8155与8156区别仅在于8155片选端低 电平有效而 8156为高电平有效,适应于既要扩展I/O口,又要扩展少 量RAM系统,2/4/2023,164,结构及引脚

47、,2/4/2023,165,2/4/2023,166,2/4/2023,167,8155中6个寄存器,8155内有6个寄存器,都为8位,按口地址寻址,由AD2、AD1、AD0选择其中的一个寄存器如下表所示:,2/4/2023,168,2/4/2023,169,命令/状态寄存器,写入命令字,可规定8155工作方式。格式为:,0 0 空操作0 1 立即停止定时器工作1 0 定时器到定置定的计数值后停止工作,D7D6选择定时器工作方式,2/4/2023,170,1 1 置定时器输出方式和初值后启动工 作。若原已启动则原置计数值到后按 新置计数值启动,D51,允许A口中断;D50,禁止A口中断,D41

48、,允许B口中断;D40,禁止B口中断,D3D2意义见下表:,2/4/2023,171,2/4/2023,172,例如,若不使用8155内部定时器且A口基本输入,禁止中断,B口基本输出,禁止中断,C口输出,则命令字为0EH。,2/4/2023,173,读出状态字,知道A口、B口和定时器状态,格式为:,D7 未用,D6 定时器中断标志。定时计数值到后为高 电平,读状态字或定时重启动为低电平,2/4/2023,174,D5 B口中断允许标志,D4 B口缓冲器满/空标志(输入/输出),D3 B口中断请求标志,D2D1D0功能分别与D5D4D3功能类似,仅对A 口,2/4/2023,175,14位减法计

49、数器,定时/计数器输出方式和初值如下图所示:,2/4/2023,176,高字节寄存器,低字节寄存器,定时器输出方式,计数器高6位,计数器低8位,2/4/2023,177,定时/计数器高字节寄存器的D7D6内容决定定时器输出方式,如下图所示:,2/4/2023,178,2/4/2023,179,2.8155A与8031接口及应用,8155扩展I/O和片外RAM如图所示:,2/4/2023,180,设无关地址线取1,则8155片内RAM和I/O端口地址:,2/4/2023,181,2/4/2023,182,设上图中规定8155A各端口为基本的输出方式,将8031片内RAM 20H单元内容送PA口输

50、出,将8031片内RAM 30H单元内容送至8155A片内30H单元法,要求写出对应的程序段。分析:a.满足要求命令字为:00001111B=0FHb.8155A片内30H单元对8031而言是片外RAM,依据上图对应片外RAM地址为7E30H。相应的源程序段如下:,例,MOV DPTR,#7FF8H;指向C/S口MOV A,#0FH;命令字AMOVX DPTR,A;AC/S口;以上三条指令完成对8155A初始化。INC DPTR;指向PA口MOV A,20H;8031片内RAM20H单元内容AMOVX DPTR,A;APA口输出MOV DPTR,#7E30H;指向8155A片内RAM30H单元

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号