51单片机光照强度检测自动路灯开关仿真( proteus仿真+程序+报告+讲解视频)

51单片机光照强度检测自动路灯开关仿真( proteus仿真+程序+报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0052

讲解视频

基于51单片机的光照检测自动路灯控制仿真设计( proteus仿真+程序+报告+讲解视频)

1.主要功能:

基于51单片机的万年历时钟仿真设计

基于51单片机的路灯自动开关控制仿真设计

1、测量环境光强度,如果光照过低,开灯

2、可以通过按键设置阀值,光照低于该阀值表示光照过低

3、LCD显示光照和阀值

4、环境亮度越低,灯光亮度越高

需注意仿真中51单片机芯片是通用的,AT89C51,AT89C52都是51单片机的具体型号,内核是兼容的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序也是一样的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

以下为本设计资料展示图:

2.仿真

开始仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后LCD1602显示检测到光照强度和默认光照阈值。当前检测到的光照强度是3lx,接近于0,PWM的占空比最小,PNP三极管低电平导通,经过PNP三极管反向后LED灯的亮度接近最亮。

img

环境光照强度通过光敏电阻的值改变,img上下箭头分别调低和调高光敏电阻的阻值。

img

通过点击光敏电阻的阻值调整,检测到环境光照强度93Lx,接近于阈值。越接近阈值,单片机控制输出的PWM占空比,PNP三极管低电平导通,PWM经过PNP三极管反向后LED灯的亮度越暗。

img

高于阈值,单片机控制输出的PWM占空比最大达100%,PNP三极管低电平导通,PWM经过PNP三极管反向后LED灯完全熄灭。

以上仿真结果均符合设计要求。

3. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。

在这里插入图片描述

main函数部分代码

#include "reg51.h"
#include "lcd1602.h"
#include"ADC0809.h"
sbit lamp=P2^3;//灯
sbit k1=P3^6;//按钮
sbit k2=P3^7;

uchar hang1[]="Ligh:000Lx";//显存
uchar hang2[]=" Lim:000Lx";
uint light=0,limit=100;//光强
uint time=0;
uint pwm=0,sec=0;
//主函数
void main()
{
    
    
	init_1602();
	adc0809_init();
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
    
    
		if(!k1)//加
		{
    
    
			limit++;
			while(!k1);
		}
		if(!k2)//减
		{
    
    
			limit--;
			while(!k2);
		}
		//PWM
	if(sec<99)
		sec++;
	else
		sec=1;
	if(pwm<sec)
		lamp=1;
	else
		lamp=0;
	}
}
//定时器0中断
void Timer0() interrupt 1
{
    
    
	if(time<10)//定时0.5s
		time++;
	else
	{
    
    
		time=0;						  
		light=adc0809_read();//测光
		hang1[5]=light/100+0x30;
		hang1[6]=light%100/10+0x30;
		hang1[7]=light%10+0x30;
		hang2[5]=limit/100+0x30;
		hang2[6]=limit%100/10+0x30;
		hang2[7]=limit%10+0x30;
		write_string(1,0,hang1);
		write_string(2,0,hang2);
		
		if(light>limit)//功能1
		{
    
    
			pwm=0;
		}
		else
		{
    
    	
			pwm=99-light*100/limit;//输出PWM占空比,光照强度越低,pwm占空比越大
		}
	}
	TH0=0X3C;
	TL0=0XB0;
}

4. 设计报告

6308字设计报告,内容包括引言,硬件设计、软件设计、软硬件框图、调试、总结和展望等

img

5. 设计资料内容清单

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1、仿真图

2、程序源码

3、开题报告

3、原理图

5、功能要求

6、元器件清单

7、设计报告

8、软硬件流程框图

9、讲解视频

Altium Designer 软件资料

filename.bat

KEIL软件资料

Proteus软件资料

单片机学习资料

目录清单.txt

答辩技巧

设计报告常用描述

鼠标双击打开查找更多51 STM32单片机课程毕业设计.url

img

资料下载链接(可点击):

猜你喜欢

转载自blog.csdn.net/weixin_52733843/article/details/133074784