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
上一篇:MCS-51单片机控制跑马灯的三种方法
下一篇:51单片机的四种工作模式怎么去设置
设计资源 培训 开发板 精华推荐
- tps40192 同步buck
- DC2024A-B,用于 LTC4282 高电流热插拔控制器的演示板,具有 I2C 兼容监控功能
- 具有 400mA 突发模式操作、2.25MHz 同步降压型稳压器的 LTC3621IDCB-5 5Vout 的典型应用
- LT1573 的典型应用 - 低压差稳压器驱动器
- MC78M05 三端0.5A正固定输出稳压器典型应用
- ATtiny85 TinyFMradio
- 5V 至 5V 转换器适合 0.1in2
- AD5624R 四通道、12 位 nanoDAC 的典型应用
- MAXREFDES1150:智能药瓶
- 用于简单时钟振荡器的 NCP301LSN40T1 4V 电压检测器的典型应用