吉林省经济管理干部学院
(7) 多信道,多速率。 SRWF-1型模块标准配置提供8个信道,根据用户需要,可扩展到16/32信道,满足用户多种通信组合方式的需求。SRWF-1型模块可提供1200bps、2400bps、4800bps、9600bps、19200bps等多种通信波特率,并且无线传输速率与接口波特率成正比,以满足客户设备对多种波特率的需要。
(8) 双串口,3种接口方式。 SRWF-1型模块提供2个串口3种接口方式,COM1为TTL电平UART接口。COM2由用户自定义为标准的RS-232/RS-485接口(用户只需要拔/插短路器再上电即可改变接口类型)。
(9) 高速无线通讯和大的数据缓冲区。 可1次传输无限长度的数据,用户编程更加灵活。
(10) 智能数据控制,用户无需编制多余的程序 。即使是半双工通信,用户也无需编制多余的程序,只要从接口收/发数据即可,其它如空中收/发转换,网络连接,控制等操作,SRWF-1型模块能够自动完成。
(11) 低功耗及休眠功能。 接收电流<20mA,发射电流<40mA,休眠时电流仅为<20uA。 (12) 高可靠性,体积小、重量轻。 采用高性能单片处理器ATMega8L,外围电路少,可靠性高,故障率低。
(13) 两种接口收发等待时间。 可设置的接口等待时间使模块既能用于高速用户设备(如DSP系统)也可适用低速系统(如51系统)。
(14) 看门狗实时监控。ATMega8L的看门狗监控内部功能,改变了传统产品的组织结构,提高了产品的可靠性。
3.5 本章小结
本章详细地阐述了系统硬件部分的设计过程,从系统主控制器的硬件电路设计到分控制器的硬件电路设计,然后是RS485通信电路设计与无线数传模块的电路连接。系统的主控制器和分控制器分别是以AT89C51与AT89C2051单片机为基础,按照所要求的功能配上相应的外围电路。主控制器的外围电路主要有键盘接口、LED数码显示接口、看门狗接口、RS485通信接口、无线数传接口以及晶振等。分控制器的外围电路主要有时钟芯片接口、零点检测电路、可控硅控制电路、RS485通信电路、无线数传电路以及看门狗与晶振等。主控制器通过串口使用RS485通信方式或者无线数传方式向分控制器发出信号实现对照明灯的启停、亮度调节、定时控制等功能。
21
吉林省经济管理干部学院
第四章 基于单片机的照明控制系统的软件设计
软件是计算机系统的灵魂,没有软件计算机不能充分发挥其功能,这是软件在计算机
中的地位,而在计算机控制系统中,软件也是非常重要的。在照明控制系统中,硬件设备的功能是由软件来定义的,如系统要控制分布的照明灯具,通过有线与无线串行通信程序来完成控制功能,通过软件定义键盘功能,通过编程完成LED数码显示等等,由此可见,软件是控制系统中的一个重要组成部分。
该照明控制系统的软件程序包括:照明启停控制程序、照明亮度控制程序、照明定时控制程序、人机交互程序以及RS485串行通信与无线数传通信程序等。本着软件设计的基本方法,照明控制程序的软件设计方法是利用传统的结构化分析与设计方法来完成的。结构化程序设计方法虽然是早期的程序设计方法,但该方法还一直被广泛地使用。结构化系统分析与设计贯穿整个软件设计过程,遵循“自顶向下,逐步求精”的基本原则。本照明控制系统软件程序总体结构如图4.1所示。
照明控制系统照明启停控制照明亮度控制照明定时控制人机交互串行通信全部启停控制单独启停控制全部亮度控制单独亮度控制全部定时控制单独定时控制键盘扫描LED数码显示RS485通信无线数传 图4.1 照明控制系统软件程序总体结构图
4.1 人机交互程序设计
系统的人机交互程序设计,主要是解决按键的扫描与信息的显示,让操作者能够灵活地控制系统工作。键盘用来输入指令,发光数码管用来显示单片机的状态,这是一个比较简单的人机交互形式。
22
吉林省经济管理干部学院
4.1.1 键盘扫描程序设计
本系统的键盘采用的是4×4矩阵式键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。一个4×4的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。
矩阵式键盘中,行、列线分别连接到按键开关的两端,在进行键盘扫描时,首先把矩阵键盘列线的第一根线置高,然后分别再检测矩阵键盘行线是否有高电平的信号,如果有信号,那么就证明这根行线与第一根列线相交处的按键被按下了,单片机就读入这个键值。如果所有的四根行线都没有信号,那么就把第一根列线置低,把第二根列线置高,再一次检测行线有没有信号,然后依次类推。
由于键盘扫描的速度很快,而人按键总会持续一定的时间,因此只要单片机处在等待输入的状态,这个键盘扫描程序基本上不会错过任何一个按键信号。由于一般人按键会有抖动,抖动信号造成键盘扫描时会出现一些错误的信号,要不就是扫描不进数据,要不就是重复输入很多次数据,因此需要有一个消除抖动的程序。让单片机不响应一些相关的抖动信号,而只响应一次确实存在的按键信号。消抖动程序是这样实现的,当检测到一个脉冲信号时,并不立即认为是一次按键,而是延时一段时间以后再进行检测,如果三次检测都有信号,那么就认为有一次按键动作发生了。延时的选择非常重要,太快了,起不到消除抖动的效果,太慢了又让键盘太不灵活,错过较多的按键信号。键盘扫描程序的流程图如图4.2所示。
系统的按键定义除了基本的数字键(0~9)外,将其它的键依次定义为开、关、增值、减值、定时、确认六个命令键,其控制的基本功能是:
(1) 通过数字键、确认键输入分控制器的地址以及定时功能的时间设置。 (2) 利用开、关键控制照明灯具的启停。 (3) 利用增值、减值键控制照明灯具的亮度。 (4) 通过定时键来对照明灯具进行定时控制的设置。
系统通过软件方法实现该功能,即定义开、关、增值、减值、定时、确认等命令键,利用键盘扫描程序获取对应命令键的键值,然后执行相应的子程序,实现所要求的控制功能。
23
吉林省经济管理干部学院
图4.2 键盘扫描程序流程图
4.1.2 LED数码显示程序设计
本系统采用了四位共阳极七段数码管,共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻,这里的限流电阻选为100Ω。
这里选用的7447芯片是从BCD码到SEG7段码的转换器,而74LS138是一个地址译码器,通过74LS138选通某个数码管,然后根据7447传送过来的SEG7段码的数据进行显示,而在非选通的时候,数码管能够保持原有的显示数据。LED数码显示程序的流程图如图4.3所示。
子程序入口初始化查表取段码段码送驱动显示位码送译码器选通低位数码管显示缓冲区左移数字是否显示完Y关显示N返回 图4.3 LED数码显示程序流程图
24