本文以51单片机按键电路为例,分析单片机准双向IO口的输入输出是电路工作的过程。
先说结论
准双向I/O:
输出:可以输出低电平,也可以输出高电平(输出高电平时,驱动能力不强。)
输入:可以读取高电平也可以读取低电平。
内部输入:
在分析内部输入时不用考虑红色方框的内部电路(IO口直接接入内部输入),
当按键未按下时+5V直接连入内部输入,所以向内部IO口输入1;
而当按键按下后内部输入直接接地,所以向内部IO口输入0。
内部输出:
当内部输入1后,过非门到基极为0,基极与射极相同电平,故三极管中无电流,VCC直接连接到IO,IO口输出为1;
当内部输入0后,过非门到基极为1,基极与射极存在电压差,三极管导通,IO口接地,故IO口输出为0。
补充:
在C51单片机中,P1 P2 P3都采用准双向IO口的电路,而P0采用的漏极开路,所以方框外的上拉电阻用处不同,对P1 P2 P3而言上拉电阻主要增加了单片机的驱动能力;而对P0口而言单片机内部没有上拉电阻,所以外部的上拉电阻是为了驱动单片机。