教室00004Word格式文档下载.docx

上传人:b****6 文档编号:20552292 上传时间:2023-01-24 格式:DOCX 页数:22 大小:204.43KB
下载 相关 举报
教室00004Word格式文档下载.docx_第1页
第1页 / 共22页
教室00004Word格式文档下载.docx_第2页
第2页 / 共22页
教室00004Word格式文档下载.docx_第3页
第3页 / 共22页
教室00004Word格式文档下载.docx_第4页
第4页 / 共22页
教室00004Word格式文档下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

教室00004Word格式文档下载.docx

《教室00004Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《教室00004Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。

教室00004Word格式文档下载.docx

通过两个光电开关的配合检测出教室的人数,由人数自动识别状态;

通过DHT11模块检测温湿度;

将人数和温湿度用12864液晶显示屏显示出来

操作步骤

设计电路图并领取元件

对元件进行组装和焊接

编写程序

调试功能

封装成品

2.1人数检测模块

功能介绍

光电开关

原理:

利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体的有无。

物体不限于金属,所有能反射光线的物体均可以被检测。

光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。

安防系统中常见的光电开关烟雾报警器,工业中经常用它来计数机械臂的运动次数。

参数

1、输出电流:

交直流200mA 

继电器触点输出电流为1A、3A

2、应答频率:

DC<

2.5ms、AC<

30ms

3、工作环境:

-20~+55℃

4、继电器输出:

12~24V、90~250V

5、标准检测物:

透明或不透明实体

E3F-DS30C4型光电开关,光电传感器原理

E3F-DS30C4型光电传感器是利用光的各种性质,检测物体的有无及表面状态的变化等的一种传感器,E3F-DS30C4光电开关主要由发光的投光部和接受光线的爱光部构成,如果投向的光线因检测物体不同而被遮掩或者反射,到有受光的量将会发生变化,受光部将测出这种变化,并转换为电气信号,进行输出,大多使用可视光(主要为红色,也用绿色,蓝色来判断颜色)和红外光.

2.1.2人数检测软件设计

流程图

思路说明

通过两个相邻的光电开关组成识别门,每当有人经过光电开关2的时候,触发下降沿,然后判别人的去向,即如果门二再次下降沿信号,则不会增加人数,如果门一下降沿信号,人数加一;

当门一首先下降沿时,如果门一接着下降沿,则不会变,如果门二下降沿信号,人数减一。

部分程序分析

if(g2==0)

{

Gf=1;

delay1(500);

if(g1==0)

if(Gf==1)

temp++;

Gf=0;

}

if(g2==0)

Gf=0;

使用了变量GK使得每次只检测一个人,避免一人经过使人数一直上升的情况,逐层判断,使得思路更加清晰。

2.2.1硬件电路设计

电路图

Led:

它的基本结构是一块电致发光的半导体材料芯片,用银胶或白胶固化到支架上,然后用银线或金线连接芯片和电路板,然后四周用环氧树脂密封,起到保护内部芯线的作用,最后安装外壳,所以LED灯的抗震性能好。

运用领域涉及到手机、台灯、家电等日常家电和机械生产方面。

2.2.2状态显示的软件设计

设计思路:

使用两个判断结构,以0,35为三个状态的分割点,自动检测状态.

voidmode()

{

kx=1;

hy=1;

sk=1;

if(temp==0)

kx=0;

else{

led=0;

if(temp<

=35)

hy=0;

else

sk=0;

}

2.3温湿度检测设计

2.3.1温湿度检测硬件设计

原理图

元件介绍:

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。

传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。

因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。

每个DHT11传感器都在极为精确的湿度校验室中进行校准。

校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。

单线制串行接口,使系统集成变得简易快捷。

超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。

产品为4针单排引脚封装,连接方便。

详细参数

条件

Min

Typ

Max

单位

湿度

分辨率

1

%RH

8

Bit

重复性

±

精度

25℃

4

0-50℃

5

互换性

可完全互换

量程范围

0℃

30

90

20

50℃

80

响应时间

1/e(63%)25℃,1m/s空气

6

10

15

S

迟滞

长期稳定性

典型值

%RH/yr

温度

2

50

1/e(63%)

2.3.2温湿度检测软件设计

一、DHT11数据格式(40bit) 

数据格式:

8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据 

+8bit校验

说明:

1)、其中温度湿度小数部分带扩展,目前读出数据为0;

2)、校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

二、时序编程微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右。

DHT11的单总线编程相对于DS18B20的单总线编程简单很多,本文分析的DHT11编程所需要的条件是一个精度在+_5%的50us延时函数。

视角

6点钟

驱动方式

1/64DUTY1/9BIAS

背光

LED

控制器

KS0108或兼容IC

数据总线

8位并口/6800方式

温度特性

工作温度:

-20C----+70C储藏温度:

-30C----+80C

点阵格式

128x64

点尺寸

0.39x0.55mm

点中心距

0.44x0.60mm

视域

62.0x44.0mm

有效显示区域

56.27x38.35mm

外形尺寸

78.0x70.0x12.5mmMax.

净重

65g

流程图:

voidlcd_init()

{delay1(100);

write_com(0x30);

write_com(0x02);

write_com(0x06);

write_com(0x0c);

write_com(0x01);

write_com(0x80);

delay1(5);

}

voidlcd_pos(ucharx,uchary)

ucharpos;

if(x==1)

{x=0x80;

elseif(x==2)

{x=0x90;

elseif(x==3)

{x=0x88;

else

{x=0x98;

write_com(y|pos);

3.测试结果

4.心得体会

一周的电子工艺实习就要结束,它让我觉得这是一门非常有意思的课程,它能够把让我门把自己所学的用到实践上去,还能够充分的调动我们的积极性,通过自己的努力获取劳动成果,在此期间,以一个小白的姿态去做一个项目,什么都不懂,什么都要去问,去查。

老师对我们要求也非常严格,讲课也非常详细,大大的减小了我们犯错误的几率。

一、实习内容回顾及收获:

这次实习内容十分丰富,从安全用电,焊接基本练习,造型设计,印制电路板,再到产品设计,通过这次实习不仅自己动手完成了有趣的产品,更过的是学到了很多东西。

首先巩固了电子学理论,增强了识别电子元器件的能力,通过对元器件的测量,也增强了对万用表的使用能力。

其次,培养了我们的动手能力,实践是检验真理的唯一标准,理论的东西只有通过实践环节的检验,才是真实的。

通过做这个教室监控系统项目,我们明白了其工作原理、学会了焊接技术。

还有此次实习还锻炼了我们解决问题的能力,在实习中我们遇到了各种各样的问题,通过此次实习我们懂得了面对一个问题,要不慌不忙,理清思路,寻找问题的根源,然后一步一步的解决问题。

二、问题及心得

实习中也遇到了一些问题:

1电路板上的焊点有些不符合标准,尤其是导线焊接的不好,容易脱落;

焊锡量要适中,过多的焊锡会造成焊锡的浪费,焊接时间的增加,不易察觉的短路。

过少的话会造成焊点强度降低,虚焊。

2当烙铁头氧化后会引起烙铁头不粘锡,严重的不能进行焊接。

3注意安全问题。

4在焊接芯片时最好使用托焊,因为芯片的焊点又小又密。

5组装时由于东西都很小,我们必须小心不要丢失元件。

6程序写出来之后无法实现功能,我们尝试改了好多次,依旧没办法,后来在其他同学和老师的帮助下一点一点的改进了电路连接和程序,从数码管到12864,虽然对他不了解,但是已经可以尝试着去使用了。

在整个的实习中我学习了很多的东西,使我眼界打开,感受颇深。

简单的焊接使我了解到人生学习的真谛,课程虽然结束了,但学习还没结束,我知道作为信息时代的大学生,作为国家重点培育的高科技人才,仅会操作鼠标是不够的,基本的动手能力是一切工作和创造的基础和必要条件。

三、结语

总之,这次实习给我带来了很大的收获,同时也给我带来了很大的快乐,再一次感谢学校给我们提供了一个学习锻炼的机会,和老师对我们的辛勤付出,这对我们以后的工作和学习都有很好的作用。

附录一

附录二

#include<

reg52.h>

#include<

intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

uchartemp=0;

sbitsid=P3^6;

sbitsclk=P3^7;

sbitsk=P2^5;

sbithy=P2^6;

sbitkx=P2^7;

sbitled=P1^3;

sbitgd1=P1^7;

sbitgd2=P1^6;

typedefunsignedcharU8;

typedefsignedcharS8;

typedefunsignedintU16;

typedefsignedintS16;

typedefunsignedlongU32;

typedefsignedlongS32;

typedeffloatF32;

typedefdoubleF64;

#defineuintunsignedint

#defineData_0_time4

sbitDATA=P2^4;

U8U8FLAG,k;

U8U8count,U8temp;

U8U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;

U8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;

U8U8comdata;

U8outdata[5];

U8indata[5];

U8count,count_r=0;

ucharmun;

ucharrenshu1[]={"

"

};

ucharrenshu2[]={"

unsignedcharstr1[]={"

unsignedcharstr2[]={"

unsignedcharcodelcd[]={"

温湿度检测系统"

unsignedcharcodelcd1[]={"

湿度:

unsignedcharcodelcd2[]={"

温度:

unsignedcharcodelcd3[]={"

℃"

unsignedcharcodelcd4[]={"

%RH"

U16U16temp1,U16temp2;

voidDelay(U16j)

{

U8i;

for(;

j>

0;

j--)

{

for(i=0;

i<

27;

i++);

voidDelay_10us(void)

i--;

//DHT11

voidCOM(void)

for(i=0;

8;

i++)

U8FLAG=2;

while((!

DATA)&

&

U8FLAG++);

Delay_10us();

Delay_10us();

U8temp=0;

if(DATA)U8temp=1;

while((DATA)&

if(U8FLAG==1)break;

U8comdata<

<

=1;

U8comdata|=U8temp;

voidRH(void)

DATA=0;

Delay(180);

DATA=1;

Delay_10us();

if(!

DATA)

U8FLAG=2;

while((!

while((DATA)&

COM();

U8RH_data_H_temp=U8comdata;

U8RH_data_L_temp=U8comdata;

U8T_data_H_temp=U8comdata;

U8T_data_L_temp=U8comdata;

U8checkdata_temp=U8comdata;

//数据校验

U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);

if(U8temp==U8checkdata_temp)

U8RH_data_H=U8RH_data_H_temp;

U8RH_data_L=U8RH_data_L_temp;

U8T_data_H=U8T_data_H_temp;

U8T_data_L=U8T_data_L_temp;

U8checkdata=U8checkdata_temp;

str1[0]=(char)(0x30+U8RH_data_H/10);

str1[1]=(char)(0x30+U8RH_data_H%10);

str2[0]=(char)(0x30+U8T_data_H/10);

str2[1]=(char)(0x30+U8T_data_H%10);

voiddelay1(uintz)

ucharx,y;

for(x=z;

x>

x--)

for(y=110;

y>

y--);

voidsend(ucharbyte)

{uchari;

for(i=0;

i++)

sid=byte&

0x80;

sclk=0;

sclk=1;

byte<

voidwrite_date(uchardate)

{ucharstar_date,hdate,ldate;

star_date=0xfa;

hdate=date&

0xf0;

ldate=(date<

4)&

send(star_date);

delay1

(1);

send(hdate);

send(ldate);

voidwrite_com(ucharcom)

star_date=0xf8;

hdate=com&

ldate=(com<

voidlcd_dis_code(uintcmd_addr,ucharnum,uchardis[])

uinti;

write_com(cmd_addr);

num;

write_date(dis[i]);

voidgk()

uchara,b;

while(gd1==0)

{

delay1(400);

if(gd2==0)

{

delay1(200);

temp++;

renshu1[0]=(char)(0x30+temp/10);

renshu1[1]=(char)(0x30+temp%10);

write_com(0x95);

for(a=0;

a<

2;

a++)

{

write_date(renshu1[a]);

}

while(gd2==0)

if(gd1==0)

delay1(200);

temp--;

renshu1[1]=(char)(0x30+temp%10);

write_com(0x95);

for(b=0;

b<

b++)

write_date(renshu1[b]);

}

voidmain()

uchark,j,b,a,i;

uchark1,i1;

lcd_init();

while

(1)

gk();

mode();

lcd_dis_code(0x80,16,lcd);

lcd_dis_code(0x88,9,lcd1);

lcd_dis_code(0x98,9,lcd2);

lcd_dis_code(0x9e,5,lcd3);

lcd_dis_code(0x8e,3,lcd4);

RH();

write_com(0x8b);

for(k=0;

k<

k++)

write_date(str1[k]);

write_com(0x9b);

for(j=0;

j<

j++)

write_date(str2[j]);

Delay(2500);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1