首页 理论教育 单片机I/O接口输出与驱动实例

单片机I/O接口输出与驱动实例

时间:2023-10-23 理论教育 版权反馈
【摘要】:单片机对外部器件的控制或接受外部器件控制,都是通过I/O接口实现的。虽然单片机的I/O接口低电平驱动能力比较强,但负载电流过大会引起单片机过热,从而使系统稳定性能下降。由于单片机在启动时I/O接口输出为高电平,为避免误操作,晶体管一般采用PNP型。

单片机I/O接口输出与驱动实例

单片机对外部器件的控制或接受外部器件控制,都是通过I/O接口实现的。采用DIP 40封装的MCS-51系列单片机有P0、P1、P2、P34组共32个双向输入输出(I/O)端口,每组8个接口与各自对应的锁存器、输出驱动器和输入缓冲器连接,如P0接口与单片机内部的P0寄存器连接,P0.0接口与P0寄存器的P0.0连接。在具有片外扩展存储器的系统中,P2接口作为高8位地址线,P0接口分时用于低8位地址线和双向数据总线。

1.I/O接口直接驱动负载

MCS-51系列单片机的4组I/O接口内部电路有很大差别,其中P1、P2和P3采用场效应晶体管互补对称输出方式,输出的高低电平与TTL电平兼容;P0接口采用OD门输出,高电平输出时没有拉出电流,因此不具有高电平驱动能力。但P0接口输出低电平时,灌入电流达到5~20mA,具有较强的低电平驱动能力,在不加上拉电阻的情况下,P0可以直接驱动小功率的负载。

978-7-111-43463-4-Chapter03-10.jpg

图3-1 P0接口驱动LED电路

图3-1a所示的电路是P0.0接口低电平驱动LED电路。直径3~5mm红色或橙色LED,正常工作电流一般在10mA以下,在使用中为了保证LED安全工作,电路中LED需要加限流电阻R1保护,R1取值一般为几百到几千欧姆

由于P0输出漏极与电源正极之间开路,即使通过编程让P0输出高电平,但是实际只能输出低电平。如果利用高电平驱动门电路或LED这样的小功率负载,P0必须加上拉电阻。图3-1b是单片机P0.0高电平驱动LED电路,P0.0接口与电源之间接有一个电阻R1。当P0.0接口输出低电平时,LED的正极为低电平,P0.0接口吸收了从电源正极出发经过电阻的电流,此时LED不亮;当P0接口设置为高电平时,经过电阻R1的电流无法进入P0.0接口,只能通过LED,此时LED点亮。这里所指的高电平为电源正极+5V电压,低电平为0V或地。(www.xing528.com)

根据管型和材料及功率不同,LED工作电流差别比较大。一般作为电平显示常用的LED工作电流很小,单片机的I/O接口可以直接驱动;对于大功率LED,比如超高亮LED、大功率白光LED、红外LED、交通灯以及LED阵列汉字屏等,驱动电流可达几百毫安甚至更大,单片机如果驱动这些器件时,需要利用缓冲器间接驱动。

2.I/O间接驱动

继电器晶闸管蜂鸣器数码管电动机等都是单片机外部常用的受控部件。虽然单片机的I/O接口低电平驱动能力比较强,但负载电流过大会引起单片机过热,从而使系统稳定性能下降。为了提高系统的控制稳定性,较大电流的负载驱动,一般采用间接驱动方式。图3-2a所示的电路为蜂鸣器驱动电路,图3-2b为继电器驱动电路,图3-2c为采用光耦合器、继电器光隔离驱动。在这些电路的基础上,大功率负载可以通过继电器直接控制,交流负载可以通过光电晶闸管控制。由于单片机在启动时I/O接口输出为高电平,为避免误操作,晶体管一般采用PNP型。晶体管基极限流电阻阻值大小选择,以满足端口输出低电平时能使NPN型晶体管工作在饱和区为准。

978-7-111-43463-4-Chapter03-11.jpg

图3-2 负载间接驱动

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

我要反馈