MCS-51单片机并行P2口的功能及使用方法

控制/MCU

1876人已加入

描述

MCS-51系列单片机并行P2口也有两种功能,对于内部有程序存贮器的单片机(如定制的8051),P2口可以作为输入口或输出口使用,直接连接输入/输出设备;也可以作为系统扩展的地址总线口,输出高8位地址A8~A15。对于内部没有程序存贮器的单片机,必须外接程序存贮器,一般情况下P2口只能作为系统扩展的高8位地址总线口,而不能作为外部设备的输入/输出口。

1、P2口的输出驱动器上有一个多路电子开关(见图5-1(c)),当输出驱动器转接至P2口锁存器的Q端时,P2口作为第一功能输入 /输出线,这时P2口的结构和P1口相似,其功能和使用方法也和P1口相同。

2、当输出驱动器转接至地址时,P2口作为地址总线口,引脚状态由所输出的地址确定。

3、 CPU访问外部的程序存贮器时,P2口输出程序存贮器的高8位地址A8~A15,该地址来源于内部的程序计数器PC的高8位;

4、当CPU以16位地址指针DPTR访问外部RAM/IO的时候,P2口输出的地址来源于DPH。

P2口操作:

1、对于内部有程序存贮器的单片机所构成的基本系统(如8751或定制的8051),既不扩展程序存贮器,也不扩展RAM I/O 口,这时P2口作为通用I/O口使用。

XRL P2 ,#1 ;P2.0取反

CPL P2.0 ;P2.0取反

2、对于只扩展少量外部RAM I/O口,其地址范围在0~255之间,P2 口也可以作为I/O口使用。对外部RAM I/O口操作,只能使用R0或R1作地址指针,不能用DPTR作址址指针。

将33H写入外部RAM的50H单元,CPU执行下面的程序段不影响P2口输出状态,因而是正确的:

MOVR0 ,#50H

MOV A,#33H

MOVX @R0,A

CPU执行下面的程序段将影响P2口的输出状态,因而是错误的;

MOV DPTR,#50H

MOV A,#33H

MOVX @DTPR ,A

3、对于既扩展程序存贮器,又扩展外部RAM/IO口的系统,P2口不能作为I/O口使用,对外部RAM/IO口操作则可以做DPTR、P2 R0、P2 R1三个16位地址指针的高8位。

将33H写入外部RAM的8200H,下面的程序段都是正确的:

(1)MOVP2,#82H

MOVR0,#0

MOV A,#33H

MOVX @R0 ,A

(2)MOV P2,#82H

MOV R1,#0

MOV A,#33H

MOVX @R1,A

(3)MOV DPTR,#8200H

MOV A,#33H

MOVX @DPTR,A

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分