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

届别 2012 届

学号

毕业设计(论文)

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

姓 名 系 别 、 专 业 导师姓名、职称 完 成 时 间

目 录

摘要 .................................................... I Abstract ............................................... II

第一章 绪论 ......................................... - 1 -

1.1 课题研究背景 .................................. - 1 -

1.2 课题研究目的和意义 ............................ - 1 -

1.3 智能照明控制系统的发展与现状 ................. - 2 -

第二章 系统方案设计 ................................. - 4 -

2.1 系统设计要点 .................................. - 4 -

2.2 系统设计思路 .................................. - 4 -

第三章 硬件电路设计与实现 . ........................... - 7 -

3.1 系统硬件总述 .................................. - 7 -

3.2 CPU性能介绍................................... - 7 -

3.3 主控制电路设计 ................................ - 8 -

3.4 分控制器的电路设计 ............................ - 9 -

3.5 光信号取样电路 ............................... - 10 -

3.6 人体信号采集模块 ............................. - 11 -

3.7 输出驱动电路设计 ............................. - 13 -

第四章 系统软件设计及实现 . .......................... - 15 -

4.1 人机交互程序设计 ............................ - 15 -

4.2 照明启停控制程序设计 ......................... - 18 -

4.3 通信程序设计 ................................ - 20 -

第五章 系统可靠性设计............................... - 23 -

5.1 干扰产生的后果 .............................. - 23 -

5.2 单片机应用系统的硬件抗干扰设计 .............. - 23 -

5.3 软件抗干扰技术 .............................. - 24 - 总 结 ........................................... - 25 - 参考文献 ........................................... - 26 - 致谢 ............................................... - 27 - 附录 ............................................... - 28 -

摘要

随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。本文介绍了基于单片机AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对室内照明的控制。系统设计包括硬件设计和软件设计两部分。该照明控制系统的主控制器、分控制器分别是以AT89C51和AT89C2051单片机为基础,实现了通信、信号采集、控制与显示等功能。使用光电子镇流器,使光源具备自动调节功能。文中详细地描述了控制电路的设计过程,包括:光信号取样电路、人体信号采集电路、键盘与LED 显示电路、RS485通信电路、照明灯控制电路、看门狗电路以及信号处理电路等。对于软件设计主要有主控制器、分控制器的有线通信程序设计以及灯光控制、定时控制、键盘扫描与LED 显示等程序设计。工作时, 光信号取样电路采集光照强弱、人体信号采集电路采集室内是否有人、是否为工作时间等信息并将信号送到单片机, 单片机根据这些信息通过控制电路对照明设备进行开关操作, 从而实现照明控制, 以达到节能的目的。

关键词:智能控制,主控制器,分控制器,单片机,定时控制

Abstract

With 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 subject and core of the embedded system of control, replaces the traditional system—electronic 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 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 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 AT89c2051. 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 signal 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 communication, 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, including: 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 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 controlling

第一章 绪论

本章介绍了论文的研究背景、目的和意义,对国内外智能照明系统研究概况做了简要综述。

1.1 课题研究背景

改革开放30年来,我国经济取得了突飞猛进的发展,人民生活水平质量也得到了巨大的提高,人们对照明的需求也越来越高。从最初只提供亮度的基本功能到现在产了多方面的需求:除了提供适宜的环境亮度以外,还要营造优雅舒适的氛围;用户方要求控制方式灵活方便,能实现按需配置,同时实现节能、降低运行费用;施工方要求安装简单、维护方便;设计方要求系统能提供满足用户多样性要求的各种技术手段。需求的变化导致控制方式的改进:从传统的机械式开关演变为电子技术的智能照明系统。

能源短缺是21世纪国际面临的新课题。在寻找新的能源之外,节约能源,提高效益也就成为了我们研究的课题。所以如何来节省电力能源也成为了一个迫切需要解决的问题。从节约资源、对社会贡献、节省部门经费支出等多方面考虑,办公室、高校教室等公共场所照明的节电问题不得不提到重要的议事日程上来。 目前常用的节电方式为手工控制,声控型,太阳能灯等。手工方式操作起来不灵活,费时费力。声控型往往判断不准确,不需要的时候也也会经常亮。太阳能设备投资比较大,且容易受光照强度的影响。因此市场上迫切需要一种操作方便、价格低廉、便于大面积推广的新型节能方案。

1.2 课题研究目的和意义

随着经济的发展和科技的进步,人们对照明器具节能和科学管理提出了更高的求,使得照明控制在智能楼宇领域的地位越来越重要。而在楼宇大厦建设热潮中各公司和企业也意识到了智能照明的重要性。商业楼宇中大功率设备一般数量较少。而照明器具则比较多。使用照明控制系统更能体现在节能与管理方面的优势,提高建筑的科学管理水平。传统楼宇公共区域的照明模式,只能是白天关灯、晚上开灯,而采用智能照明控制系统后,用户可以根据不同场合、不同的人流量,对时间段和工作模式进行划分,把不必要的照明灯具关掉,在需要时自动开启;同时,系统还能充分利用自然光,在保证必要照明的同时,有效减少了灯具的工

作时间,节省了不必要的能源开支,也延长了灯具的寿命。

虽然智能照明系统最基本的功能是开关作用,与传统的照明系统似乎并无差异,但前者以自动控制为主、人工控制为辅,在一般的情况下,不需要用户的参与,照明系统自动实现开关功能大大减少了人们的管理工作。 智能照明控制系统减少灯具使用时间,能有效节约能源,由于我国以前的粗放型经济增长方式已经导致资源匮乏,这种一味地靠资源和牺牲环境来换取GDP 的增长的外延扩展方式已经走到尽头,所以调整产业结构。在照明行业推广智能照明系统具有重要的意义 。

1.3 智能照明控制系统的发展与现状

1.3.1 智能控制技术的研究现状

智能控制技术发展方向主要有基于人工智能技术的智能控制方向、智能控制的模糊控制方向和智能控制的人工神经网络控制方向,在智能控制的人工神经网络控制方向上,基于人工神经网络和模糊逻辑有机结合的神经模糊技术,已成为近年来的一个热门课题。

1.3.2 国内外智能照明发展概况

“智能建筑”是综合计算机、信息通信等方面最先进的技术,使建筑物内的电力、空调、照明、防灾、防盗、运输设备等,实现建筑物综合管理自动化、远程通信和办公自动化的有效运作,并使这三种功能结合起来的建筑。

人工智能技术在建筑与照明中的应用趋势不断扩大。正如英国的Glasgow 市报指出:“Glasgow 正在成为一个研究和发展太空时代智能建筑的国际组织的神经中枢。在智能建筑中的智能照明、供热、空调、通讯及办公设备将全部由电子计算机进行控制与管理。”

面对这一发展趋势,开发了不少智能照明设计,如智能灯具、智能照明控制与管理系统,包括在照明方面的计算机硬件和软件。此外计算机在照明设计和测试方面也得到广泛应用。澳大利亚邦奇开发的Dynalie 智能照明控制系统,美国的智能照明建筑,特别是现代化办公室的智能照明技术等都值得我们研究与借鉴。

1.3.3 智能照明控制系统的优点

智能照明控制系统是指用计算机技术并辅助以其它手段,对电力照明实行自动控制,提供合适照明光环境的同时降低照明系统电能消耗和其它使用费用。智能照明控制系统于手动照明控制系统相比有很多优点,包括创造环境气氛,改善

工作环境、提高工作效率,良好的节能效果,延长光源寿命,管理维护方便等。

1.3.4 智能照明控制系统的组成

智能照明控制系统主要由输入装置、处理器和执行器三个部分组成。

输入装置可以不断检测周围环境的照度水平,可以探测到某个区域是否有人移动,以及输入人们的控制指令,并把相应的信号传送给处理器。输入装置包括传感器、定时装置和控制面板或遥控器。

处理器接受输入装置的信号,经过信息处理、判断、分析,输出控制信号。 执行器与灯具直接连接,控制灯光回路的闭合或断开和调节灯光到相应的水平,包括手动开关。

1.3.5 现有智能照明控制系统的分析

澳大利亚邦奇开发的Dynalite 分布式智能照明控制系统的特点是模块化结构和分布式控制,各功能模块之间通过网络总线直接相互通信,当系统中某个模块出现故障时不会影响其它模块,可靠性高。

美国LC&D智能照明控制系统是一套由计算机微处理器控制的低压继电器配电盘组成,按照客户对室内外照明的具体要求,设定照明控制的时间、区域、方法来控制每一个独立的回路,也有手动开关直接控制。

国内生产的真善美智能照明系统具有集中控制、多点操作、集中显示、停电自锁、免打扰、遥控功能等智能功能,使家居生活更加方便和舒适。

但是,国内外智能照明系统的研究存在着如下问题:

(1)现有国外智能照明系统主要控制照度这个数量指标,国外的研究主要集中于办公室照明,以节能为主要目的,但据照明科技最新研究成果表明,非定量指标(如舒适性和艺术性等)对室内照明光环境质量影响更大。

(2)国内一些智能照明控制系统能够实现集中控制和集中显示,具有一定的智能性,但其只能控制房间中的一个灯或一组灯的开、关,不能实现场景控制,也不能对灯光的亮度进行调节,不能产生多种照明效果。

(3)针对住宅照明光环境研制的智能照明控制系统产品很少,还有很大的开发前景。

第二章 系统方案设计

本章根据论文课题要求的性能指标进行方案论证,给出课题要求的性能指标,根据系统实现功能,完成系统方案设计。

2.1 系统设计要点

系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。

硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。硬件电路是采用结构化系统设计方法,该方法保证设计电路的标准化、模块化。硬件电路的设计最重要的选择用于控制的单片机,并确定与之配套的外围芯片,使所设计的系统既经济又高性能。硬件电路设计还包括输入输出接口设计,画出详细电路图,标出芯片的型号、器件参数值,根据电路图在仿真机上进行调试,发现设计不当及时修改,最终达到设计目的。

软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,拟定详细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试、测试,达到所需功能要求。本系统软件设计采用模块化系统设计方法,先编写各个功能模块子程序,然后进行组合与调整,经过调试后,达到设计功能要求。

2.2 系统设计思路

系统的结构主要由三部分组成:(1)上位机系统;(2)下位机系统;(3)通信系统。这三部分共同完成了主控制器通过有线通信方式与分控制器进行信息交换,达到控制照明灯具的目的。

2.2.1 通信系统

该多机通信系统采用RS-485半双工主从式通信系统,主机可以发送数据或命令到从机,从机主要负责对分布的照明灯具进行控制,用中断的方式接收主机发来的命令或数据并做出回应。如图2-1所示

图2-1 有线通信系统结构框图

2.2.2 上位机系统

系统的主控制器通过RS-485总线将数据或命令发送给分控制器,同时将信息送给数码显示单元进行显示,并有看门狗电路对运行程序进行有效监视。主控制器硬件电路结构如图2-2所示。分控制器接收主控制器的发来的数据和命令,通过可控硅电路对照明灯具进行开关控制,并且利用实时时钟芯片对照明灯具进行定时开关控制。

图2-2 主控制器硬件电路结构框图

2.2.3 下位机系统

分控制器硬件电路结构如图2-3所示。系统在单片机的控制之下完成数据的通信、显示,同时能够控制照明灯具,其硬件电路只是系统的实施工具,大量的工作是由软件来完成的。这些程序是系统的灵魂,是负责完成硬件电路实现功能和与用户交互的桥梁,是维护系统正常工作的工具。

图2-3 分控制器硬件电路结构框图

室内灯光控制系统可以根据气候、人体等因素全天候自动模糊控制室内照明电器的开和关。做到光线暗时开灯,雨天阴天时开灯,无人时关灯,光线亮时关灯,晴天时关灯。在确保室内正常照明同时,可有效防止无人灯(无人时开灯)﹑无效灯(光线亮时开灯),从而达到节电目的。根据上述要求,可以画出如表2-1所示控制系统逻辑功能表。

关系如果假设:

室内光线强度为A :光线强时A=1,光线弱时A=0;

人体信号为B :有人时B=1,无人时B=0;

电灯开关状态为D :合时D=1,断开时D=0。

由真值表可得出系统逻辑函数表达式为:D=A非·B

表2-1 系统逻辑(真值表)

第三章 硬件电路设计与实现

3.1 系统硬件总述

图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 ,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数

器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位。最高运作频率35Mhz ,6T/12T可选。

3.3 主控制电路设计

主控制器系统的外围接口电路由键盘、数码显示及驱动电路、晶振、看门狗电路、通信接口电路等几部分组成。主控制器系统的硬件电路原理图如图3-2所示。

图3-2 主控制器系统的硬件电路原理图

3.3.1 键盘的接口设计

键盘的结构形式有两种,即独立式按键和矩阵式键盘。本系统使用的是4×4矩阵式键盘,第一行从左到右为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专门用来显示数字、字母、常见图形符号。显示器把LCD 控制器、点阵驱动器、字符存储器集成在一起,字符型液晶显示模块由内置192个字符,所以使用起来非常的方便,而且显示界面非常清晰,能较好的显示当前的年、月、日、时、分、秒及相关信息。

3.3.3 看门狗监控电路的设计

本系统采用MAXIM 公司的低成本微处理器监控芯片MAX813L 构成硬件狗,与STC89C52RC 的接口电路如图3-2所示。MR 与WDO 经过一个二极管连接起来,WDI 接单片机的P3.3口,RESET 接单片机的复位输入脚RESET ,MR 经过一个复位按钮接地。该监控电路的主要功能如下:

(1)系统正常上电复位:电源上电时,当电源电压超过复位门限电压4.65V ,RESET 端输出200ms 的复位信号,使系统复位。

(2)对+5V电源进行监视:当+5V电源正常时,RESET 为低电平,单片机正常工作;当+5V电源电压降至+4.65V以下时,RESET 输出高电平,对单片机进行复位。

(3)看门狗定时器被清零,WDO 维持高电平;当程序跑飞或死机时,CPU 不能在1.6s 内给出“喂狗”信号,WDO 跳变为低电平,由于MR 端有一个内部250mA 的上拉电流,D 导通MR 获得有效低电平,RESET 端输出复位脉冲,单片机复位,看门狗定时器清零,WDO 又恢复成高电平。

(4)手动复位:如果需要对系统进行手动复位,只要按下手动复位按钮,就能对系统进行有效的复位。

3.4 分控制器的电路设计

由于条件限制,分控制器仍采用采用STC89C52单片机作为微处理器。

图3-3 分控制器系统的硬件电路原理图

3.5 光信号取样电路

光信号取样电路如图3-7所示,图中主要由光信号采集电路和比较输出电路组成。信号经过采集送入MAX485同相输入端,通过芯片处理后,最终由Ro 脚输出相应高电平或低电平,送入单片机P2.1口,由单片机接收并作为开关等的依据。

电路中电位器可调节B 端的输入电压,从而调节在不同光强下设置开关灯门限。

在此电路中,光敏电阻在不同光强下呈现不同阻值,当光照强度变小时,其阻值变大,使得加在光敏电阻上的电压变大,经过82K 电阻再次分压后,如达到导通三极管电压,即加在MAX485的A 脚的电压随之变化,达到比较效果。

图3-7 光信号取样电路

3.6 人体信号采集模块

人体信号采集由人体红外检测探头和比较电路组成,本设计中直接使用够买的成品人体红外感应报警模块。

3.6.1 人体红外探头

热释电红外传感器能以非接触形式检测出人体辐射的红外线, 并将其转变为电压信号。热释电传感器具有成本低、不需要用红外线或电磁波等发射源、灵敏度高、可流动安装等特点。实际使用时, 在热释电传感器前需安装菲涅尔透镜, 这样可大大提高接收灵敏度, 增加检测距离及范围。实验证明, 热释电红外传感器若不加菲涅尔透镜, 则其检测距离仅为2 m 左右; 而配上菲涅尔透镜后, 其检测距离可增加到10 m 以上。

静态情况下空间存在红外光线,由于双源式探头采用互补技术,不会产生电信号输出。动态情况下,人体经过探头先后被A 源或被B 源感应,SaSb产生差值,双源失去互补平衡作用而很敏感地产生信号输出。

3.6.2 信号处理电路

本设计采用BIS0001 来完成对热释电传感器输出信号的处理。BIS0001 是一款具有较高性能的热释电传感器信号处理集成电路, 它主要由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成。

图3-10 中, 热释电传感器S 极输出信号送入BIS0001的14 脚, 经内部第一级运算放大器放大后, 由C3 耦合从12 脚输入至内部第二级运算放大器放大, 再经电压比较器构成的鉴幅器处理后, 检出有效触发信号去启动延迟时间定时器, 最后从12 脚输出信号(Vo ) 送入单片机进行照明控制。实验所得, 当传感器检测室内有人时,Vo =4V ;无人时Vo =0.4 V。

BIS0001 的1 脚接高电平, 使芯片处于可重复触发工作方式。输出Vo (高电平) 的延迟时间Tx 由外部R8和C7 的大小调整; 触发封锁时间Ti 由外部R9 和C6 的大小调整。

图3-10 热释电传感器信号处理电路图

图3-11 人体信号比较电路

3.6.3 比较电路

比较电路如图3-11所示,由两个运算放大器组成,输入信号来自于红外人体探头输出。比较电路中的基准电压分别由两个独立的分压电路得到,供电路比较所用。即运算放大器D1的6脚和D2的1脚电压分别为0.45V 和2.0V 。

通过比较电路将相应的电压比较结果以数字信号输出。当被动红外探头在有效范围内感应到人体信号后,运算放大器的“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 。

探头将只会产生一种电压信号0V 。

具体的比较结果如下表3-1所示。

表3-1 探头采集信号输出状态表

通过比较电路,不仅解决了不同工作状态时被动红外探头的对外界人体红外信号的采集,而且也实现了仅通过被动红外探头的两根电源线同时也传输了所采集的周围环境的红外信号,一举两得。

3.7 输出驱动电路设计

ULN2003是高压大电流达林顿晶体管阵列系列产品, 具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点, 适应于各类要求高速大功率驱动的

系统。 是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平,继电器得电吸合。功能特点: 高电压输出50V

输出钳位二极管

输入兼容各种类型的逻辑电路

应用继电器驱动器

输出控制电路如图3-12所示,单片机P2.0脚接ULN2003芯片IN7脚,单片机向IN7输入一个高电平时,芯片从OUT7脚输出低电平,继电器得电闭合。

图3-12 输出控制电路

第四章 系统软件设计及实现

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

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

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

4.1 人机交互程序设计

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

4.1.1 键盘扫描程序设计

本系统的键盘采用的是4×4矩阵式键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。一个4×4的行、列结构可以构成一个含有16

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

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

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

(1) 通过数字键、确认键输入分控制器的地址以及定时功能的时间设置。

(2) 利用开、关键控制照明灯具的启停。

(3) 利用增值、减值键控制照明灯具的亮度。

(4) 通过定时键来对照明灯具进行定时控制的设置。

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

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

4.1.2 数码显示程序设计

本系统采用LCD1602显示模块,利用单片机显示程序读取DS1302时钟芯片时间,然后送1602显示。

数码显示程序如图4-3

图4-3 数码显示程序流程图

4.2 照明启停控制程序设计

照明的启停控制主要是由主控制器发出指令,通过RS485通信方式或无线数传方式控制全部或部分分控制器所控制照明灯具的启停。

主机与从机的数据通信波特率定为9600波特,每个从机都有唯一的地址号,用来区分各从机。单片机的数据通信由串口完成,定时器T1为波特发生器,数据传送格式为1位起始位,8位数据位,1位停止位,1位可编程位(TB8)。工作方式:定时器T1设置为方式2,串口设置为工作方式3。

本系统的通信原理为:主机发送地址有通用地址和单机地址两种。控制全部从机是发送通用地址,控制单个从机时发送此机唯一地址。从机在建立与主机通信之前所有分机的SM2都置1,即随时处于对通信线路监听的状态,只能收到主机发送来的机号信息。当主机发送地址信息时,每帧数据的第9位都为1,所有从机都接收到地址信息,然后判断主机是否呼叫本机或呼叫通用地址。如果呼叫通用地址则进入正式通信状态,清除SM2位,不需要回复主机,开始接收主机发送来的命令。如果呼叫本机则进入正式通信状态,清除SM2,并把本机地址号发送给主机作为应答,然后才开始接收主机发送来的信息。而其它从机由于地址号不符,他们的SM2位仍然为1,仍处于侦听状态,无法接收主机发送来的数据信息。主机收到从机发送来的回应信息后,比较主机已发送的地址号与刚接收的地址号是否相符,如果不符,则发出错误信息;如果相符,则正式发送数据信息,这时发送的每帧的第9位都为0。只有SM2=0的从机才能接收到主机发送的信息。从机根据命令执行相应的动作,如果为打开命令,则输出高电平闭合继电器开关,开启照明灯;如果为关闭命令,则输出低电平断开继电器开关,停掉照明灯。 该系统的主机和从机的控制程序流程图如图4-4和图4-5所示。

图4-4 启停控制主机程序流程图

图4-5 启停控制从机程序流程图

4.3 通信程序设计

在通信中,主机与各个从机进行通信,必须能对各个从机进行识别,这一识别功能是利用串口控制寄存器SCON 的SM2位实现的。当串口以方式3工作时,发送和接收的每一帧信息都是11位,其中第9位数据位是可编程的,通过对SCON 寄存器的TB8位置1或置0,以区别发送的是地址帧还是数据帧(规定地址帧的第9位为1,数据帧的第9位为0)。若从机的控制位SM2被设为1,则当接收的是地址帧时,数据装入SBUF ,并置RI=1,向CPU 发出中断申请,若接收的是数据帧,则不产生中断,信息被抛弃。若SM2被设为0,则无论是地址帧还是数据帧都将产生RI=1中断标志,数据装入SBUF 。利用这一功能,可以按照如下步骤进行数据通信:

(1) 将所有SM2位置1,使其处于只接收地址帧的状态。

(2) 主机发送一帧地址信息,其中前8位数据位表示通信的从机地址,第9位为1,表示当前帧为地址帧。

(3) 从机接收到地址帧后,如果是广播地址帧,则所有从机都将其SM2位置0,准备接收主机发送的数据或命令;如果不是广播地址帧,则将本机地址与帧中地址进行比较。如果地址相同,则将其SM2位置0,并发送本机地址帧,然后

准备接收数据。如果地址不同,则丢弃当前数据,SM2位不变。

(4) 主机发送数据帧,相应的从机接收,其他从机则不受影响。

(5) 当主机需要与其他从机通信时,可以再次发出地址帧寻呼从机,重复这一过程。

主机在发送数据时,按照表4-1的数据格式进行传输。

表4-1

在程序中,第9位发送数据位SCON 中的TB8位,第9位接收数据位为SCON 的RB8位,因此,发送数据前,可以通过对TB8位置1或0来确定要发送的是地址帧还是数据帧。而接收数据时,对地址帧的判断则是通过读取RB8位来获得的,RB8=1,当前帧为地址帧,RB8=0,当前帧为数据帧。

单片机的串口工作在方式3下,其波特率由定时器1(T1)的溢出率决定,计算公式为:

SMOD 2

32 波特率=T1的溢出率

定时器T1的溢出率的计算公式为:

溢出率=f osc

32 k 的初值 )÷( 2 - T1

则波特率的公式变为:

SMOD 2

32 f osc 32k 的初值 )÷( 2 - T1

波特率=×

系统所采用的晶振频率为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) 如果串口有数据接收(收到地址帧),则从机会将该帧中的地址信息先与广播地址进行比较,如果是广播地址,则做好接收数据的准备,如果是其它地址,则与本机地址比较,如果相同,则发送应答信息,应答信息内容应为本机地址,否则丢弃当前数据,从机继续处于等待呼叫状态。

(3) 程序调用接收函数接收主机发送的数据部分并作出应答,接收到的数据保存至SBUF 指向的缓冲区中。如果接收函数返回0xff, 表示数据校验失败,程序等待主机重新发送数据。如果函数返回值为0xfe ,表示从机在数据接收过程中发现主机发送地址帧,程序将放弃当前接收过程,将SM2位重新置1,开始下一通信过程。如果函数返回0,表示数据被成功接收,向主机发送成功信号,随后,程序将SM2位置1,重新开始。

第五章 系统可靠性设计

在实验室里设计的控制系统,在安装、调试后完全符合设计要求,但把系统置入现场后,系统常常不能正常稳定地工作。产生这种情况的原因主要是现场环境复杂和各种各样的电磁干扰,所以单片机应用系统的可靠性设计、抗干扰技术变得越来越重要了。

工业现场环境中干扰是以脉冲产的形式进人单片机系统的,其主要的渠道有三条,即空干扰多发生在高电压、大电流、高频电磁场附近,并通过静电感应,电磁感应等方式侵入系统内部;供电系统干扰是由电源的噪声干扰引起的;过程通道干扰是干扰通过前向通道和后向通道进入系统的。干扰一般沿各种线路侵入系统。系统接地装置不可靠,也是产生干扰的重要原因;各类传感器,输人/输出线路的绝缘损坏均有可能引入干抚。

5.1 干扰产生的后果

(1)数据采集误差的加大。

(2)程序运行失常:①控制状态失灵。②死机。

(3)系统被控对象误操作。①单片机内部程序指针错乱,指向了其它地方,运行了错误的程序;②DRAM 中的某些数据被冲乱或者特殊寄存器的值被改变,使程序计算出错误的结果。③中断误触发,使系统进行错误的中断处理。

(4)被控对象状态不稳定。

(5)定时不准。①单片机内部程序指针错乱,使中断程序运行超出定时时间;②RAM 中计时数据被冲乱,使程序计算出错误的结果。

(6)数据发生变化。

5.2 单片机应用系统的硬件抗干扰设计

(1)供电系统采用稳定的开关电源并提供足够的功率余量,主机部分使用单独的稳压电路,必要时I/O供电分别采用DC-DC 模块隔离,以避免各部分相互干扰。

(2)注意印制电路板的布线与工艺。

(3)提高元器件的可靠性。①选用质量好的电子元件,并进行严格的测试、筛选和老化。②设计时元件技术参数要有一定的余量。③提高印制板和组装的质量。

(4)使用双机冗余设计。双机冗余,就是执行同一个控制任务,可安排两个单

片机来完成,即主机与从机。

(5)用好去耦电容。好的高频去耦电容可以去除高到1AHZ 的高频成份。去耦电容有两个作用:一方面是本集成电路的蓄能电容,提供和吸收该集成电路开门关门瞬间的充放电能;另一方面旁路掉该器件的高频噪声。

5.3 软件抗干扰技术

5.3.1 数据采集误差的软件对策

(1)用软件滤波算法,可滤掉大部分由输入信号干扰而引起的输出控制错误。

(2)关键数据可使用软件冗余技术,即给数据增加一定的冗余位,以实现数据的检错和纠错功能。

5.3.2 程序运行失控的软件对策

程序运行失常的软件对策,是发现失常状态并及时将系统引导到初始状态。

(1)指令冗余。对MCS-51系列单片机,大部分指令为单字节,当出错的程序落到其上时,出错的程序可自动纳入正轨;当落到多字节指令的操作数时,程序将继续出错,所以在关键的对程序的流向起决定性的指令之前插入两条NOP 指令,以使被弹飞的指令恢复正轨。

(2)使用程序监视跟踪定时器。

(3)设置程序指针陷阱。软件陷阱将出错的程序捕获并强行引入出错处理的程序,可安排在四个地方:①未使用的中断向量区,干扰可使未使用的中断开放并激活中断,在这些地方设置软件陷阱就能及时捕获到错误中断。②未使用的ROM 空间,在其中每隔一段设置一个陷阱,可将弹飞至该区域的出错程序捕获。③表格,储存在EPROM 中的表格后安排软件陷阱,可在一定程度上防止软件弹飞。④程序区,一般程序中不能任意安排软件陷阱,但在正常程序中会有一些跳转指令,在这些指令后使用软件陷阱可捕获到弹飞到跳转指令的操作数上的出错程序。

(4)使用实时嵌入式操作系统(RTOS )。

总 结

本文研究了基于AT89C51与AT89C2051单片机的智能照明控制系统的设计原理与实现方法,包括硬件设计与软件设计。首先根据设计要求用Protel DXP软件绘制出原理图,然后依据原理图选择元器件,在实验板上布置元器件并连接线路,对硬件电路进行测试,检查串行口是否选错,测量电源是否正常,复位电平是否正确,单片机是否起振等等。接着就要按照功能要求编制程序,这里采用Keil C编程工具,需先根据要求划分模块,优化结构;再根据各模块特点确定何为主程序,何为子程序,何为中断服务程序,相互间如何调用;再根据各模块性质和功能将各模块细化,设计出程序流程图;最后才根据各模块流程图编制具体程序。调试时应先调主程序,实现最基本最主要的功能,在此基础上再将各模块功能往主程序上堆砌,直至各模块联调、统调,实现全部功能。

由于此设计是在相对理想的情况下设计,在实际应用时,由于现在很多高校都有教学放映设备,故需把灯光控制系统和放映设备电源分开。当应用于其他工作场所时,可根据实际需要添加或者减少部分模块,如在道路使用时,则不需要时间控制电路;在室内使用时,还可以添加无线模块,方便控制。

参考文献

【1】 马淑华、王凤文、张美金. 单片机原理与接口技术[M ]. 北京. 北京邮电大学出版社

2007.

【2】 康华光. 电子技术基础模拟部分(第五版). 北京. 高等教育出版社.2006.1.

【3】 贾正松. 基于单片机实现智能照明控制系统设计[J ]现代电子技术 2009 (17):P105

——107.

【4】 孙涵芳、徐爱卿. 单片机原理及应用[M ]. 北京:北京航空航天大学出版社.1996.

【5】 陈新忠. 基于RS485总线的单片机多机通信软件设计[J ]. 现代电子技术.2002. (3)

P8-10.

【6】 陈杰、黄鸿. 传感器与检测技术. 北京. 高等教育出版社.2002.8.

【7】 樊宇、程全. 基于 RS485 总线实现的远距离多机主从式通信技术[J ]. 工业控制

计算机. 2006. 19(7) P71~73.

【8】 康华光. 电子技术基础数字部分(第五版). 北京. 高等教育出版社.2006.1.

【9】 陈永甫. 红外探测与控制. 电路人民邮电出版社.2001.

【10】 刘舒祺,施国梁.基于热释电红外传感器的报警系统[J].国外电子元器件.2005(3):

18—20.

【11】 孙雪梅、范久臣. 实时时钟芯片在单片机系统中的应用[J ]. 沈阳教育学院学

报.2005.7(2) P132~134.

【12】 胡汉才. 单片机原理及其接口技术[M ]. 北京:清华大学出版社.1996年第1

版.p266-268.

【13】 清华大学自动化系. 智能信息处理和智能控制[M ]. 杭州:浙江科学技术出版

社.1998,12.

【14】 王质朴、吕运鹏. MCS-51单片机原理接口及应用[M ]. 北京:北京理工大学出版

社. 2009.11.

【15】 沈瑞珠.智能照明系统在智能建筑中的应用.低压电器.2002.(5):20~22.

【16】 王尔镇.高效节能光源器具和绿色照明技术.上海电真空.1997.(3):10~19.

【17】 雷祚昌.调光电路及设计中的问题.云光技术.1990.(4):10~14.

致谢

本课题在选题及研究过程中得到了叶永华老师的悉心指导。叶老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。叶老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神给我留下了深刻的印象。他不仅授我以文,而且教我做人,虽历时不长,却让我终生受益。在此次毕业设计过程中,他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。同时,我也学到了许多关于室内灯光控制系统以及单片机的知识,实验技能有了很大的提高。在此谨向叶老师致以诚挚的谢意和崇高的敬意!

随着这篇本科毕业论文的最后落笔,我四年的大学生活也即将划上一个圆满的句号。回忆这四年生活的点点滴滴,从入学时对大学生活的无限憧憬到课堂上对各位老师学术学识的深沉沉湎,从奔波于教室图书馆的来去匆匆到业余生活的五彩缤纷,一切中的一切都是历历在目,让人倍感留恋,倍感珍惜。

四年来,我的学长、我的老师、我的同学给予我的关心和帮助,使我终身收益,我真心地感谢他们。

附录

主控制器实验板

从控制器实验板

信号采集及输出驱动电路实验板

部分程序代码:

//主机程序

Uart_Init();

L1602_init();

while(1)

{

jiank();

out_time();

DS18B20();

uchar keys,h,q,p,temp,tem,ddata; if(keyout()==10)

{

L1602_string(1,1,"Please enter "); L1602_string(1,14,"the");

L1602_string(2,1,"ope Addr:"); keys=keyout();

p=11;

q=0;

temp=0;

h=0;

while(keys!=15)

{

if(keys==14)

goto back;

if(keys

{

if(q>=3)

{

L1602_string(2,11,"ERROR"); goto back;

}

if(keys==9)

keys=-1;

L1602_char(2,p,keys+49); temp=temp*10+keys+1;

p++;

q++;

}

jiank();

h++;

if(h==250)

if(q==0)

goto back;

Delay_1ms(50);

keys=keyout();

}

if(q==0)

goto back;

L1602_init();

L1602_string(1,1,"Time delay"); L1602_string(2,11,"Minute"); L1602_string(2,6,"10");

tem=10;

while(1)

{

keys=keyout();

if(keys==14)

goto back;

if(keys==15)

break;

if(keys==12)

{

if(tem==30)

continue;

tem=tem+5;

L1602_char(2,6,tem/10%10+48); L1602_char(2,7,tem%10+48); }

if(keys==13)

{

if(tem==5)

continue;

tem=tem-5;

L1602_char(2,6,tem/10%10+48); L1602_char(2,7,tem%10+48); }

Delay_1ms(250);

}

if(tem==5)

ddata=0xb1;

if(tem==10)

ddata=0xb2;

if(tem==15)

ddata=0xb3;

if(tem==20)

ddata=0xb4;

if(tem==25)

ddata=0xb5;

if(tem==30)

ddata=0xb6;

if(temp==1)

{

for(q=0;q

{

Uart_Init();

jiank();

send_addr(addr1);

L1602_string(2,10,"wait"); Delay_1ms(250); send_data(ddata);

L1602_string(2,10,"waiting"); }

L1602_string(2,10," OK! "); goto back;

}

if(temp==0)

{

for(q=0;q

{

Uart_Init();

jiank();

send(addr0);

L1602_string(2,10,"wait"); Delay_1ms(250);

send_data(ddata);

L1602_string(2,10,"waiting"); }

L1602_string(2,10,"OK!"); goto back;

}

L1602_string(2,10,"Without");

back: Delay_1ms(250);

Delay_1ms(250);

L1602_init();

}

jiank();

if(keyout()==11)

{

L1602_string(1,1,"Please enter ");

L1602_string(1,14,"the");

L1602_string(2,1,"clo Addr:");

keys=keyout();

p=11;

temp=0;

q=0;

h=0;

while(keys!=15)

{

if(keys==14)

goto back;

if(keys

{

if(q>=3)

{

L1602_string(2,10,"ERROR");

goto back;

}

if(keys==9)

keys=-1;

L1602_char(2,p,keys+49);

temp=temp*10+keys+1;

p++;

q++;

}

jiank();

h++;

if(h==2500)

if(q==0)

break;

Delay_1ms(50);

keys=keyout();

}

goto back;

L1602_init();

L1602_string(1,1,"Time delay");

L1602_string(2,11,"Minute");

L1602_string(2,6,"10");

tem=10;

while(1)

{

if(q==0)

keys=keyout();

if(keys==14)

goto back;

if(keys==15)

break;

if(keys==12)

{

if(tem==30)

continue;

tem=tem+5;

L1602_char(2,6,tem/10%10+48);

L1602_char(2,7,tem%10+48);

}

if(keys==13)

{

if(tem==5)

continue;

tem=tem-5;

L1602_char(2,6,tem/10%10+48);

L1602_char(2,7,tem%10+48);

}

Delay_1ms(250);

}

switch(tem)

{

case 5:

ddata=0xc1;

break;

case 10:

ddata=0xc2;

break;

case 15:

ddata=0xc3;

break;

case 20:

ddata=0xc4;

break;

case 25:

ddata=0xc5;

break;

case 30:

ddata=0xc6;

break;

}

if(temp==1)

{

for(q=0;q

{

Uart_Init();

jiank();

send_addr(addr1);

L1602_string(2,10,"wait"); Delay_1ms(250);

send_data(ddata);

L1602_string(2,10,"waiting"); }

L1602_string(2,10," OK! "); goto back;

}

if(temp==0)

{

for(q=0;q

{

Uart_Init();

jiank();

send(addr0);

L1602_string(2,10,"wait"); Delay_1ms(250);

send_data(ddata);

L1602_string(2,10,"waiting"); }

L1602_string(2,10,"OK!"); goto back;

}

L1602_string(2,10,"Without"); back: Delay_1ms(250);

Delay_1ms(250);

L1602_init();

}

}

//从机程序

void main()

{

uchar tem,Data,i,j;

while(1)

{

Uart_Init();

SM2=1;

while(tem!=addr1 & tem!=addr0) {

while(!RI)

output();

output();

RI=0;

tem=SBUF;

}

if(tem==addr0)

goto pass;

TB8=0;

DRE=1;

send(addr1);

pass: SM2=0;

Data=recv_data();

if(Data==0xff)

continue;

switch(Data)

{

case 0xb1:

pout=1;

for(j=0;j

case 0xb2:

pout=1;

for(j=0;j

case 0xb3:

pout=1;

for(j=0;j

case 0xb4:

pout=1;

for(j=0;j

case 0xb5: pout=1;

for(j=0;j

case 0xb6: pout=1;

for(j=0;j

case 0xc6:

pout=0;

for(j=0;j

case 0xc1:

pout=0;

for(j=0;j

case 0xc2:

pout=0;

for(j=0;j

case 0xc3:

pout=0;

for(j=0;j

case 0xc4:

pout=0;

for(j=0;j

case 0xc5:

for(j=0;j

default:

break;

}

}

}

届别 2012 届

学号

毕业设计(论文)

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

姓 名 系 别 、 专 业 导师姓名、职称 完 成 时 间

目 录

摘要 .................................................... I Abstract ............................................... II

第一章 绪论 ......................................... - 1 -

1.1 课题研究背景 .................................. - 1 -

1.2 课题研究目的和意义 ............................ - 1 -

1.3 智能照明控制系统的发展与现状 ................. - 2 -

第二章 系统方案设计 ................................. - 4 -

2.1 系统设计要点 .................................. - 4 -

2.2 系统设计思路 .................................. - 4 -

第三章 硬件电路设计与实现 . ........................... - 7 -

3.1 系统硬件总述 .................................. - 7 -

3.2 CPU性能介绍................................... - 7 -

3.3 主控制电路设计 ................................ - 8 -

3.4 分控制器的电路设计 ............................ - 9 -

3.5 光信号取样电路 ............................... - 10 -

3.6 人体信号采集模块 ............................. - 11 -

3.7 输出驱动电路设计 ............................. - 13 -

第四章 系统软件设计及实现 . .......................... - 15 -

4.1 人机交互程序设计 ............................ - 15 -

4.2 照明启停控制程序设计 ......................... - 18 -

4.3 通信程序设计 ................................ - 20 -

第五章 系统可靠性设计............................... - 23 -

5.1 干扰产生的后果 .............................. - 23 -

5.2 单片机应用系统的硬件抗干扰设计 .............. - 23 -

5.3 软件抗干扰技术 .............................. - 24 - 总 结 ........................................... - 25 - 参考文献 ........................................... - 26 - 致谢 ............................................... - 27 - 附录 ............................................... - 28 -

摘要

随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。本文介绍了基于单片机AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对室内照明的控制。系统设计包括硬件设计和软件设计两部分。该照明控制系统的主控制器、分控制器分别是以AT89C51和AT89C2051单片机为基础,实现了通信、信号采集、控制与显示等功能。使用光电子镇流器,使光源具备自动调节功能。文中详细地描述了控制电路的设计过程,包括:光信号取样电路、人体信号采集电路、键盘与LED 显示电路、RS485通信电路、照明灯控制电路、看门狗电路以及信号处理电路等。对于软件设计主要有主控制器、分控制器的有线通信程序设计以及灯光控制、定时控制、键盘扫描与LED 显示等程序设计。工作时, 光信号取样电路采集光照强弱、人体信号采集电路采集室内是否有人、是否为工作时间等信息并将信号送到单片机, 单片机根据这些信息通过控制电路对照明设备进行开关操作, 从而实现照明控制, 以达到节能的目的。

关键词:智能控制,主控制器,分控制器,单片机,定时控制

Abstract

With 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 subject and core of the embedded system of control, replaces the traditional system—electronic 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 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 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 AT89c2051. 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 signal 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 communication, 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, including: 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 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 controlling

第一章 绪论

本章介绍了论文的研究背景、目的和意义,对国内外智能照明系统研究概况做了简要综述。

1.1 课题研究背景

改革开放30年来,我国经济取得了突飞猛进的发展,人民生活水平质量也得到了巨大的提高,人们对照明的需求也越来越高。从最初只提供亮度的基本功能到现在产了多方面的需求:除了提供适宜的环境亮度以外,还要营造优雅舒适的氛围;用户方要求控制方式灵活方便,能实现按需配置,同时实现节能、降低运行费用;施工方要求安装简单、维护方便;设计方要求系统能提供满足用户多样性要求的各种技术手段。需求的变化导致控制方式的改进:从传统的机械式开关演变为电子技术的智能照明系统。

能源短缺是21世纪国际面临的新课题。在寻找新的能源之外,节约能源,提高效益也就成为了我们研究的课题。所以如何来节省电力能源也成为了一个迫切需要解决的问题。从节约资源、对社会贡献、节省部门经费支出等多方面考虑,办公室、高校教室等公共场所照明的节电问题不得不提到重要的议事日程上来。 目前常用的节电方式为手工控制,声控型,太阳能灯等。手工方式操作起来不灵活,费时费力。声控型往往判断不准确,不需要的时候也也会经常亮。太阳能设备投资比较大,且容易受光照强度的影响。因此市场上迫切需要一种操作方便、价格低廉、便于大面积推广的新型节能方案。

1.2 课题研究目的和意义

随着经济的发展和科技的进步,人们对照明器具节能和科学管理提出了更高的求,使得照明控制在智能楼宇领域的地位越来越重要。而在楼宇大厦建设热潮中各公司和企业也意识到了智能照明的重要性。商业楼宇中大功率设备一般数量较少。而照明器具则比较多。使用照明控制系统更能体现在节能与管理方面的优势,提高建筑的科学管理水平。传统楼宇公共区域的照明模式,只能是白天关灯、晚上开灯,而采用智能照明控制系统后,用户可以根据不同场合、不同的人流量,对时间段和工作模式进行划分,把不必要的照明灯具关掉,在需要时自动开启;同时,系统还能充分利用自然光,在保证必要照明的同时,有效减少了灯具的工

作时间,节省了不必要的能源开支,也延长了灯具的寿命。

虽然智能照明系统最基本的功能是开关作用,与传统的照明系统似乎并无差异,但前者以自动控制为主、人工控制为辅,在一般的情况下,不需要用户的参与,照明系统自动实现开关功能大大减少了人们的管理工作。 智能照明控制系统减少灯具使用时间,能有效节约能源,由于我国以前的粗放型经济增长方式已经导致资源匮乏,这种一味地靠资源和牺牲环境来换取GDP 的增长的外延扩展方式已经走到尽头,所以调整产业结构。在照明行业推广智能照明系统具有重要的意义 。

1.3 智能照明控制系统的发展与现状

1.3.1 智能控制技术的研究现状

智能控制技术发展方向主要有基于人工智能技术的智能控制方向、智能控制的模糊控制方向和智能控制的人工神经网络控制方向,在智能控制的人工神经网络控制方向上,基于人工神经网络和模糊逻辑有机结合的神经模糊技术,已成为近年来的一个热门课题。

1.3.2 国内外智能照明发展概况

“智能建筑”是综合计算机、信息通信等方面最先进的技术,使建筑物内的电力、空调、照明、防灾、防盗、运输设备等,实现建筑物综合管理自动化、远程通信和办公自动化的有效运作,并使这三种功能结合起来的建筑。

人工智能技术在建筑与照明中的应用趋势不断扩大。正如英国的Glasgow 市报指出:“Glasgow 正在成为一个研究和发展太空时代智能建筑的国际组织的神经中枢。在智能建筑中的智能照明、供热、空调、通讯及办公设备将全部由电子计算机进行控制与管理。”

面对这一发展趋势,开发了不少智能照明设计,如智能灯具、智能照明控制与管理系统,包括在照明方面的计算机硬件和软件。此外计算机在照明设计和测试方面也得到广泛应用。澳大利亚邦奇开发的Dynalie 智能照明控制系统,美国的智能照明建筑,特别是现代化办公室的智能照明技术等都值得我们研究与借鉴。

1.3.3 智能照明控制系统的优点

智能照明控制系统是指用计算机技术并辅助以其它手段,对电力照明实行自动控制,提供合适照明光环境的同时降低照明系统电能消耗和其它使用费用。智能照明控制系统于手动照明控制系统相比有很多优点,包括创造环境气氛,改善

工作环境、提高工作效率,良好的节能效果,延长光源寿命,管理维护方便等。

1.3.4 智能照明控制系统的组成

智能照明控制系统主要由输入装置、处理器和执行器三个部分组成。

输入装置可以不断检测周围环境的照度水平,可以探测到某个区域是否有人移动,以及输入人们的控制指令,并把相应的信号传送给处理器。输入装置包括传感器、定时装置和控制面板或遥控器。

处理器接受输入装置的信号,经过信息处理、判断、分析,输出控制信号。 执行器与灯具直接连接,控制灯光回路的闭合或断开和调节灯光到相应的水平,包括手动开关。

1.3.5 现有智能照明控制系统的分析

澳大利亚邦奇开发的Dynalite 分布式智能照明控制系统的特点是模块化结构和分布式控制,各功能模块之间通过网络总线直接相互通信,当系统中某个模块出现故障时不会影响其它模块,可靠性高。

美国LC&D智能照明控制系统是一套由计算机微处理器控制的低压继电器配电盘组成,按照客户对室内外照明的具体要求,设定照明控制的时间、区域、方法来控制每一个独立的回路,也有手动开关直接控制。

国内生产的真善美智能照明系统具有集中控制、多点操作、集中显示、停电自锁、免打扰、遥控功能等智能功能,使家居生活更加方便和舒适。

但是,国内外智能照明系统的研究存在着如下问题:

(1)现有国外智能照明系统主要控制照度这个数量指标,国外的研究主要集中于办公室照明,以节能为主要目的,但据照明科技最新研究成果表明,非定量指标(如舒适性和艺术性等)对室内照明光环境质量影响更大。

(2)国内一些智能照明控制系统能够实现集中控制和集中显示,具有一定的智能性,但其只能控制房间中的一个灯或一组灯的开、关,不能实现场景控制,也不能对灯光的亮度进行调节,不能产生多种照明效果。

(3)针对住宅照明光环境研制的智能照明控制系统产品很少,还有很大的开发前景。

第二章 系统方案设计

本章根据论文课题要求的性能指标进行方案论证,给出课题要求的性能指标,根据系统实现功能,完成系统方案设计。

2.1 系统设计要点

系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。

硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。硬件电路是采用结构化系统设计方法,该方法保证设计电路的标准化、模块化。硬件电路的设计最重要的选择用于控制的单片机,并确定与之配套的外围芯片,使所设计的系统既经济又高性能。硬件电路设计还包括输入输出接口设计,画出详细电路图,标出芯片的型号、器件参数值,根据电路图在仿真机上进行调试,发现设计不当及时修改,最终达到设计目的。

软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,拟定详细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试、测试,达到所需功能要求。本系统软件设计采用模块化系统设计方法,先编写各个功能模块子程序,然后进行组合与调整,经过调试后,达到设计功能要求。

2.2 系统设计思路

系统的结构主要由三部分组成:(1)上位机系统;(2)下位机系统;(3)通信系统。这三部分共同完成了主控制器通过有线通信方式与分控制器进行信息交换,达到控制照明灯具的目的。

2.2.1 通信系统

该多机通信系统采用RS-485半双工主从式通信系统,主机可以发送数据或命令到从机,从机主要负责对分布的照明灯具进行控制,用中断的方式接收主机发来的命令或数据并做出回应。如图2-1所示

图2-1 有线通信系统结构框图

2.2.2 上位机系统

系统的主控制器通过RS-485总线将数据或命令发送给分控制器,同时将信息送给数码显示单元进行显示,并有看门狗电路对运行程序进行有效监视。主控制器硬件电路结构如图2-2所示。分控制器接收主控制器的发来的数据和命令,通过可控硅电路对照明灯具进行开关控制,并且利用实时时钟芯片对照明灯具进行定时开关控制。

图2-2 主控制器硬件电路结构框图

2.2.3 下位机系统

分控制器硬件电路结构如图2-3所示。系统在单片机的控制之下完成数据的通信、显示,同时能够控制照明灯具,其硬件电路只是系统的实施工具,大量的工作是由软件来完成的。这些程序是系统的灵魂,是负责完成硬件电路实现功能和与用户交互的桥梁,是维护系统正常工作的工具。

图2-3 分控制器硬件电路结构框图

室内灯光控制系统可以根据气候、人体等因素全天候自动模糊控制室内照明电器的开和关。做到光线暗时开灯,雨天阴天时开灯,无人时关灯,光线亮时关灯,晴天时关灯。在确保室内正常照明同时,可有效防止无人灯(无人时开灯)﹑无效灯(光线亮时开灯),从而达到节电目的。根据上述要求,可以画出如表2-1所示控制系统逻辑功能表。

关系如果假设:

室内光线强度为A :光线强时A=1,光线弱时A=0;

人体信号为B :有人时B=1,无人时B=0;

电灯开关状态为D :合时D=1,断开时D=0。

由真值表可得出系统逻辑函数表达式为:D=A非·B

表2-1 系统逻辑(真值表)

第三章 硬件电路设计与实现

3.1 系统硬件总述

图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 ,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数

器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位。最高运作频率35Mhz ,6T/12T可选。

3.3 主控制电路设计

主控制器系统的外围接口电路由键盘、数码显示及驱动电路、晶振、看门狗电路、通信接口电路等几部分组成。主控制器系统的硬件电路原理图如图3-2所示。

图3-2 主控制器系统的硬件电路原理图

3.3.1 键盘的接口设计

键盘的结构形式有两种,即独立式按键和矩阵式键盘。本系统使用的是4×4矩阵式键盘,第一行从左到右为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专门用来显示数字、字母、常见图形符号。显示器把LCD 控制器、点阵驱动器、字符存储器集成在一起,字符型液晶显示模块由内置192个字符,所以使用起来非常的方便,而且显示界面非常清晰,能较好的显示当前的年、月、日、时、分、秒及相关信息。

3.3.3 看门狗监控电路的设计

本系统采用MAXIM 公司的低成本微处理器监控芯片MAX813L 构成硬件狗,与STC89C52RC 的接口电路如图3-2所示。MR 与WDO 经过一个二极管连接起来,WDI 接单片机的P3.3口,RESET 接单片机的复位输入脚RESET ,MR 经过一个复位按钮接地。该监控电路的主要功能如下:

(1)系统正常上电复位:电源上电时,当电源电压超过复位门限电压4.65V ,RESET 端输出200ms 的复位信号,使系统复位。

(2)对+5V电源进行监视:当+5V电源正常时,RESET 为低电平,单片机正常工作;当+5V电源电压降至+4.65V以下时,RESET 输出高电平,对单片机进行复位。

(3)看门狗定时器被清零,WDO 维持高电平;当程序跑飞或死机时,CPU 不能在1.6s 内给出“喂狗”信号,WDO 跳变为低电平,由于MR 端有一个内部250mA 的上拉电流,D 导通MR 获得有效低电平,RESET 端输出复位脉冲,单片机复位,看门狗定时器清零,WDO 又恢复成高电平。

(4)手动复位:如果需要对系统进行手动复位,只要按下手动复位按钮,就能对系统进行有效的复位。

3.4 分控制器的电路设计

由于条件限制,分控制器仍采用采用STC89C52单片机作为微处理器。

图3-3 分控制器系统的硬件电路原理图

3.5 光信号取样电路

光信号取样电路如图3-7所示,图中主要由光信号采集电路和比较输出电路组成。信号经过采集送入MAX485同相输入端,通过芯片处理后,最终由Ro 脚输出相应高电平或低电平,送入单片机P2.1口,由单片机接收并作为开关等的依据。

电路中电位器可调节B 端的输入电压,从而调节在不同光强下设置开关灯门限。

在此电路中,光敏电阻在不同光强下呈现不同阻值,当光照强度变小时,其阻值变大,使得加在光敏电阻上的电压变大,经过82K 电阻再次分压后,如达到导通三极管电压,即加在MAX485的A 脚的电压随之变化,达到比较效果。

图3-7 光信号取样电路

3.6 人体信号采集模块

人体信号采集由人体红外检测探头和比较电路组成,本设计中直接使用够买的成品人体红外感应报警模块。

3.6.1 人体红外探头

热释电红外传感器能以非接触形式检测出人体辐射的红外线, 并将其转变为电压信号。热释电传感器具有成本低、不需要用红外线或电磁波等发射源、灵敏度高、可流动安装等特点。实际使用时, 在热释电传感器前需安装菲涅尔透镜, 这样可大大提高接收灵敏度, 增加检测距离及范围。实验证明, 热释电红外传感器若不加菲涅尔透镜, 则其检测距离仅为2 m 左右; 而配上菲涅尔透镜后, 其检测距离可增加到10 m 以上。

静态情况下空间存在红外光线,由于双源式探头采用互补技术,不会产生电信号输出。动态情况下,人体经过探头先后被A 源或被B 源感应,SaSb产生差值,双源失去互补平衡作用而很敏感地产生信号输出。

3.6.2 信号处理电路

本设计采用BIS0001 来完成对热释电传感器输出信号的处理。BIS0001 是一款具有较高性能的热释电传感器信号处理集成电路, 它主要由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成。

图3-10 中, 热释电传感器S 极输出信号送入BIS0001的14 脚, 经内部第一级运算放大器放大后, 由C3 耦合从12 脚输入至内部第二级运算放大器放大, 再经电压比较器构成的鉴幅器处理后, 检出有效触发信号去启动延迟时间定时器, 最后从12 脚输出信号(Vo ) 送入单片机进行照明控制。实验所得, 当传感器检测室内有人时,Vo =4V ;无人时Vo =0.4 V。

BIS0001 的1 脚接高电平, 使芯片处于可重复触发工作方式。输出Vo (高电平) 的延迟时间Tx 由外部R8和C7 的大小调整; 触发封锁时间Ti 由外部R9 和C6 的大小调整。

图3-10 热释电传感器信号处理电路图

图3-11 人体信号比较电路

3.6.3 比较电路

比较电路如图3-11所示,由两个运算放大器组成,输入信号来自于红外人体探头输出。比较电路中的基准电压分别由两个独立的分压电路得到,供电路比较所用。即运算放大器D1的6脚和D2的1脚电压分别为0.45V 和2.0V 。

通过比较电路将相应的电压比较结果以数字信号输出。当被动红外探头在有效范围内感应到人体信号后,运算放大器的“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 。

探头将只会产生一种电压信号0V 。

具体的比较结果如下表3-1所示。

表3-1 探头采集信号输出状态表

通过比较电路,不仅解决了不同工作状态时被动红外探头的对外界人体红外信号的采集,而且也实现了仅通过被动红外探头的两根电源线同时也传输了所采集的周围环境的红外信号,一举两得。

3.7 输出驱动电路设计

ULN2003是高压大电流达林顿晶体管阵列系列产品, 具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点, 适应于各类要求高速大功率驱动的

系统。 是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平,继电器得电吸合。功能特点: 高电压输出50V

输出钳位二极管

输入兼容各种类型的逻辑电路

应用继电器驱动器

输出控制电路如图3-12所示,单片机P2.0脚接ULN2003芯片IN7脚,单片机向IN7输入一个高电平时,芯片从OUT7脚输出低电平,继电器得电闭合。

图3-12 输出控制电路

第四章 系统软件设计及实现

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

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

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

4.1 人机交互程序设计

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

4.1.1 键盘扫描程序设计

本系统的键盘采用的是4×4矩阵式键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。一个4×4的行、列结构可以构成一个含有16

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

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

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

(1) 通过数字键、确认键输入分控制器的地址以及定时功能的时间设置。

(2) 利用开、关键控制照明灯具的启停。

(3) 利用增值、减值键控制照明灯具的亮度。

(4) 通过定时键来对照明灯具进行定时控制的设置。

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

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

4.1.2 数码显示程序设计

本系统采用LCD1602显示模块,利用单片机显示程序读取DS1302时钟芯片时间,然后送1602显示。

数码显示程序如图4-3

图4-3 数码显示程序流程图

4.2 照明启停控制程序设计

照明的启停控制主要是由主控制器发出指令,通过RS485通信方式或无线数传方式控制全部或部分分控制器所控制照明灯具的启停。

主机与从机的数据通信波特率定为9600波特,每个从机都有唯一的地址号,用来区分各从机。单片机的数据通信由串口完成,定时器T1为波特发生器,数据传送格式为1位起始位,8位数据位,1位停止位,1位可编程位(TB8)。工作方式:定时器T1设置为方式2,串口设置为工作方式3。

本系统的通信原理为:主机发送地址有通用地址和单机地址两种。控制全部从机是发送通用地址,控制单个从机时发送此机唯一地址。从机在建立与主机通信之前所有分机的SM2都置1,即随时处于对通信线路监听的状态,只能收到主机发送来的机号信息。当主机发送地址信息时,每帧数据的第9位都为1,所有从机都接收到地址信息,然后判断主机是否呼叫本机或呼叫通用地址。如果呼叫通用地址则进入正式通信状态,清除SM2位,不需要回复主机,开始接收主机发送来的命令。如果呼叫本机则进入正式通信状态,清除SM2,并把本机地址号发送给主机作为应答,然后才开始接收主机发送来的信息。而其它从机由于地址号不符,他们的SM2位仍然为1,仍处于侦听状态,无法接收主机发送来的数据信息。主机收到从机发送来的回应信息后,比较主机已发送的地址号与刚接收的地址号是否相符,如果不符,则发出错误信息;如果相符,则正式发送数据信息,这时发送的每帧的第9位都为0。只有SM2=0的从机才能接收到主机发送的信息。从机根据命令执行相应的动作,如果为打开命令,则输出高电平闭合继电器开关,开启照明灯;如果为关闭命令,则输出低电平断开继电器开关,停掉照明灯。 该系统的主机和从机的控制程序流程图如图4-4和图4-5所示。

图4-4 启停控制主机程序流程图

图4-5 启停控制从机程序流程图

4.3 通信程序设计

在通信中,主机与各个从机进行通信,必须能对各个从机进行识别,这一识别功能是利用串口控制寄存器SCON 的SM2位实现的。当串口以方式3工作时,发送和接收的每一帧信息都是11位,其中第9位数据位是可编程的,通过对SCON 寄存器的TB8位置1或置0,以区别发送的是地址帧还是数据帧(规定地址帧的第9位为1,数据帧的第9位为0)。若从机的控制位SM2被设为1,则当接收的是地址帧时,数据装入SBUF ,并置RI=1,向CPU 发出中断申请,若接收的是数据帧,则不产生中断,信息被抛弃。若SM2被设为0,则无论是地址帧还是数据帧都将产生RI=1中断标志,数据装入SBUF 。利用这一功能,可以按照如下步骤进行数据通信:

(1) 将所有SM2位置1,使其处于只接收地址帧的状态。

(2) 主机发送一帧地址信息,其中前8位数据位表示通信的从机地址,第9位为1,表示当前帧为地址帧。

(3) 从机接收到地址帧后,如果是广播地址帧,则所有从机都将其SM2位置0,准备接收主机发送的数据或命令;如果不是广播地址帧,则将本机地址与帧中地址进行比较。如果地址相同,则将其SM2位置0,并发送本机地址帧,然后

准备接收数据。如果地址不同,则丢弃当前数据,SM2位不变。

(4) 主机发送数据帧,相应的从机接收,其他从机则不受影响。

(5) 当主机需要与其他从机通信时,可以再次发出地址帧寻呼从机,重复这一过程。

主机在发送数据时,按照表4-1的数据格式进行传输。

表4-1

在程序中,第9位发送数据位SCON 中的TB8位,第9位接收数据位为SCON 的RB8位,因此,发送数据前,可以通过对TB8位置1或0来确定要发送的是地址帧还是数据帧。而接收数据时,对地址帧的判断则是通过读取RB8位来获得的,RB8=1,当前帧为地址帧,RB8=0,当前帧为数据帧。

单片机的串口工作在方式3下,其波特率由定时器1(T1)的溢出率决定,计算公式为:

SMOD 2

32 波特率=T1的溢出率

定时器T1的溢出率的计算公式为:

溢出率=f osc

32 k 的初值 )÷( 2 - T1

则波特率的公式变为:

SMOD 2

32 f osc 32k 的初值 )÷( 2 - T1

波特率=×

系统所采用的晶振频率为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) 如果串口有数据接收(收到地址帧),则从机会将该帧中的地址信息先与广播地址进行比较,如果是广播地址,则做好接收数据的准备,如果是其它地址,则与本机地址比较,如果相同,则发送应答信息,应答信息内容应为本机地址,否则丢弃当前数据,从机继续处于等待呼叫状态。

(3) 程序调用接收函数接收主机发送的数据部分并作出应答,接收到的数据保存至SBUF 指向的缓冲区中。如果接收函数返回0xff, 表示数据校验失败,程序等待主机重新发送数据。如果函数返回值为0xfe ,表示从机在数据接收过程中发现主机发送地址帧,程序将放弃当前接收过程,将SM2位重新置1,开始下一通信过程。如果函数返回0,表示数据被成功接收,向主机发送成功信号,随后,程序将SM2位置1,重新开始。

第五章 系统可靠性设计

在实验室里设计的控制系统,在安装、调试后完全符合设计要求,但把系统置入现场后,系统常常不能正常稳定地工作。产生这种情况的原因主要是现场环境复杂和各种各样的电磁干扰,所以单片机应用系统的可靠性设计、抗干扰技术变得越来越重要了。

工业现场环境中干扰是以脉冲产的形式进人单片机系统的,其主要的渠道有三条,即空干扰多发生在高电压、大电流、高频电磁场附近,并通过静电感应,电磁感应等方式侵入系统内部;供电系统干扰是由电源的噪声干扰引起的;过程通道干扰是干扰通过前向通道和后向通道进入系统的。干扰一般沿各种线路侵入系统。系统接地装置不可靠,也是产生干扰的重要原因;各类传感器,输人/输出线路的绝缘损坏均有可能引入干抚。

5.1 干扰产生的后果

(1)数据采集误差的加大。

(2)程序运行失常:①控制状态失灵。②死机。

(3)系统被控对象误操作。①单片机内部程序指针错乱,指向了其它地方,运行了错误的程序;②DRAM 中的某些数据被冲乱或者特殊寄存器的值被改变,使程序计算出错误的结果。③中断误触发,使系统进行错误的中断处理。

(4)被控对象状态不稳定。

(5)定时不准。①单片机内部程序指针错乱,使中断程序运行超出定时时间;②RAM 中计时数据被冲乱,使程序计算出错误的结果。

(6)数据发生变化。

5.2 单片机应用系统的硬件抗干扰设计

(1)供电系统采用稳定的开关电源并提供足够的功率余量,主机部分使用单独的稳压电路,必要时I/O供电分别采用DC-DC 模块隔离,以避免各部分相互干扰。

(2)注意印制电路板的布线与工艺。

(3)提高元器件的可靠性。①选用质量好的电子元件,并进行严格的测试、筛选和老化。②设计时元件技术参数要有一定的余量。③提高印制板和组装的质量。

(4)使用双机冗余设计。双机冗余,就是执行同一个控制任务,可安排两个单

片机来完成,即主机与从机。

(5)用好去耦电容。好的高频去耦电容可以去除高到1AHZ 的高频成份。去耦电容有两个作用:一方面是本集成电路的蓄能电容,提供和吸收该集成电路开门关门瞬间的充放电能;另一方面旁路掉该器件的高频噪声。

5.3 软件抗干扰技术

5.3.1 数据采集误差的软件对策

(1)用软件滤波算法,可滤掉大部分由输入信号干扰而引起的输出控制错误。

(2)关键数据可使用软件冗余技术,即给数据增加一定的冗余位,以实现数据的检错和纠错功能。

5.3.2 程序运行失控的软件对策

程序运行失常的软件对策,是发现失常状态并及时将系统引导到初始状态。

(1)指令冗余。对MCS-51系列单片机,大部分指令为单字节,当出错的程序落到其上时,出错的程序可自动纳入正轨;当落到多字节指令的操作数时,程序将继续出错,所以在关键的对程序的流向起决定性的指令之前插入两条NOP 指令,以使被弹飞的指令恢复正轨。

(2)使用程序监视跟踪定时器。

(3)设置程序指针陷阱。软件陷阱将出错的程序捕获并强行引入出错处理的程序,可安排在四个地方:①未使用的中断向量区,干扰可使未使用的中断开放并激活中断,在这些地方设置软件陷阱就能及时捕获到错误中断。②未使用的ROM 空间,在其中每隔一段设置一个陷阱,可将弹飞至该区域的出错程序捕获。③表格,储存在EPROM 中的表格后安排软件陷阱,可在一定程度上防止软件弹飞。④程序区,一般程序中不能任意安排软件陷阱,但在正常程序中会有一些跳转指令,在这些指令后使用软件陷阱可捕获到弹飞到跳转指令的操作数上的出错程序。

(4)使用实时嵌入式操作系统(RTOS )。

总 结

本文研究了基于AT89C51与AT89C2051单片机的智能照明控制系统的设计原理与实现方法,包括硬件设计与软件设计。首先根据设计要求用Protel DXP软件绘制出原理图,然后依据原理图选择元器件,在实验板上布置元器件并连接线路,对硬件电路进行测试,检查串行口是否选错,测量电源是否正常,复位电平是否正确,单片机是否起振等等。接着就要按照功能要求编制程序,这里采用Keil C编程工具,需先根据要求划分模块,优化结构;再根据各模块特点确定何为主程序,何为子程序,何为中断服务程序,相互间如何调用;再根据各模块性质和功能将各模块细化,设计出程序流程图;最后才根据各模块流程图编制具体程序。调试时应先调主程序,实现最基本最主要的功能,在此基础上再将各模块功能往主程序上堆砌,直至各模块联调、统调,实现全部功能。

由于此设计是在相对理想的情况下设计,在实际应用时,由于现在很多高校都有教学放映设备,故需把灯光控制系统和放映设备电源分开。当应用于其他工作场所时,可根据实际需要添加或者减少部分模块,如在道路使用时,则不需要时间控制电路;在室内使用时,还可以添加无线模块,方便控制。

参考文献

【1】 马淑华、王凤文、张美金. 单片机原理与接口技术[M ]. 北京. 北京邮电大学出版社

2007.

【2】 康华光. 电子技术基础模拟部分(第五版). 北京. 高等教育出版社.2006.1.

【3】 贾正松. 基于单片机实现智能照明控制系统设计[J ]现代电子技术 2009 (17):P105

——107.

【4】 孙涵芳、徐爱卿. 单片机原理及应用[M ]. 北京:北京航空航天大学出版社.1996.

【5】 陈新忠. 基于RS485总线的单片机多机通信软件设计[J ]. 现代电子技术.2002. (3)

P8-10.

【6】 陈杰、黄鸿. 传感器与检测技术. 北京. 高等教育出版社.2002.8.

【7】 樊宇、程全. 基于 RS485 总线实现的远距离多机主从式通信技术[J ]. 工业控制

计算机. 2006. 19(7) P71~73.

【8】 康华光. 电子技术基础数字部分(第五版). 北京. 高等教育出版社.2006.1.

【9】 陈永甫. 红外探测与控制. 电路人民邮电出版社.2001.

【10】 刘舒祺,施国梁.基于热释电红外传感器的报警系统[J].国外电子元器件.2005(3):

18—20.

【11】 孙雪梅、范久臣. 实时时钟芯片在单片机系统中的应用[J ]. 沈阳教育学院学

报.2005.7(2) P132~134.

【12】 胡汉才. 单片机原理及其接口技术[M ]. 北京:清华大学出版社.1996年第1

版.p266-268.

【13】 清华大学自动化系. 智能信息处理和智能控制[M ]. 杭州:浙江科学技术出版

社.1998,12.

【14】 王质朴、吕运鹏. MCS-51单片机原理接口及应用[M ]. 北京:北京理工大学出版

社. 2009.11.

【15】 沈瑞珠.智能照明系统在智能建筑中的应用.低压电器.2002.(5):20~22.

【16】 王尔镇.高效节能光源器具和绿色照明技术.上海电真空.1997.(3):10~19.

【17】 雷祚昌.调光电路及设计中的问题.云光技术.1990.(4):10~14.

致谢

本课题在选题及研究过程中得到了叶永华老师的悉心指导。叶老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。叶老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神给我留下了深刻的印象。他不仅授我以文,而且教我做人,虽历时不长,却让我终生受益。在此次毕业设计过程中,他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。同时,我也学到了许多关于室内灯光控制系统以及单片机的知识,实验技能有了很大的提高。在此谨向叶老师致以诚挚的谢意和崇高的敬意!

随着这篇本科毕业论文的最后落笔,我四年的大学生活也即将划上一个圆满的句号。回忆这四年生活的点点滴滴,从入学时对大学生活的无限憧憬到课堂上对各位老师学术学识的深沉沉湎,从奔波于教室图书馆的来去匆匆到业余生活的五彩缤纷,一切中的一切都是历历在目,让人倍感留恋,倍感珍惜。

四年来,我的学长、我的老师、我的同学给予我的关心和帮助,使我终身收益,我真心地感谢他们。

附录

主控制器实验板

从控制器实验板

信号采集及输出驱动电路实验板

部分程序代码:

//主机程序

Uart_Init();

L1602_init();

while(1)

{

jiank();

out_time();

DS18B20();

uchar keys,h,q,p,temp,tem,ddata; if(keyout()==10)

{

L1602_string(1,1,"Please enter "); L1602_string(1,14,"the");

L1602_string(2,1,"ope Addr:"); keys=keyout();

p=11;

q=0;

temp=0;

h=0;

while(keys!=15)

{

if(keys==14)

goto back;

if(keys

{

if(q>=3)

{

L1602_string(2,11,"ERROR"); goto back;

}

if(keys==9)

keys=-1;

L1602_char(2,p,keys+49); temp=temp*10+keys+1;

p++;

q++;

}

jiank();

h++;

if(h==250)

if(q==0)

goto back;

Delay_1ms(50);

keys=keyout();

}

if(q==0)

goto back;

L1602_init();

L1602_string(1,1,"Time delay"); L1602_string(2,11,"Minute"); L1602_string(2,6,"10");

tem=10;

while(1)

{

keys=keyout();

if(keys==14)

goto back;

if(keys==15)

break;

if(keys==12)

{

if(tem==30)

continue;

tem=tem+5;

L1602_char(2,6,tem/10%10+48); L1602_char(2,7,tem%10+48); }

if(keys==13)

{

if(tem==5)

continue;

tem=tem-5;

L1602_char(2,6,tem/10%10+48); L1602_char(2,7,tem%10+48); }

Delay_1ms(250);

}

if(tem==5)

ddata=0xb1;

if(tem==10)

ddata=0xb2;

if(tem==15)

ddata=0xb3;

if(tem==20)

ddata=0xb4;

if(tem==25)

ddata=0xb5;

if(tem==30)

ddata=0xb6;

if(temp==1)

{

for(q=0;q

{

Uart_Init();

jiank();

send_addr(addr1);

L1602_string(2,10,"wait"); Delay_1ms(250); send_data(ddata);

L1602_string(2,10,"waiting"); }

L1602_string(2,10," OK! "); goto back;

}

if(temp==0)

{

for(q=0;q

{

Uart_Init();

jiank();

send(addr0);

L1602_string(2,10,"wait"); Delay_1ms(250);

send_data(ddata);

L1602_string(2,10,"waiting"); }

L1602_string(2,10,"OK!"); goto back;

}

L1602_string(2,10,"Without");

back: Delay_1ms(250);

Delay_1ms(250);

L1602_init();

}

jiank();

if(keyout()==11)

{

L1602_string(1,1,"Please enter ");

L1602_string(1,14,"the");

L1602_string(2,1,"clo Addr:");

keys=keyout();

p=11;

temp=0;

q=0;

h=0;

while(keys!=15)

{

if(keys==14)

goto back;

if(keys

{

if(q>=3)

{

L1602_string(2,10,"ERROR");

goto back;

}

if(keys==9)

keys=-1;

L1602_char(2,p,keys+49);

temp=temp*10+keys+1;

p++;

q++;

}

jiank();

h++;

if(h==2500)

if(q==0)

break;

Delay_1ms(50);

keys=keyout();

}

goto back;

L1602_init();

L1602_string(1,1,"Time delay");

L1602_string(2,11,"Minute");

L1602_string(2,6,"10");

tem=10;

while(1)

{

if(q==0)

keys=keyout();

if(keys==14)

goto back;

if(keys==15)

break;

if(keys==12)

{

if(tem==30)

continue;

tem=tem+5;

L1602_char(2,6,tem/10%10+48);

L1602_char(2,7,tem%10+48);

}

if(keys==13)

{

if(tem==5)

continue;

tem=tem-5;

L1602_char(2,6,tem/10%10+48);

L1602_char(2,7,tem%10+48);

}

Delay_1ms(250);

}

switch(tem)

{

case 5:

ddata=0xc1;

break;

case 10:

ddata=0xc2;

break;

case 15:

ddata=0xc3;

break;

case 20:

ddata=0xc4;

break;

case 25:

ddata=0xc5;

break;

case 30:

ddata=0xc6;

break;

}

if(temp==1)

{

for(q=0;q

{

Uart_Init();

jiank();

send_addr(addr1);

L1602_string(2,10,"wait"); Delay_1ms(250);

send_data(ddata);

L1602_string(2,10,"waiting"); }

L1602_string(2,10," OK! "); goto back;

}

if(temp==0)

{

for(q=0;q

{

Uart_Init();

jiank();

send(addr0);

L1602_string(2,10,"wait"); Delay_1ms(250);

send_data(ddata);

L1602_string(2,10,"waiting"); }

L1602_string(2,10,"OK!"); goto back;

}

L1602_string(2,10,"Without"); back: Delay_1ms(250);

Delay_1ms(250);

L1602_init();

}

}

//从机程序

void main()

{

uchar tem,Data,i,j;

while(1)

{

Uart_Init();

SM2=1;

while(tem!=addr1 & tem!=addr0) {

while(!RI)

output();

output();

RI=0;

tem=SBUF;

}

if(tem==addr0)

goto pass;

TB8=0;

DRE=1;

send(addr1);

pass: SM2=0;

Data=recv_data();

if(Data==0xff)

continue;

switch(Data)

{

case 0xb1:

pout=1;

for(j=0;j

case 0xb2:

pout=1;

for(j=0;j

case 0xb3:

pout=1;

for(j=0;j

case 0xb4:

pout=1;

for(j=0;j

case 0xb5: pout=1;

for(j=0;j

case 0xb6: pout=1;

for(j=0;j

case 0xc6:

pout=0;

for(j=0;j

case 0xc1:

pout=0;

for(j=0;j

case 0xc2:

pout=0;

for(j=0;j

case 0xc3:

pout=0;

for(j=0;j

case 0xc4:

pout=0;

for(j=0;j

case 0xc5:

for(j=0;j

default:

break;

}

}

}


相关内容

  • 电气自动化设计论文题目大全
  • 机电一体化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数 ...

  • 电气自动化毕业设计论文题目
  • 电 气 自 动 化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机 ...

  • PLC毕业设计论文题目
  • P L C 第1-100个PLC毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MS ...

  • 自动化毕业设计论文题目
  • 自 动 化 毕 业 设 计 论 文 题 目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC12 ...

  • 单片机毕业设计题目
  • 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 ...

  • 通信工程毕业设计题目精选
  • 不管怎样,生活还是要继续向前走去.有的时候伤害和失败不见得是一件坏事,它会让你变得更好,孤单和失落亦是如此.每件事到最后一定会变成一件好事,只要你能够走到最后. 通信工程毕业设计题目精选 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激 ...

  • 基于GSM网络智能家居系统设计_毕业论文
  • 天津工业大学 毕业设计(毕业设计(论文)论文) 基于GSM网络智能家居系统设计 网络智能家居系统设计 姓 名 名: 院(系)别: 电子与信息工程学院 电子与信息工程学院 专 业 业: 通信工程 通信工程 通信工程 班 级 级: 通信 通信 通信 指导教师:指导教师: 2012年 6 月 6 日 天津 ...

  • 毕业设计(论文)-基于单片机的智能路灯控制系统设计
  • 河南科技学院 2014 届本科毕业论文(设计) 设计题目:基于单片机的智能路灯控制系统设计 学生姓名: 所在院系: 所学专业: 导师姓名: 完成时间: 2014-5-10 基于单片机的智能路灯控制系统设计 摘 要 随着中国现代化节奏的不断加快,电子产品的大量应用也导致电力消费飞速地增长.于此相对的另 ...

  • 智能水产养殖系统论文
  • 题 目: 关键词: STM32:智能控制:数据采集:无线通信 摘要 在水产养殖中要求养殖人进行繁重的体力劳动,同时在一些养殖设备操作复杂,工作环境相对危险,给养殖户带来诸多不便.为解决这一问题,本论文结合了无线通信技术.数据处理技术及直流电机控制技术,设计了一套基于 ARM(Advanced RIS ...