假设用51单片机IO口作输入,检测某传感器输出信号:
(用C语言)
1、必须先将IO口置高,无论传感器是高电平有效还是低电平有效,直接检测IO口的是否出现传感器的输出电平就OK。
2、还是:
先置高,若传感器输出低电平有效,则直接检测IO口是否出现低电平;
先置高,若传感器输出高电平有效,则IO口需置低,然后检测是否出现高电平。
无上拉电阻和有上拉电阻的IO口是一样设置吗?还是说有不同?
追答一样,都要先将IO口置高
追问P0口无上拉电阻,先置高,成为高阻态,可以直接检测传感器输出电平,这可以理解。。但是其他有上拉电阻的IO口置高后就是一直是高电平,这里就不理解了
追答P1,P2,P3是准双向口,内部有上拉,置高后才能作为输入用,置高其实是内部的弱上拉电阻拉高的,可以被外部拉为低电平。