求个单片机光控灯的程序啊,光信号用光敏电阻和LM358处理后给P0.1引脚,控制灯亮的用P0.7引脚,求个c语言

2024-11-17 06:40:04
推荐回答(1个)
回答1:

只能给点建议,按你说的意思,貌似光型号出现时(或光信号达到某种强度时),单片机的P0.7口获得一个信号(高电平或低电平),通过程序控制使P0.7口的LED亮、灭;LM358应该接成电压比较器电路,当光电信号高于基准电压时,LM358输出高电平,于是有:(设MCU为AT89C51,P0口相应I/O端接有10K的上拉电阻)
#include
sbit LED=P0 ^ 7; //点亮LED,低电平使能
sbit g_R=P0 ^ 1; //光电开关量输入
void Delay (unsigned int a)
{
unsigned int i;
while( a-- != 0)
{for(i = 0; i < 600; i++);}
}
void main (void)
{
LED =1;
while(1)
{
if(g_R == 1)
{
Delay(20);//稍待稳定
if(g_R == 1)//再次查询
LED = 0;
}
else
{
LED=1;
}
}
}