历史上的今天
返回首页

历史上的今天

今天是:2024年12月31日(星期二)

正在发生

2021年12月31日 | 基于51单片机的智能路灯照明控制系统

2021-12-31 来源:eefocus

硬件设计


仿真文件1: 功能如下图所示
在这里插入图片描述
原理图
在这里插入图片描述

仿真文件2:
在这里插入图片描述

在这里插入图片描述

程序设计

   /******定义头文件**************/

#include 

#include  

#include"lcd.h"

#include "ds1302.h"

/******类型重定义*************/

typedef unsigned char uchar;

typedef unsigned int  uint;

/******引脚定义***************/

sbit key_1 = P1^0; //定义4个按键

sbit key_2 = P1^1;

sbit key_3 = P1^2;

sbit key_4 = P1^3;

sbit key_5=P3^0;//手动/自动模式切换

sbit key_6=P3^1;//手动模式路灯开关


sbit led_1 = P1^4;

sbit Beep = P2^3; //定义声光报警

sbit AD_clk = P3^4; //定义ADC0832

sbit AD_do = P3^5; 

sbit AD_di = P3^5;

sbit AD_cs = P3^6; 

sbit red_sr = P3^7; //红外检测


/******定义变量***************/

char hour,min,sec; //定义小时、分钟、秒变量

char time;

char work_time_Start = 16,work_time_End = 5; //设定起始、结束时间

bit light_flag; 

uchar light; //定义光照强度

uchar light_limit; //定义光照阈值

uchar Data;

/******声明函数***************/

void delayms(unsigned int x); //延时函数

void display(); //显示

void Read_time();

void set_work_time(); //设定工作时间

void set_limit_light(); //设定光照阈值

void work(); //工作状态

void set_time(); //设定时间

void delay10ms(int d);

void InitTimer0(void); //T0定时器初始化程序

uchar AD(bit Channel); //ADC0832程序


void kongzhi()

{

if(key_6==0)

{

led_1=1;

}

else

{

led_1=0;

}

}


 void qiehaun()

 {

  if(key_5==0)

{

kongzhi();

}

else

{

work();

// if(red_sr==1)

// {

// led_1=1;

// }

// if(red_sr==0)

// {

// led_1=0;

// }

}

}

void main()

{

Beep = led_1 = 0; //声光报警,LED关闭

InitTimer0(); //T0定时器初始化程序

LcdInit(); //lcd1602初始化

while(1)

{

Ds1302ReadTime(); //读取时间

set_work_time(); //设定工作时间

set_limit_light(); //设定光照阈值

set_time();

light = AD(0); //读取ADC0832数值

display(); //显示

qiehaun();

// work(); //工作状态

}

}

void Timer0Interrupt(void) interrupt 1

{

static uchar count;

    TH0 = 0x0D8;

    TL0 = 0x0F0;

count ++;

if(count>=100)

{

time ++;

count = 0;

    }

//add your code here

}

/*******************************************************************************

* 函数名         : InitTimer0()

* 函数功能 : T0定时器初始化程序

* 输入           : 无

* 输出          : 无

*******************************************************************************/

void InitTimer0(void)

{

    TMOD = 0x01;

    TH0 = 0x0D8;

    TL0 = 0x0F0;

    EA = 0;

    ET0 = 1;

    TR0 = 1;

}

/*******************************************************************************

* 函数名         : work()

* 函数功能 : 工作状态

* 输入           : 无

* 输出          : 无

*******************************************************************************/

void work()

{

Read_time(); //转换时间

if(work_time_End!=0 && work_time_Start!=0) //工作时间已设置

{

if(hour >= work_time_Start) //当前时间大于起始时间,如起始时间为19:00,当前时间为21:00。

{

Data = AD(1);

led_1 = 1; //点亮LED

if(Data < 50) //未检测到LED点亮

Beep = 1; //声光报警

else //检测到Led点亮

Beep = 0; //停止报警

}

else if(hour < work_time_End) //当前时间小于结束时间,如结束时间为06:00,当前时间为04:00。

{

if(red_sr) //检测到人或车

{

time = 0;

light_flag = 1; //LED标志置1,开始T0定时器计时,点亮LED,10s后LED标志清零,LED熄灭

}

if(light_flag) //LED标志置1,检测到人或车

{

led_1 = 1; //点亮LED

EA = 1; //开启中断

if(time > 10) //10s后

{

light_flag = 0; //LED标志清零

EA = 0;     //关中断

time = 0; //计时清零

}

Data = AD(1);

if(Data < 50) //未检测到LED点亮

Beep = 1; //声光报警

else //检测到Led点亮

Beep = 0; //停止报警

    }

else

led_1 = 0;

}

else

{

if(light < light_limit)

{

led_1 = 1;

Data = AD(1);

if(Data < 50) //未检测到LED点亮

Beep = 1; //声光报警

else //检测到Led点亮

Beep = 0; //停止报警

}

else

led_1 = Beep = 0;

}

}

}

/*******************************************************************************

* 函数名         : set_work_time()

* 函数功能 : 设定工作时间

* 输入           : 无

* 输出          : 无

*******************************************************************************/


文件仅供参考


链接:https://pan.baidu.com/s/1Sl6u_BGjrjMKFC8JS90O-A

提取码:67xo

推荐阅读

史海拾趣

FCI [First Components International]公司的发展小趣事

在电子行业中,FCI(First Components International)公司作为一家知名的连接器和互联系统制造商,其发展历程中确实有许多值得分享的故事。以下是关于FCI公司的五个发展故事:

  1. FCI的气体流量计与传感器技术突破

FCI作为一家全球性的气体流量计、气体和液体流量开关以及液位开关的制造商,其产品广泛应用于各种工业领域。为了满足不断增长的市场需求,FCI投入大量研发资源,成功开发出高精度、高可靠性的气体流量计和传感器。这些产品在化工、能源、环保等多个领域得到了广泛应用,为FCI赢得了良好的市场口碑。随着技术的不断创新和产品质量的持续提升,FCI逐渐成为了行业内的佼佼者。

  1. FCI中国分公司的成立与服务升级

随着中国市场的快速发展,FCI看到了在中国市场发展的巨大潜力。为了更好地服务中国客户,FCI决定在中国成立分公司。分公司的成立,不仅为FCI提供了更贴近本地市场的服务平台,还为其在中国市场的业务拓展提供了有力支持。分公司雇佣了一批在过程仪表和测量控制方面经验丰富的员工,并新增了数条经过认证的高精度流体标定台,以提供专业的服务和技术支持。这一举措显著提升了FCI在中国市场的竞争力和品牌影响力。

  1. FCI的AirMax VS高速背板连接器技术革新

为了满足未来高速数据传输的需求,FCI投入巨资研发新一代的高速背板连接器技术。经过多年的努力,FCI成功开发出了先进的AirMax VS高速背板连接器技术,为未来传输速率达到40Gb/s的设计奠定了基础。这一技术的推出,不仅巩固了FCI在连接器行业的领先地位,还为其在高速数据传输领域的发展打开了新的市场空间。

  1. FCI与航空领域的深度合作

随着航空技术的不断发展,对高精度传感器和流量计的需求也日益增长。FCI凭借其在气体流量计和传感器方面的技术优势,成功打入了航空领域市场。公司与多家知名航空企业建立了深度合作关系,为其提供定制化的产品和解决方案。这些产品在航空器的燃油系统、液压系统以及环境控制系统中发挥着重要作用,为航空安全提供了有力保障。

  1. FCI的全球化战略布局

为了适应全球化的市场趋势,FCI积极拓展其国际业务。公司通过并购、合资等方式,在全球范围内建立了多个生产基地和销售网络。这些举措不仅提高了FCI的生产效率和响应速度,还使其能够更好地服务全球客户。同时,FCI也加大了对新兴市场的投入,通过与当地合作伙伴的紧密合作,成功打入了多个具有潜力的市场领域。

以上五个故事展示了FCI在电子行业发展中的关键里程碑和重大成就。从技术创新到市场拓展,再到全球化布局,FCI始终保持着敏锐的市场洞察力和强大的竞争力,不断推动着电子行业的发展进步。

Dynastream公司的发展小趣事

Dynastream公司成立于1998年,当时正值科技飞速发展的年代。创始人凭借其敏锐的市场洞察力和对技术的深厚理解,决定专注于个人监视传感器和运动分析领域的研究与开发。在创业初期,公司面临资金短缺、人才匮乏等种种困难,但团队凭借着对技术的热情和不懈的努力,成功研发出了第一代产品,并在市场上引起了广泛关注。

Allied Wire & Cable Inc公司的发展小趣事

随着公司业务的不断发展,Allied公司开始积极拓展产品线,逐渐涵盖了多种类型的电线电缆产品,满足了不同客户的需求。同时,公司还积极开拓新的市场领域,将产品推广至全国范围,并逐渐拓展至国际市场。通过不断的产品创新和市场拓展,Allied公司的业务规模逐渐扩大,市场份额也稳步提升。

HANA Micron公司的发展小趣事

随着线上及线下业务的快速增长,Hama面临着交货时效性的巨大挑战。为了应对这一挑战,公司决定在蒙海姆总部建造一座集仓储、拣选与发货一体的物流中心。该物流中心采用了先进的自动化和人工子系统相结合的设计方案,大大提高了物流运作的效率。新系统的启用使得Hama每天能够处理数以万计的订单,确保了产品的及时交付,进一步提升了客户满意度和品牌影响力。

Eaton公司的发展小趣事

伊顿公司起源于1911年,由Viggo Torbensen和年轻商人Joseph Eaton共同创建的Torbensen齿轮轴承公司,这是伊顿的前身。Joseph Eaton坚信战略收购是拓展业务的最佳方法,因此在公司的发展过程中,他积极推动了一系列重要的收购活动。随着时间的推移,公司的产品逐渐多元化,从最初的齿轮轴承扩展到更广泛的能源管理领域。到1932年,公司更名为伊顿制造公司,进一步彰显了其向多元化发展的决心。

Bellnix Co Ltd公司的发展小趣事

随着产品线的不断丰富,Bellnix开始积极拓展市场。公司通过与各大电子厂商建立合作关系,将产品应用于手机、电脑、家电等多个领域。同时,Bellnix还加强品牌建设,通过参加国际电子展会、举办技术研讨会等方式,提升品牌知名度和影响力。这些举措有效地推动了公司的市场拓展,为公司的持续发展奠定了坚实基础。

问答坊 | AI 解惑

Quartus2的FPGACPLD设计.PDF

Quartus2的FPGACPLD设计.PDF…

查看全部问答>

看图说故事.宽动态摄像机是什么?

摄像机这阵子来在技术上似乎很沉寂,红外一体机炒了那么久,卖的人卖的很高兴,吹的人也吹上天,用的人也骂翻天,反正也就这样不了了之,想写些东西,偏偏找不到题材, 还好最近各厂家的炒做题材移到了两个项目:“宽动态” “低照度”,所以赶紧写 ...…

查看全部问答>

电子变压器设计手册(王瑞华编)

电子变压器设计手册(王瑞华编)!以前下载的,以前都是自己收藏,分享下!…

查看全部问答>

分布式仲裁的逻辑图的原理?

学习组成原理时我知道分布式仲裁的逻辑图怎么画,但我不知道它的原理?请知道的帮我一下.…

查看全部问答>

PADS reuse(重复使用电路)

PADS reuse(重复使用电路)…

查看全部问答>

哪位大侠帮帮忙! LCD程序问题1604

LCD液晶显示 LCD1604驱动模块 /*备注一:LCD1604只含有ASCII码表内字符的字库,无汉字字库,不能自行打点,不便画曲线*/ /*本模板功能一:在任意位置显示阿拉伯数字 */ /*本模板功能二:在任意位置显示字符及字符串 */ #include #include \"l ...…

查看全部问答>

基于Kinetis的简单webserver(五)

2012-1-30开始移植SLCD的其它功能函数这一步更简单了,直接将Kwikstik_Demo中的Driver_SLCD.h,Driver_SLCD.c,Fonts_LCD.c,Fonts_LCD.h拷贝过来,重定义下数据类型的转定义编译后没有问题了整理下软件代码结构,在uc-OS-III的根目录下创建Drivers文 ...…

查看全部问答>

150米以上传输距离的除了zigbee还有其他模块推荐吗

nrf24l01可以外接天线吗,到底最远距离到多少了?谢谢…

查看全部问答>

求大侠指教,单片机型号选择!

大侠们,本人单片机小白,最近想自己DIY一个东西,可以事实显示时间,温度,湿度,还有可以接受短信并且滚动显示出来,请问该用什么型号的单片机,顺便求资料!小弟先在此拜谢!…

查看全部问答>

画8088 8253等元件的封装尺寸在哪找啊

我是用封装向导画的,都用的是默认尺寸,画出来之后图纸上放不下,才考虑到也许是自己画的太大,求8088,8253 ADC0809,各种元器件的封装尺寸啊。谢谢大神了。…

查看全部问答>