本设计由STC89C52单片机电路+光敏电阻模块+4位高亮LED灯模块+电源电路组成。
1、白天灯不亮,晚上灯亮。
2、光照的阈值可以通过光敏电阻模块上的电位器调节。
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<stdio.h>
#include "delay.h"
sbit A=P1^0; //引脚定义
sbit LED=P2^1;
unsigned long time_20ms=0; //定时器计数
void Init_Timer0(void);
void main (void)
{
Init_Timer0(); //定时器0初始化
DelayMs(200); //延时有助于稳定
while(1)
{
if(A==1) //检测到天黑
{
LED=0; //打开灯
}
}
}
void Init_Timer0(void)
{
TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
TH0=(65536-20000)/256; //重新赋值 20ms
TL0=(65536-20000)%256;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}
void Timer0_isr(void) int