微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 想利用光敏三极管控制LED,有光照射的时候LED灭,无光照射的时候LED亮,如何才能实现功能?

想利用光敏三极管控制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;
}
求大神帮忙看一下 哪里出错了 如何才能实现功能

这个很简单的呀~~~~~很简单~~~~~很简单!
1    从程序上看,运行没一点错。见下图:


2    那就是你硬件的问题了!

不好意思电路图刚刚没有贴上


怎么不贴出完整的电路图呢

while(true)在哪?

主函数里面的while(1);
呢?不亮的话,在加个延时

你不来个while,它怎么亮给你看?

这是完整电路。


可以亮但是把光遮住LED不能灭 这是怎么回事

把输入端拉高或拉低,看看有没有变化。

你那个三极管就是光敏三极管?

是的 ALTIUM DESIGNER里面没有光敏三极管 拿普通三极管代替一下

可以亮 但是不能控制LED灭 请教这是怎么回事

好像你这样写的程序 p2.2为1

我不懂你的意思 你是说P2.2一直为1?

也就是说你这个p2.2接口 根本没有变化

好像是这样一直没变化 请教一下要怎么改

不是很明白 具体要怎么改

你把P2,2端口电平接上高电位,然后再接上地电位,试试有没有变化,如果没有变化就是你的电路和程序有问题

这么简单的任务居然要用单片 用LM358就能搞定

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top