基于单片机的照明控制系统的设计毕业设计论文(编辑修改稿)内容摘要:
单片机与无线数传模块 SRWF1的电路连接如图。 R X DT X DR X DT X DV C CGNDS G N D8 9 C 5 18 9 C 2 0 5 1 S R W F 1+ 5 V 图 单片机与无线数传模块的连接 SRWF1模块的特性 a) 微发射功率 :最大 10dbm( 10mW)的发射功率。 b) .ISM频段工作频率,无需申请频点。 载频频率 429438MHz,也可提供315/868/915MHz等载频。 c) 高抗干扰能力和低误码率。 基于 FSK的调制方式,采用高效 无线 通信协议,在信道误码 率为 102时,可得到实际误码率 105~ 106。 d) 完善的通讯协议。 e) 传输距离远。 在视距情况下,天线高度 3米,可靠传输距离 300m。 f) 透明的数据传输。 提供透明的数据接口,能适应任何标准或非标准的用户河北工业大学 2020 届本科毕业论文 13 协议。 自动过滤掉空中产生的噪音信号及假数据(所发即所收)。 g) 多信道,多速率。 SRWF1型模块标准配置提供 8个信道,根据用户需要,可扩展到 16/32信道,满足用户多种通信组合方式的需求。 SRWF1型模块可提供1200bps、 2400bps、 4800bps、 9600bps、 19200bps等多种通信波特率,并且无线传输速率与接口波特率成正比,以满足客户设备对多种波特率的需要。 h) 双串口, 3种接口方式。 SRWF1型模块提供 2个串口 3种接口方式, COM1为TTL电平 UART接口。 COM2由用户自定义为标准的 RS232/RS485接口(用户只需要拔 /插短路器再上电即可改变接口类型)。 i) 高速无线通讯和大的数据缓冲区。 可 1次传输无限长度的数据,用户编程更加灵活。 j) 智能数据控制,用户无需编制多余的程序。 即使是半双工通信,用户也无需编制多余的程序,只要从接口收 /发数 据即可,其它如空中收 /发转换,网络连接,控制等操作, SRWF1型模块能够自动完成。 k) 低功耗及休眠功能。 接收电流 20mA,发射电流 40mA,休眠时电流仅为20uA。 l) 高可靠性,体积小、重量轻。 采用高性能单片处理器 ATMega8L,外围电路少,可靠性高,故障率低。 m) 两种接口收发等待时间。 可设置的接口等待时间使模块既能用于高速用户设备(如 DSP系统)也可适用低速系统(如 51系统)。 n) 看门狗实时监控。 ATMega8L的看门狗监控内部功能,改变了传统产品的组织结构,提高了产品 的可靠性。 4 基于单片机的照明控制系统的软件设计 软件是计算机系统的灵魂,没有软件计算机不能充分发挥其功能,这是软件在计算机中的地位,而在计算机控制系统中,软件也是非常重要的。 在照明控制系统中,硬件设备的功能是由软件来定义的,如系统要控制分布的照明灯具,通过有线与无线串行通信程序来完成控制功能,通过软件定义键盘功能,通过编程完成 LED数码显示等等,由此可见,软件是控制系统中的一个重要组成部分。 该照明控制系统的软件程序包括:照明启停控制程序、照明亮度控制程序、照明河北工业大学 2020 届本科毕业论文 14 定时控制程序、人机交互程序以及 RS485串行通信与无线数传通信程序等。 本着软件设计的基本方法,照明控制程序的软件设计方法是利用传统的结构化分析与设计方法来完成的。 结构化程序设计方法虽然是早期的程序设计方法,但该方法还一直被广泛地使用。 结构化系统分析与设计贯穿整个软件设计过程,遵循“自顶向下,逐步求精”的基本原则。 本照明控制系统软件程序总体结构如图。 图 照明控制系统软件程序总体结构图 人机交互程序设计 系统的人机交互程序设计,主要是解决按键的扫描与信息的显示,让操 作者能够灵活地控制系统工作。 键盘用来输入指令,发光数码管用来显示单片机的状态,这是一个比较简单的人机交互形式。 键盘扫描程序设计 本系统的键盘采用的是 4 4矩阵式键盘,矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。 一个 4 4的行、列结构可以构成一个含有 16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多 I/O口。 矩阵式键盘中,行、列线分别连接到按键开关的两端, 采用编程扫描工作方式的行扫描法,步骤如下: a)判断是否有键按下。 其实现方法是使端口 P1的高四位 所有的行输出均为低电平,然后从端口 P1的低四位读入列值。 如果没有键值按下,读入的列值为 FH,如果有键按下,则不为 FH。 照明停启控制 照明亮度控制 照明定时控制 人机交互 串行通信 照明控制系统 全 部启停控制 单独启停控制 单独亮度控制 全部亮度控制 单独亮度控制 全部定时控制 LED数码显示 键盘扫描 无线数传 RS 485 通信 河北工业大学 2020 届本科毕业论文 15 b)若有键按下,则延时 10ms,再判断是否确实有键按下。 c)若确实有键按下,则求出按下键的键值。 其实现方法是对键盘进行逐行扫描。 即先令 0,然后读入列值,若列值等于 FH,说明该行无键按下,再令 0,对下一行进行扫描;若扫描某一行读入的列值不等于 FH,则说明该行有键按下,求出键值。 求键值时需要设置行值寄存器和列值寄存器。 每扫完一行后,若无键按下,则行值寄存器加上 04H;若有 键按下,行值寄存器保存原值,转而求相应的列值。 求列值的方法是,将列值右移,每移位一次列值寄存器加 1,直至移出位为低电平为止。 最后将行值和列值相加即得十六进制的键值,每个十六进制键值对应相应的 操作功能,如表 41所示 表 41 键值对应表 键值 操作功 能 键值 操作功 能 键值 操作功 能 键值 操作功 能 0 1 4 5 8 9 C ↑ 1 2 5 6 9 0 D ↓ 2 3 6 7 A 开 E 定时 3 4 7 8 B 关 F 确认 系统的按键定义除了基本的数字键( 0~ 9)外,将其它的键依次定义为开、 关、增值、减值、定时、确认六个命令键,其控制的基本功能是: a) 通过数字键、确认键输入分控制器的地址以及定时功能的时间设置。 b) 利用开、关键控制照明灯具的启停。 c) 利用增值、减值键控制照明灯具的亮度。 d) 通过定时键来对照明灯具进行定时控制的设置。 系统通过软件方法实现该功能,即定义开、关、增值、减值、定时、确认等命令键,利用键盘扫描程序获取对应命令键的键值,然后执行相应的子程序,实现所要求的控制功能。 LED数码显示程序设计 本系统采用了四位共阳极七段数码管,共阳极数码管的 8个发 光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。 当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。 此时,要求段驱动电路能吸河北工业大学 2020 届本科毕业论文 16 收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻,这里的限流电阻选为 100Ω。 这里选用的 7447 芯片是从 BCD 码到 SEG7 段码的转换器,而 74LS138 是一个地址译码器,通过 74LS138 选通某个数码管,然后根据 7447 传送过来的 SEG7 段码的数 据进行显示,而在非选通的时候,数码管能够保持原有的显示数据。 LED 数码显示程序的流程图如图 所示。 图 LED数码显示程序流程图 照明启停控制程序设计 照明的启停控制主要是由主控制器发出指令,通过 RS485通信方式或无线数传方式控制全部或部分分控制器所控制照明灯具的启停,因此照明启停控制程序由两部分组成,即全部启停控制与单独启停控制两部分。 全部启停控制程序设计 全部照明启停控制系统是利用主控制器上的开、关按键来控 制全部照明灯的启关显示 初始化 查表取段码 段码送驱动显示 位码送译码器选 通低位数码管 显示缓冲区 左移 数字是否显示完 Y N 返回 子程序入口 河北工业大学 2020 届本科毕业论文 17 停,控制命令是通过串口通信方式传达到分控制器,分控制器再依据命令向 出高低电平,来达到控制灯泡亮和灭的目的。 在这个多机系统中采用的是主从式通信方式,主机即主控制器处于主导和支配地位,从机即分控制器一般以中断方式来接收和发送数据。 在主从式多机系统中主机发送的信息可以传送到所有的从机或指定的从机,在这里是要发送给所有的从机,来控制照明灯的启停。 在 本系统中采用广播式命令,不需要从机返回信息,从机之间也不能直接通信。 主机由 AT89C51单片机充当,从机为 AT89C2051单片机。 主机与 从机的数据通信波特率定为 9600波特,每个从机都有唯一的地址号,用来区分各从机。 单片机的数据通信由串口完成,定时器 T1为波特发生器,数据传送格式为 1位起始位, 8位数据位, 1位停止位, 1位可编程位( TB8)。 工作方式:定时器 T1设置为方式 2,串口设置为工作方式 3。 本系统的通信原理为:从机在建立与主机通信之前所有分机的 SM2都置 1,即随时处于对通信线路侦听的状态,只能收到主机发送来的机号信息。 主机向从机发送广播地址信息时,广播地址为 00H,所有分机都接收到广播地址信息,然后进入正常通信状态,清除 SM2位,开始 接收主机发送来的命令。 从机收到的命令是开灯时,向 口输出高电平,打开 MOC3021驱动双向可控硅,从而就点亮了灯泡;同理,如果收到的命令是关灯时,向 ,封闭 MOC3021使双向可控硅截止,也就达到了关闭灯泡的目的。 该系统的主机和从机的控制程序流程图如图。 单 独启停控制程序设计 单独照明启停控制系统是通过主机发送给指定的从机命令信息,来实现照明灯的启停控制。 主机首先发送从机地址,被叫到的从机向主机发送本机地址,然后主机向从机传送数据,从机根据接收的数据 信息执行相应的命令。 单片机的工作方式同全部照明启停控制系统。 其具体的工作过程是:所有的从机在通信之前都把 SM2位置 1,随时处于侦听状态。 当主机发送从机的地址信息时,每帧数据的第 9位都为 1,所有从机都接收到地址信息,然后判断主机是否呼叫本机。 如果呼叫本机则进入正式通信状态,清除 SM2,并把本机地址号发送给主机作为应答,然后才开始接收主机发送来的信息。 而其它从机由于地址号不符,他们的 SM2位仍然为 1,仍处于侦听状态,无法接收主机发送来的数据信息。 主机收到从机发送来的回应信息后,比较主机已发送的地址号与刚接收的地 址号是否相符,如果不符,则发出错误信息; 如果相符,则正式发送数据信息,这时发送的每帧的第 9位都为 0。 只有 SM2=0的从机才能接收到主机发送的信息。 河北工业大学 2020 届本科毕业论文 18 从机根据命令执行相应的动作,如果为打开命令,则输出高电平驱动可控硅动作,开启照明灯;如果为关闭命令,则输出低电平使可控硅截止,停掉照明灯。 该系统的主机和从机控制程序流程图分别如图。 照明亮度控制程序设计 照明亮度控制系统是利用主控制器键盘上的增值与减值键,通过串口通信方式来控制分控制器所控制的照明灯的亮度。 在这里对于灯泡亮度的调节是通 过 PWM方式来进行的,分控制器选用的是 AT89C2051单片机,这种单片机本身没有 PWM输出,只能通过软件方法实现。 在一定频率的方波中,调整高电平和低电平的占空比,即可实现。 假设把一个周期分为 10个时间等份,如果方波中的高低电平占空比是 1:9,这时就是一个比较暗的亮度,如果占空比是 5:5,就是一个中间亮度,如果高低电平占空比是9:1,这时就是一个比较亮的亮度,高低电平占空比为 0:10时,灯泡是灭的,高低电平占空比为 10:0时,灯泡最亮。 在进行实验中,将定时器 1的溢出定为 1/20200秒,每10次脉冲输出一个 2KHz频率。 这每 10次脉冲再用来控制 高低电平的 10个比值。 这样,在每个 1/2020秒的方波周期中,都可以改变方波的输出占空比,从而控制灯泡的 10个亮度级别。 在主控制器键盘上每次按增值与减值键改变占空比的值就可以控制灯泡的亮度。 全部亮度控制程序设计 全部照明亮度控制系统就是主机向从机发送广播地址,所有从机都接收主机发送来的数据信息,然后根据命令是调亮还是调暗来进行相应的灯泡亮度控制。 该系统的主机控制程序流程图同图 所示,从机控制程序流程图如图。 单独亮度控制程 序设计 单独照明亮度控制系统通信原理基本上与单独照明启停控制系统相同,也是开始时所有从机处于 侦听 状态,等待主机的呼叫,当主机发出某一从机的地址时,所有从机将接收到的地址与本机地址相比较,如果相符,说明主机在呼叫自己,然后发回应答信号,表示准备好开始接收后面的命令,否则不予理睬,继续 侦听 呼叫地址。 主机收到从机的应答后,则开始一次通信,通信完毕,从机继续处于 侦听 状态,等待呼叫。基于单片机的照明控制系统的设计毕业设计论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。