基于51单片机的光照强度检测系统

一.硬件方案

        本设计采用单片机作为数据处理与控制单元,为了进行数据处理,通过光敏电阻来感应光强弱变化,经过ADC0804转换,直接将数字信号送入到单片机中进行数据处理。单片机数据处理之后,将光照强度发送到LED进行显示,并通过和LED进行声光。
        整体电路主要由51单片机最小系统,数码管显示模块,光线检测模块,0804模数转换模块及按键模块;原理图如图:

 

        Protues仿真图如下:

 

二.设计功能

(1)采用四位数码管显示光线值;
(2)采用光敏电阻检测光线,ADC0804模数转换芯片将模拟量转换成数字量;
(3)光强分0-600等级。

三.软件设计

主程序源码

unsigned char read()          //读AD转换值
 {
   unsigned char r;
   P0=0xff;                   //P0口复位
   _nop_();                      //延时
   adc_rd=0;                  //rd拉低
   _nop_();                      //延时
   r=P0;                       //读取P0口数据
   _nop_();                      //延时
   adc_rd=1;                  //rd拉高
   return(r);                  //返回读到的数据
 }
 
void fw(unsigned char dat)      //将读到的数据处理
{
 unsigned int i;
 i=dat*2.353;            //将ad数据计算得到一个介于0-600之间的数值
 Disbuf[0]=i/100;        //将数据/1000得到千位(显示的百位)
 Disbuf[1]=(i%100)/10;//将数据/100得到百位(显示的十位)
 Disbuf[2]=(i%100)%10;//将数据/10得到十位(显示的个位)
}

main()                   //主函数
 {
 unsigned char p;
  while(1)             //循环
    {
     adc();             //ad初始化
     display();           //显示函数
     fw(read());       //读到电压值处理数据
     for(p=0;p<20;p++) display();//显示函数循环20次,防止电压值跳动
    }
 }

资料链接:https://pan.baidu.com/s/1Iim7wf5gtHdUVb4YAl7Erg?pwd=7fru 
提取码:7fru

  • 11
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
本项目基于51单片机,采用光敏电阻作为光照强度检测元件,当光照强度低于一定值时,系统会发出声音或闪烁灯光进行报警。 具体实现步骤如下: 1. 硬件设计 硬件部分需要使用51单片机、光敏电阻、蜂鸣器、LED灯、电容、电阻等元器件。 将光敏电阻接入单片机的模拟输入端口,通过模拟转换器将模拟信号转换为数字信号。将蜂鸣器和LED灯分别接入单片机的输出端口,通过控制输出电平来控制报警。 2. 软件设计 软件部分需要使用Keil C编译器进行编写,主要包括以下几个功能: a. 初始化 初始化单片机的各个模块,包括模拟转换器、定时器等。 b. 光敏电阻检测 通过模拟转换器采集光敏电阻的模拟信号,并进行数字转换。根据转换后的数值判断光照强度是否低于设定值。 c. 报警控制 当光照强度低于设定值时,控制蜂鸣器发出声音或控制LED灯闪烁进行报警。 d. 延时控制 为了避免报警过于频繁,需要设置延时控制,即当系统发出报警后,在一定时间内不再重复报警。 3. 调试和测试 完成软件和硬件的设计后,需要进行调试和测试。可以通过改变光源的强度来测试系统的灵敏度和稳定性,以确保系统能够正常工作。 总之,基于51单片机光照强度检测报警系统可以应用于智能家居、工业自动化等领域,具有实用性和广泛的应用前景。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值