历史上的今天
返回首页

历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2021年10月12日 | 基于51单片机的教室智能照明控制系统

2021-10-12 来源:eefocus

一.硬件方案

本系统以51单片机作为控制模块的核心部件,采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度;根据教室合理开灯的条件,通过对人体存在信号和环境光信号的识别与判断,完成对教室灯光的智能控制,避免了教室用电的大量浪费。系统还具有报警功能;同时还采用了软/硬件的“看门狗”等抗干扰措施。


主要由51单片机STC89C52、时钟芯片DS1302、液晶屏LCD1602、比较器芯片LM339、光敏电阻、红外对管、按键、LED等构成;如图:

二.设计功能

(1)使用4个LED灯模拟教室的照明灯,在符合条件开启时,人数小于10人亮一个灯,10-20人亮二个灯,20-30人亮三个灯,大于30人则全亮四个灯。

(2)教室使用两个红外对管来检测是否有人进入并进行人数统计,人数可以统计到二位数99人,并实时将人数显示到液晶屏LCD上,液晶屏同时显示实时日期/时间/星期。

(3)利用光敏电阻检测教室的光线强弱;

(4)系统分自动/手动模式,可以通过按键切换模式,并有LED指示当前所在模式,在自动模式下,可以设定定时时间段,在定时时间段内,当教室有人(人数大于0)的情况下,如果光线暗弱则自动打开照明灯,照明灯点亮个数根据人数而定,不在定时时间段或者教室无人的情况下,关闭所有照明灯,另外在手动模式下,可以通过手动开关控制照明灯的亮灭,人数统计部分仍然生效。


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计

(1)主程序流程图


(2)主程序源码


void main()

{

AUTO_LED=0; //默认自动模式

temperature=readtemperature();

init(); //液晶初始化

T0_init(); //定时器初始化

delay1(8000);

while(1)

{

if(Adjust==0) //非调节模式下显示时间人数和温度

{

temperature=readtemperature(); //读取温度

temperature_dispaly(3,temperature); //显示温度

Time_Display(); //显示时间

Open(); //动作判断,根据光线和声响开关

Count_Value(); //计算人数

}

Keyscan(); //扫描键盘

}

}

void temperature_dispaly(char add,char dat) //温度显示函数:第一个:参数的地址,第二个:参数的内容

{

uchar shi,ge;

shi=dat/10; //把温度的十位提取出来

ge=dat%10; //把温度的个位提取出来

write_com(0x80+0x40+add);     //要写的地址

write_date(0x30+shi);     //十位的内容   1602字符库

write_date(0x30+ge);       //个位的内容 1602字符库

}

/*****************************************定时器初始化和主函数***********************************************************/

void T0_init(void)

{

TMOD=0x11;        //设置定时器0为工作方式1

TH0=(65536-50000)/256;       //50MS定时

TL0=(65536-50000)%256;

EA=1;        //开定时器T0的中断 总中断

ET0=1;    //允许T0中断

// TR0=1;    //开启定时器

}


void Timer0() interrupt 1 //定时器T0中断函数

{

TH0=(65536-50000)/256; //赋初值=50ms

TL0=(65536-50000)%256; //TH0=3C,TL0=B0

Count++; //每中断一次,Count加一,计数20次,表示1s的时间到

if(Count>=20) //1s到

{

Count=0;

Miao++;

if(Miao>=3) //3秒内无触发另一个,全部清零

{

Miao=0;

OUT1_flag=0; //清零

IN1_flag=0;

TR0=0; //关闭定时器

}

}


}

推荐阅读

史海拾趣

Carling Technologies公司的发展小趣事

为了确保产品质量和满足国际标准,Carling Technologies先后获得了多项ISO和TS认证。这些认证不仅证明了公司在质量管理方面的实力,也为其产品在全球市场上的竞争提供了有力支持。同时,公司还建立了标准化的生产流程和质量检测体系,确保每一款产品都能达到客户的期望和要求。

Frequency Devices公司的发展小趣事

Frequency Devices公司自成立之初,便以技术创新为核心驱动力。在20世纪90年代初,公司研发团队成功开发出一种新型高频滤波器,该滤波器在信号传输效率和稳定性上实现了重大突破。这一创新不仅解决了当时通信领域的一大技术难题,还迅速获得了市场的广泛认可。随着技术的不断迭代,Frequency Devices公司持续投入研发,推出了更多高性能、低成本的高频电子产品,逐步奠定了其在行业内的领先地位。

EMS GmbH公司的发展小趣事

为了进一步提升公司的规模和实力,EMS GmbH公司积极寻求并购和资源整合的机会。通过并购其他具有技术优势和市场资源的公司,EMS GmbH公司能够快速扩大生产规模、提升技术水平和市场份额。同时,公司还注重与被并购公司的资源整合和协同发展,以实现双方的优势互补和互利共赢。这些并购和资源整合的举措使EMS GmbH公司在电子行业中的竞争地位得到了进一步巩固和提升。

请注意,以上故事仅为框架性描述,并未包含具体的细节和数据。在实际撰写时,您可以根据具体情况进行补充和完善。

EPCOS (TDK)公司的发展小趣事

2009年10月1日,EPCOS与TDK元件事业部合并,成立了TDK-EPC公司。这次合并进一步增强了EPCOS在电子元器件领域的实力,使其在全球市场中的地位更加稳固。合并后,TDK-EPC公司继续秉承EPCOS的技术创新和产品拓展战略,不断推出具有竞争力的新产品和解决方案,以满足客户日益增长的需求。

Hisetec Electronic Co Ltd公司的发展小趣事

背景:随着全球化进程的加速,电子产品的供应链越来越复杂,国际合作成为必然趋势。Hisetec Electronic Co Ltd公司敏锐地洞察到这一点,开始实施国际化战略。

发展:公司首先在欧洲设立研发中心,与当地高校和科研机构合作,共同开发新技术。随后,又在亚洲多个国家和地区建立生产基地和销售网络,实现了全球范围内的资源配置和市场覆盖。通过这一系列举措,Hisetec公司不仅降低了生产成本,还提升了品牌知名度,实现了业务的高速增长。

FCI connector [富加宜连接器]公司的发展小趣事

在大中华区市场,FCI展现出了强劲的增长势头。公司积极布局中国市场,特别是在3G产业领域,FCI投入大量人力资源研发相关产品,为通信设备厂商提供优异的连接器解决方案。随着中国3G牌照的发放,FCI的业绩得到了强劲增长。几乎所有的12.5GHz局端通信设备制造商都采用了FCI的连接器解决方案,这使得FCI在大中华区的市场份额不断攀升。

问答坊 | AI 解惑

电子类缩略语大全 1.0 版

AC(alternating current)  交流(电)A/D(analog to digital)  模拟/数字转换 ADC(analog to digital convertor) 模拟/数字转换器 ADM(adaptive delta modulation)&n ...…

查看全部问答>

51单片机实现TCP/IP协议

 51单片机实现TCP/IP协议…

查看全部问答>

标准数字电路 54-74 TTL 全系列数据手册(中文)

全系列数据手册,原书扫描,共795页,每个器件都附有简要说明、逻辑图、真值表、电气特性表http://www.etuni.com/data/downdata.asp?id=910…

查看全部问答>

几款好用的滤波器设计软件

Filter Solutions Nuhertz公司出品,Nuhertz公司是滤波器设计软件的行业领军企业。 网上只有试用版下载,仅有20天的试用期,过了软件就基本瘫痪了,当然咯,细心点的话还是可以找到序列号的。 功能非常齐全,值得一提的是,Filter Solutions绘制 ...…

查看全部问答>

一个LED的N种玩法 (一)

一个LED的N种玩法 (一) Author: chenzhufly Email: chenzhufly@126.com 2010-4-27 NXP的LPC1343板载资源真的很少,仅仅只有一个LED接在 P0_7上。需要说明的是LPC1343其他的管脚都已经引出,很容易扩展,如果谁有兴趣的话可以做做。虽然我工具齐 ...…

查看全部问答>

8962 GPIO 问题

在单步调试GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_4|GPIO_PIN_5 );时,看反汇编代码,发现程序根本就在GPIODirModeSet子程序和GPIOPadCongfigSet子程序中不会发生跳转,只要是出现TST指令,下一句指令肯定就是ITE EQ   所以程 ...…

查看全部问答>

关于vxworks下 C++编程

可否在一个类的成员函数中发起一子任务,并且该子任务的入口函数为本类的另一个成员函数? 另外任务的入口函数是否必须为C函数?…

查看全部问答>

小菜鸟刚刚进入电子界问一下几个简单的问题?

在学习模电 和数电之前 需要恶补一下哪一门物理课程啊 上模电的时候听的云里雾里去了 求求大侠帮帮小弟我拜托了提一下意见和建议 Orc…

查看全部问答>

猎头职位:北京世界五百强诚聘symbian高级研发-c++

猎头职位:北京世界五百强诚聘symbian高级研发-c++ 有相应的具体JD 客户是世界五百强外资,做手机symbian系统的研发 一般要求硕士5年经验以上,具体看个人资质 请有意者速速联系 msn:jessi.wang@hotmail.com e-mail:weiyangwj@sina.com 可 ...…

查看全部问答>