基于单片机控制的教室灯光自动控制器的研究
开始 定时中断到? N Y 多任务启动时间划分 下一步 图4-2定时中断处理程序框图
本系统还采用了外部中断,此外部中断主要用来判断是否有遥控器信号,若有,就采集下来并加以处理;若无,则返回到主循环。
4.2 数据采集模块
本系统中的数据采集对象为环境光信号及人体存在信号,在程序设计中对这
两个数据的采集放置多任务模块中实施定时采集。
4.2.1 数据采集软件设计的实现
本系统考虑到环境观足够亮时,无论有否人体存在都不应该开灯;而环境光不够亮时,有人体存在才开灯,无人体存在不开灯。本系统逻辑定义为环境光亮时为二进制的“0”,暗时为“1”,人体存在为“1”,人体不存在为“0”,开灯为“0”,关灯为“0”,那么环境光与人体存在可以有以下的逻辑关系表表示,如表4-1。
21
基于单片机控制的教室灯光自动控制器的研究
表4.1 环境与人的关系
环境光参数 0 0 1 1 人体存在参数 1 0 1 0 教室灯状态 0 0 1 0 上表数据表明可将环境光参数与人体存在参数相与门操作,又由于继电器是低电平驱动,多以要将采集处理后的信号进行非操作,才可以驱动继电器工作,及可得到教室灯的状态,其软件程序为:
;Function: BodySensor and light to port365
DsSensLight:Mov c,port33 ;Signal of Sensor Anl c,port37
C c ;have person and no light Mov port35,c ;on relay 1 Mov port36,c ;on relay 2 Jnc sensout ;delay 5 minute Sensout: ret
4.2.2 人体存在传感器的安装要求
人体存在传感器只能安装在室内,其误报率与安装的位置和方式有极大的关系,正确的安装应满足下列条件:
1. 人体存在传感器应离空调地面2.0-2.2米。
2. 人体存在传感器远离空调,冰箱,火炉等空气温度变化敏感的地方。 3. 人体存在传感器探测范围内部得隔屏,家具,大型盆景等。
4. 人体存在传感器不要直对窗口,否则窗外的热气扰动和人员走动会引起
22
基于单片机控制的教室灯光自动控制器的研究
误报,有条件的最好把窗帘拉上,人体存在传感器也不要安装在有强气流活动的地方。
4.3 时钟模块
在系统启动自检初始化时,首先会对时钟芯片DS1302的运行状态进行判断,当检测到D1302处于启动状态时才对其进行初始化启动的始终。实时时钟芯片DS1302的初始化极其读写程序设计的关键是要遵循其时序要求。
4.3.1时钟程序设计
对DS1302进行读写的程序流程图如图4-4所示
23
基于单片机控制的教室灯光自动控制器的研究
数据读完了 写DS1302地址 将该地址数据读出 RST一端送高电平 写入DS1302读地址 RST一端送高电平 去除读写保护 数量初始化 开始 将DS1302写保护
数据写完了 结束 向该地址写入数据 将读出的数据暂存,带显示
图4-4 DS1302进行读写的程序流程图
在对DS1302进行操作时,读出的数据为BCD码,同样在写操作时,写入的数据也必须为BCD码,这就需要在数据写入之前、读出之后进行必要的数据进制之间的转换,以便与系统其他数据在比较时相对应。本系统中,设定的时间参数一般都为二进制或十六进制数,故程序中进行二进制与BCD码之间的转换,其相互转换程序如下: ;二进制转换为BCD码 ;Function: DisTmeBCD
24
基于单片机控制的教室灯光自动控制器的研究
DisTimeBCD: Mov A,@RO AnL A,#OFH Mov @R1,A Inc R1 Mov A,@RO Swap A An1 A,@ofh Mov @R1,A Inc R1 Inc R0 Ret ;BCD码转换二进制 ;Function: DisTimeHex DisTimeHEX: Mov A,@RO Mov B,#10 Div AB Mov @R1,B Inc R1 Mov @R1,A Inc R1 Inc R0 Ret
4.4 系统键功能
4.4.1 遥控键盘
键盘是系统输入数据设备应用最广泛的一种,它也是人机交互对话。对系统进行操作的重要通道,操作者的许多操作意图是通过键盘来输入。本系统键盘不多的情况下采用中断方式,把键盘信号采集放在中断程序中除了,键盘的功能
25