(2)电路板的布线和工艺的抗干扰措施
①尽量使用多层的印制电路板,多层板可以提供较好的接地网,以避免产生地电位差与元件间的耦合[9]。
②印制电路板时要合理的分区。模拟电路区、数字电路区要尽可能的分开,地线不能混淆,要分别与电源端的地线相连接。
③使用满足系统要求的最低频率的时钟,时钟产生器要尽量靠近用到的TTL或CMOS。如果输出负载过重,会降低输出电平,使电平处于或低于被驱动器件的输入门槛电平,从而造成系统不稳定。
(3)元器件抗干扰措施
①选用质量好的电子元件,并进行严格的测试、筛选和老化。
②设计时元件技术参数要有一定的余量。
4. 控制系统的软件设计
在单片机硬件系统的基础上,再配上相应的软件,才能构成一个完整的系统。用户软件的开发与系统硬件有着密切的关系。在系统的硬件及输入输出方法确
定后,程序软件就可以完全独立的进行设计、开发。当然在软件上做一系列的抗干扰措施也是不可缺少的。本次控制软件的模块主要包括2个:一个是系统监控的主程序模块;一个是数据采集的模块。
4.1 系统监控主程序模块
整个控制系统的核心部分是监控主程序模块。它的外围模块一般都要通过
监控模块实现其在监控系统中的作用。监控主程序开始先接受命令然后进行分析,接着把接到的命令转到相应处理子程序的入口,在这过程中其起到了引导的作用[10]。
这个监控主程序模块,主要包括初始化自检系统的外围设备的输入和输出参数的设置,多任务的操作系统模块的调用,实时中断处理程序等。其监控主程序流程图如图8所示:
图8 监控主程序流程图
4.1.1 系统自检初始化
确保整个控制系统能够正常运行的重要条件是系统自检初始化。系统的价电复位后,首先直接进入自检初始化程序,然后完成系统的自检及初始化。系统初始化过程主要是对一些控制器、数据区和外部芯片进行初始化参数设置和定义。本系统中自检初始化包括接口芯片的参数初始化和内部寄存器的初始化。
接口芯片检测主要是检查各个芯片是否已处于就绪状态,有没有故障等。
系统内部的寄存器的初始化主要是指数据缓冲区内,各个用户定义的数据变量的初始化赋值以及一些特殊功能寄存器SFR的复位初始化。在单片机复位后,程序计数器PC就会指向程序存储器的入口地址0000单元,程序状态字寄存器PSW则清零,片内存储器选择1区工作寄存器的用户标志位F0为0状态,堆栈
指针SP则指向07H,而其他的定时器,中断允许寄存器IE,累加器ACC等都为00H。
4.1.2 定时中断处理
定时中断是周期中断,每隔时间T会循环中断一次。本设计中的定时中断系统主要是构成多任务的操作系统。在系统响应中断后,可以直接进行多任务时间的划分工作,使其它的任务进入就绪准备状态,不需要对断点采取现场保护措施。定时中断的处理程序框图如图9所示:
图9 中断处理程序框图
4.2 数据采集模块
本系统中的数据采集对象为三个,分别是环境光信号、人体信号以及时钟信号,在程序设计中对这三个数据的采集放置多任务模块中实施定时采集[11]。
4.2.1 数据采集软件设计的实现
考虑到环境光足够强时,无论是否有人体信号存在,在不在规定的上课时间内都不应该开灯;而环境光弱时,有人存在且在规定的上课时间内时,则灯自动打开,没有人存在或不在上课时间时,则灯都不会自动打开;要想随时让灯打开,可以用手动开关控制。本系统逻辑定义为:环境光强时为二进制的“0”,弱时为“1”,休息时间为“0”,规定上课时间为“1”,开灯为“1”,关灯为“0”,人体不存在为“0”,人体存在为“1”,那么环境光信号、时间信号、人体存在信号这三方面的因素之间的逻辑关系如表1所示: 51单片机的教室智能照明控制系统设计+仿真图+源代码(6):http://www.youerw.com/zidonghua/lunwen_1719.html