首页 理论教育 MCS-51系列单片机I/O并行接口应用案例

MCS-51系列单片机I/O并行接口应用案例

时间:2023-10-22 理论教育 版权反馈
【摘要】:鉴于这2个通道电路主要用于片外访问,因而实际上P0与P2接口电路是不能被用户再安排其他工作的,这一点请读者记住。与P1、P2、P3接口相比,P0接口的驱动能力较大,每位可驱动8个LSTTL输入,而P1、P2、P3接口的每一位的驱动能力,只有P0接口的一半。

MCS-51系列单片机I/O并行接口应用案例

1.负载能力

P0接口的输出能驱动8个LSTTL电路(1个LSTTL电路的驱动电流:低电平时为0.36mA、高电平时为20μA),作为通用I/O接口使用时,应外接上拉电阻。P1、P2、P3接口的输出能驱动4个LSTTL电路。当实际负载超过时,应加接驱动器。

2.扩展系统

P0与P2接口配合工作实现片外ROM与RAM访问和其他接口电路的扩展。

1)P0接口以分时复用的形式来传送外部存储器的低8位地址和读/写数据。

2)P2接口的功能是用于传送外部存储器的高8位地址。

鉴于这2个通道电路主要用于片外访问,因而实际上P0与P2接口电路是不能被用户再安排其他工作的,这一点请读者记住。

3.I/O并行接口应用方式

MCS-51系列单片机的4个并行接口有以下三种数据I/O接口方式。

(1)输出数据方式 在这种方式下,可采用指令的种类有MOV、ANL、ORL,这几类指令都可以用内部传送数据的五种方式。如:

978-7-111-46831-8-Chapter07-5.jpg

如第6章6.1.4节的实例中在初始化段将所有灯关闭时使用的指令为“PO10:MOV P1,#7FH”。

(2)读接口锁存器数据方式 采用此方式的通常是ANL、ORL、XRL等“读—修改—写”指令。

“读—修改—写”这类指令的操作情况是:先读输出锁存器的状态,然后按指令要求对该读入的数据进行修改,最后把修改结果写入接口锁存器,输出到引脚上。例如执行逻辑或指令“ORL P0,#0F”的操作是先把接口锁存器中的数据读入CPU,与立即数0FH进行逻辑或操作,最后把结果写回到接口锁存器。“读—修改—写”这类指令之所以没有直接读引脚上的数据而要读锁存器Q端上的数据,是为了避免可能错读引脚上的电平信号。例如本来P0接口的输出锁存器和引脚上都是“1”,如果引脚的输出负载恰是一个晶体管的基级,则会出现导通了的晶体管把引脚的高电平拉低,这样直接读引脚就会把本来的“1”误读为“0”,从锁存器Q端读取,就不会发生这样的错误。

(3)读(输入)接口引脚数据 在作为输入口读接口引脚数据使用时,必须首先向接口锁存器写入“1”,这是因为当进行读引脚操作时,如果V2是导通的,那么不论引脚上的输入状态如何,都会变为低电平。为了正确读入引脚上的逻辑电平,先要向锁存器写1,使其Q端为“0”,V2截止,该引脚成为高阻抗的输入端。(www.xing528.com)

例如:“MOV P3,#10H”“SET P3.4”“ORL P3,#10H”“JNB P3.4,P011”等。

在实际应用中,常用P1~P3接口驱动LED发光二极管,下面来讨论P1~P3接口与LED发光二极管的驱动连接问题。与P1、P2、P3接口相比,P0接口的驱动能力较大,每位可驱动8个LSTTL输入,而P1、P2、P3接口的每一位的驱动能力,只有P0接口的一半。当P0接口的某位为高电平时,可提供400μA的电流;当P0接口的某位为低电平(0.45V)时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以任一个接口要想获得较大的驱动能力,只能用低电平输出。

例如:用4个发光二极管对应显示4个开关的开合状态。(如P1.0合则P1.4亮)。

1)无条件传送方式:指示灯立即反映开关状态,如图7-3所示。

参考程序如下:

978-7-111-46831-8-Chapter07-6.jpg

2)中断传送方式:先设好开关状态,然后发出中断请求信号,改变指示灯亮灭状态,如图7-4所示。

参考程序如下:

978-7-111-46831-8-Chapter07-7.jpg

978-7-111-46831-8-Chapter07-8.jpg

978-7-111-46831-8-Chapter07-9.jpg

图7-3 无条件传送方式接线图

978-7-111-46831-8-Chapter07-10.jpg

图7-4 中断方式接线图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈