1、网上选课系统的设计与实现毕 业 设 计 论 文论文题目 智能照明系统的设计与实现(毕业设计)2河南建筑职业技术学院毕业(设计)论文摘要随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。本文介绍了基于单片机AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对室内照明的控制。系统设计包括硬件设计和软件设计两部分
2、。该照明控制系统的主控制器、分控制器分别是以AT89C51和AT89C2051单片机为基础,实现了通信、信号采集、控制与显示等功能。使用光电子镇流器,使光源具备自动调节功能。文中详细地描述了控制电路的设计过程,包括:光信号取样电路、人体信号采集电路、键盘与LED显示电路、RS485通信电路、照明灯控制电路、看门狗电路以及信号处理电路等。对于软件设计主要有主控制器、分控制器的有线通信程序设计以及灯光控制、定时控制、键盘扫描与LED显示等程序设计。工作时,光信号取样电路采集光照强弱、人体信号采集电路采集室内是否有人、是否为工作时间等信息并将信号送到单片机,单片机根据这些信息通过控制电路对照明设备进
3、行开关操作,从而实现照明控制,以达到节能的目的。 关键字 智能控制,主控制器,分控制器,单片机,定时控制ABSTRACTWith the rapid development of electronic technology, the system of control based on Single-chip Microcomputer is widely applied in industry, agriculture, electric power, electron, intelligent building and so on. Microcomputer, as the subjec
4、t and core of the embedded system of control, replaces the traditional systemelectronic circuit. At the same time, the development and maturation of the intelligent building have established the substantial foundation for the popularization and application of the control system for lighting based on
5、 single-chip microcomputer。In this paper,the Indoor Lighting Control System Based on AT89C51 and its principle are introduced. Some effective and energy saving control strategys of lighting system are brought forward. The current system uses a relatively mature sensor technology and computer control
6、 technology ,using multi-parameter to achieve the school classroom indoor lighting control. The system includes hardware and software design in two parts. The host controller of the control system for lighting is based on AT89C51 single-chip microcomputer, and the auxiliary ones are based on AT89c20
7、51. The system can do many jobs, such as wired communication, Signal Acquisition,wireless data transmitting, controlling and display.Use of electonic ballasts;the light source with automatic adjustment function .The paper describes the designing process of the circuit at length, including: Optical s
8、ignal sampling circuit, the body signal acquisition circuit, keyboard and LED display circuit, RS485 communication circuit, wireless transmitting circuit, control circuit of lighting, watchdog circuit, etc. The designing of software mainly includes the several programming, such as wired communicatio
9、n, lamplight controlling, timed controlling, keyboard scanning ,LED displaying and signal processing circuit. The wired communication programming function is that through Master-slave communication method based on RS485 the host controller sends orders to the all auxiliary controllers or each one, i
10、ncluding: turning on lighting, turning off lighting, regulating brightness of lighting, controlling timed lighting, etc. Work,the optical signal sampling circuit collecting lighting intensity,indoor collecting of human signal acquisition circuit if anyone,whether for work time and other information
11、and signal to the microcontroller,MCUcontrol circuiti based on these information through the switching operation of lighting equipment in order to achieve lightingcontrols to sava energy.Key Words: Intelligent control,Host controller, Auxiliary controller, Single-chip microcomputer, Timed controllin
12、g49 目 录摘要IABSTRACTII1 绪论111课题研究背景112课题研究的目的和意义113智能控制技术的研究现状214国内外智能照明发展状况215智能照明系统的优点316智能照明控制系统的组成317现有智能照明系统的分析32 系统方案设计421系统设计要点422系统设计思路5221通信系统5222上位机系统5223下位机系统63 硬件电路设计83.1系统硬件总述83.2 CPU性能介绍93.3 主控室电路设计93.3.1键盘接口设计103.3.2数码显示设计103.3.3看门狗监控电路设计113.4分控制器的电路设计113.5光信号取样电路123.6人体信号采集模块133.6.1人体红
13、外探头133.6.2信号处理电路143.6.3比较电路153.7输出驱动电路设计164 系统软件设计及实现174.1人机交互程序设计184.1.1键盘扫描程序设计184.1.2数码显示程序设计214.2照明启停控制程序设计214.3通信程序设计244.3.1主机部分通信程序设计264.3.2从机部分通讯设计程序265系统的可靠性设计275.1干扰产生的后果275.2单片机应用系统的硬件抗干扰设计285.3软件抗干扰技术285.3.1数据采集误差的软件285.3.2程序运行失控的软件对策28总结30致 谢31参考文献32附 录331 绪论11课题研究背景改革开放30年来,我国经济取得了突飞猛进的
14、发展,人民生活水平质量也得到了巨大的提高,人们对照明的需求也越来越高。从最初只提供亮度的基本功能到现在产了多方面的需求:除了提供适宜的环境亮度以外,还要营造优雅舒适的氛围;用户方要求控制方式灵活方便,能实现按需配置,同时实现节能、降低运行费用;施工方要求安装简单、维护方便;设计方要求系统能提供满足用户多样性要求的各种技术手段。需求的变化导致控制方式的改进:从传统的机械式开关演变为电子技术的智能照明系统。能源短缺是21世纪国际面临的新课题。在寻找新的能源之外,节约能源,提高效益也就成为了我们研究的课题。所以如何来节省电力能源也成为了一个迫切需要解决的问题。从节约资源、对社会贡献、节省部门经费支出
15、等多方面考虑,办公室、高校教室等公共场所照明的节电问题不得不提到重要的议事日程上来。目前常用的节电方式为手工控制,声控型,太阳能灯等。手工方式操作起来不灵活,费时费力。声控型往往判断不准确,不需要的时候也也会经常亮。太阳能设备投资比较大,且容易受光照强度的影响。因此市场上迫切需要一种操作方便、价格低廉、便于大面积推广的新型节能方案。12课题研究的目的和意义随着经济的发展和科技的进步,人们对照明器具节能和科学管理提出了更高的求,使得照明控制在智能楼宇领域的地位越来越重要。而在楼宇大厦建设热潮中各公司和企业也意识到了智能照明的重要性。商业楼宇中大功率设备一般数量较少。而照明器具则比较多。使用照明控
16、制系统更能体现在节能与管理方面的优势,提高建筑的科学管理水平。传统楼宇公共区域的照明模式,只能是白天关灯、晚上开灯,而采用智能照明控制系统后,用户可以根据不同场合、不同的人流量,对时间段和工作模式进行划分,把不必要的照明灯具关掉,在需要时自动开启;同时,系统还能充分利用自然光,在保证必要照明的同时,有效减少了灯具的工作时间,节省了不必要的能源开支,也延长了灯具的寿命。虽然智能照明系统最基本的功能是开关作用,与传统的照明系统似乎并无差异,但前者以自动控制为主、人工控制为辅,在一般的情况下,不需要用户的参与,照明系统自动实现开关功能大大减少了人们的管理工作。 智能照明控制系统减少灯具使用时间,能有
17、效节约能源,由于我国以前的粗放型经济增长方式已经导致资源匮乏,这种一味地靠资源和牺牲环境来换取GDP的增长的外延扩展方式已经走到尽头,所以调整产业结构。在照明行业推广智能照明系统具有重要的意义。13智能控制技术的研究现状智能控制技术发展方向主要有基于人工智能技术的智能控制方向、智能控制的模糊控制方向和智能控制的人工神经网络控制方向,在智能控制的人工神经网络控制方向上,基于人工神经网络和模糊逻辑有机结合的神经模糊技术,已成为近年来的一个热门课题。14国内外智能照明发展状况 “智能建筑”是综合计算机、信息通信等方面最先进的技术,使建筑物内的电力、空调、照明、防灾、防盗、运输设备等,实现建筑物综合管
18、理自动化、远程通信和办公自动化的有效运作,并使这三种功能结合起来的建筑。人工智能技术在建筑与照明中的应用趋势不断扩大。正如英国的Glasgow市报指出: “Glasgow正在成为一个研究和发展太空时代智能建筑的国际组织的神经中枢。在智能建筑中的智能照明、供热、空调、通讯及办公设备将全部由电子计算机进行控制与管理。”面对这一发展趋势,开发了不少智能照明设计,如智能灯具、智能照明控制与管理系统,包括在照明方面的计算机硬件和软件。此外计算机在照明设计和测试方面也得到广泛应用。澳大利亚邦奇开发的Dynalie智能照明控制系统,美国的智能照明建筑,特别是现代化办公室的智能照明技术等都值得我们研究与借鉴。
19、15智能照明系统的优点智能照明控制系统是指用计算机技术并辅助以其它手段,对电力照明实行自动控制,提供合适照明光环境的同时降低照明系统电能消耗和其它使用费用。智能照明控制系统于手动照明控制系统相比有很多优点,包括创造环境气氛,改善工作环境、提高工作效率,良好的节能效果,延长光源寿命,管理维护方便等。 16智能照明控制系统的组成智能照明控制系统主要由输入装置、处理器和执行器三个部分组成。输入装置可以不断检测周围环境的照度水平,可以探测到某个区域是否有人移动,以及输入人们的控制指令,并把相应的信号传送给处理器。输入装置包括传感器、定时装置和控制面板或遥控器。处理器接受输入装置的信号,经过信息处理、判
20、断、分析,输出控制信号。执行器与灯具直接连接,控制灯光回路的闭合或断开和调节灯光到相应的水平,包括手动开关17现有智能照明系统的分析澳大利亚邦奇开发的Dynalite分布式智能照明控制系统的特点是模块化结构和分布式控制,各功能模块之间通过网络总线直接相互通信,当系统中某个模块出现故障时不会影响其它模块,可靠性高。美国LC&D智能照明控制系统是一套由计算机微处理器控制的低压继电器配电盘组成,按照客户对室内外照明的具体要求,设定照明控制的时间、区域、方法来控制每一个独立的回路,也有手动开关直接控制。 国内生产的真善美智能照明系统具有集中控制、多点操作、集中显示、停电自锁、免打扰、遥控功能等智能功能
21、,使家居生活更加方便和舒适。但是,国内外智能照明系统的研究存在着如下问题:(1)现有国外智能照明系统主要控制照度这个数量指标,国外的研究主要集中于办公室照明,以节能为主要目的,但据照明科技最新研究成果表明,非定量指标(如舒适性和艺术性等)对室内照明光环境质量影响更大。(2)国内一些智能照明控制系统能够实现集中控制和集中显示,具有一定的智能性,但其只能控制房间中的一个灯或一组灯的开、关,不能实现场景控制,也不能对灯光的亮度进行调节,不能产生多种照明效果。(3)针对住宅照明光环境研制的智能照明控制系统产品很少,还有很大的开发前景。2 系统方案设计本章根据论文课题要求的性能指标进行方案论证,给出课题
22、要求的性能指标,根据系统实现功能,完成系统方案设计。21系统设计要点系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。硬件电路是采用结构化系统设计方法,该方法保证设计电路的标准化、模块化。硬件电路的设计最重要的选择用于控制的单片机,并确定与之配套的外围芯片,使所设计的系统既经济又高性能。硬件电路设计还包括输入输出接口设计,画出详细电路图,标出芯片的型号、器件参数值,根据电路图在仿真机上进行调试,发现设计不当及时修改,最终达到设计目的。软件设计部分,首先在总
23、体设计中完成系统总框图和各模块的功能设计,拟定详细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试、测试,达到所需功能要求。本系统软件设计采用模块化系统设计方法,先编写各个功能模块子程序,然后进行组合与调整,经过调试后,达到设计功能要求。22系统设计思路系统的结构主要由三部分组成:(1)上位机系统;(2)下位机系统;(3)通信系统。这三部分共同完成了主控制器通过有线通信方式与分控制器进行信息交换,达到控制照明灯具的目的。221通信系统该多机通信系统采用RS-485半双工主从式通信系统,主机可以发送数据或命令到从机,从机主要负责对分
24、布的照明灯具进行控制,用中断的方式接收主机发来的命令或数据并做出回应。如图2-1所示222上位机系统系统的主控制器通过RS-485总线将数据或命令发送给分控制器,同时将信息送给数码显示单元进行显示,并有看门狗电路对运行程序进行有效监视。主控制器硬件电路结构如图2-2所示。分控制器接收主控制器的发来的数据和命令,通过可控硅电路对照明灯具进行开关控制,并且利用实时时钟芯片对照明灯具进行定时开关控制223下位机系统分控制器硬件电路结构如图2-3所示。系统在单片机的控制之下完成数据的通信、显示,同时能够控制照明灯具,其硬件电路只是系统的实施工具,大量的工作是由软件来完成的。这些程序是系统的灵魂,是负责
25、完成硬件电路实现功能和与用户交互的桥梁,是维护系统正常工作的工具。室内灯光控制系统可以根据气候、人体等因素全天候自动模糊控制室内照明电器的开和关。做到光线暗时开灯,雨天阴天时开灯,无人时关灯,光线亮时关灯,晴天时关灯。在确保室内正常照明同时,可有效防止无人灯(无人时开灯)无效灯(光线亮时开灯),从而达到节电目的。根据上述要求,可以画出如表2-1所示控制系统逻辑功能表。关系如果假设:室内光线强度为A:光线强时A=1,光线弱时A=0;人体信号为B:有人时B=1,无人时B=0;电灯开关状态为D:合时D=1,断开时D=0。由真值表可得出系统逻辑函数表达式为: D=A非B表2-1系统逻辑 (真值表)3
26、硬件电路设计3.1系统硬件总述系统以单片微型计算机为核心外加多种接口电路组成,共有六个主要部分: STC89C52RC芯片、光信号采集电路、人体信号采集电路、时钟控制电路DS1302、输出控制电路、定时监视器电路,如图3-1所示3.2 CPU性能介绍STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash, 512字节RAM, 32位I/O口线,看门狗定时器,内置4KBEEPROM, M
27、AX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下, CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下, RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位。最高运作频率35Mhz, 6T/12T可选。3.3 主控室电路设计主控制器系统的外围接口电路由键盘、数码显示及驱动电路、晶振、看门狗电路、通信接口电路等几部分组成。主控制器系统的硬件电路原理图如图3-2所示。3.3.1键盘接口设计键盘的结构形式有两种,即独立式按键和矩
28、阵式键盘。本系统使用的是44矩阵式键盘,第一行从左到右为1、2、3、4,第二行为5、6、7、8,第三行为9、0、开、关,第四行为增值、减值、取消、确认。该形式的键盘,每个按键开关位于行列的交叉处,采用逐行扫描的方法识别键码。矩阵键盘的列线从左到右分别与单片机的P1.4、P1.5、P1.6、P1.7相连,矩阵键盘的行线从上到下分别与P1.0、P1.1、P1.2、P1.3相连。每当按下一个键时,对应的行线与列线就会连通,这样单片机就能检测出信号,并通过键盘扫描程序对键盘进行扫描,以识别被按键的行、列位置。3.3.2数码显示设计显示模块采用点阵字符液晶显示器LCD1602, LCD1602专门用来显
29、示数字、字母、常见图形符号。显示器把LCD控制器、点阵驱动器、字符存储器集成在一起,字符型液晶显示模块由内置192个字符,所以使用起来非常的方便,而且显示界面非常清晰,能较好的显示当前的年、月、日、时、分、秒及相关信息。3.3.3看门狗监控电路设计本系统采用MAXIM公司的低成本微处理器监控芯片MAX813L构成硬件狗,与STC89C52RC的接口电路如图3-2所示。MR与WDO经过一个二极管连接起来, WDI接单片机的P3.3口, RESET接单片机的复位输入脚RESET, MR经过一个复位按钮接地。该监控电路的主要功能如下:(1)系统正常上电复位:电源上电时,当电源电压超过复位门限电压4.
30、65V, RESET端输出200ms的复位信号,使系统复位。(2)对+5V电源进行监视:当+5V电源正常时, RESET为低电平,单片机正常工作;当+5V电源电压降至+4.65V以下时, RESET输出高电平,对单片机进行复位。(3)看门狗定时器被清零, WDO维持高电平;当程序跑飞或死机时, CPU不能在1 6s内给出“喂狗”信号, WDO跳变为低电平,由于MR端有一个内部250mA的上拉电流, D导通MR获得有效低电平, RESET端输出复位脉冲,单片机复位,看门狗定时器清零, WDO又恢复成高电平。(4)手动复位:如果需要对系统进行手动复位,只要按下手动复位按钮,就能对系统进行有效的复位
31、。3.4分控制器的电路设计由于条件限制,分控制器仍采用采用STC89C52单片机作为微处理器。3.5光信号取样电路光信号取样电路如图3-7所示,图中主要由光信号采集电路和比较输出电路组成。信号经过采集送入MAX485同相输入端,通过芯片处理后,最终由Ro脚输出相应高电平或低电平,送入单片机P2.1口,由单片机接收并作为开关等的依据。电路中电位器可调节B端的输入电压,从而调节在不同光强下设置开关灯门限。在此电路中,光敏电阻在不同光强下呈现不同阻值,当光照强度变小时,其阻值变大,使得加在光敏电阻上的电压变大,经过82K电阻再次分压后,如达到导通三极管电压,即加在MAX485的A脚的电压随之变化,达
32、到比较效果。 3.6人体信号采集模块人体信号采集由人体红外检测探头和比较电路组成,本设计中直接使用够买的成品人体红外感应报警模块。3.6.1人体红外探头热释电红外传感器能以非接触形式检测出人体辐射的红外线,并将其转变为电压信号。热释电传感器具有成本低、不需要用红外线或电磁波等发射源、灵敏度高、可流动安装等特点。实际使用时,在热释电传感器前需安装菲涅尔透镜,这样可大大提高接收灵敏度,增加检测距离及范围。实验证明,热释电红外传感器若不加菲涅尔透镜,则其检测距离仅为2 m左右;而配上菲涅尔透镜后,其检测距离可增加到10 m以上。静态情况下空间存在红外光线,由于双源式探头采用互补技术,不会产生电信号输
33、出。动态情况下,人体经过探头先后被A源或被B源感应, SaSb产生差值,双源失去互补平衡作用而很敏感地产生信号输出。3.6.2信号处理电路本设计采用BIS0001来完成对热释电传感器输出信号的处理。BIS0001是一款具有较高性能的热释电传感器信号处理集成电路,它主要由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成。图3-10中,热释电传感器S极输出信号送入BIS0001的14脚,经内部第一级运算放大器放大后,由C3耦合从12脚输入至内部第二级运算放大器放大,再经电压比较器构成的鉴幅器处理后,检出有效触发信号去启动延迟时间定时器,最后从12脚输出信号 (Vo )送入
34、单片机进行照明控制。实验所得,当传感器检测室内有人时,Vo =4V无人时Vo =0.4 V。BIS0001的1脚接高电平,使芯片处于可重复触发工作方式。输出Vo (高电平)的延迟时间Tx由外部R8和C7的大小调整;触发封锁时间Ti由外部R9和C6的大小调整。3.6.3比较电路比较电路如图3-11所示,由两个运算放大器组成,输入信号来自于红外 人体探头输出。比较电路中的基准电压分别由两个独立的分压电路得到,供 电路比较所用。 即运算放大器D1的6脚和D2的1脚电压分别为0.45V和2.0V。 通过比较电路将相应的电压比较结果以数字信号输出。当被动红外探头 在有效范围内感应到人体信号后,运算放大器
35、的“2脚”或“5脚”的电压降 为3.0V;当被动红外探头在有效范围内没有感应人体红外信号时,“2脚”或“5脚”的电压降为1.0V。探头故障断路时,则“2脚”或“5脚”的电压降 为0V。1.探头工作正常 “1脚”的电压恒定为2.0V,“2脚”的电压有1V或是3.0V两种状态, “6脚”的电压恒定为0.45V,“5脚”的电压与“2脚”的电压保持一致。 探头将会根据有无人体信号在“2脚”产生1.0V或3.0V两种电压信号。2.探头工作不正常(由于故障或没有安装探头) “1脚”的电压恒定为2.0V,“2脚”的电压为0V, “6脚”的电压恒定为0.45V,“5脚”的电压为0V。 探头将只会产生一种电压信
36、号0V。 具体的比较结果如下表3-1所示。表3-1 探头采集信号输出状态表通过比较电路,不仅解决了不同工作状态时被动红外探头的对外界人体红外信号的采集,而且也实现了仅通过被动红外探头的两根电源线同时也传输了所采集的周围环境的红外信号,一举两得。3.7输出驱动电路设计ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作 电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。 是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电 平, 当输入端为低电平时ULN2003输出端为高电平, 继电器得电吸合。 功能特点: 高电压输出50V输出钳位二
37、极管输入兼容各种类型的逻辑电路应用继电器驱动器输出控制电路如图3-12所示, 单片机P2.0脚接ULN2003芯片IN7脚, 单片机向IN7输入一个高电平时,芯片从OUT7脚输出低电平,继电器得电闭合。4 系统软件设计及实现软件设计分主程序设计、子程序设计、中断程序设计三大块。软件是计算机系统的灵魂,没有软件计算机不能充分发挥其功能,这是软件在计算机中的地位,而在计算机控制系统中,软件也是非常重要的。在照明控制系统中,硬件设备的功能是由软件来定义的,如系统要控制分布的照明灯具,串行通信程序来完成控制功能,通过软件定义键盘功能,通过编程完成LED数码显示等等,由此可见,软件是控制系统中的一个重要
38、组成部分。 该照明控制系统的软件程序包括:照明启停控制程序、照明亮度控制程序、照明定时控制程序、人机交互程序以及串行通信等。本着软件设计的基本方法,照明控制程序的软件设计方法是利用传统的结构化分析与设计方法来完成的。结构化程序设计方法虽然是早期的程序设计方法,但该方法还一直被广泛地使用。结构化系统分析与设计贯穿整个软件设计过程,遵循“自顶向下,逐步求精”的基本原则。照明控制系统软件程序结构如图41所示。4.1人机交互程序设计系统的人机交互程序设计,主要是解决按键的扫描与信息的显示,让操作者能够灵活地控制系统工作。键盘用来输入指令,发光数码管用来显示单片机的状态,这是一个比较简单的人机交互形式。
39、4.1.1键盘扫描程序设计本系统的键盘采用的是44矩阵式键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。一个44的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。矩阵式键盘中,行、列线分别连接到按键开关的两端,在进行键盘扫描时,首先把矩阵键盘列线的第一根线置高,然后分别再检测矩阵键盘行线是否有高电平的信号,如果有信号,那么就证明这根行线与第一根列线相交处的按键被按下了,单片机就读入这个键值。如果所有的四根行线都没有信号,那么就换成把第二根列线置高,再一次检测行线有没有信号,然后依次类推。由于一般人按键会有抖动,抖
40、动信号造成键盘扫描时会出现一些错误,或是扫描不进数据,或是重复输入很多次数据,因此需要有一个消除抖动的程序。让单片机不响应一些相关的抖动信号,而只响应一次确实存在的按键信号。消抖动程序是这样实现的,当检测到一个脉冲信号时,并不立即认为是一次按键,而是延时一段时间以后再进行检测,如果三次检测都有信号,那么就认为有一次按键动作发生了。延时的选择非常重要,太快了,起不到消除抖动的效果,太慢了又让键盘太不灵活,错过较多的按键信号。键盘扫描程序的流程图如图4-2所示。 系统的按键定义除了基本的数字键(09)外,将其它的键依次定义为开、关、增值、减值、取消、确认六个命令键,其控制的基本功能是:(1) 通过
41、数字键、确认键输入分控制器的地址以及定时功能的时间设置。 (2) 利用开、关键控制照明灯具的启停。 (3) 利用增值、减值键控制照明灯具的亮度。 (4) 通过定时键来对照明灯具进行定时控制的设置。 系统通过软件方法实现该功能,即定义开、关、增值、减值、定时、确认等命令键,利用键盘扫描程序获取对应命令键的键值,然后执行相应的子程序,实现所要求的控制功能。4.1.2数码显示程序设计本系统采用LCD1602显示模块,利用单片机显示程序读取DS1302时钟芯片时间,然后送1602显示。 数码显示程序如图4-34.2照明启停控制程序设计照明的启停控制主要是由主控制器发出指令,通过RS485通信方式或无线
42、数传方式控制全部或部分分控制器所控制照明灯具的启停。主机与从机的数据通信波特率定为9600波特,每个从机都有唯一的地址号,用来区分各从机。单片机的数据通信由串口完成,定时器T1为波特发生器,数据传送格式为1位起始位,8位数据位,1位停止位,1位可编程位(TB8)。工作方式:定时器T1设置为方式2,串口设置为工作方式3。本系统的通信原理为:主机发送地址有通用地址和单机地址两种。控制全部从机是发送通用地址,控制单个从机时发送此机唯一地址。从机在建立与主机通信之前所有分机的SM2都置1,即随时处于对通信线路监听的状态,只能收到主机发送来的机号信息。当主机发送地址信息时,每帧数据的第9位都为1,所有从
43、机都接收到地址信息,然后判断主机是否呼叫本机或呼叫通用地址。如果呼叫通用地址则进入正式通信状态,清除SM2位,不需要回复主机,开始接收主机发送来的命令。如果呼叫本机则进入正式通信状态,清除SM2,并把本机地址号发送给主机作为应答,然后才开始接收主机发送来的信息。而其它从机由于地址号不符,他们的SM2位仍然为1,仍处于侦听状态,无法接收主机发送来的数据信息。主机收到从机发送来的回应信息后,比较主机已发送的地址号与刚接收的地址号是否相符,如果不符,则发出错误信息;如果相符,则正式发送数据信息,这时发送的每帧的第9位都为0。只有SM2=0的从机才能接收到主机发送的信息。从机根据命令执行相应的动作,如
44、果为打开命令,则输出高电平闭合继电器开关,开启照明灯;如果为关闭命令,则输出低电平断开继电器开关,停掉照明灯。该系统的主机和从机的控制程序流程图如图4-4和图4-5所示。4.3通信程序设计在通信中,主机与各个从机进行通信,必须能对各个从机进行识别,这一识别功能是利用串口控制寄存器SCON的SM2位实现的。当串口以方式3工作时,发送和接收的每一帧信息都是11位,其中第9位数据位是可编程的,通过对SCON寄存器的TB8位置1或置0,以区别发送的是地址帧还是数据帧(规定地址帧的第9位为1,数据帧的第9位为0)。若从机的控制位SM2被设为1,则当接收的是地址帧时,数据装入SBUF,并置RI=1,向CP
45、U发出中断申请,若接收的是数据帧,则不产生中断,信息被抛弃。若SM2被设为0,则无论是地址帧还是数据帧都将产生RI=1中断标志,数据装入SBUF。利用这一功能,可以按照如下步骤进行数据通信: (1) 将所有SM2位置1,使其处于只接收地址帧的状态。 (2) 主机发送一帧地址信息,其中前8位数据位表示通信的从机地址,第9位为1,表示当前帧为地址帧。 (3) 从机接收到地址帧后,如果是广播地址帧,则所有从机都将其SM2位置0,准备接收主机发送的数据或命令;如果不是广播地址帧,则将本机地址与帧中地址进行比较。如果地址相同,则将其SM2位置0,并发送本机地址帧,然后准备接收数据。如果地址不同,则丢弃当
46、前数据,SM2位不变。 (4) 主机发送数据帧,相应的从机接收,其他从机则不受影响。 (5) 当主机需要与其他从机通信时,可以再次发出地址帧寻呼从机,重复这一过程。 主机在发送数据时,按照表4-1的数据格式进行传输。在程序中,第9位发送数据位SCON中的TB8位,第9位接收数据位为SCON的RB8位,因此,发送数据前,可以通过对TB8位置1或0来确定要发送的是地址帧还是数据帧。而接收数据时,对地址帧的判断则是通过读取RB8位来获得的,RB8=1,当前帧为地址帧,RB8=0,当前帧为数据帧。 单片机的串口工作在方式3下,其波特率由定时器1(T1)的溢出率决定,计算公式为:定时器T1的溢出率的计算
47、公式为:则波特率的公式变为:系统所采用的晶振频率为11.0592MHz,T1工作在模式3下,波特率=9600b/s。4.3.1主机部分通信程序设计系统中的主机通信程序分为4个部分,分别为预定义及全局变量部分、程序初始化部分、数据通信流程和发送数据部分。主机的数据通信的基本流程如下: (1) 主机首先向所有从机发送地址帧对要通信的从机进行呼叫,发送地址帧时需将TB8位置1。 (2) 发送地址帧后,如果发送的是广播地址帧,则不需要从机应答,待延迟一段时间后,调用发送函数发送数据;如果发送的是非广播地址帧,主机则要接收应答,若应答信号中的地址与前面发送的地址并不相同,主机将重新发送地址帧呼叫,否则调用发送函数发送数据。 (3) 发送完数据后,主机等待从机的校验信号,如果接收到0Xdd数据,表示发送成功,通信结束,否则主机将重新发送数据,直至发送成功。4.3.2从机部分通讯设计程序从机通信程序也被分为预定义及全局变量部分、程序初始化部分、数据通信流程和接收数据部分4个部分。从机部分的数据通信过程受主机控制,其基本的流程如下:(1) 初始化完成后,从机设置SM2位为1,串口只接收第9位数据位为1的地址帧,数据帧将被直接抛弃。 (2) 如果串口有数据接收(收到地址帧),则从机会将该帧中的地址信息先与广播地址进行比较,如果是广播地址,则做好接收数据的准备,如果是其它地