基于单片机的智能照明控制系统设计 下载本文

内容发布更新时间 : 2024/4/28 23:12:57星期一 下面是文章的全部内容请认真阅读。

电子镇流器具有以下特征:1)经济实用;2)应用简便;3)性能可靠;4)节能;5)延长光源的使用寿命;6)切断故障灯管;7)恒定功率;8)适用于应急照明;9)高频工作带来高质量照明。

PCA EXCEL one4all是锐高公司生产的第四代可调光数字电子镇流器产品,他在单个装置内集成了四中特有功能,使用switchDIM技术可用普通复位开关实现调光,使用SMART技术可通过传感器实现恒定光照度控制,使用DSI技术组成灵活控制系统,使用DALL技术实现单程寻址的控制系统,PCA EXCEL one4all可灵活自动地采取相应的照明管理方案。

3 系统软件设计及实现

软件设计分主程序设计、子程序设计、中断程序设计三大块。软件是计算机系统的灵魂,没有软件计算机不能充分发挥其功能,这是软件在计算机中的地位,而在计算机控制系统中,软件也是非常重要的。在照明控制系统中,硬件设备的功能是由软件来定义的,如系统要控制分布的照明灯具,串行通信程序来完成控制功能,通过软件定义键盘功能,通过编程完成LED数码显示等等,由此可见,软件是控制系统中的一个重要组成部分。

该照明控制系统的软件程序包括:照明启停控制程序、照明亮度控制程序、照明定时控制程序、人机交互程序以及串行通信等。本着软件设计的基本方法,照明控制程序的软件设计方法是利用传统的结构化分析与设计方法来完成的。结构化程序设计方法虽然是早期的程序设计方法,但该方法还一直被广泛地使用。结构化系统分析与设计贯穿整个软件设计过程,遵循“自顶向下,逐步求精”的基本原则。本照明控制系统软件程序总体结构如图3-1所示。

照明定时照明启停控制 照明控制系统 控制 人 机 交 互 串 行 通 信

图 3-1 照明控制系统软件程序总体结构图

3.1 人机交互程序设计

系统的人机交互程序设计,主要是解决按键的扫描与信息的显示,让操作者能够灵活地控制系统工作。键盘用来输入指令,发光数码管用来显示单片机的状态,这是一个比较简单的人机交互形式。 3.1.1 键盘扫描程序设计

本系统的键盘采用的是434矩阵式键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。一个434的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。

矩阵式键盘中,行、列线分别连接到按键开关的两端,在进行键盘扫描时,首先把矩阵键盘列线的第一根线置高,然后分别再检测矩阵键盘行线是否有高电平的信号,如果有信号,那么就证明这根行线与第一根列线相交处的按键被按下了,单片机就读入这个键值。如果所有的四根行线都没有信号,那么就把第一根列线置低,把第二根列线置高,再一次检测行线有没有信号,然后依次类推。

由于键盘扫描的速度很快,而人按键总会持续一定的时间,因此只要单片机处在等待输入的状态,这个键盘扫描程序基本上不会错过任何一个按键信号。由于一般人按键会有抖动,抖动信号造成键盘扫描时会出现一些错误的信号,要不就是扫描不进数据,要不就是重复输入很多次数据,因此需要有一个消除抖动的程序。让单片机不响应一些相关的抖动信号,而只响应一次确实存在的按键信号。消抖动程序是这样实现的,当检测到一个脉冲信号时,并不立即认为是一次按键,而是延时一段时间以后再进行检测,如果三次检测都有信号,那么就认为有一次按键动作发生了。延时的选择非常重要,太快了,起不到消除抖动的效果,太慢了又让键盘太不灵活,错过较多的按键信号。键盘扫描程序的流程图如图3-2所示。

系统的按键定义除了基本的数字键(0~9)外,将其它的键依次定义为开、关、增值、减值、定时、确认六个命令键,其控制的基本功能是:

(1) 通过数字键、确认键输入分控制器的地址以及定时功能的时间设置。 (2) 利用开、关键控制照明灯具的启停。 (3) 利用增值、减值键控制照明灯具的亮度。 (4) 通过定时键来对照明灯具进行定时控制的设置。

系统通过软件方法实现该功能,即定义开、关、增值、减值、定时、确认等命令键,利用键盘扫描程序获取对应命令键的键值,然后执行相应的子程序,实现所要求的控制功能。

开 始将上一根列线置低将下一根列线置高初始化

图3-2 键盘扫描程序流程图

3.1.2 LED数码显示程序设计

本系统采用了四位共阳极七段数码管,共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻,这里的限流电阻选为100Ω。

这里选用的7447芯片是从BCD码到SEG7段码的转换器,而74LS138是一个地址译码器,通过74LS138选通某个数码管,然后根据7447传送过来的SEG7段码的数据进行显示,而在

非选通的时候,数码管能够保持原有的显示数据。LED数码显示程序的流程图如图3-3所示

关显示数字是否显示完YN位码送译码器选通低位数码管显示缓冲区左移段码送驱动显示查表取段码初始化子程序入口 返回图3-3 LED数码显示程序流程图

3.2 照明启停控制程序设计

照明的启停控制主要是由主控制器发出指令,通过RS485通信方式或无线数传方式控制全部或部分分控制器所控制照明灯具的启停,因此照明启停控制程序由两部分组成,即全部启停控制与单独启停控制两部分。 3.2.1 全部启停控制程序设计

全部照明启停控制系统是利用主控制器上的开、关按键来控制全部照明灯的启停,控制命令是通过串口通信方式传达到分控制器,分控制器再依据命令向P3.7口输出高低电平,来达到控制灯泡亮和灭的目的。