西南科技大学高等教育自学考试论文
3.2.12 系统供电电路
要取得+5V电压,若选用12V的变压器,整流滤波后输出往往大于12V,会使稳压器功耗大,自身温度较高,故不选用输出电压为12V的变压器,而选用输出电压为9V的变压器。系统接通220V交流电源后,将220V交流电变压到9V,经过二极管全波整流、电解电容C1、C2滤波,在经一只正在正输出稳压器LM7805,为了缓冲负载突变,改善瞬态响应,输出端还采用了电容C3、C4,最后得到+5V的直流工作电源,用于给控制系统中单片机系统及其它外围电路的Vcc+端供电,其供电原理图如图3-18。
图3-18 供电原理图
在硬件时钟模块中,为了在断电后硬件时钟能够正常运行,故采用主从双电源供电方式。硬件时钟一般在系统的+5V主电源情况下工作,而只有系统+5V电源消失的情况下,为确保硬件时钟的正常运行,设计一个3.6V的备用电源
18
西南科技大学高等教育自学考试论文
第4章 控制模块软件设计与开发
在单片机硬件系统的基础上,再配上相应的软件,才能构成一个完整的系统。用户软件的开发与系统硬件有着密切的关系。在系统的硬件及输入输出方法的确定后,程序软件就可以完全独立的进行设计、开发。
本控制软件的模块主要包括:系统监控主程序模块、数据采集模块及系统功能键。
4.1 系统监控主程序模块
监控主程序是整个控制系统的核心部分,其外围模块一般都需要经过监控模块实现其在监控系统中的作用。监控主程序接受和分析来自键盘的命令,进而把控制转到相应的处理子程序的入口,起引导作用。
本系统监控主程序模块包括对系统外围器件输入、输出参数的初始化自检,看门狗的激活,多任务操作模块的调用,实时中断处理等。其监控主程序流程图如图4-1所示:
4.1.1系统自检初始化
系统自检初始化是保证整个控制系统能够正常运行的重要条件,系统价电复位后,直接进入自检初始化程序,完成系统的自检初始化的自检及初始化。初始化过程主要是对一些控制器、数据区和外部芯片进行初始化参数设置和定义。本系统中自检初始化主要指接口芯片的检测芯片内部设定参数的初始化内部寄存器的初始化。 接口芯片的检测主要检查各芯片是否已处于准备工作的就绪状态,有无硬件故障等。如检测各位LED是否正常显示系统设置开机时的界面,检查硬件时钟DS1302是否处于更换新品后初次使用为起振状态,还是处于备用电源供电震荡保持状态,检测环境光是如何影响光采集电路输出信号等。
系统内部寄存器初始化主要是指数据缓冲区内,各用户定义的数据变量的初始化赋值及部分特殊功能寄存器SFR的复位初始化,单片机复位后,程序计数器PC指向程序存储器的入口地址0000单元,程序状态字寄存器PSW清零,片内部存储器选择1区工作寄存器,用户标志位F0为0状态,堆指针SP指向07H,其他定时器、中断允许寄存器IE累加器ACC等皆为00H。 4.1.2 定时中断处理
定时中断时利用单片机内部的定时器定时时间到或计数值已满的终端,内部定时器的计数器可以对内部时钟或从外部引线T0和T1输入的外部脉冲进行计数,计数器的
19
西南科技大学高等教育自学考试论文
开始 系统初始化 设定定时器,允许定时中断 看门狗激活 人体传感器处理任务 环境光处理任务 定时时钟管理 遥控器处理任务
图4-1 监控主程序流程图
溢出信号作为中断请求信号,去置位定时器溢出标位,向单片机的CPU申请中断。
定时中断为周期中断,每隔一定的时间会中断一次。本系统中设定的定时中断主要用来构成多任务操作系统,在系统响应中断后,无需对断点实施现场保护,可以直
20
西南科技大学高等教育自学考试论文
接进行多任务时间的划分工作,使相应的操作任务进入就绪状态,即该中断可以启动有关的任务就绪。该定时中断处理程序框图如图4-2所示。
开始 定时中断到? N Y 多任务启动时间划分 下一步 图4-2定时中断处理程序框图
本系统还采用了外部中断,此外部中断主要用来判断是否有遥控器信号,若有,就采集下来并加以处理;若无,则返回到主循环。 4.1.3 多任务操作系统的构建
多任务操作是将用户应用程序分成多个任务,在操作系统的管理下,以某种准则调度并分配任务由处理器去执行。多任务运行实现一般是靠CPU运行实时内核,对多任务进行分配和调度,使CPU不停地执行这些任务中的某一个任务,以至能最大限度地提高CPU的利用率,加快运行速度,各任务(程序)不被耽误运行。
本系统多任务的执行是对定时中断中设置的实时标志进行检测,通过标志位的状态决定各任务的调用。任务的执行在微观上是分时顺序进行的,但在宏观上可以认为是同时执行的。因此,各任务在实时系统中的就会处于四种状态中的某种状态之下,这四种状态如图4-3所示。
当某个任务获得CPU的执行权时,CPU执行该任务,此时任务处于运行状态。等待状态是指任务的执行需要等待某一事件发生,则由运行状态退出,进入等待状态。就绪状态是任务满足所有启动条件后所进入的状态。休眠状态是任务己执行完的状态。
21
西南科技大学高等教育自学考试论文
图4-3
运行 等待 就绪 休眠 4.2 数据采集模块
本系统中的数据采集对象为环境光信号及人体存在信号,在程序设计中对这两个
数据的采集放置多任务模块中实施定时采集。 4.2.1 存在传感器的优缺点
人体存在传感器有优点,也有缺点。优点便是本身不发任何类型的辐射,器件功耗很小,隐蔽性好,价格低廉。而缺点是容易受各种热源、光源干扰;由于红外穿透力差,因此人体的红外辐射容易被遮挡,不易被探头接收;易受射频辐射的干扰;环境温度和人体温度接近时,探测和灵敏度明显下降,有时还会造成短时失灵。试验检测也证明了这点,只要人体存在却有巧秒左右没有活动,人体传感器则认为没有人体存在。为避免这种现象的出现,本系统软件程序中设计为有人体存在状态后间隔2分钟或更长的时间来对人体存在参数信号的采集。
4.2.2 数据采集软件设计的实现
本系统考虑到环境观足够亮时,无论有否人体存在都不应该开灯;而环境光不够亮时,有人体存在才开灯,无人体存在不开灯。本系统逻辑定义为环境光亮时为二进制的“0”,暗时为“1”,人体存在为“1”,人体不存在为“0”,开灯为“0”,关灯为“0”,那么环境光与人体存在可以有以下的逻辑关系表表示,如表4-1。
上表数据表明可将环境光参数与人体存在参数相与门操作,又由于继电器是低电
表4-1 环境与人的关系
22