- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
图9.20采用74LS573电路的I/O接口考虑到输入操作时只有RD信号有效,输出操作时只有WR信号有效,故电路的输入/输出口共用一个地址7FFFH。
将一个字节写入74LS573的指令为:
MOV DPTR,#7FFFH
MOV A,#data
MOVX @DPTR,A参照9.2.3节的时序,分析以上程序可知,MOVX@DPTR,A指令的执行过程可以分为两步:(1)准备地址。此时P2口的状态为7FH,即P2.7引脚为0,其他引脚为1;P0口的状态为FFH。(2)送数据。此时P0线上将出现A中的内容,P0口第一步中的状态FFH被A中的内容取代,且RD=1,WR=0。这时,图9.20引脚的状态为:P0=A;P2.7=0;RD=1;WR=0。这样,或非门的输出为1,则74LS573(1)的G=1,由于OE=0,则Q=D,即Q0~Q7将全部呈现P0的状态,也就是呈现了A中的结果,达到了输出数据的目的。接受74LS573(2)上输入的8位数据读到累加器A中的指令如下:
MOV DPTR,#7FFFH
MOVX A,@DPTR
参照9.2.3节的时序可知,MOVXA,@DPTR指令的执行过程也可分为两步:
(1)准备地址。此时P2口的状态为7FH,即P2.7引脚为0,其他引脚为1;P0口的状态为FFH;但RD=0,WR=1。
(2)读数据。这时,图9.20引脚的状态为:P2.7=0;RD=0;WR=1,这样,或门的输出为0,则74LS573(2)的OE=0,由于G=1,则Q=D,P0线上将出现74LS573(2)输入端D的内容,达到了获取输入数据的目的。
利用74LS245扩展输入接口的电路也很简单,如图9.21所示。图9.21采用74LS245的输入接口如果单片机要从74LS245输入数据,可以执行如下指令: MOV DPTR,#7FFFH MOVX A,@DPTR9.5.3并行可编程芯片8255A
所谓可编程的接口芯片,是指其功能可由微处理器的指令来加以改变的接口芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。8255A是最常用的并行可编程芯片之一。它和MCS-51相连,可为外设提供三个8位的I/O端口:A口、B口和C口。三个端口的功能完全由编程来决定。
1.?8255A的内部结构和引脚排列
图9.22为8255A的内部结构和引脚图。图9.228255A的内部结构和引脚图1.?8255A的内部结构和引脚排列
图9.22为8255A的内部结构和引脚图。
1)内部结构
8255A可编程接口由以下4个逻辑结构组成:
(1)?A口、B口和C口。A口、B口和C口均为8位I/O数据口,但结构上略有差别。A口输入/输出都带锁存器。C口可编程为两个4位端口(高4位及低4位)。B口和C口输出带锁存器,但输入无锁存器。
这三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。(2)?A、B组控制电路。这是两组根据CPU的命令字控制8255A工作方式的电路。A组控制A口及C口的高4位,B组控制B口及C口的低4位。
(3)数据缓冲器。这是一个双向三态8位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。
(4)读/写控制逻辑。这部分电路接收MCS-51送来的读/写命令和选口地址,用于控制对8255A的读/写。2)引脚
(1)数据线(8条)。D0~D7为数据总线,用于传送CPU和8255A之间的数据、命令和状态字。
(2)控制线和寻址线(6条)。
RESET:复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255A所有内部寄存器清0,所有口都为输入方式。 和:读、写信号线,输入,低电平有效。当为0时(必为1),所选的8255A处于读状态,8255A送出信息到CPU。反之亦然。:片选线,输入,低电平有效。A0、A1:地址输入线。当=0,芯片被选中时,这两位的4种组合00、01、10、11分别用于选择A、B、C口和控制寄存器。A0、A1:地址输入线。当=?0,芯片被选中时,这两位的4种组合00、01、10、11分别用于选择A、B、C口和控制寄存器。(3)?I/O口线(24条)。PA0~PA7、PB0~PB7、PC0~PC7为32条双向三态I/O总线,分别和A、B、C口相对应,用于8255A和外设之间传送数据。(4)电源线(2条)。VCC为+?5V,GND为地线。图9.22
文档评论(0)