标题: 51单片机检测高电平输入 [打印本页]

作者: k12345    时间: 2024-5-30 16:42
标题: 51单片机检测高电平输入
楼主用的是stc89c52单片机,现在想用RF模块实现无线通信。当P32引脚从接收端接收到高电平(这个高电平是5V),单片机会控制后级电路完成下一个任务。
但是我发现51是默认高电平的,无法成功识别到这个高电平。请问该如何解决呢?
之前已经尝试过在代码中先置0了,以及先令引脚为1。但都没效果。
楼主是学32的,没有51的基础,望见谅。



作者: xiaobendan001    时间: 2024-5-30 17:57
接一个下拉电阻
作者: lkc8210    时间: 2024-5-30 21:06
加反相器或加NPN管拉低引脚
作者: aking991    时间: 2024-5-31 08:22
加一个NPN或是光耦进行反向检测,通过这电路转换,那边输出高电平时,单片机得到的是低电平,反之,这样就可检测到相应状态了
作者: 开玩笑19    时间: 2024-5-31 10:43
代码中置0置1没效果,说明程序对这个引脚没有配置到位,是否有初始化?
作者: LaoYuTou    时间: 2024-5-31 16:50
看看逻辑是不是对的,模块的输出是不是正常,如果不对端口初始化,默认情况单片机的IO是可以被外界影响改变的,也就是说P32不做初始化是准双向,模块给他高他就是高,模块给他是低他就是低。
作者: fosu顽童    时间: 2024-6-1 09:26
stc89c52单片机上电默认I/O口高电平;解决办法之一是:增加下拉电阻,1K-4.7K左右。
作者: rayin    时间: 2024-6-1 10:43
设置STC51单片机的IO口为准双向口, 输出IO=1, 然后就能读IO口的高低电平了.




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1