0 导言
在单片机宗族的许多成员中,MCS-51系列单片机以其优胜的功用、老练的技能、高牢靠性和高性价比,占据了工业测控和自动化工程运用的首要商场,并成为国内单片机运用领域中的干流机型。
MCS-51单片机的并行口有P0、P1、P2和P3,因为P0口是地址/数据总线口,P2口是高8位地址线,P3口具有第二功用,这样,真实可以作为双向I/O口运用的就只有P1口了。这在大多数运用中是不行的,因而,大部分MCS-51单片机运用体系规划都不行避免的需求对P0口进行扩展。
因为MCS-51单片机的外部RAM和I/O口是一致编址的,因而,可以把单片机外部64K字节RAM空间的一部分作为扩展外围I/O口的地址空间。这样,单片机就可以像拜访外部RAM存储器单元那样拜访外部的P0口接口芯片,以对P0口进行读/写操作。用于P0口扩展的专用芯片许多。如8255可编程并行P0口扩展芯片、8155可编程并行P0口扩展芯片等。本文要点介绍选用具有三态缓冲的74HC244芯片和输出带锁存的74HC377芯片对P0口进行的并行扩展的具体办法。
1 输入接口的扩展
MCS-51单片机的数据总线是一种共用总线,不能被独占运用,这就要求接在上面的芯片有必要具有“三态”功用,因而扩展输入接口实践上便是要找一个可以用于操控且具有三态输出的芯片。以便在输入设备被选通时,它能使输入设备的数据线和单片机的数据总线直接接通;而当输入设备没有被选通时,它又能阻隔数据源和数据总线(即三态缓冲器为高阻抗状况)。
1.1 74HC2244芯片的功用
假如输入的数据可以坚持比较长的时刻(比方键盘),简略输入接口扩展一般运用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。74HC244芯片的引脚摆放如图1所示。
74HC244芯片内部共有两个四位三态缓冲器,运用时可别离以1C和2G作为它们的选通作业信号。当1C和2G都为低电平时,输出端Y和输入端A状况相同;当1G和2G都为高电平时,输出呈高阻态。
1.2 运用74HC244芯片扩展输入接口
图2是选用74HC2244芯片进行输入接口扩展的原理电路,图3是读P0口的时序。由图3可以看出,当P2.7和RD同为低电平时,74HC2244才能将输入端的数据送到单片机的P0口。其间,P2.7决议了74HC244的地址,0000H-7FFFH(共32K)地址都可以拜访这个单元,这便是用线选法所带来的副作用。一般可选择其间的最高地址作为这个芯片的地址来写程序,如这个芯片的地址是7FFFH。但这仅仅是一种习气,并不是规则,当然也彻底可以用0000H作为这个芯片的地址。当确认了地址之后,其接口的输入操作程序如下:
MOV DPTR,#7FFFH
MOVX A,@DPTR
其间MOVX类指令是MCS-5l单片机专用于对外部RAM进行操作的指令。因为外部I/O与外部RAM是同一接口,所以一般运用这条指令对外部I/O进行操作。一旦履行到MOVX类指令,单片机就会在RD或WR(依据输入仍是输出指令)引脚发生一个下降沿,这个下降沿的波形与P2.7相或,则会在或门的输出口也发生一个下降沿,这个下降沿将使74HC244的输出与输入接通,这样,输入设备的数据就可以被MCS-51单片机从总线上读取。
需求阐明的是,74HC244是不带锁存的,因而,假如输人设备供给的数据时刻比较短,那么就要用带锁存的芯片进行扩展,如74HC373,74HC573等。
2 输出接口的扩展
因为单片机的数据总线是为各个芯片服务的,一般不行能为一个输出而一向坚持一种状况,因而,输出接口的首要功用是进行数据坚持(即数据锁存),也便是说,输出接口的扩展实践上便是扩展锁存器。
2.1 74HC377芯片的功用
输出接口扩展一般用74HC377芯片来完成。该芯片是一个带答应端的8D锁存器,其芯片的引脚如图4所示,各相关引脚的功用如下:
◇D0~D7为8位数据输入端;
◇Q0~Q7为8位数据输出端;
◇G为使能操控端;
◇CLK为时钟信号,上升沿锁存数据。
表1所列是该芯片的真值表。
2.2 运用74HC377芯片扩展输出接口
图5是运用74HC377进行输出接口扩展的电路衔接图。图中,74HC377的G端与P2.6口相连,其地址是x0xxxxxxB,假如把“x”全置为1,则为1011 1111 1111 1111B,这样,0BFFFH便是该芯片的地址了。
因为MCS-51的WR是与74HC377的CLK端相连的,当WR信号由低变高时,数据总线上的数据为输出数据,而此刻P2.6输出低电平,G有用,因而,数据就被锁存。其相关程序如下:
MOV DPTR,#0BFFFH
MOV A,#DATA
MOVX @DPTR,A
此外,运用74HC373芯片、74HC573芯片也可以进行P0口的扩展。
3 接口扩展实例
在实践的运用体系中,或许需求一起扩展多个I/O口,以满意运用体系的需求。而各个输入、输出扩展I/O芯片应经过74LS138进行“全地址”译码选通,然后分时复用数据总线DB (DataBus)。为了避免过渡搅扰对译码选通逻辑形成的影响,单片机体系所用的外围芯片一般均设为双步选通办法,即除了装备译码选通端外,还应装备使能选通端。而74HC244芯片自身没有显着的片选和读/写操控端,规划时一般选用译码和读操控信号来一起操控74HC244的CS,然后有用地按捺输入/输出数据信息的过渡搅扰。
此电路输进口扩展选用2个74HC244。其输入端接键盘或其它数字信号;而输出口扩展则选用2个74HC377,以用于操控数码管、发光二极管、继电器等。其具体电路原理图如图6所示。
其部分代码如下:
51单片机的数据/地址/操控总线端口都有必定的负载才能,P0口可驱动8个TTL门电路,P1口、P2口和P3口可驱动4个TTL门电路。负载超越上述规则一般应加驱动器。总线驱动器可以运用TTL型三态缓冲门电路74HC244、74HC245。别的,在扩展口线的一起,还应统筹装备总线驱动器,留意总线负载平衡的装备。在总线上恰当装置上拉电阻可以进步总线信号传输的牢靠性。
此外,一个体系或许因为存在各种搅扰及不安稳要素而呈现毛病,为处理这一问题,规划时也可以从软件规划方面采纳一些办法。
4 结束语
与其它51单片机P0口扩展比较,本文介绍的输入/输出口的P0并行扩展办法,可以很便利的完成P0口的并行扩展。所规划的接口扩展电路已成功用于实践体系中。实践运转标明,选用该办法扩展的P0口体系可以牢靠、安稳的运转。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/263010.html