【013】【毕业设计】基于51单片机的节能路灯proteus仿真设计

​一、资料内容(私信)

  • (1)、基于51单片机的节能路灯proteus仿真设计一份;
  • (2)、基于51单片机的节能路灯proteus仿真设计keli源代码一份;
  • (3)、基于51单片机的节能路灯proteus仿真设计Altium designer 原理图一份;
  • (4)、基于51单片机的节能路灯proteus仿真与实物设计视频讲解一份;

二、设计要求

  • (1)、本次设计要求以51系列单片机为核心,设计一款节能路灯装置;
  • (2)、系统要求可以通过LCD1602模块显示相关数据;
  • (3)、能够检测当前光照强度和设定的开启照明光照强度;
  • (4)、系统可以通过按键调节光照阈值;
  • (5)、系统具有模拟热释电检测行人功能;

三、相关资料截图

图一、系统proteus仿真界面截图

图二、系统Keil源程序界面截图

图三、 系统Altium designer原理图工程文件

四、视频讲解

部分源代码:

//程序头函数
#include <reg52.h>
#include <math.h>
//显示函数
#include <display.h>
#include <intrins.h>
#include "eeprom52.h"
//宏定义
#define uint unsigned int 
#define uchar unsigned char
#define Data_ADC0809 P1
 
//管脚声明
sbit LED_R= P2^2;//红灯
sbit LED_G= P2^0;//绿灯
sbit reshidian = P2^5;//热释电
sbit san=P3^4;	 //节能灯
//ADC0809
sbit ST=P3^3;
sbit EOC=P3^6;
sbit OE=P3^2;
//按键
sbit Key1=P2^6;	 //设置键
sbit Key2=P2^7;	 //加按键
sbit Key3=P3^7;	 //减按键

bit bdata flag;	 //标志位
uchar set;		 //设置状态


//函数声明
extern uchar ADC0809();
extern void Key();

//光照强度变量
int temp=0;
int ZERO=0;
char sec=10;	  //开机初始化的时间

uchar WARNING=25; //光照阈值

void delay(uint x)
{
	uint i,j;
	for(i=0;i<x;i++)
	for(j=0;j<121;j++);
}

/******************把数据保存到单片机内部eeprom中******************/
void write_eeprom()
{
	SectorErase(0x2000);
	byte_write(0x2000, WARNING);
	byte_write(0x2001, ZERO);
	byte_write(0x2060, a_a);	
}

/******************把数据从单片机内部eeprom中读出来*****************/
void read_eeprom()
{
	WARNING   = byte_read(0x2000);
	ZERO      = byte_read(0x2001);
	a_a       = byte_read(0x2060);
}

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B站小邓子分享官

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值