打印
[51单片机]

急急...关于单片机读取I/O口的的问题!

[复制链接]
1474|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
me602111258|  楼主 | 2014-3-10 20:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 me602111258 于 2014-3-10 20:36 编辑

其中一部分用光耦EL817,输出电压大约4.8V左右,我想用51单片机读取这个高电平,可是接到单片机端口后没反应,测得该端口电压为0,...各种猜想实验都不行,求大神帮解~

下面是程序调试,光耦输出接P2^0..蜂鸣器是P2^1,光耦输出高电平,蜂鸣器响
#include<reg52.h>
sbit d=P2^0;
sbit di=P2^1;
void main()
{
   d=0;
  while(1)
  {
  if(d==1)
  di=0;
  else di=1;
}

}

相关帖子

沙发
ayb_ice| | 2014-3-10 20:23 | 只看该作者
不是说有电压吗,
端口没有输出低电平吧

使用特权

评论回复
板凳
me602111258|  楼主 | 2014-3-10 20:29 | 只看该作者
ayb_ice 发表于 2014-3-10 20:23
不是说有电压吗,
端口没有输出低电平吧

光耦输出端电压4.8...然后我用的杜邦线转接到I/O口,写程序调试不能用,用万用测单片机端口电压为0...请问那地方有误区啊我??

使用特权

评论回复
地板
ningling_21| | 2014-3-10 20:53 | 只看该作者
单片机IO端口有时候会因为误操作而烧坏,所以必要时更换芯片试试...

使用特权

评论回复
5
as564335sa| | 2014-3-10 22:44 | 只看该作者
把d=0去掉试试,也可能是单片机把光耦拉低了

使用特权

评论回复
6
ZG11211| | 2014-3-10 23:25 | 只看该作者
你的d都=0了,你还想单片机造反么?

使用特权

评论回复
7
天风立马| | 2014-3-11 09:15 | 只看该作者
ZG11211 发表于 2014-3-10 23:25
你的d都=0了,你还想单片机造反么?

哈哈

使用特权

评论回复
8
four_zhg| | 2014-3-11 09:31 | 只看该作者
你用的什么单片机,有的单片机接光耦后输入检测不到,必须配置为高阻输入状态

使用特权

评论回复
9
coody| | 2014-3-11 11:32 | 只看该作者
单独测试光耦输出和IO的特性看看是否匹配或异常

使用特权

评论回复
10
Auto_lee| | 2014-3-11 13:49 | 只看该作者
阻抗匹配?在光耦输出端加一个阻值大的下拉电阻试试··

使用特权

评论回复
11
断尘笑| | 2014-3-11 20:07 | 只看该作者
6L 好幽默啊!~

使用特权

评论回复
12
liu1028tao| | 2014-3-12 08:03 | 只看该作者
楼主,单片机IO口用做输入的时候是不能拉低的,不然真的是要它造反的节奏了

使用特权

评论回复
13
diy1997| | 2014-3-12 15:50 | 只看该作者
一般光耦和单片机连接都是按输出低电平的接法的,这样有信号时拉低电平,单片机
if (d==0)就可以了.
如果要接输出高电平,把IO设为高阻,下拉电阻(也就是光耦负载)选好.

使用特权

评论回复
14
ad25fgh30| | 2014-3-12 15:58 | 只看该作者
楼主你这是把io口直接杀了的节奏啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

0

粉丝