照明灯智能遥控开关(6)

2019-03-10 19:34

第4章 控制模块软件设计与开发

Function: BodySensor and Iight to light port356 DoSensLight:Mov c, port33 ;Signal of Sensor Anl c, port37

Cpl c ;have person and no light Mov port35, c ;on relay 1 Mov port36, c ;on relay 2

Jnc SensOut ;no person to out

Haveperson:mov SensDelayBuf, #5 ;delay 5 minute SensOut: Ret

4.2.3 人体存在传感器的抗干扰措施

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

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

2.抗电磁干扰

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

3.抗灯光干扰

探测器正常灵敏度范围内,受3米外H4卤素灯透过玻璃照射,不产生信号。

4.2.4 人体存在传感器的安装要求

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

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

2.人体存在传感器远离空调,冰箱,火炉等空气温度变化敏感的地方。 3.人体存在传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。 4.人体存在传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引

26

吉林工程技术师范学院毕业论文

起误报,有条件的最好把窗帘拉上。人体存在传感器也不要安装在有强气流活动的地方。人体存在传感器对人体的敏感程度还和人的运动方向关系很大。人体存在传感器对于径向移动反应最不敏感,而对于横切方向(即与半径垂直的方向)移动则最为敏感.在现场选择合适的安装位置是避免红外探头误报、求得最佳检测灵敏度极为重要的一环。

4.3 时钟模块

在系统启动自检初始化时,首先会对时钟芯片DS1302的运行状态进行判断,当检测到DS1302处于启动状态时才对其进行初始化启动时钟。实时时钟芯片DS1302的初始化及其读写程序设计的关键是要遵循其时序要求。

4.3.1 数据输入输出

在对DS1302进行的各种操作之前,必须先对其初始化,即需要把复位输入RST端置为高电平,如果RST输入为低电平,那么所有的数据传送中止,且I/0引脚变为高阻抗状态。在数据读/写完后,RST端应置成低电平,以防止外部干扰对DS1302内部时钟的影响。

同时,为了防止复位输入端受到外部的干扰,要求上电时,在主电源引脚 Vcc2>2. 5V之前,RST必须为逻辑0。无论是读操作还是写操作,都必须在开头的8个时钟周期把提供地址和命令信息的8位数据装入到DS1302的移位寄存器。地址/命令子节用于指明40个寄存器中的哪个进行何种操作。数据在SCLK的上升沿串行输入,在开始的8个时钟周期把命令字装入移位寄存器之后,若跟随的是写命令字节,则在下8个SCLK周期的上升沿输入数据字节,若跟随在读命令字节的8个SCLK周期之后,在下8个SCLK周期的下降沿输出数据字节。

4.3.2 时钟内部寄存器的使用

DS1302有控制寄存器和年、月、日、周、时、分、秒等工作寄存器组成。本系统中只用到工作寄存器中的时分秒及控制寄存器,所应用的各寄存器地址

27

第4章 控制模块软件设计与开发

(命令)及数据寄存器分配情况如表4-4所示:

表4-4内部寄存器

寄存器命令字 名 写操作 SEC 80H 82H 读操作 81H 83H 00~59 00~59 01~02 HR 84H 85H 或 00~23 CONTROL CHARGER CLOCK BURST 8EH 90H BEH 8FH 91H BFH WP 0 TCS 0 TCS 12/24 0 CH 取值范围 7 6 5 各位内容 4 3 2 1 0 10SEC SEC MIN 0 10MIN 10 MIN HR A/P 0 TCS 0 0 0 0 TCS DS DS RS RS 说明:

1.上表中,时钟寄存器内的数据是以BCD码的形式存在的。其中秒寄存器的位7 定义为时钟暂停位,当此位设置为逻辑1时,时钟振荡器停止,DS1302进入低功耗的备份状态;当把此位置为0时,时钟将启动。

28

吉林工程技术师范学院毕业论文

2.小时寄存器的位7定义为12或24小时方式选择位。当为低电平时,选择24小时方式,本系统在设计中采用的就为24小时方式。

3.写保护寄存器的位7是写保护位,在对时钟进行些操作之前,位7应先置为0,当它是高电平时,写保护防止对任何其它寄存器进行写操作。此外,涓流充电寄存器各位的作用及工作原理等在本论文前半部分DS1302的硬件设计中己作过介绍,此处不再详述。

4.3.3 时钟自检初始化

考虑刚买来的时钟芯片处于一切未知状态,于是必须对DS1302进行自检初始化。DS1302的自检初始化程序设计流程图如图4-5所示:

DS1302正常工作 两次读取的秒钟数据是否相同 设置DS1302初始时间 再次读取秒钟数延时1.5秒 开始 读取DS1302秒钟时间 秒钟大于60H?

返回主程序 图4-5 DS1302的自检初始化程序设计流程图

29

第4章 控制模块软件设计与开发

DS1302的自检初始化程序如下所示: Function: Start check DS1302

DSCheck: Mov R6, #DS1302Sec+1 ;Second Time ACall DSRdlByte Mov DSCheckData , a Cjne a, #60H, $+3

DSCheckNext: Jnc DSSetTime; a>=60H to Set DS1302's Time Acall DSDelay; DS1302 delay 1 second

Mov R6, #DS1302Sec+l ; a<59H Read DS1302's Second again

ACall DSRdlByte Cjne a, DSCheckData, DSOK ; Two DSSec of Reading is different AJMP DSSetTime DSOK: Ret

检查DS1302芯片是否正常工作,本系统中通过先读取秒钟寄存器的数据,将数据存储起来,且将此数据与60H相比较,若大于60H,说明时钟数据不正常,转去设置时钟时间;若小于并等于60H,延时一秒钟后,再次读取秒钟寄存器的数据,与第一次读取的秒钟数据相比较,若这两次的数据相同,说明时钟数据不正常,转去设置时钟时间;若正常,则退出到主程序。初始化DS1302的充电状态及其初始时间的设置。

30


照明灯智能遥控开关(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:杜邦财务分析案例

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

马上注册会员

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