本设计采用单片机作为数据处理与控制单元,为了进行数据处理,通过光敏电阻来感应光强弱变化,经过ADC0804转换,直接将数字信号送入到单片机中进行数据处理。单片机数据处理之后,将光照强度发送到LED进行显示,并通过和LED进行声光。
整体电路主要由51单片机最小系统,数码管显示模块,光线检测模块,0804模数转换模块及按键模块;原理图如图:
Protues仿真图如下:
(1)采用四位数码管显示光线值;
(2)采用光敏电阻检测光线,ADC0804模数转换芯片将模拟量转换成数字量;
(3)光强分0-600等级。
主程序源码
unsigned char read()
{
unsigned char r;
P0=0xff;
_nop_();
adc_rd=0;
_nop_();
r=P0;
_nop_();
adc_rd=1;
return(r);
}
void fw(unsigned char dat)
{
unsigned int i;
i=dat*2.353;
Disbuf[0]=i/100;
Disbuf[1]=(i%100)/10;
Disbuf[2]=(i%100)%10;
}
main()
{
unsigned char p;
while(1)
{
adc();
display();
fw(read());
for(p=0;p<20;p++) display();
}
}
资料链接:https://pan.baidu.com/s/1Iim7wf5gtHdUVb4YAl7Erg?pwd=7fru
提取码:7fru