基于单片机楼宇照明控制系统设计正文内容摘要:

29V C C40GND20T L P 5 2 1 4 BT L P 5 2 1 4 C+ 5V+ 5V5 . 1 K Ω 5 . 1 K Ω 470Ω+ 5V3 . 3 K Ω3 . 3 K Ω120Ω20Ω20Ω12V7V12V7VM A X 4 8 55 . 1 K Ω5 . 1 K Ω 图 36 主机通信电路图 ROREDEDI GNDABV C CT L P 5 2 1 4 A5 . 1 K ΩT L P 5 2 1 4 BT L P 5 2 1 4 C+ 5V+ 5V5 . 1 K Ω 5 . 1 K Ω 470Ω+ 5V3 . 3 K Ω3 . 3 K Ω120Ω20Ω20Ω12V7V12V7VM A X 4 8 55 . 1 K Ω5 . 1 K ΩR S T /V pp1R X D /P 3. 02T X D /P 3. 13X T A L 24X T A L 15I N T 0/ P 3. 26I N T 1/ P 3. 37T 0/ P 3. 48T 1/ P 3. 59GND10V C C20P 1. 719P 1. 618P 1. 517P 1. 416P 1. 315P 1. 214P 1. 1/ A I N 113P 1. 0/ A I N 012P 3. 71189 C 20 51 图 37 从机通信电路图 河北工程大学毕业设计说明书 14 主机与从机选用的 RS485 通信收发器芯片为 MAX485, 它是 MAXIM 公司生产的用于 RS 485 通信的低 功率收发器件, 采用单一电源 +5 V 工作,额定电流为 300 μA,采用半双工通 信 方式。 它完成将 TTL 电平转换为 RS485 电平的功能。 MAX485 芯片内部含有一个驱动器和接收器。 RO 和 DI 端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的 RXD 和 TXD 相连即可; RE 和 DE 端分别为接收和发送的使能端,当 RE 端 为逻辑 0 时,器件处于接收状态;当 DE 端 为逻辑 1 时,器件处于发送状态,因为 MAX485 工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可 ,主机 与从机分别 使用 与 脚进 行控制 ; A 端和 B 端分别为接收和发送的差分信号端 ,当 A 引脚的电平高于 B 时,代表发送的数据为 1;当 A 的电平低于 B 端时,代表发送的数据为 0。 在进行通信时 只需要一个信号控制 MAX485 的接收和发送即可。 同时将 A 和 B 端之间加匹配电阻, 这里 选 用 120Ω 的电阻。 为了提高系统的抗干扰能力,采用光电耦合器 TLP521 对通信系统进行光电隔离。 从机使用单片机的 控制通信收发器 MAX485 的工作状态,平时置 为低电平,使从机串行口处于侦听状态。 当有串行中断产生时判别是否是本机号,若为本机地址则置 为高电平,发 送应答信息,然后再置 为低电平接收控制指令,继续保持 为低电平,使串行收发 器处于接收状态;若不是本机地址,使 为低电平,使串行收发器处于接收侦听状态。 河北工程大学毕业设计说明书 15 4 基于单片机的照明控制系统的软件设计 软件是计算机系统的灵魂,没有软件计算机不能充分发挥其功能,这是软件在计算机中的地位,而在计算机控制系统中,软件也是非常重要的。 在照明控制系统中,硬件设备的功能是由软件来定义的,如系统 要控制分布的照明灯具,通过有线串行通信程序来完成控制功能,通过软件定义键盘功能,通过编程完成 LED 数码 显示等等,由此可见,软件是控制系统中的一个重要组成部分。 该照明控制系统的软件程序包括:照明启停控制程序、照明亮度控制程序、照明定时控制程序、 人机交互程序以及 RS485 串行通信等。 本着软件设计的基本方法,照明控制程序的软件设计方法是利用传统的结构化 分析与设计方法来完成的。 结构化程序设计方法虽然是早期的程序设计方法, 但该方 法还一直被广泛地使用。 结构化系统分析与设计贯穿整个软件设计过程,遵循“自顶向下,逐步求精”的基本原则。 本照明控制系统软件程序总体结构如图 41 所示。 照 明 控 制 系 统照 明 启 停 控 制 照 明 亮 度 控 制 照 明 定 时 控 制 人 机 交 互 串 行 通 信全部启停控制单独启停控制全部亮度控制单独亮度控制全部定时控制单独定时控制键盘扫描L E D数码显示无线数传R S4 8 5通信 图 41 照明控制系统软件 程序 总体结构图 人机交互程序设计 系统的人机交互 程序 设计, 主要 是 解决按键的扫描与信息的显示,让操作者能河北工程大学毕业设计说明书 16 够灵活地控制系统工作。 键盘用来输入指令, 发光数码管用来显示单片机的状态 ,这是一个比较简单的人机交互形式。 本系统的键盘采用的是 4 4 矩阵式键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。 一个 4 4 的行、列结构可以构成一个含有 16 个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘 要节省很多 I/O 口。 矩阵式键盘中,行、列线分别连接到按键开关的两端, 在进行键盘扫描时,首先把矩阵键盘列线的第一根线置高,然后分别再检测矩阵键盘行线是否有高电平的信号,如果有信号,那么就证明这根 行线与第一根列线相交处的按键被按下了,单片机就读入这个键值。 如果所有的四根行线都没有信号,那么就把第一根列线置低,把第二根列线置高,再一次检测行线有没有信号,然后依次类推。 由于键盘扫描的速度很快,而人按键总会持续一定 的时间,因此只要单片机处在等待输入的状态 ,这个键盘扫描程序基本上不会错过任何一个按键信号。 由于一般 人按键会有抖动, 抖动信号造成 键盘扫描时 会出现一些错误的信号,要不就是扫描不进数据,要不就是重复输入很多次数据 ,因此需要有一个消除抖动的程序。 让单片机不响应一些相关的抖动信号,而只响应一次确实存在的按键信号。 消抖动程序是这样实现的,当检测到一个脉冲信号时,并不立即认为是一次按键,而是延时 一段时间以后再进行检测,如果三次检测都有信号,那么就认为有一次按键动作发生了。 延时的选择非常重要,太快了,起不到消除抖动的效果,太慢了又让键盘太不灵活,错过较多的按键信号。 键盘扫描程序的流程图如图 42 所示。 系统的按键定义除 了基本的数字键( 0~ 9)外,将其它的键依次定义为开、关、增值 、减 值 、定时、确认六个命令键, 其控制的基本功能是: ( 1) 通过数字键、确认键输入分控制器的地址以及定时功能的时间设置。 ( 2) 利用 开、关键控制照明灯具的启停。 ( 3) 利用 增 值 、减 值 键控制照明灯具的亮度。 ( 4) 通过定时键 来对照明灯具进行定时控制的设置。 系统通过软件方法实现该功能,即定义开、关、增值、减值、定时、确认等命令键,利用键盘扫描程序获取 对应 命令键的键值 ,然后执行相应的子程序,实现所要求的控制功能。 河北工程大学毕业设计说明书 17 开 始初 始 化将 第 一 根 列 线 置 高依 次 扫 描 行 线有 信 号 吗延 时 一 次有 信 号 吗再 延 时 一 次有 信 号 吗将 上 一 根 列 线 置 低将 下 一 根 列 线 置 高依 次 扫 描 行 线有 信 号 吗延 时 一 次有 信 号 吗再 延 时 一 次有 信 号 吗是 第 四 根 列 线 吗将 第 四 根 列 线 置 低返 回 对 应 键 值返 回 对 应 键 值返 回 一 个 值YYYNNNYYYNNNYN 图 42 键盘扫描程序流程图 LED数码显示程序设计 本系统采用了四位共阳极七段数码管,共阳极数码管的 8 个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它 管脚接段驱动电路输出端。 当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。 此时,要求段驱动电路能吸收额定的段 导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻,这里的限流电阻选为 100Ω。 这里选 用的 7447 芯片是从 BCD 码到 SEG7 段码的转换器,而 74LS138 是一个地址译码器,通过 74LS138 选通某个数码管,然后根据 7447 传送过来的 SEG7 段码的数据河北工程大学毕业设计说明书 18 进行显示 ,而在非选通的时候,数码管能够保持原有的显示数据。 LED 数码显示程序的流程图如图 43 所示。 子 程 序 入 口初 始 化返 回YN查 表 取 段 码段 码 送 驱 动 显 示位 码 送 译 码 器 选 通 低 位数 码 管数 字 是 否 显 示 完显 示 缓 冲 区 左 移关 显 示 图 43 LED数码显示程序流程图 照明启停控制程序设计 照明的启停控制主要是由主控制器发出指令,通过 RS485 通信方式或无线数传方式控制全部或部分分控制器所控制照明灯具的 启停,因此照明启停控制程序由两部分组成,即全部启停控制与单独启停控制两部分。 设计 全部照明启停控制系统是利用主控制器上的开、关按键来控制全部照明灯的启停,控制命令是通过串口通信方式传达到分控制器,分控制器再依据命令向 口输出高低电平,来达到控制灯泡亮 和 灭的目的。 在这个多机系统中采用的是主从式通信方式,主机即主控制器处于主导和支配地位,从机即分控制器一般以中断方式来接收和发送数据。 在主从式多机系统中主机发送的信息可以传送到所有的从机或指定的从机,在这里是要发送给所有 的从机,来控制照明灯的启停。 在本系统中采用广播式 命令,不需要从机返回信息,从机之间也不能直接河北工程大学毕业设计说明书 19 通信。 主机由 AT89C51 单片机充当,从机为 AT89C2051 单片机。 主机与从机的数据通信波特率定为 9600 波特,每个从机都有唯一的地址号,用来区分各从机。 单片机的数据通信由串口完成,定时器 T1 为波特发生器,数 据传送格式为 1 位起始位, 8 位数据位, 1 位停止位, 1 位可编程位( TB8)。 工作方式:定时器 T1 设置为方式 2,串口设置为工作方式 3。 本系统的 通信原理为:从机在 建立与主机通信之前 所有分机的 SM2 都置 1,即随时处于 对通信线路监听的状态,只能收到主机发送来的机号信息。 主机向从机发送广播地址信息时,广播地址为 00H,所有分机都接收到广播地址信息,然后进入正常通信状态,清除 SM2 位,开始接收主机发送来的命令。 从机 收到的命令是开灯时,向 口输出高电平,打开 MOC3021 驱动双向可控硅,从而就点亮了灯泡;同理,如果收到的命令是关灯时,向 口输出低电平,封闭 MOC3021 使双向可控硅截止,也就达到了关闭灯泡的目的。 该系统的主机和从机的控制程序流程图如图 44 和图 45 所示。 开 始初 始 化调 用 键 盘 扫 描 子 程 序取 键 值有 键 按 下 吗发 送 数 据 给 从 机返 回YN 图 44 全部 启停 控制主机程序流程图 河北工程大学毕业设计说明书 20 中 断 程 序 入 口初 始 化接 收 主 机 发 送 的 地 址地 址 是 0 0 H 吗接 收 主 机 发 送 的 数 据是 打 开 命 令 吗向 P 3 . 7 口 输 出 高 电 平返 回是 关 闭 命 令 吗向 P 3 . 7 口 输 出 低 电 平NYYNYN 图 45 全部 启停 控制从机程序流程图 设计 仍 单独照明启停控制系统是通过主机发送给指定的从机命令信息,来实现照明灯的启停控制。 主机首先发送从机地址,被叫到的从机向主机发送本机地址,然后主机向从机传送数据,从机根据接收的数据信息执行相应的命令。 单片机的工作方式同全部照明启停控制系统。 其具体的工作过程是:所有的从机在通信之前都把 SM2位置 1,随时 处于侦听状态。 当主机发送从机的地址信息时,每帧数据的第 9位都为 1,所有从机都接收到地址信息,然后判断主机是否呼叫本机。 如果呼叫本机则进入正式通信状态,清除SM2,并把本机地址号发送给主机作为应答,然后才开始接收主机发送来的信息。 而其它从机由于地址号不符,他们的 SM2位 然为 1,仍处于侦听状态。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。