智能路灯控制管理系统的设计(本科毕业论文)docx

SUCCESS CASE
智能路灯控制管理系统的设计(本科毕业论文)docx

首页 > 成功案例 > 万博网页版注册登录

智能路灯控制管理系统的设计(本科毕业论文)docx

时间:2023-12-04 04:04:51   作者: 万博网页版注册登录

  本科毕业论文(设计) 智能路灯控制管理系统的设计 院 系 机械与船舶海洋工程学院 专 业 自动化 学 生 班 级 2015级1班 姓 名 学 号 指导教师单位 钦州学院机械与船舶海洋工程学院 指导教师姓名 李四 指导教师职称 副教授 2019 年 2 月 智能路灯控制管理系统的设计 摘要 在二十一世纪随着现代社会经济的快速地发展,各类居民用电和公共用电量都飞速增加。传统的路灯采用人工开关或者定时开关,这不仅耗费了大量的人力、电力资源,并且用电的不合理使得资源的大量浪费[1-2]。现在的社会是一个快速的提升的社会,是一个以节能减排为目标的科技时代,因而传统的路灯已经不在能够完全满足现代化城市的需求;为此我们设计了智能路灯控制管理系统。该系统具有成本低廉的优点,并且其工作相当稳定,安装和维护都相对简单。[3] 该智能路灯的控制管理系统设计,使用以STC89C52RC为核心控制的单片机,通过语音播报和LCD1602显示来实现人机交互,使用光敏电阻控制灯的状态,利用红外传感器检验测试人体,最后我们不仅设置了操作按键,并且使用蓝牙做相关操作,方便管理人员的操作和控制。该系统的原理是根据光强的变化、时间的设置和人体的感应来实现路灯的亮灭,首先是当光强低到某些特定的程度时,系统通过采样分析,然后点亮所有的路灯。其次当到达设定时间后,路灯将全部熄灭;第三则是在路灯全部熄灭的时间里,并且光强还是低于设定值;若是有人经过第一个路灯,将会被红外人体检测传感器监测到,此时将依次亮起所有灯光,并且语音模块将会发出语音提示;当人走过最后一个路灯后,同样会被红外检测到,这时路灯将会再亮一段时间,然后全灭。若是期间又有人经过第一个路灯,那么直到最后一个人通过最后一个路灯,路灯才会过一段时间关闭,否则路灯将会一直常亮。[4-6] 该系统经过整体框架的搭建和设计,完成了硬件电路和程序的设计和调试工作,最后进行了测试。经过真实的情况的模拟和测试,该系统和预期的功能全部符合,硬件电路的设计和搭建都完好,程序代码经过调试都解决了出错的地方,该系统经过测试,其稳定性强、简单易操作、实用价值高和经济的效果与利益好等特点。 关键词:智能路灯;单片机;光敏电阻;蓝牙;LCD1602 Design of intelligent street lamp control system Automation professional 2008 Zhang San Instructor Li Si Abstract With the rapid development of modern society and economy in the 21st century, the electricity consumption of all kinds of residents and the public has increased sharply. Traditional street lamps use manual switch or timing switch, which not only consumes a lot of human and power resources, but also causes a large amount of waste of resources due to the unreasonable use of electricity [1-2].Now the society is a rapid development of the society, is a goal of energy conservation and emission reduction in the era of science and technology, so the traditional street lights can no longer meet the needs of modern cities; For this reason, we design the intelligent street lamp control system. The system has the advantage of low cost, stable operation, easy installation and maintenance. [3] The intelligent street light control system design, the use of with STC89C52RC as control core of single chip microcomputer, through speech and LCD1602 display to realize human-machine interaction, using photosensitive resistance control lamp status, using infrared sensors detect the human body, in the end we not only set up the operation buttons, and using Bluetooth, convenient management of operation and control. The principle of the system is to turn on and off the street lamp according to the change of light intensity, time setting and human bodys induction. Firstly, when the light intensity is low to a certain degree, the system will sample and analyze it and then turn on all the street lamps. Secondly, when the set time is reached, the street lights will all go out. The third is that the light intensity is still lower than the set value in the time when all the street lamps are extinguished. If someone passes the first street light, it will be detected by the infrared human detection sensor. At this time, all lights will be on in turn, and the voice module will send out a voice prompt. When people walk past the last street light, it will also be detected by infrared. At this time, the street light will be on for a period of time, and then all out. If someone passes the first street light during the period, the street light will not be turned off until the last person passes the last street light. Otherwise, the street light will always be on. [4-6] The system through the overall framework of the construction and design, the completion of the hardware circuit and program design and debugging, and finally the test. After the actual situation of the simulation and testing, the system and the expected function fully in line with the hardware circuit design and construction are intact, the program code after debugging have solved the error, the system has been tested, its strong stability, simple operation, high practical value and good economic benefits and other characteristics. Keywords:Intelligent street lamp,MCU,Photosensitive resistance,Bluetooth,LCD1602 目录 TOC \o 1-3 \h \z \u 1 绪论 49 1.1 研究背景与研究意义 49 1.1.1发展过程 49 1.2 研究现状 49 1.3 主要研究内容 50 2 总体设计 49 2.1系统方案设计 49 2.2模块方案设计 49 2.2.1 单片机的选择 49 2.2.2 光强采集模块的选择 50 2.2.3 显示屏的选择 51 3 硬件电路 49 3.1 单片机模块设计 49 3.1.1 最小系统的搭建 50 3.1.2 复位电路 50 3.1.3 时钟电路 51 3.2 电源模块设计 52 3.3 按键模块设计 52 3.4 LED模块设计 53 3.5 语音模块设计 54 3.6 蓝牙模块设计 54 3.7 光强采集模块设计 55 3.7.1 采集电路 55 3.7.2 工作时序 55 3.8 人体红外模块设计 56 3.9 LCD1602显示模块设计 57 3.9.1 工作原理 57 3.9.2读写指令 57 3.9.3 工作时序 58 3.9.4 电路组成 59 4 软件设计 49 4.1 各模块软件设计 49 4.1.1 人体红外感应模块软件设计 49 4.1.2 蓝牙模块软件设计 49 4.1.3 按键模块软件设计 50 4.1.4 语音模块软件设计 51 4.1.5 LED模块软件设计 52 4.1.6 LCD1602液晶显示模块软件设计 52 4.2 软件的整体设计 54 5 系统的制作调试及实验 49 5.1 制作调试步骤 49 5.2 实验结果 49 总结 49 致谢 49 参考文献 49 附录A:实物图 49 钦州学院本科毕业论文(设计) 1 绪论 1.1 研究背景与研究意义 路灯是我们21世纪不可或缺的公共资源,不仅作为行人照明所用,同时也可以为车辆提供照明服务,正是路灯的出现让我们的夜晚生活有了光明,路灯的出现可以为我们的出行提供极大的便利。但是目前的路灯大多是人为的控制,或者是通过光强感知控制路灯的亮灭,这会大大浪费电力、人力资源。现在的21世纪是科技社会,节能减排是现代科技的号角[7],而早期建设的路灯早已不能够满足节能减排的需求,所以研究和设计了该智能路灯系统;该系统不仅能合理运行电力资源,还方便安装调试。智能路灯能够应用在城市人行道路、车辆通行道路和各种小区学校等[8]。 1.1.1发展过程 光作为我们生产生活的基础需求,而我们人类获取光已经经历了很漫长的时光,从远古时期的砖木取火到古代的蜡烛、油灯,最后到现代的白炽灯、节能灯、LED灯,光的种类和需求都在飞速的发展。以下是路灯的主要操控方法: 将所有灯并联在一起,然后通过一个开关或者几个开关控制灯的亮灭,这是目前普遍的使用的操控方法。 在公共区域中通过声光控开关和人体红外感应开关等代替传统的机械开关,实现自动控制的目的;这种控制方式大多用在楼道、停车场等地方。 采用集中控制的方式来进行控制,例如路灯配电和隧道灯光,学校的宿舍电力控制和家庭用电等等都是采用的集中控制。 目前在政策的扶持和市场的广阔的调节下,智能路灯已经快速发展起来,而未来的方向基本都是采用物联网技术,将所有控制都使用客户端或者网络控制和监控。 1.2 研究现状 由于政策大力扶持和科技的飞速发展,再加上市场的广阔,目前智能路灯控制技术主要是两个方面,其中一个是时控或者光控技术,另一个则是采用独立控制技术;就目前而言,人工干预控制还是处于主导地位。[9] 人工控制:当需要打开或关闭路灯时,这时就需要人工打开或者关闭开关。虽然人工控制具有很强的应变能力,但是会大大增加了人力资源的浪费,并且操作时安全性能相对较低。 时控和光控控制:时控的原理是通过时间控制,终端可以获取到时间,当到达设定时间后,会执行相应的开关动作。而光控则是通过感知光照度,当光强低于一定程度都将会开启路灯,而光强超过设定值时则关闭。该控制系统的优点:无需人工干预、工作量低、安装简单方便和成本较低。因此我们采用了时控和光控的形式设计了该智能路灯,这不仅增加了应变能力而且适应环境的变化[10-11]。 DDS独立控制技术:DDS独立控制技术是将子控制器和收发模块安装到每一个路灯上,然后通过无线传输或者有线传输的形式和控制系统连接在一起;路灯上的控制器可以接收控制主机发送的信息和命令,而路灯上的控制器也可以将自身的状态上传到控制主机上。DDS控制具有高自由度、高应变能力的特点,只需修改控制主机的程序就可以实现多种工作模式,并且可以通过终端查看每一个路灯的状态。但是该控制系统造价昂贵,并且施工难度较大,维修和维护困难。[12] 1.3 主要研究内容 该智能路灯的工作原理主要是通过时控和光控两种形式进行交叉控制,该系统设置了开灯和关灯时间,另一方面又采用光强控制路灯的亮灭。 当到达开灯时间后,如果还未天黑,那么路灯依旧处于关闭状态,光强控制的优先级高于时间控制。时控关闭时间一般设置在凌晨,当到达所设定的关闭时间,路灯将会全部关闭,并开启夜间节能模式。在夜晚路灯关闭期间,如果有行人通过,人体红外感应传感器将会触发,这时将会有语音提醒,然后路灯将会依次亮起;当人走完这一段路后,又可被人体红外检测到,路灯在持续一段时间的点亮后,然后将全部熄灭。当有多人通过时,系统会对通过的人数进行计数,只有当全部的人都通过后,才能熄灭全部路灯。当天亮以后,随着光强的增强,路灯将会全部熄灭,此时有人通过也不会在点亮路灯和语音提醒。 路灯的开关时间可以通过自己设定,为此使用了LCD1602显示屏和4个轻触按键进行时间的显示和时间的设定;也可以通过按键进行时间、开关灯时间和语音提醒的音量大小设置。 根据该系统的实际工作状态,将会研究和探索智能路灯的硬件电路设计和软件方面的控制算法,最后实现该系统的智能化,不仅满足实际的需求,更减少生产成本和安装调试的复杂程度。以下几个方面将是后续设计的难点: 智能路灯的原理分析及应用 设计整体框架 选择合适器件和设计硬件电路 软件的设计调试 系统的整体调试及实验 2 总体设计 2.1系统方案设计 对于整个系统,我们使用一个控制主机作为总控,系统使用了10个LED灯模拟实际的路灯,然后将会使用两个人体红外检测传感器,语音模块作为语音提醒功能,蓝牙模块使用了HC-05模块与手机进行无线信息交互,而光强的采集则是使用光敏电阻和ADC模块,最后使用LCD1602和轻触按键作为人机交互。 本系统所采取的总体设计如图2-1所示。手机客户端可以连接该系统的蓝牙,然后可以通过手机客户端控制每一个LED灯的亮灭;光强采集和人体红外检测将信息传至单片机进行信息处理;单片机和语音模块可以进行双向信息交互,但是在该系统中只用到了串口发送端口;最后就是按键信息被单片机获取后,会执行相应的操作,例如修改时间。 图2-1 智能路灯控制系统总体设计 2.2模块方案设计 2.2.1 单片机的选择 方案一:51系列单片机 51单片机作为入门级单片机,其操作和硬件电路都相当简单,同时内部寄存器也相对较少,因此程序的编写最为简洁;其二,51单片机使用的是5V电压,这使得电路相当稳定,干扰较少;另一方面,51单片机的单价相比与其他单片机,价格是相当实惠。STC89C52单片机作为51系列单片机中的佼佼者,其使用的是MCS-51内核,该芯片是8位的CPU,使用了可编程的Flash;不仅内部做了很多改进,而且具备优秀的性能,因而这款单片机具备其余51单片机所不具备的性能,就目前而言,STC89C52单片机还是大多数人的首选。[13-15] 由于我们的设计不是很复杂,也不需要过多的引脚;综合以上各优点,该系统将会采用上述的STC89C52单片机作为主控。 方案二:MSP430系列单片机 MSP430系列单片机是16位中最为常用的芯片,该系列的单片机最大的特点就是拥有超低功耗,并且其内部也有很多丰富的外设资源,例如高速12位ADC模块、实时时钟和硬件I2C/UART/SPI等等[16]。 MSP430单片机作为16位的单片机,其功能更加强大和完整,功耗也较低。但是由于该智能路灯控制系统的结构功能不是特别复杂,并且不需要那么多的外设资源;而且该系列的单片机成本远远高于51单片机,因此该系列单片机完全不适合此系统的应用。 方案三:STM32系列单片机 STM32系列单片机是以ARM为内核的32位单片机,在单片机方面,该系列的单片机处于高端类单片机,价格也是相当昂贵的,但其功能相当强大,更拥有丰富的系列以适用在各个领域。STM32单片机内部资源都是远超51单片机和MSP430系列的单片机,并且其内部寄存器也是非常多的,因此对其编程都是相对较为复杂。对于该系统的设计而言,该系列的单片机完全不适用,这不仅会增加了开发周期,并且硬件的成本也会增加很多,还浪费了大量单片机内部资源。 2.2.2 光强采集模块的选择 方案一:光敏电阻 光敏电阻作为电阻中的一个特殊种类,其原理是由于光电效应使得内部产生了可移动的载流子这些载流子又在外部电路的作用下发生定向移动;这就使得光敏电阻阻值减小。但是还有另一类是随着光强的增加,阻值是增加的,不同的种类拥有不同的应用环境。[17] 对于该路灯系统,我们将采用光敏电阻来采集光强变化;首先我们仅仅只是需要一个光照度的大致阈值,不需要太精确的光强大小,对于该系统而言这是没有必要的。其次采用光敏电阻采样光强,其硬件电路只需一个电阻、一个光敏电阻和一个ADC采样芯片,这会大大减小错误的出现,并且减小设计难度,但依然会取得同样的效果。最后,如果使用光敏电阻作为采集模块,其硬件成本也会大大降低。 方案二:光强传感器 光强传感器作为众多传感器中的一员,可以将光强精确采集并转换为数字量,单片机可以通过I2C或者其他通信协议进行通信交互。由于单片机获取到的是数字量,不再采集和转换模拟量,这大大减少了硬件电路的搭建,仅仅只需要关注通信即可。但是由于该传感器价格昂贵;并且通信协议复杂,这会增加程序代码的复杂程度;而且对于该智能路灯系统,不需要如此精确的光强数据。综上可知,光强传感器对于该系统的设计是不适用的,因此最终采用了光敏电阻作为采集光强的核心。 2.2.3 显示屏的选择 方案一:LCD1602液晶显示屏 LCD1602作为入门级的字符液晶显示器,主控芯片一般采用的是HD44780芯片。通常LCD1602是16引脚,但是一些厂家生产的却有14个引脚,相比于16引脚只是少了背光电源的VCC和GND两个引脚。LCD1602液晶屏能够显示所有常用的字符,并且可以使用绘制功能自定义符号;该液晶屏可以显示32个8X8字符,并且LCD1602仅仅可以显示两行字符。 针对该系统而言,仅仅需要显示年月日、时分秒、语音音量和开关灯时间,虽然显示的内容很多,但是可以将所有的信息分类,然后采用分页的形式进行显示。例如,首页的第一行显示年月日和周,而第二行则显示时分秒,而第二页则是语音音量的设置页面,第三页为开灯时间设置,第四页为关灯时间设置;这样就不需要过大的显示屏就可以显示足够多的信息。 考虑到成本和程序的编写问题,最终采用的是LCD1602显示屏作为该系统的显示模块,相比于其他显示屏,LCD1602价格低廉,并且程序编写相对简单。其次,该显示屏足够显示所有的所需信息。最后,LCD1602显示屏显示内容和页面,我们仅仅需要几个按键就可以实现,这也大大减小了程序的复杂性。 方案二:LCD12864液晶显示屏 LCD12864液晶显示屏作为LCD1602液晶显示屏的升级版本,其拥有着更为丰富的功能和更大的显示区域;LCD12864内部设置有中文库,这就使得LCD12864能够轻松显示中文汉字,并且能够完全兼容LCD1602的所有字符。虽然LCD12864有着更优良的性能,但是其价格过于昂贵。另一方面,该系统的人机交互完全可以使用英文进行显示,对于LCD12864的中文显示就没有必要。因此,该系统的不会选择其作为显示屏。 3 硬件电路 3.1 单片机模块设计 STC89C52RC单片机具有4组I/O口,一共32个I/O引脚,其引脚数量完全满足所需的I/O数量;该单片机还内置了看门狗定时器模块,可以有效的防止程序跑飞,并且可以将看门狗模块作为定时器使用。该单片机内部拥有3个16位的定时器/计数器模块,相比于其他51单片机,该单片机多出了一个定时器/计数器模块。片内的大容量RAM和EEPROM为我们的程序提供了大量的存储空间。对于单片机而言,中断作为最常使用的模块,STC89C52单片机有着四个外部可屏蔽中断,其中两个为I/O引脚中断,两外两个是定时器中断。 51单片机的片内结构图如图3-1所示,其内部使用了数据总线、地址总线和控制总线,而单片机中的CPU就是通过各总线和各外设进行通信连接。从图3-1可知,单片机的工作还需要时钟电路为单片机提供工作的时钟脉冲。 图3-1 51单片机内部结构图 STC89C52RC单片机的引脚图如图3-2所示,该单片机采用了双列直插(DIP-40)的封装形式。 图3-2 STC89C52RC引脚图 3.1.1 最小系统的搭建 一个51单片机系统的正常工作一定离不开最小系统的搭建,51单片机需要添加一些外围的电路构成最小系统后,51单片机才可以正常的工作。该智能路灯控制系统的最小系统如图3-3所示,该系统的最小系统由晶振电路、复位电路、上拉电阻和单片机构成[18]。其中上拉电阻使用是因为51单片机内部P0组I/O与其他组I/O内部结构不同,如果P0组I/O需要驱动一些大电流的器件,例如数码管;这时就一定需要将P0组上拉,否则是驱动不了的。对于该系统而言,P0组I/O是作为LCD1602的数据传送口,仅仅需要很小的电流驱动就可以实现,因此在该系统中可以不使用上拉电阻。 图3-3 51单片机最小系统 3.1.2 复位电路 复位电路的作用是将单片机恢复至一个明确的状态,当产生了复位信号以后,单片机内部会触发不可屏蔽中断中的复位中断,该中断会将单片机恢复至最初的确定状态。 复位电路一般分为两个部分,一个是上电复位,而另外一个则是手动按键复位。上电复位是指单片机在上电的一瞬间,通过复位电路将会产生一个上电复位信号;该信号是由单片机上的RST引脚传至单片机内部。上电复位仅仅只需一个电解电容和电阻串联就可以实现,将电解电容的负极和电阻串联在一起,电解电容的正极接VCC,电阻的另一端接GND;电容和电阻之间引出一根线接至单片机的RST引脚,这样上电复位电路就完成了。上电复位的原理是当电路接通的一瞬间,电容可以看为通路,这时RST引脚将变为VCC,此时将会产生复位信号。随时时间的推移,当电容充满电以后,电容将被视为短路,此时RST引脚将会被电阻下拉到GND,这时就不会产生复位信号。[19] 按键复位也是必不可少的一部分,因为当我们电路出现问题后,我们可以使用按键复位;而不需要断电,然后再接通电源产生上电复位。按键复位电路也很简单,仅仅只需在原来的上电复位电路上加装一个轻触按键即可。其原理图如图3-4所示,只需将轻触按键和电容并联即可。其原理是当按下轻触按键时,电解电容还是处于充满电的状态,此时RST引脚还是低电平。当按下轻触按键后,电解电容将通过按键进行放电,然后电容又将处于充电状态,这时电容是通路;这就将RST引脚上拉到了VCC,这时就会产生复位信号。而当手松开按键后,电容充满电后,电容又将断路,此时RST引脚又变为GND。 图3-4 复位电路 3.1.3 时钟电路 时钟电路作为单片机的心脏,为其提供工作的脉搏。时钟电路的好坏直接决定了单片机能否正常工作,这是由于单片机的所有工作都是在脉冲的作用下工作的,例如第一个脉冲取指令,第二个脉冲计算。因此时钟电路可谓是重中之重,好的晶振电路会使得单片机系统工作的更稳定。 该系统使用的是11.0592MHz的晶振,其电路如图3-5所示,该时钟晶振电路右两个部分组成,一个是晶振,另一个是电容。晶振的作用是产生时钟脉冲,然后将时钟脉冲提供给单片机进行使用。而电容的作用是负载电容,这可以帮助晶振起振和微调频率[20],然后使得晶振可以工作在其标准频率附近。 图3-5 时钟晶振电路 3.2 电源模块设计 此系统的供电采用的是标准5V供电电压,电源接口采用3.5mm DC接口(CON1),另一端使用USB供电方便使用。电源电路的电路设计如图3-4所示,该供电电路使用自锁开关(POWER_SW)来控制通断;当自锁开关打开以后,电源LED指示灯(POWER_LED)将会亮起,其中的R3电阻是电源指示灯的限流电阻,防止电流过大烧毁电源指示灯。 图3-4 电源电路 3.3 按键模块设计 按键模块使用的四个轻触按键,其电路设计如图3-5所示。四个按键是用于LCD1602显示屏的菜单控制键,S1是选择键,S2是退出设置键,S3是增加键,S4是减小键。按键的一端是接GND,而另一端是接到了单片机的I/O引脚;由于该单片机的I/O引脚默认是高电平(VCC)。当按下按键后,I/O引脚将会被拉低变为GND,单片机就可以通过判断I/O是否为低电平来判断按键是否按下。 图3-5 按键模块电路 轻触按键作为众多机械按键中的一种,在按下后,依然会产生按键抖动;按键抖动的波形见图3-6所示。为了防止单片机出现误判,因此在程序设计时需要延时判断,这样才能消除抖动带来的影响。例如环境的影响也会使电路产生抖动现象,这就使得单片机出现误判。如果使用延时判断,就会消除抖动影响;通过抖动波形可以看到,按键按下后。先产生了前沿抖动,然后时按键稳定;因此当产生低电平时,先延时一段时间(1-10ms),等待按键稳定,这时再判断I/O是不是低电平;这样就可以消除抖动带来的误判。[21] 图3-6 按键抖动波形 3.4 LED模块设计 本设计使用的是LED灯代替路灯进行模拟,LED灯模块的电路设计如图3-7所示,该设计模拟了十个路灯的情况。每一个LED灯都与单片机的I/O进行连接,这样可以方便控制每一个LED灯的状态;虽然这样会大大浪费I/O资源,但是由于本设计所需I/O比较少,因此采用了一对一的连接方式。如果在I/O资源比较紧张的时候,我们可以采用点阵的形式进行控制,这样会大大减少I/O的使用。 图3-7 LED灯模块电路 对于单片机而言,其I/O的驱动能力相当有限,为此在设计LED模块时,我们使用了三极管作为LED的驱动,这样我们就可以使用小电流控制LED的亮灭。驱动三极管使用的是S9014NPN三极管,其引脚图如图3-8所示。该三极管属于小功率三极管,采用的是SOT-23封装。 图3-8 S9014/S9013引脚图 S9014在该电路中充当的是开关重用,三极管的集电极接到VCC,而发射极接到LED灯的正极,LED的负极接到GND,这样就可以通过控制三极管的基极来控制集电极和发射极的通断。当基极为低电平时,三极管的集电结和发射结都处于反偏状态,此时集电极和发射结为断路,LED灯不亮。当基极为高电平时,集电结和发射结都正偏,此时三极管导通,这样整个电路就可以看为VCC接到LED正极,然后LED负极接入GND,因此LED就会被点亮。 3.5 语音模块设计 语音模块使用的是语音播放套件,其原理图如图3-9所示。语音模块使用串口进行通讯,但是由于只需要单片机发送命令给语音模块即可;因此串口通讯的线只接了TX引脚。语音模块使用的喇叭是8R 0.5W的扬声器(Bell)。 此语音模块提供了SD卡播放MP3,只需将MP3文件放置到SD卡中,我们就可以通过串口发送相应的指令播放音乐。 图3-9 语音模块电路 3.6 蓝牙模块设计 蓝牙模块的设计是为了方便使用手机客户端进行路灯的控制,其电路设计如图3-10所示。蓝牙模块使用了HC-05模块,HC-05蓝牙模块是主从一体的蓝牙串口模块,单片机和该模块的通讯是使用串口进行通信,由于仅仅只需接收客户端发送的信息,因此蓝牙模块只接了RX引脚。HC-05蓝牙模块不需要我们去了解蓝牙内部通讯协议,我们可以将其当作无线串口进行使用,这也大大减小了我们开发的困难程度。 图3-10 蓝牙模块电路 3.7 光强采集模块设计 光敏电阻作为智能路灯的重要部件,对光强的正常采集不仅决定了该系统是否正常工作,而且决定了工作的稳定程度。光敏电阻作为一种特殊的电阻,本系统使用的是负相关的光敏电阻,随着光强的增加,其电阻值反而是减小的。 3.7.1 采集电路 本系统使用的光强采集电路如图3-11所示,光敏电阻和10K的电阻串联在一起,光敏电阻的非接地端接入ADC0832的通道1。采集原理是光强的变化会导致光敏电阻阻值的变化,ADC0832可以将光敏电阻两端的模拟电压采集,然后传送到单片机,单片机仅仅只需要处理量化后的数字量即可。因为ADC0832的DI和DO引脚在同一时刻只会用到一个,所以可以将两个引脚连接后当作一个引脚使用。 图3-11 光强采集电路 3.7.2 工作时序 ADC0832是一个8位的模数转换芯片,可以使用单通道或者差分采集模拟信息,该模块是采样输入电平范围是0-5V,相比较于其余模块的0-3.3V,这个模块拥有更大的采样范围。8位ADDC其分辨率位1/256,对于本系统而言,仅仅只需要一个大致的范围即可,因此该模块还是很符合需求。单片机和ADC0832进行通信的时序如图3-12所示。 图3-12 ADC0832和单片机通信时序 ADC0832的CS引脚是作为为片选信号,当需要对该模块进行操作时,应该首先将CS置为低电平,这样该模块才能正常工作,否则当该引脚为高电平时,此时采样模块被禁用。由时序图可知,当需要进行模数转换前,单片机首先需要将CS引脚复位,并且在转换期间一直需要处于复位状态。单片机读取ADC转换数据时,时钟脉冲到达下降沿时,若DI端为高电平,那么则表示起始信号。产生起始信号后,接下来的两个脉冲时,DI端的高低电平决定了ADC0832的工作模式,其工作模式选择如图3-13所示。等到第三个时钟脉冲来到后,DI数据端口将会失去作用,此后DO端口将要被使用。往后的每个时钟脉冲都将从DO端口输出1bit的数据至单片机,直至传输完1字节数据;首先传输的数据为高位,最后接收到的为低位[22]。虽然后面还有脉冲和输出,但是本设计仅仅只需要这1字节的数据即可,读取后的数据将会在单片机中进行处理,然后执行相应的操作。本系统的采集模块工作在单端输入模式,输入电压范围时0-5V。通过采集到的量化数据,再经过一些计算,最终将会得到光敏电阻一端的电压值,从而得出此时的电阻值。例如量化数据是123,那么可以得到模拟电压为123X19.53=2402.19mV,那么光敏电阻的阻值为2402.19X10/(5000-2402.19)=9.247KΩ。 图3-13 通道地址设置 3.8 人体红外模块设计 人体红外感应传感器使用了HC-SR602模块,HC-SR602是利用红外检测技术设计而成的自动控制模块,该模块的内部采用的是LH1778探头,该模块特点是有着高灵敏度和高稳定性,可低电压工作。该模块的电路设计如图3-14所示。 该红外感应模块检测原理是当有人进入其感应范围则输出高电平,直到人离开人感应范围后,该模块依然会输出一段时间的高电平,然后才会输出低电平。该模块的三个引脚除了VCC和GND之外,还有一个接收引脚,该引脚接至单片机的引脚上,并且还并联一个LED指示灯,这样当有人经过时,LED指示灯会亮起。 图3-14 人体红外感应电路 3.9 LCD1602显示模块设计 LCD1602显示屏可以显示多个字符,虽然只有两行显示区域,但是我们可以通过分页的形式进行显示。由于液晶显示不同于LED发光显示,其有更低的功耗,而且显示功能更加强大。其有如下几个优点: 可以显示字符和图案; 控制简单; 成本较低。 3.9.1 工作原理 LCD1602由128X16个像素点构成,每8列就对应一个字节,所以一行有16个字节,而8行也是一个字节,所以行有两个字节;因此总的像素点有128*16个。屏幕上的每个像素点都与RAM中的字节一一对应,屏上有32个字节显示单元,这32个单元和RAM中1024个字节的数据一一对应,每一个字节的内容和相应像素点的亮和灭是对应起来的。 例如RAM区域的(000H)=7F时,则在屏幕的左上角第一个像素点将会亮起。这就是LCD显示的原理。由于LCD1602已经在内部编写了字符的编码,所以当我们直接写入显示字符时,液晶就可以直接显示我们需要的字符,而不用我们在自己去定义。 3.9.2读写指令 LDC1602液晶模块内部的控制器共有11条控制指令,其指令分别有清屏指令、光标归为指令、进入模式设置指令、显示开关控制指令、设置显示屏或者光标移动的方向指令、功能设定指令、设定CGRAM地址指令、设置DDRAM指令、读取忙信号或者AC地址指令、向DDRAM或CGRAM写入数据指令、从DDRAM或CGRAM读取数据指令如图3-15所示。 图3-15 LCD1602液晶控制命令 3.9.3 工作时序 读操作时序 读取1字节状态:首先将RS复位,然后将RW引脚置位,最后将E引脚置位;这样就配置为了读取状态。此时P0口读取到的就是状态字。 读取1字节数据:首先将当RS置位,然后将RW置位,最后将E引脚置位;这样就配置为读取数据。此时P0口读取到的就是1字节数据。 图3-16 LCD1602读操作时序 写操作时序 写1字节命令:首先将RS复位,然后将RW引脚复位,最后将E引脚置位;这样就配置为了写命令状态。此时P0输出的即为命令字。 写1字节数据:首先将当RS置位,然后将RW复位,最后将E引脚置位;这样就配置为写数据模式。此时P0口输出的即为1字节数据。 图3-17 LCD1602写操作时序 3.9.4 电路组成 本系统使用的LCD1602有16个引脚。其引脚定义如下图3-18所示。 图3-18LCD1602引脚说明 其电路如图3-19所示。 图3-19 LCD1602电路图 4 软件设计 4.1 各模块软件设计 4.1.1 人体红外感应模块软件设计 一个人体红外模块只使用了一根数据线和单片机进行连接,而通信的信号只有高低电平;当有人进入感应区域后,红外模块将会输出高电平;而人体退出感应区域后,该模块将会保持一段高电平时间,然后再输出低电平。其软件设计的流程图如下图4-1所示。 图4-1 人体红外检测软件设计流程图 该模块的关键程序如下所示: sbit hongwai1=P3^2; //端口定义1 sbit hongwai2=P3^3; //端口定义2 main.c文件中关键程序 if(hongwai_flag==1) //红外感应到人通过 { … //人体红外检测程序 } 4.1.2 蓝牙模块软件设计 蓝牙模块是作为接收端,其将从客户端接收的数据发送至单片机,因此该模块仅仅使用了串口中的TX引脚。该模块的串口使用了单片机的硬件串口,其软件设计流程图如图4-2所示。 图4-2 蓝牙模块软件设计流程图 该模块的主要程序代码如下: void Usart() interrupt 4 { … //串口接收中断服务程序 } 4.1.3 按键模块软件设计 本设计中使用了四个按键,按键1作为功能键,通过按键1可以选择需要修改的信息,每按下一次,就会跳转到下个修改点。键2作为确认键,当修改完所需信息后,按下该键可以保存并退出修改界面。按键3作为加键,再修改信息时,通过该键可以增加数量值。按键4作为减键。通过该键可以减少数量值。 按键程序主要是按键的初始化,然后就是一直循环检测是否有按键按下;当检测到某个按键按下后,就会执行相应的按键程序。该模块的软件设计流程图如图4-3所示。 图4-3 按键模块软件设计流程图 该模块的主要程序如下所示: sbit key1=P3^4; //功能键 sbit key2=P3^5; //确认键 sbit key3=P3^6; //加键 sbit key4=P3^7; //减键 //*********************独立按键控制********************// void keyscan(void) { if(key1==0) //按键1 功能键 { … //按键1程序 } if(keycount!=0) { if(key2==0) //按键2 确认键 { … //按键2程序 } if(key3==0) //按键3 加键 { … //按键3程序 } if(key4==0) //按键4 { … //按键4程序 } } } 4.1.4 语音模块软件设计 语音模块与单片机的通信依然是采用串口通讯,与蓝牙不同的是,语音模块是接收单片机发送的命令,因此该模块工作再串口RX模式下,该模块与单片机通讯也仅仅通过该模块的RX引脚。该模块的软件设计流程图如图4-4所示。 图4-4 语音模块软件设计流程图 语音模块的主要程序如下所示: void play() //播放语音提示 { … //播放音乐的指令 } Void volume(unsigned char up_down) //设置语音音量大小 { … //设置语音音量的指令 } 4.1.5 LED模块软件设计 LED模块有十个LED灯模拟实际路灯,每个LED灯都是与S9014 NPN 三极管连接在一起,然后将三极管的基极连接至单片机的引脚上;总的设计中,一个LED灯对应一个单片机I/O引脚。 LED模块的软件设计流程图如图4-5所示。 图4-5 LED模块软件设计流程图 LED模块主要程序如下所示: sbit led1=P1^0; sbit led2=P1^1; sbit led3=P1^2; sbit led4=P1^3; sbit led5=P1^4; sbit led6=P1^5; sbit led7=P1^6; sbit led8=P1^7; sbit led9=P2^0; sbit led10=P2^1; void LED(uint date) //LED灯控制程序 { … //控制程序 } 4.1.6 LCD1602液晶显示模块软件设计 LCD1602显示模块使用的是并行数据传输,而命令数据、使能、读写引脚则是单独的三个IO口。当我们需要控制显示屏的时候,首先使能该模块,再选择读写,然后选择命令数据,最后就是传输并行的数据。总的来看,显示屏的操作步骤是:LCD初始化功能设置,清除RAM区,显示初值和显示指针指向第一行数据,将待显示的数据送入缓冲去。其软件设计的流程图如图4-6所示。 图4-6 LCD1602程序设计流程图 LCD1602显示屏的关键代码如下所示: //**************端口定义*********************// sbit rs=P2^6; sbit rw=P2^5; sbit en=P2^4; void write_com(uchar com) //写命令 { … //写入1字节命令 } void write_dat(uchar dat) //写数据 { … //读取1字节数据 } void write(uchar *p) //写多个数据 { … //写入多字节数据 } void timeweek(uchar dat) //定义函数,在该处显示星期 { … //这里是在显示屏上显示星期 } void time0(uchar add,uchar dat) //在显示屏第一行显示一个十位数 { … //这里是在显示屏第一行上显示一个十位数 } void time1(uchar add,uchar dat) //在显示屏第二行显示一个十位数 { … //在显示屏第二行显示一个十位数 } void init_LCD1602(void) //初始化LCD1602 { … //这里是对LCD1602的初始化 } void display() //显示时钟 { … //这里是显示时钟 } void display1(void) //刷新整个页面 { … //这是刷新整个页面的服务程序 } void display2() //刷新页面中的数据 { … //刷新页面数据 } void F5(void) //刷新时间 { … //刷新时间 } 4.2 软件的整体设计 软件的整体设计思路:首先是将所有模块进行初始化设置,其中包括按键、LED、人体红外及其他模块的引脚定义,然后需要初始化设置的模块有语音模块、蓝牙模块、光强采集模块和LCD1602显示模块。初始化完所有模块后。这时需要开启和设置定时器、串口,最后还需要将总中断打开。然后就是一直循环检测,检测到信息后,先判断是否满足条件,然后执行相应的程序。 循环检测包含按键扫描和当前状态的获取,获取到当前状态,然后就会执行相应的状态函数。在循环检测的过程中,LCD1602上的时间每秒钟会进行一次刷新。该智能路灯控制管理系统的整体软件设计流程图如图4-7所示。 图4-7 智能路灯系统的整体程序设计 5 系统的制作调试及实验 5.1 制作调试步骤 首先需要完成所有电路的设计和器件选型工作; 将设计好的电路在面包板上进行搭建并测试是否能正常工作; 如果电路能正常工作,使用洞洞板焊接所有电路; 编写各个模块的测试代码,检验焊接好的各个模块能否正常工作; 编写该系统控制程序,测试整体能否正常工作; 测试手机客户端能否和该系统进行通信并控制LED灯的状态; 模拟实际路灯需求,查找程序中的Bug; 测试整体系统的稳定性。 5.2 实验结果 经过硬件电路的搭建和软件程序的设计,最终完成了智能路灯控制管理系统的设计,在制作和调试中,虽然经历了很多困难,但是最终都得到了解决。经过最终的测试,该智能路灯控制系统满足最初的设计要求,并能运用到实际生活中。图5-1和图5-2是该系统工作的状态。 图5-1 时钟显示界面 图5-2 开灯时间设置 总结 本次设计使用STC89C52RC作为主控芯片,从单片机最小系统的设计和搭建,再到各个模块电路的设计测试,最后将所有模块串接。中间不仅包括了各种器件的选型和测试,更包含了辛勤付出的汗水;经过最后的测试,该系统完全符合预期要求,也符合实际的生活需要。 硬件的设计核心是器件的选型和搭建,也包含了信号的采集、传输、处理和显示。通过光敏电阻的变化,将光强转变为电信号,经过ADC0832的采样输出;单片机将读取到ADC0832采集到的信号,进过单片机的内部数据处理,最终将可以得到当面的环境状态,例如白天状态。状态获取以后,可以执行相应的操作,例如当前是夜晚亮灯时间,那么将会点亮所有路灯。人体红外传感器获取到人体信息,通过当前状态和人体信息的组合,将会执行夜间节能时的功能。手机客户端可以连接该系统的蓝牙,通过客户端控制每一个路灯的状态,并且此时的控制拥有最高优先级;这一设计可以极大程度方便工作人员的调试和检查。 智能路灯设计的初衷就为了更便利人们的生活,因此软件的设计则更多考虑的是实际的用途,在编写程序时,往往需要联系生活。程序编写过程中也遇到了很多的困难,但是经过一次又一次的调试和设计,最终完成了整体软件的设计。该智能路灯系统不仅成本被降到了最低,而且维护、安装都很方便;另外该路灯的设计有效的节约电力资源的浪费。

  2、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。

  3、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。

  4、VIP文档为合作方或网友上传,每下载1次, 网站将按照每个用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档

  高考英语冲刺模拟试题分类汇编:专题06 完形填空(甲乙卷) 解析版.docx

  高考英语语法填空热点话题分类训练:计划与愿望 (高考模拟真题+各地最新真题).docx

  高考英语一轮复习讲练测(新教材新高考):第13讲 并列句和状语从句(练) (原卷版).docx

  高考英语一轮复习讲练测(新教材新高考):第14讲 特殊句式和情景交际(练) (原卷版).docx

  高考英语一轮复习讲练测(新教材新高考):第12讲 名词性从句(练) (原卷版).docx

  A股拟IPO企业及上司公司股权激励及股份支付操作手册20221215_1-499.pdf

  C++程序设计(西北工业)中国大学MOOC慕课 章节测验客观题答案.docx

  原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者