表1 逻辑关系表
环境光信号    时钟信号    人体信号    教室灯状态
强           0    休息时间        0    无人          0    关           0
强           0    休息时间        0    有人          1    关           0
强           0    规定上课时间    1    无人          0    关           0
强           0    规定上课时间    1    有人          1    关           0
弱           1    休息时间        0    无人          0    关           0
弱           1    休息时间        0    有人          1    关           0
弱           1    规定上课时间    1    无人          0    关           0
弱           1    规定上课时间    1    有人          1    开           1
4.3 时钟模块
  初始化系统启动自检时,首先会判断时钟芯片DS1302的运行状态,当检测到DS1302处于启动状态时才对其进行初始化启动的始终。实时时钟芯片DS1302的初始化及其读写程序设计的关键是要遵循其时序要求[12]。
4.3.1 时钟程序设计
  对DS1302进行读写的程序流程图,如图10所示:
图10 DS1302进行读写的程序流程图
 
    在对DS1302进行操作时,读出的数据为BCD码,同样在写操作时,写入的数据也必须为BCD码,这就需要在数据写入之前、读出之后进行必要的数据进制之间的转换,以便与系统其他数据在比较时相对应。本系统中,设定的时间参数一般都为二进制或十吹冰进制数,故程序中要进行二进制与BCD码间的转换。
4.4 软件抗干扰的设计
(1)数据采集误差的软件对策
①采用软件滤波算法,可以滤掉大部分由输入信号干扰而引起的输出控制的错误。最常用的方法有:中值法、比较舍取法、一阶递推滤波法。具体要选取哪种方法,必须依据信号的变化规律来进行选择。至于开关量要采用多次采集的方法来去除开关抖动。
②关键的数据可采用软件冗余技术,就是给数据添加一定冗余位,以达到数据检错和纠错的目的。
(2)程序运行失控的软件对策
  ①指令冗余。对于AT89S51单片机,大部分的指令是单字节,当出错程序落在其上时,错误的程序可以自动进入正轨;当落在多字节指令上时,程序将会继续出错,所以在对程序流向起着决定性作用的指令前插入几条NOP指令,就会使被弹飞指令进入正轨。
上一篇:PLC智能信息处理的扶梯节能控制系统设计与开发
下一篇:AT89S52单片机单相智能电表设计+流程图+仿真图

热环境对磁记忆信号的影响ANSYS有限元分析

单片机数字红外测距系统设计+电路图+程序

连续-离散型状态观测器设...

基于Kinect手势识别的遥操...

冷库GPRS的无线数据采集系统设计

基于51单片机自动门智能控制系统设计

STC89C52单片机智能温度监测系统设计

国内外无刷直流电动机研究现状

多元化刑事简易程序构建探讨【9365字】

《醉青春》导演作品阐述

高校网球场馆运营管理初探【1805字】

拉力采集上位机软件开发任务书

浅谈传统人文精神茬大學...

中国古代秘书擅权的发展和恶变

浅谈新形势下妇产科护理...

谷度酒庄消费者回访调查问卷表

辩护律师的作证义务和保...