想利用光敏三极管控制LED,有光照射的时候LED灭,无光照射的时候LED亮,如何才能实现功能?
时间:10-02
整理:3721RD
点击:
单片机新手,想利用光敏三极管控制LED,有光照射的时候LED灭,无光照射的时候LED亮。
控制电路如下所示:
程序如下所示:
#include<reg52.h>
sbit sig=P2^2;
sbit led1=P1^0;
void main()
{
if(sig==1) led1=1;
else led1=0;
}
求大神帮忙看一下 哪里出错了 如何才能实现功能
2 那就是你硬件的问题了!
控制电路如下所示:
程序如下所示:
#include<reg52.h>
sbit sig=P2^2;
sbit led1=P1^0;
void main()
{
if(sig==1) led1=1;
else led1=0;
}
求大神帮忙看一下 哪里出错了 如何才能实现功能
这个很简单的呀~~~~~很简单~~~~~很简单!
1 从程序上看,运行没一点错。见下图:
2 那就是你硬件的问题了!
不好意思电路图刚刚没有贴上

怎么不贴出完整的电路图呢
while(true)在哪?
主函数里面的while(1);
呢?不亮的话,在加个延时
你不来个while,它怎么亮给你看?
这是完整电路。

可以亮但是把光遮住LED不能灭 这是怎么回事
把输入端拉高或拉低,看看有没有变化。
你那个三极管就是光敏三极管?
是的 ALTIUM DESIGNER里面没有光敏三极管 拿普通三极管代替一下
可以亮 但是不能控制LED灭 请教这是怎么回事
好像你这样写的程序 p2.2为1
我不懂你的意思 你是说P2.2一直为1?
也就是说你这个p2.2接口 根本没有变化
好像是这样一直没变化 请教一下要怎么改
不是很明白 具体要怎么改
你把P2,2端口电平接上高电位,然后再接上地电位,试试有没有变化,如果没有变化就是你的电路和程序有问题
这么简单的任务居然要用单片 用LM358就能搞定
