位置:51电子网 » 技术资料 » 测试测量

MCS-51单片机P0口扩展技术研究

发布时间:2008/6/3 0:00:00 访问次数:634

        

    

     屈年鹤,林成武,宋同富

    

    引言

    

    在单片机家族的众多成员中,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 输出接口的扩展

&nb

        

    

     屈年鹤,林成武,宋同富

    

    引言

    

    在单片机家族的众多成员中,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 输出接口的扩展

&nb

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!