一、资料内容(私信)
- (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);
}