当前位置:首页 > 问问

51单片机光敏电阻能做什么 【51单片机光敏电阻应用实例】

1、简介

51单片机是一种低成本、高性能、广泛应用的单片机。光敏电阻是指当外界照度变化时,其电阻值也随之变化。51单片机结合光敏电阻可以实现许多有趣的功能。

2、光敏电阻检测

51单片机结合光敏电阻可以实现光敏电阻值的检测。光敏电阻的电阻值随着外界照度的变化而变化,通过ADC模拟转换,可以将光敏电阻的电阻值转换为数字量,然后通过程序对数字量进行处理,实现各种功能,如光敏报警、亮度自适应调节等。

可以通过下面代码实现对光敏电阻值的检测:

unsigned int adc_value;  //定义ADC转换结果变量

sbit light = P2^0; //定义控制LED的IO口

void main( ){

while( 1 ){

adc_value=get_adc(0); //读取ADC转换结果

if( adc_value>700 ) //如果光敏电阻值大于700

light=0; //LED灯熄灭

else

light=1; //LED灯亮起

}

}

3、光敏电阻控制LED灯

通过光敏电阻检测,可以控制LED灯的亮度。在光线较暗时,LED灯亮度可以适当增大,使人眼感受到更好的亮度效果。在光线较亮时,则可以减小LED灯的亮度,节省能量,避免对人眼的刺激。

可以通过下面代码实现对LED灯亮度的自适应调节:

unsigned int adc_value;  //定义ADC转换结果变量

void main( ){

while( 1 ){

adc_value=get_adc(0); //读取ADC转换结果

P2=256-adc_value; //控制LED亮度

}

}

4、光敏电阻控制舵机转动

光敏电阻也可以用来控制舵机转动。将光敏电阻与P3.0口相连,舵机与P1.0口相连,通过测量光敏电阻的电阻值,我们可以控制舵机的转动,从而实现光线控制舵机转动的功能。

可以通过下面代码实现对舵机转动的控制:

unsigned int adc_value;  //定义ADC转换结果变量

void main( ){

while( 1 ){

adc_value=get_adc(0); //读取ADC转换结果

P1=256-adc_value/4; //控制舵机转动

}

}
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章