单片机的I/0口输入和输出,1和0是怎么回事。

2019-07-15 20:27发布

本帖最后由 pk670986 于 2014-3-26 21:37 编辑

本人自己编过一个时钟程序,用过中断,如不入门就不知道,但现在实习了,遇到I/0口的问题,以前编程都没注意过,我一直以为1就是输出,0就是输入,是不是?今天我百了一下,置1是输入,0是输出,那么和0,1是什么关系?一个是状态一个是电平么?电平又是怎么回事?怎么说呢,那你输出0就是低电平,接一个发光二极管会亮吧,那换成输入的话会亮吗?我也看过内部结构,什么集电极开路,输入是高阻态吗?是不是就不亮了,如果高阻态单片机怎么检测输入电平的?
如果觉得懒得解析,请告诉我知识点,等我自己看看也好。。。。谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
ntmusic
2019-07-16 09:55
作为输入端口,前提条件就是端口的状态能随外部电平变化而变化,如果外部拉低,端口应该被拉低,如果外部拉高,端口应该被拉高。再看一下51端口的结构,你会发现,如果内部将端口置0,那么端口直接被内部MOS管强拉到0电位,这时外部端口即使接了高电平也不会被拉高(相当于端口被一根线接到了地,你怎么也无法拉高地电位吧),所以此时你当然可以读端口,但读到的只会是0.但是,如果你将端口置1,那么相当于端口接了个上拉电阻,此时端口的电平是随外部信号变化而变化的,这样就能读取到0和1.所以,对于51单片机来说,为了准确读取0和1,只能先将端口置1.

一周热门 更多>