基于单片机教室灯光智能控制系统(6)

2019-04-15 22:58

基于单片机教室灯光智能控制系统

}

}

}

}

relay=0;//继电器吸合 miao = 0; value = 0;

if(relay == 0) //继电器吸合计时30秒 { }

value ++; if(value >= 10) { }

value = 0; miao ++;

if(miao >= 10) //10秒的时间 { }

miao = 0;

relay = 1; //关闭继电器

void main()//主函数 {

hw = 0;

delay_1ms(500);//延时500ms P0 = P1 = P2 = P3 = 0XFF; while(1)//循环 {

work();//调用工作函数

yellow = ~hw; //红外感应指示灯 delay_1ms(100); //100ms

} }

–21–

基于单片机教室灯光智能控制系统

4.3.4 人体存在传感器的说明

人体存在传感器易受外界影响,于是要在使用时特别注意抗干扰性能。 ⑴ 防小动物干扰

探测器安装在推荐地使用高度,对探测范围内地面上的小动物,不产生信号。 ⑵ 抗电磁干扰

探测器的抗电磁波干扰性能符合GB10408中要求,一般手机电磁干扰不会引起误报。

⑶ 抗灯光干扰

探测器正常灵敏度范围内,受3米外H4卤素灯透过玻璃照射,不产生信号。 4.3.5 人体存在传感器的安装要求

人体存在传感的安装要求:人体存在传感器只能安装在室内,其误报率与安装的位置和方式有极大的关系,正确的安装应满足下列条件:

⑴ 人体存在传感器应离地面2.0-2.2米。

⑵ 人体存在传感器远离空调,冰箱,火炉等空气温度变化敏感的地方。 ⑶ 人体存在传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。 ⑷ 人体存在传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。人体存在传感器也不要安装在有强气流活动的地方。人体存在传感器对人体的敏感程度还和人的运动方向关系很大。人体存在传感器对于径向移动反应最不敏感,而对于横切方向(即与半径垂直的方向)移动则最为敏感。在现场选择合适的安装位置是避免红外探头误报、求得最佳检测灵敏度极为重要的一环。

4.4 时钟模块的设计

4.4.1 时钟模块功能

在对DS1302进行读操作时,读出的数据为BCD码,同样在写操作时,写入的数据一也必须为BCD码,这就需要在数据写入之前、读出之后进行必要的数据进制之间的转换,以便与系统其它数据在比较时相对应。 4.4.2 时钟模块流程图

DS1302进行读写的程序流程图如图4-5所示:

–22–

基于单片机教室灯光智能控制系统

开始开始 将DS1302写保护 变量初始化 RST—端送高电平 去除写保护 写入DS1302读地址 RST—端送高电平 将该地址数据读出 写DS1302地址 数据读完了 向该地址写入数据 数据写完了 将读出的数据暂存,待显示 结束 图4-5 时钟模块流程图

4.4.3 时钟模块初始化程序 DS1302初始化子程序如下所示:

void ds1302_init() //1302芯片初始化子函数(2010-01-07,12:00:00,week4)

{

RST=0; 12

07

//write_1302(0x8a,0x04);//向DS1302内写周寄存器8aH写入初始周数据4 //write_1302(0x86,0x07);//向DS1302内写日期寄存器86H写入初始日期数据SCLK=0;

write_1302(0x8e,0x00); //允许写,禁止写保护

//write_1302(0x80,0x00); //向DS1302内写秒寄存器80H写入初始秒数据00 //write_1302(0x82,0x00);//向DS1302内写分寄存器82H写入初始分数据00 //write_1302(0x84,0x12);//向DS1302内写小时寄存器84H写入初始小时数据

–23–

基于单片机教室灯光智能控制系统

01

10

//write_1302(0x88,0x01);//向DS1302内写月份寄存器88H写入初始月份数据//write_1302(0x8c,0x10);//向DS1302内写年份寄存器8cH写入初始年份数据write_1302(0x8e,0x80);//打开写保护

4.4.4 时钟模块说明

在本系统中,因设定的时间参数一般都为二进制或十六进制数,为了便于同DS1302的时钟数据进行比较,故在程序中需进行二进制与BCD码之间的转换,根据教室灯光使用特性,该系统还应受到时间的控制,因此本研究还加入硬件时钟电路以保证系统的智能化运行。

4.5 液晶显示模块

运行过程中的数据显示是人机交互对话的一个重要通道。通过系统数据的显示,我们才可以更好的了解系统运行的状态,从而便于对整个系统进行必要的操作。 4.5.1 液晶显示模块的功能

显示主要是通过从芯片中毒如程序,分别对秒、分、时、日、月、年进行显示,并且通过主键盘的操作,对时间进行加减操作,使时间更新显示。 4.5.2 显示模块流程图

系统显示流程图如图4-6所示

–24–

基于单片机教室灯光智能控制系统

开始 1602初始化 读取数据 第一行显示 读取数据 第二行显示 结束

图4-6 显示模块流程图

4.5.3 显示模块的程序

液晶显示初始化程序如下: 位数据

write_1602com(0x0c);//开显示不显示光标

write_1602com(0x06);//整屏不移动,光标自动右移 write_1602com(0x01);//清显示

write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8

写命令函数解释如下:

void write_1602com(uchar com)//****液晶写入指令函数**** {

rs=0;//数据/指令选择置为指令 rw=0;//读写选择置为写 P0=com;//送入数据 delay(1);

en=1;//拉高使能端,为制造有效的下降沿做准备

–25–


基于单片机教室灯光智能控制系统(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:监理大纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: