教室智能照明控制系统

更新时间:2024-04-12 19:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

河南工业职业技术学院

毕业设计任务书

类别:三年制高职 专业:电子信息工程 班级:电子信息0801 姓名:宋洪江

毕业设计题目:教室智能照明系统 指导教师姓名:马瑛

负责人签字:

2011年 05 月 20 日

设计题目:教室智能照明系统

一、 设计要求:

设计一个教室智能照明控制系统,通过多种传感器采集室内光线、人数分布等信息,利用控制电路调节照明强度,实现节能控制。

二、 设计任务

1. 画出电路原理图

2. 编写设计说明书,1万5千字以上。包括:

(1) (2) (3) (4)

设计任务书 前言 目录

正文,包括:

设计思想、电路工作原理、元器件选择、电力元器件参数、使用元器件明细表、总结、参考资料等

3.B5版面,正文5号或小4字号,章标题小2加粗,节标题小4加粗。

基于单片机的照明控制系统设计与实现

摘要

随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。同时楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。

本文介绍了基于AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对学校教室室内照明的控制。

系统设计包括硬件设计和软件设计两部分。该照明控制系统的主控制器、分控制器分别是以AT89C51单片机为基础,实现了通信、控制与显示等功能。文中详细地描述了控制电路的设计过程,包括:键盘与LED显示电路、RS485通信电路、照明灯控制电路以及看门狗电路等。对于软件设计主要有主控制器、分控制器的有线通信程序设计以及灯光控制、定时控制、键盘扫描与LED显示等程序设计。

关键词:灯光控制系统;AT89C51;单片机;节能;采集电路

Abstract

The Control System for Lighting Based on Single–chip Microcomputer

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 AT89c51. The system can do many jobs, such as wired communication, wireless data transmitting, controlling and display. The paper describes the designing process of the circuit at length, including: 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 and LED displaying. The wired communication programming function is that through Master-slave communication method based on RS485 the host controller sends orders to

I

Abstract

the all auxiliary controllers or each one, including: turning on lighting, turning off lighting, regulating brightness of lighting, controlling timed lighting, etc.

Key words:lighting control system;AT89C51; Single-chip microcomputer;energy saving;acquisition of signal

II

前言

随着国民经济的快速发展和社会进步,教育在全社会愈加被关注和重视,校园规模也随着受教育者的数量增加而不断扩大,教室的数量也大幅度增加。为使师生有舒适的教学和学习的环境,无论是教室的面积、设施和照度,校方在力所能及的范围内,都付出了十分的努力。但由于学校开放型的管理模式,以及全员的节能意识的淡薄,高校的教室在白天室内照度很高的情况下,仍然普遍存在开灯作业;即使室内无人或人数很少的情况下,也是全部开启室内照明。夜间许多教室,即使仅有几个学生在教室自习,但室内照明全部开启,绝不会有师生因为只有少数人而仅开几盏灯。长明灯比比皆是,人走不熄灯的现象到处存在。这种有形和无形的浪费,给校方的水电支出带来了沉重的负担。学校的水电支出约占全校经费支出的1/4—1/5,电费支出占据较重比例。其中主要能耗浪费较大的是:教室照明和空调的使用。而教室照明的浪费源自予长明灯、白天亮灯、不合理使用照明以及旧灯管的不及时更换。

能源短缺是21世纪国际面临的新课题。在寻找新的能源之外,节约能源,提高效益也就成为了我们研究的课题。所以学校如何来节省电力能源也成为了一个迫切需要解决的问题。从节约资源、对社会贡献、节省高校经费支出和学生的健康等多方面考虑,高校教室照明的节电问题不得不提到重要的议事日程上来。

本篇论文介绍了就是基于单片机AT89C51的室内灯光控制系统的研究和开发。本系统是以单片机为控制器的核心,其中上位机和下位机都是以AT89C51为基础,再连接外围电路,通过现场总线RS485通信方式实现照明灯具的智能控制。系统通过人体信号采集电路对人体信号采集和光信号采集电路对光信号采集以及相应的处理并输入给单片机,单片机对输入信号判断并输出信号来控制学校教室内灯光的开关和亮度。

I

河南工业职业技术学院毕业设计论文

第一章 概述

1.1课题研究背景

随着计算机网络、通信、控制等技术的发展,智能建筑的发展越来越迅猛。目前,国内大多数智能建筑存在效率低、能耗高的现象。就智能建筑的照明系统来说,许多地方的灯经常是从早到晚开着的,不管这些房间或楼道是否有人,也不管有多少人。或者,当自然光照度很好时,灯不能及时关闭;反之,当自然光照度难以满足人的需求时,又不能及时打开灯光。这种照明方式,不仅造成能源的浪费,而且不能满足人对照明的基本需求,同时也给人的视力造成了很大的影响。现代照明除了满足人的基本生活、学习要求之外,将更注重能量的节省和使用上的便利,以及满足人类工程学的个性方面的要求。特别是近年来大厦内利用计算机工作的人员比例上升,不同视觉要求的工作的数量和复杂程度大大增加。所以要做到合理、经济、节能,首先应采用先进成熟的技术和产品,如电光源、灯具、照明控制系统。因此,适应不同个人和工作需要,结合自动调节与手动调节的智能化照明系统已经成为必不可少了。

而在大学校园的建设热潮中,各大高校和他们的建设者也意识到了智能照明的重要性。相对商业楼宇而言,大学校园里的大功率动力和制冷设备比重较少,照明灯具则相对比重更多,所以控制教室照明是节能的关键。使用照明控制系统,更能体现其在节能与管理方面的优势,提高学校的科学管理水平,而且还能节省开支。

1.2课题研究的目的与意义

1.2.1良好的节能效果和延长灯具寿命

节能是照明控制系统的最大优势。传统的楼宇公共区域照明工作模式,只能是白天关灯,晚上开灯。而采用了智能照明控制系统后,可以根据不同场合、不同的人流量,进行时间段、工作模式的细分,把不必要的照明关掉,在需要时自动开启。同时,系统还能充分利用自然光,自动调节室内照度。控制系统实现了不同工作场合的多种照明工作模式,在保证必要照明的同时,有效减少了灯具的工作时间,节省了不必要的能源开支,也延长了灯具的寿命。

2

河南工业职业技术学院毕业设计论文

1.2.2改善工作环境,提高工作效率

良好的工作环境是提高工作效率的一个必要条件。合理地选用光源、灯具及性能优越的照明控制系统,都能提高照明质量。智能照明控制系统具有开关和调光两种控制方法,可以有效地控制各种照明场所的平均照度值,从而提高照度均匀性。同时,系统能根据不同的时间段,人们的不同需要,自动调节照度。 1.2.3提高管理水平

智能照明控制系统是以自动控制为主、人工控制为辅的系统。在一般的情况下,不需要有人的参与,照明系统自动实现开关和调光功能,既大大减少了管理人员的数量,也排除了由于人为因素而出现的不定时开关,影响学校的正常教学、生活秩序的情况。 1.2.4较好的投资收益效果

智能照明控制系统在节能和节省灯具使用的同时,有效节省了电费与管理费用的支出。根据一般的办公大楼运营的经验来看,节能效果能达到40%以上,一般的商场、酒店、地铁站等节能效果也能达到25%~30%。 1.3系统设计 1.3.1系统设计要点

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

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

3

河南工业职业技术学院毕业设计论文

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

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

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

主控制器 RS485接口RS485总线 RS485接口RS485接口RS485接口

分控制器分控制器分控制器

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

2.上位机系统

4

河南工业职业技术学院毕业设计论文

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

电源 键盘数码显示及驱动电路 89C51晶振 看门狗通信接口电路 图1-2 主控制器硬件电路结构框图

3.下位机系统

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

5

河南工业职业技术学院毕业设计论文 光信号采集电路 时钟电路看门狗 人体信号采集电路89C51

晶振可控硅控制电路

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

室内灯光控制系统可以根据作息时间、气候、人体等因素全天候自动模糊控制室内照明电器的开和关。做到光线暗时开灯,雨天阴天时开灯,无人时关灯,光线亮时关灯,晴天时关灯,休息时间关灯。在确保室内正常照明同时,可有效防止无人灯(无人时开灯)﹑无效灯(光线亮时开灯)、无限灯(休息时间开灯),从而达到节电目的。

根据上述要求,可以画出控制系统逻辑功能表,如表1-1所示。

6

河南工业职业技术学院毕业设计论文

表1-1 系统逻辑关系表 信 号 室内光信号 人体信号 时钟信号 电灯的开关状

态 参 数 自然光照度 人体 作息时间 强 无 休息 断 强 无 上课 断

逻 强 有 休息 断

辑 强 有 上课 断

状 弱 无 休息 断

态 弱 无 上课 断

弱 有 休息 断

弱 有 上课 合

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

人体信号为B:有人时B=1,无人时B=0; 作息时间为C:上课时C=1,休息时C=0; 电灯开关状态为D:合时D=1,断开时D=0。

7

河南工业职业技术学院毕业设计论文 则表1-1可以转化为表1-2。

表1-2 系统逻辑真值表

信号 参数 符号 逻 辑 状 态 室内光信号 自然光信号 A 0 0 0 0 1 1 1 1 人体信号 人体 B 0 0 1 1 0 0 1 1 时钟信号 作息时间 C 0 1 0 1 0 1 0 1 D 0 0 0 0 0 0 0 1 电灯的开光状况 由上述的真值表可得出系统逻辑函数表达式为:D=A·B·C

8

河南工业职业技术学院毕业设计论文

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

2.1 系统硬件总述

系统以单片微型计算机为核心外加多种接口电路组成,共有六个主要部分:AT89C51芯片、光信号采集电路、人体信号采集电路、时钟控制电路DS12887、输出控制电路、定时监视器电路,如图2-1所示。

AT89C51 从机1

图2-1 系统硬件总述图

从机n 9

河南工业职业技术学院毕业设计论文

2.2 CPU性能介绍

本系统采用了ATMEL公司MCS-51系列单片机中的AT89C51芯片,它是低压高性能CMOS 8位微处理器,带有4k字节Flash闪速存储器,128字节内部RAM,15个I/O口线,两个16位定时/计数器,—个5向量两级中断结构,一个全双工串行通信口。

2.3 主控制机电路设计

主控制器采用AT89C51单片机作为微处理器,AT89C51是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元。

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

P1.1236P1.01P1.24P1.3P1.4P1.5P1.6P1.789C51123456781312P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7INT1INT0T1T0EA/VPPXTAL1XTAL2RESETRDWRGND+5VWDORESETGNDMRVCCWDI+5VVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RXDTXDALE/PPSEN403938373635343332212223242526272810113029+5V7447ABCDVCCabcdefgGND100Ω ×7D4D3D2D15 7890开定时关确认+5V↑↓RBIRBOLTA1015×44.7KΩ ×4Y0Y1Y2Y3VCCVCC30pF12MHz15143119189171620DABCG2AG2B 30pF74LS138 MAX813L10

河南工业职业技术学院毕业设计论文

2.3.1键盘的接口设计

键盘的结构形式有两种,即独立式按键和矩阵式键盘。本系统使用的是4×4矩阵式键盘,第一行从左到右为1、2、3、4,第二行为5、6、7、8,第三行为9、0、开、关,第四行为增值、减值、定时、确认。该形式的键盘,每个按键开关位于行列的交叉处,采用逐行扫描的方法识别键码。矩阵键盘的列线从左到右分别与单片机的P1.0、P1.1、P1.2、P1.3相连,矩阵键盘的行线从上到下分别与P1.4、P1.5、P1.6、P1.7相连。每当按下一个键时,对应的行线与列线就会连通,这样单片机就能检测出信号,并通过键盘扫描程序对键盘进行扫描,以识别被按键的行、列位置。

2.3.2 LED数码显示的接口设计

数码显示与驱动电路由74LS138译码器、7447 TTL BCD-7段高有效译码器/驱动器、4个数码管以及5个A1015三极管组成。由单片机的P0.0~P0.3口输出的四位BCD码,经7447芯片后,翻译成7段数码管a、b、c、d、e、f、g相应的段,并输出点亮数码管相应的段。单片机的P0.4、P0.5口输出的信号经74LS138译码器后产生的高电平信号加在A1015三极管的基极,控制三极管的导通,从而起到对相应数码管的选通作用。4个7段数码管都被接成共阳极方式。 2.3.3 看门狗监控电路的设计

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

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

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

11

河南工业职业技术学院毕业设计论文

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

(4)手动复位:如果需要对系统进行手动复位,只要按下手动复位按钮,就能对系统进行有效的复位。 2.4 分控制器的电路设计

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

分控制器采用低档型的AT89C2051单片机作为微处理器,AT89C2051也是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含2K bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),兼容标准MCS-51指令系统,具有15线可编程I/O口,该单片机具有体积小、成本低、结构简单、性价比较高等特点。 2.5 RS485通信电路的设计

12

河南工业职业技术学院毕业设计论文

在各种分布式集散控制系统中,往往采用一台单片机作为主机,多个单片机作为从机,主机控制整个系统的运行;从机采集信号,实现现场控制;主机和从机之间通过总线相连,如图2-4所示。主机通过TXD向各个从机(点到点)或多个从机(广播)发送信息,而各个从机也可以向主机发送信息,但从机之间不能自由通信,其必须通主机进行信息传递。 图2-4 单片机多机通信连线图

主机 RXD TXD RXD TXD 从机1 RXD TXD …… RXD TXD 从机n 多机通信时,为了保证通信的可靠性,在点到点通信时,采用了寻址技术,即主机先发送一帧地址信息给各个从机,各从机接收到主机发来的地址信息后,便与本机的地址号相比较。若相同,则开始与主机的通信;若不同,则不理睬主机发送的数据信息,也不向主机发送信息。

多机通信时,单片机的串行口只能工作在方式2、3。此时单片机发送或接收的一帧信息都是11位,1位起始位、9位数据位、1位停止位,其中第9位数据发送或接收是通过TB8或RB8实现的。当主机发送地址信息时,使TB8=1,所有SM2=1的从机都将产生中断,接收此地址信息进行比较,其中被主机呼叫的从机的SM2位被清“0”;主机发送数据信息时,使TB8=0,仅有SM2=0的从机才将产生中断,接收主机发来的命令或数据信息,其余从机不予理睬。针对RS232的不足,出现了新的串行数据接口标准RS-422,它采用平衡驱动和差分接收的方法,从根本上消除了地波和共模电磁波的干扰。发送端相当于两个单端驱动器,发送同一个信号时,其中一个驱动器的输出永远是另一个驱动器的反相信号。于是两条线上传送的信号电平,当一条表示逻辑“1”时,另一条为逻辑“0”。在干扰信号作为共模信号出现时,接收器接收差分输入电压,只要接收器有足够的抗共模电压工作范围,就能从

13

河南工业职业技术学院毕业设计论文

地线的干扰中分离出有效信号,正确接收传送的信息,其最小可区分0.20V的电位差值。由于平衡双绞线的长度与传输速率成反比,RS422在1200米距离内能把速率提高到100Kb/s;在较短距离内,其传输速率可高达10Mb/s,实现了长距离、高速率下传输数据。

采用RS-422实现两点之间远程通信时,需要两对平衡差分电路形成全双工传输电路。在实际应用系统中,往往有多点互连而不是两点直连,而且大多数情况下,在任一时刻只有一个主控模块(点)发送数据,其他模块(点)处在接收数据的状态,于是便产生了主从结构形式的RS-485标准。RS485只能按半双工方式工作,因此发送电路必须由使能信号加以控制,但它只需要一对双绞线即可实现多点半双工通讯。

本系统的有线通信方式采用RS485总线进行通信,RS485标准支持半双工通信,只需三根线就可以进行数据的发送和接收,同时具有抑制共模干扰的能力,接收灵敏度可达±200mV,大大提高了通信距离,在100K bps速率下通信距离可达1200m,如果通信距离缩短,最大速率可达10M bps。在这里使用的是主从式通信方式,主机由主控制器充当,从机为分控制器。主机处于主导和支配地位,从机以中断方式接收和发送数据,主机发送的信息可以传送到所有的从机或指定的从机,从机发送的信息只能为主机接收,从机之间不能直接通信。主机与从机的通信电路图分别如图2-5与图2-6所示。

14

河南工业职业技术学院毕业设计论文

89C51 12345678 P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7INT1INT0131215141918171620 P2.0T1T0EA/VPPXTAL1XTAL2RESETRDWRGNDP2.1P2.2P2.3P2.4P2.5P2.6P2.7VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7403938373635343332212223242526272810113029+5V5.1KΩ5.1KΩ5.1KΩ470ΩMAX485ROVCC+5V3.3KΩ20Ω120Ω12V7V TLP521-4ABREDEADIGND20Ω3.3KΩ12V7V 31 9 TLP521-4B+5V5.1KΩRXDTXDALE/PPSENTLP521-4C5.1KΩ图2-5 主机通信电路图

12389C2051RST/VppRXD/P3.0TXD/P3.1VCC201918171615141312115.1KΩ5.1KΩ5.1KΩ5.1KΩ470ΩMAX485ROVCCTLP521-4AREBDEADIGND20Ω3.3KΩ12V7V+5V+5V3.3KΩ20Ω120Ω12V7VP1.7P1.64XTAL2P1.55 XTAL1P1.46INT0/P3.2P1.37 INT1/P3.3P1.28T0/P3.4P1.1/AIN19T1/P3.5P1.0/AIN0 10GNDP3.7 TLP521-4B+5V TLP521-4C5.1KΩ 图2-6 从机通信电路图

15

河南工业职业技术学院毕业设计论文

主机与从机选用的RS485通信收发器芯片为MAX485,它是MAXIM公司生产的用于RS 485通信的低功率收发器件,采用单一电源+5 V工作,额定电流为300 μA,采用半双工通信方式。它完成将TTL电平转换为RS485电平的功能。MAX485芯片内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;RE和DE端分别为接收和发送的使能端,当RE端为逻辑0时,器件处于接收状态;当DE端为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可,主机与从机分别使用P2.6与P1.0脚进行控制;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在进行通信时只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,这里选用120Ω的电阻。

为了提高系统的抗干扰能力,采用光电耦合器TLP521对通信系统进行光电隔离。从机使用单片机的P1.0控制通信收发器MAX485的工作状态,平时置P1.0为低电平,使从机串行口处于侦听状态。当有串行中断产生时判别是否是本机号,若为本机地址则置P1.0为高电平,发送应答信息,然后再置P1.0为低电平接收控制指令,继续保持P1.0为低电平,使串行收发器处于接收状态;若不是本机地址,使P1.0为低电平,使串行收发器处于接收侦听状态。 2.6 光信号取样电路

光信号取样电路如图2-7所示,图中主要由光信号采集电路和A/D模数转换电路组成,其中模数转换是电路的核心。信号经过采集送入A/D转换电路,通过单片机处理后,最终作为系统应用程序进行开关灯判断的依据。

A/D转换器的位数应根据信号的测量范围和精度来选择,使其有足够的数据长度,保证最大量化误差在设计要求的精度范围内。本系统中,信号的测量范围的电压:0.00—9.99V,精度0.01V。

在本次设计中选用了带串行控制的10位模数转换器TLC1549,它是由德州仪器(Texas Instruments简写为TI)公司生产的,它采用CMOS工艺,具有自动采样和保持,采用差分基准电压高阻抗输入,抗干扰性能好,可按比例量程校准转

16

河南工业职业技术学院毕业设计论文

换范围,总不可调整误差达到(±)1LSB Max,芯片体积小等特点。同时它采用了Microwire串行接口方式,故引脚少,接口方便灵活。与传统的并行方式接口A/D转换器(例ADC0809/0808)相比,其单片机的接口电路简单,占用I/O口资源少。

图2-7 光信号取样电路

2.6.1 Microwire串行总线性能介绍

Microwire总线是美国国家半导体(NS)公司推出的三线同步串行总线。这种总线由一根数据输出线(SO)、一根数据输入线(SI)和一根时钟线(SK)组成 (但每个器件还要接一根片选线)。原始的Microwire总线上只能连接一片单片机作为主机,总线上的其它设备都是从机。此后,NS公司推出了8位的COP800单片机系列,仍采用原来的Microwire总线,但单片机上的总线接口改成既可由自身发出时钟,也可由外部输入时钟信号,也就是说,连接到总线上的单片机既可以是主机,也可以是从机。为了区别于原有的Microwire总线,称这种新产品为增强型的Microwire/PLUS总线。增强型的Microwire/PLUS总线上允许连接多片单片机和外围器件,因此,总线具有更大的灵活性和可变性,非常适用于分布式、多处理器的单片机测控系统。要改变一个系统,只需改变连接到总线上的单片机及外围器件的数量和型号Microwire总线系统的典型结构如图2-8所示。

17

河南工业职业技术学院毕业设计论文

图 2-8 Microwire总线系统典型结构

2.6.2 TLC1549的接口设计

图 2-9 TLC1549引脚及与A/D接口电路

TLC1549采用了Microwire串行接口方式,其接口时序如图2-9所示,在芯片选择(CS)无效情况下,I/O CLOCK最初被禁止且DATA OUT处于高阻状态。当串行接口把CS拉至有效时,转换时序开始允许I/O CLOCK工作并使DATA OUT脱离高阻状态。串行接口然后把I/O CLOCK序列提供给I/O CLOCK并从DATA OUT接收前次转换结果。I/O CLOCK从主机串行接口接收长度在10和16个时钟之间的输入序列。开始10个I/O 时钟提供采样模拟输入的控制时序。

图2-10 TLC1549方式1时序图

18

河南工业职业技术学院毕业设计论文

在CS的下降沿,前次转换的MSB出现在DATA OUT端。10位数据通过DATA OUT 被发送到主机串行接口。为了开始转换,最少需要10个时钟脉冲。如果I/O CLOCK 传送大于10个时钟长度,那么在的10个时钟的下降沿,内部逻辑把DATA OUT拉至低电平以确保其余位的值为零。在正常进行的转换周期内,规定时间内CS端高电平至低电平的跳变可终止该周期,器件返回初始状态(输出数据寄存器的内容保持为前次转换结果)。由于可能破坏输出数据,所以在接近转换完成时要小心防止CS被拉至低电平。时序图如图2-10。 2.6.3 TCL1549的数据采集程序设计

/*--------------- AetAD()TLC1549数据采集--------------------------*/

sbit ADCLK=P1^0; sbit ADOUT=P1^1; sbit ADCS=P1^2;

/*-----------------------------------------------------------------*/

Void AetAD() {

uchar i=1,w,PickCount; uint vol;

for(w=1;w<=PickCount;w++) {

ADCLK=ADOUT=0; vol=0;

ADCS=0;//开启控制电路,使能DATA OUT和I/O CLOCK for(i=1;i<=10;i++)//采集10位串行数据 {

//给一个脉冲 ADCLK=1;

19

河南工业职业技术学院毕业设计论文

vol<<=1;

if(ADOUT)vol|=0x01; ADCLK=0; } ADCS=1;

delay(21);//两次转换间隔大于21us P0=0xff;//P0口置初始输入状态 } }

2.7人体信号采集电路

人体信号采集由人体红外检测探头和比较电路组成。 2.7.1 人体红外探头

人体红外检测探头由菲涅尔透镜、热释红外传感器P2288组成。 2.7.2 比较电路

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

图2-15 人体信号比较电路

20

河南工业职业技术学院毕业设计论文

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

表2-1 探头采集信号输出状态表 “1脚” 探头工作状态 电压 无人状正常 工作 态 有人状态 断路或故障 2.0V 3.0V 0.45V 0 1 2.0V 1.0V 0.45V 1 1 “2脚”或“5脚”电压 “6脚” P2.6 电压 P2.5 2.0V 0V 0.45V 1 0 通过比较电路,不仅解决了不同工作状态时被动红外探头的对外界人体红外信号的采集,而且也实现了仅通过被动红外探头的两根电源线同时也传输了所采集的周围环境的红外信号,一举两得。

21

河南工业职业技术学院毕业设计论文

2.8 DS12887时钟芯片接口电路设计

本次系统设计中,灯光设计有以时间作为基准信号,故采用了DALLAS公司的DS12887芯片。DS12887为DALLAS公司生产的实时时钟芯片,除具有实时钟功能外,它还具有114字节的通用RAM,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,而且它与目前应用广泛的时钟芯片MC146818B和DS1287管脚兼容。采用DS12887芯片设计的时钟电路无需任何外围电路和器件,并具有良好的微机接口。DS12887芯片具有微功耗,外围接口简单,精度高,工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟系统中。

1.DS12887的原理及管脚说明

图2-16 显示了DS12887管脚排列图,并分别说明管脚功能:

VCC:直流电源+5V电压。当5V电压在正常范围内时,数据可读写;当VCC低于

图2-16 DS12887芯片管脚图

4.25V,读写被禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计时器被切换到内部锂电池。

MOT(模式选择):MOT管脚接到VCC时,选择MOTOROLA时序,当接到AFND时,选择INTEL时序。

SQW(方波信号输出):SQW管脚能从实时时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。

AD0~AD7(双向地址/数据复用线):总线接口,可与MOTOROLA微机系列和INTEL微机系列接口。

AS(地址选通输入):用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。

DS(数据选通或读输入):DS/RD客脚有两种操作模式,取决于MOT管脚的电平,当使用MOTOROLA时序时,DS是一正脉冲,出现在总线周期的后段,称为数

22

河南工业职业技术学院毕业设计论文

据选通;在读周期,DS指示DS12887驱动双向总的时刻,在写周期,DS的后沿使DS12887锁存写数据。选择INTEL时序时,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同。

R/W(读/写输入):R/W管脚也有两种操作模式。选MOTOROLA时序时,R/W是一电平信号,指示当前周期是读或写周期,DSO为高电平时,R/W高电平指示读周期,R/W低电平指示写周期;选INTEL时序,R/W信号是一低电平信号,称为WR。在此模式下,R/W管脚与通用RAM的写允许信号(WE)的含义相同。

CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低。 IRQ(中断申请输入):低电平有效,可作微处理的中断输入。没有中断条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上接电阻。

RESET(复位输出):当该脚保持低电平时间大于200ms,保证DS12887有效复位。

2.8.1 DS12887接口设计及初始化程序

图2—17 DS12887接口设计

23

河南工业职业技术学院毕业设计论文

#define uchar unsigned char #define uint unsigned int #include #include #include #include #include #include #include

#define P128870 XBYTE[0x4000] #define P128871 XBYTE[0x4001] #define P128872 XBYTE[0x4002] #define P128873 XBYTE[0x4003] #define P128874 XBYTE[0x4004] #define P128875 XBYTE[0x4005] #define P128876 XBYTE[0x4006] #define P128877 XBYTE[0x4007] #define P128878 XBYTE[0x4008] #define P128879 XBYTE[0x4009] #define P12887a XBYTE[0x400a] #define P12887b XBYTE[0x400b] #define P12887c XBYTE[0x400c] #define P12887d XBYTE[0x400d] #define P12887e XBYTE[0x400e] #define P12887f XBYTE[0x400f] void setup12887(uchar *p); void read12887(uchar *p); void start12887(void);

24

河南工业职业技术学院毕业设计论文

void setup12887(uchar *p) //设置系统时间 { uchar i; i=P12887d;

P12887a=0x70; P12887b=0xa2; P128870=*p++; P128871=0xff; P128872=*p++; P128873=0xff; P128874=*p++; P128875=0xff; P128876=*p++; P128877=*p++; P128878=*p++; P128879=*p++; P12887b=0x22; P12887a=0x20; i=P12887c; }

void read12887(uchar *p) //读取系统时间 { uchar a;

do{ a=P12887a; } while((a&0x80)==0x80);

*p++=P128870; *p++=P128872; *p++=P128874; *p++=P128876; *p++=P128877; *p++=P128878; *p++=P128879; }

void start12887(void) //启动时钟 { uchar i; i=P12887d;

P12887a=0x70; P12887b=0xa2; P128871=0xff; P128873=0xff; P128875=0xff; P12887b=0x22; P12887a=0x20; i=P12887c; }

void Stop_calendar(void) {

REG_A=0x70; }

25

河南工业职业技术学院毕业设计论文

2.9输出驱动电路设计

单片机输出控制信号电路如图2-18所示,由P2.0和P2.1口输出的控制信号来实现室内灯光的控制功能。

图2-18 输出控制电路

当P2.0口输出的是“0”电平时,则由Q1、Q2两个三极管组成的信号放大电路就被截止,则继电器回路中无电流,所以,继电器线圈无法工作,使得继电器开关触点断开,电灯回路不通,电灯不亮,反之,当P2.0口输出的是“0”信号时,则由Q1、Q2两个三极管组成的信号放大电路就导通了,则继电器线圈工作,使得继电器触点闭合,电灯回路导通,电灯亮了。

当P2.1口输出的是“0“电平时,三极管Q3截止,发光LED管电路不导通,发光LED管不亮,反之,发光LED管则亮。该发光LED管作为系统的故障提示灯来使用。该P2.1口有四种信号状态并对应不同的用户提示信息,即常“1”(正常):开启室内照明电器。常“0”(正常):关闭室内照明电器。

间隙1秒“0”、“1”信号交替(故障):系统密码不对,重新输入密码。 间隙2秒“0”、“1”信号交替(故障):控制器硬件有故障,请更换控制

器。

26

河南工业职业技术学院毕业设计论文

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

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

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

照明制系统 照明定时 控制 照明启停控制 人 机 交 串 行 通 图 3-1 照明控制系统软件程序总体结构图

27

河南工业职业技术学院毕业设计论文

3.1人机交互程序设计

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

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

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

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

28

河南工业职业技术学院毕业设计论文

(1) 通过数字键、确认键输入分控制器的地址以及定时功能的时间设置。(2) 利用开、关键控制照明灯具的启停。

(3) 利用增值、减值键控制照明灯具的亮度。 (4) 通过定时键来对照明灯具进行定时控制的设置。

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

开 始将上一根列线置低初始化将下一根列线置高 依次扫描行线将第一根列线置高N是第四根列线吗N依次扫描行线有信号吗YYN有信号吗延时一次 N有信号吗将第四根列线置低Y延时一次 Y再延时一次N返回一个值有信号吗 Y再延时一次N有信号吗Y有信号吗Y返回对应键值N返回对应键值 图3-2 键盘扫描程序流程图

29

河南工业职业技术学院毕业设计论文

3.1.2LED数码显示程序设计

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

这里选用的7447芯片是从BCD码到SEG7段码的转换器,而74LS138是一个地址译码器,通过74LS138选通某个数码管,然后根据7447传送过来的SEG7段码的数据进行显示,而在非选通的时候,数码管能够保持原有的显示数据。LED数码显示程序的流程图如图3-3所示 子程序入口

位码送译码器选通低位初始化查表取段码段码送驱动显示

数码管显示缓冲区左移N数字是否显示完Y关显示返回 图3-3 LED数码显示程序流程图

30

河南工业职业技术学院毕业设计论文

3.2 照明启停控制程序设计

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

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

在这个多机系统中采用的是主从式通信方式,主机即主控制器处于主导和支配地位,从机即分控制器一般以中断方式来接收和发送数据。在主从式多机系统中主机发送的信息可以传送到所有的从机或指定的从机,在这里是要发送给所有的从机,来控制照明灯的启停。在本系统中采用广播式命令,不需要从机返回信息,从机之间也不能直接通信。主机由AT89C51单片机充当,从机为AT89c51单片机。主机与从机的数据通信波特率定为9600波特,每个从机都有唯一的地址号,用来区分各从机。单片机的数据通信由串口完成,定时器T1为波特发生器,数据传送格式为1位起始位,8位数据位,1位停止位,1位可编程位(TB8)。工作方式:定时器T1设置为方式2,串口设置为工作方式3。

本系统的通信原理为:从机在建立与主机通信之前所有分机的SM2都置1,即随时处于对通信线路监听的状态,只能收到主机发送来的机号信息。主机向从机发送广播地址信息时,广播地址为00H,所有分机都接收到广播地址信息,然后进入正常通信状态,清除SM2位,开始接收主机发送来的命令。从机收到的命令是开灯

时,向P3.7口输出高电平,打开MOC3021驱动双向可控硅,从而就点亮了灯

泡;同理,如果收到的命令是关灯时,向P3.7口输出低电平,封闭MOC3021使双向可控硅截止,也就达到了关闭灯泡的目的。该系统的主机和从机的控制程序流程图如图3-4和图3-5所示。

31

河南工业职业技术学院毕业设计论文

开始初始化调用键盘扫描子程序有键按下吗NY取键值发送数据给从机返回图3-4 全部启停控制主机程序流程图

32

河南工业职业技术学院毕业设计论文

中断程序入口初始化接收主机发送的地址

N

地址是00H吗Y接收主机发送的数据N是打开命令吗是关闭命令吗NY向P3.7口输出高电平Y向P3.7口输出低电平 返回图3-5 全部启停控制从机程序流程图

3.2.2单独启停控制程序设计

单独照明启停控制系统是通过主机发送给指定的从机命令信息,来实现照明灯的启停控制。主机首先发送从机地址,被叫到的从机向主机发送本机地址,然后主机向从机传送数据,从机根据接收的数据信息执行相应的命令。单片机的工作方式同全部照明启停控制系统。其具体的工作过程是:所有的从机在通信之前都把SM2位置1,随时处于侦听状态。当主机发送从机的地址信息时,每帧数据的第9位都为1,所有从机都接收到地址信息,然后判断主机是否呼叫本机。如果呼叫本机则进入正式通信状态,清除SM2,并把本机地址号发送给主机作为应答,然后才开始接收主机发送来的信息。而其它从机由于地址号不符,他们的SM2位仍然为1,仍处于侦听状态,无法接收主机发送来的数据信息。主机收到从机发送来的回应信息

33

河南工业职业技术学院毕业设计论文

后,比较主机已发送的地址号与刚接收的地址号是否相符,如果不符,则发出错误信息;如果相符,则正式发送数据信息,这时发送的每帧的第9位都为0。只有SM2=0的从机才能接收到主机发送的信息。从机根据命令执行相应的动作,如果为打开命令,则输出高电平驱动可控硅动作,开启照明灯;如果为关闭命令,则输出低电平使可控硅截止,停掉照明灯。该系统的主机和从机控制程序流程图分别如图3-6与3-7所示。

开始

调用键盘扫描子程序初始化 有键按下吗N Y取键值发送地址给从机 接收从机返回的地址 N两个地址相符吗Y发送数据给从机送显错误信息“0E” 返回 图3-6 单独启停控制主机程序流程图

34

河南工业职业技术学院毕业设计论文

中断程序入口 初始化 N接收主机发送的地址 与本机地址相符吗Y向主机发送本机地址 接收主机发送的数据

N是打开命令吗是关闭命令吗N Y向P3.7口输出高电平Y 向P3.7口输出低电平 返回 图3-7 单独启停控制从机程序流程图 3.3照明控制程序设计

照明控制系统是利用从机即单片机AT89c51和时钟芯片DS12887进行数据通信,读取和写入实时数据,主机采用串口通信方式对从机进行定时时间的设置,从机然后根据设定的时间进行照明灯的启停控制。

35

河南工业职业技术学院毕业设计论文

3.3.1全部定时控制程序设计

在全部定时控制系统中是通过主控制器向所有的分控制器发送广播地址,分控制器在收到广播地址后,使自己处于接收数据状态,然后主控制器向网络中发送时间数据信息,分控制器在收到时间数据后写入DS12887芯片,等到设定时间到达后,单片机发出命令关闭照明灯。该系统的主机控制流程图同图3-4所示,从机的控制流程图如图3-8所示。

中断程序入口 初始化 接收主机发送的地址

N地址是00H吗 Y 接收主机发送的数据 将数据写入DS12887芯片

读出DS12887芯片的数据

N 时间到了吗Y

关闭照明灯

返回 图3-8 全部定时控制从机程序流程图

36

河南工业职业技术学院毕业设计论文

3.3.2单独定时控制程序设计

主控制器使用键盘输入被呼叫分控制器的地址,并通过网络向所有分控制器传送,在分控制器将该地址与本机地址进行比较后,判断是否是呼叫自己,如果是呼叫本机,就将本机地址传送给主控制器,进一步接收传送的数据,然后分控制器就将数据写入DS12887芯片,等到设定的时间到达时就执行关闭照明灯的命令。单独定时控制的主机程序流程图同图4.6所示,从机程序流程图如图3-9所示。

中断程序入口

初始化 接收主机发送的地址 与本机地址相符吗 向主机发送本机地址 接收主机发送的数据 数据写入DS12887芯片 读出DS12887芯片的数据 N时间到了Y N有人否 NY 光线强YN

打开照明灯 返回图3-9 单独定时控制从机控制程序流程

37

河南工业职业技术学院毕业设计论文

3.4 RS485通信程序设计

由于RS485总线是异步半双工的通信总线,在某一个时刻总线只可能呈现一种状态,所以这种方式一般适用于主机对从机的查询方式通信。在通信中,主机与各个从机进行通信,必须能对各个从机进行识别,这一识别功能是利用串口控制寄存器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) 当主机需要与其他从机通信时,可以再次发出地址帧寻呼从机,重复这一过程。

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

字节数n数据n字节奇偶校验数据1数据238

河南工业职业技术学院毕业设计论文

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

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

ODSM232波特率=T1的溢出率

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

溢出率=fosc32则波特率的公式变为:

÷( 2 - T1的初值 )k波特率=SMOD232

×fosc32÷( 2 - T1的初值 )k系统所采用的晶振频率为11.0592MHz,T1工作在模式3下,波特率=9600b/s。 3.4.1 主机部分通信程序设计

系统中的主机通信程序分为4个部分,分别为预定义及全局变量部分、程序初始化部分、数据通信流程和发送数据部分。主机的数据通信的基本流程如下:

(1) 主机首先向所有从机发送地址帧对要通信的从机进行呼叫,发送地址帧时需将TB8位置1。

(2) 发送地址帧后,如果发送的是广播地址帧,则不需要从机应答,待延迟一段时间后,调用发送函数发送数据;如果发送的是非广播地址帧,主机则要接收

39

河南工业职业技术学院毕业设计论文

应答,若应答信号中的地址与前面发送的地址并不相同,主机将重新发送地址帧呼叫,否则调用发送函数发送数据。

(3) 发送完数据后,主机等待从机的校验信号,如果接收到0X0F数据,表示发送成功,通信结束,否则主机将重新发送数据,直至发送成功。

该部分程序对应的流程图如图3-10所示。

开始发送地址帧等待从机应答N是广播地址吗应答信息与发送的地址相符吗YN Y 调用发送函数发送数据 等待从机应答 N 发送成功吗Y结束 图3-10 主机数据通信流程图

3.4.2从机部分通信程序设计

从机通信程序也被分为预定义及全局变量部分、程序初始化部分、数据通信流程和接收数据部分4个部分。从机部分的数据通信过程受主机控制,其基本的流程如下:

(1) 初始化完成后,从机设置SM2位为1,串口只接收第9位数据位为1的地址帧,数据帧将被直接抛弃。c

40

河南工业职业技术学院毕业设计论文

(2) 如果串口有数据接收(收到地址帧),则从机会将该帧中的地址信息先与广播地址进行比较,如果是广播地址,则做好接收数据的准备,如果是其它地址,则与本机地址比较,如果相同,则发送应答信息,应答信息内容应为本机地址,否则丢弃当前数据,从机继续处于等待呼叫状态。

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

?? ?SM2???1?????????????N???????????????????YY????????????????????????? ????????0xff YNY????????0xfe N????????? 图3-11 从机数据通信流程

41

参考文献

参考文献

【1】张友德著,单片微型计算机原理、应用与实验.复旦大学出版社 【2】徐煜明、韩雁著,单片机原理及接口技术.电子工业出版社 【3】何立民著,单片微型计算机原理及应用.航空航天大学出版社 【4】阳宪惠著, 现场总线技术及其应用. 清华大学出版社,1999 【5】高鹏著,PROTEL入门与提高.人民邮电出版社 【6】何立民著,单片机高级教程.北京航空航天大学出版社

【7】MCS-51/96系列单片机原理及应用.孙涵芳等著,北京航空航天大学出版社 【8】童诗白.模拟电子技术基础.高等教育出版社,1999

【9】何立民.单片机高级教程——应用与设计.北京航空航天大学出版社,2000 【10】李嗣福.计算机控制基础.中国科技大学出版社,2001

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

【12】余用权.ATMEL89系列单片机应用技术.北京航空航天大学出版社,2002 【13】黄丹辉,党向荣.微机测控系统中的接地系统设计。工矿自动化,2002.4.20

【14】攀宇,程全.基于RS485总线实现的远距离多机主从式通信技术.工业控制机算机,2006.7.19

42

参考文献

致 谢

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

在实验过程中,首先通过主控制器上的键盘输入地址号,地址号是由数字组成的,在输入完毕后,然后按下确认键,信号经过网络传输后,分控制器将收到的地址进行比较确认后,然后执行下一步的程序。经过实验的验证,在输入广播地址后,所有的分控制器都正确地执行了后续的命令,实现了灯泡的启停、亮度调节、定时关闭功能;在输入某个分机地址后,该分机也正常地执行了相应的命令,同样达到了所要求的功能。

学院为我们的设计提供了良好的实验条件,谨向学院表示诚挚的敬意和谢忱,同时也感谢老师们三年来对我的教育和培养,在此,向诸位老师深深地鞠上一躬。

43

本文来源:https://www.bwwdw.com/article/dc0p.html

Top