【基于单片机的自行车尾灯控制系统设计6600字【论文】】_第1页
【基于单片机的自行车尾灯控制系统设计6600字【论文】】_第2页
【基于单片机的自行车尾灯控制系统设计6600字【论文】】_第3页
【基于单片机的自行车尾灯控制系统设计6600字【论文】】_第4页
【基于单片机的自行车尾灯控制系统设计6600字【论文】】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的自行车尾灯控制系统设计目录TOC\o"1-2"\h\u11835基于单片机的自行车尾灯控制系统设计 113002第一章前言 1164601.1课题背景 1102781.2本文主要内容 222949第二章系统方案设计 2316002.1系统功能规划 2242972.2设计的整体框架 3222382.3主控方案设计 3207492.4光强采集方案设计 483892.5数据显示方案设计 524312.6按键和车尾灯方案设计 620381第三章系统硬件电路设计 793593.1最小系统电路设计 7305363.2光强检测电路设计 8297293.3按键电路设计 985713.4尾灯电路设计 9258413.5数据显示电路设计 1021107第四章系统软件程序设计 12212304.1主程序设计 12257014.2光强检测程序设计 13280264.3按键程序设计 14305284.4车尾灯感应控制程序设计 1547474.5数据显示程序设计 1524514第五章系统仿真调试 17第一章前言1.1课题背景随着社会经济的不断发展和进步,近年来人们物质生活水平不断提高,而人们的精神层面的追求也不断增多。现代生活节奏快速,人们的作息时间也变得不规律并且违反常规,因此很多人的身体健康长期处于亚健康状态,而由于物质生活和经济的不断进步,人们也开始越来越关注身体健康方面的问题。缺乏有效的运动和体育锻炼是当前很多上班族所面临的问题,一方面工作时间占据了大部分时间从而没有很好的进行体育运动,另一方面随着科技的进步人们的娱乐方式更加丰富,手机、平板等电子产品已经占据了很多人的休闲时间。现代生活节奏快速,人们也开始越来越关注身体健康方面的问题,自行车作为健康出行方式更多的受到了人们的热捧。自行车子设备涉及到了多个领域的知识,包括了计算机、微电子、传感器以及机械等众多学科,因此也属于学科交叉类的研究课题和项目。在自行车夜间行车时无明显的标识物是较为危险的,故而自行车尾灯设备开始被广泛应用到夜间骑行的自行车使用中,作为较为小众的市场应用需求,其产品的智能化程度和丰富性目前还是比较欠缺的。1.2本文主要内容自行车尾灯控制器的设计内容包括硬件设计、软件设计两个部分的内容。首先要根据自行车尾灯控制器的功能需求还有基本的要求设计整体系统的设计方案,根据功能需求分模块的对自行车尾灯控制器进行方案设计,整合整个系统的结构框图,对主要的元器件选型分析。完成系统的整体电路设计,采取分功能模块的方式来划分绘制每个模块的电路图,并且对电路的结构和原理做出分析说明。对系统软件程序的设计部分,规划程序架构绘制主程序和子程序的流程图,并进行整体程序编写。在软硬件设计基础上完成系统硬件部分测试和仿真搭建和功能模拟,并最终完成系统的仿真制作和测试。第二章系统方案设计2.1系统功能规划自行车尾灯控制器在功能实现上需要实现以下四点:1、双闪模式,左右两边的LED灯闪烁;2、右转,对应右边的LED灯闪烁;3、左转,左边的LED灯闪烁;4、光感模式,根据光线强度控制车尾灯自动点亮和关闭;根据系统的功能规划进行系统的实物功能设计。2.2设计的整体框架自行车尾灯控制器需要实现车尾灯控制以及良好的人机交互功能。根据系统的功能需求对其整体结构框架预设核心处理器部分、光强检测部分、数据显示部分、按键部分、车灯控制部分。在确定要基本功能以后需要进行必要功能的器件选型,完成基本功能的器件选项以后根据文献参考的资料进行扩展功能的设计,在扩展功能中完成自行车尾灯控制器应用体验提升功能的设计,并在最终设计之前进行系统软硬件设计,对系统的各个模块功能和整体功能进行验证,而后依照软硬件设计的数据进行仿真的制作和仿真测试。系统结构框图如图2-1所示。单单片机部分液晶显示部分按键控制部分车灯控制部分系统电源部分光强检测部分图2-1系统整体结构框图2.3主控方案设计自行车尾灯控制器的主控方案的选择主要考虑到系统智能化检测和信号传输的指令输入输出,电子产品设计中主控方案多采用智能处理器作为控制核心,智能处理器中较为常用的型号包括51系列单片机、PIC系列单片机、STM32系列单片机、Arduino系列单片机,下面对这四个系列单片机的基本性能参数和应用场景进行说明。方案一:51系列单片机属于入门级系列单片机,51系列单片机中较为常用的是STC89C51和STC89C52这两款基础型单片机,其能够满足入门级的电子产品设计控制需求,同时其广泛的应用参考和技术案例为其开发者提供了详实的开发参考资料,故而学生初学者在选择用核心控制器时会优先选择51系列单片机。方案二:STM32系列单片机属于中高端单片机中较为常用的32位系列单片机,STM32系列单片机是目前市场上主流的32位应用单片机,其具备丰富的处理器配置以及功能外扩能力,同时其丰富的应用场景技术支持也为开发者提供了多样性的开发方案选择。方案三:Arduino系列单片机的中ArduinoR3型号单片机是一款入门级别的单片机,因此操作难度和上手都相对容易,因此也可以使得设计变得简便。该型号的单片机具有32k的程序存储空间和2k的flash,工作电压在5V,同时运行速度高达16MHz,因此完全可以满足系统的需求。ArduinoR3具备低难度的开发优势,易用性,适合设计者初级水平的开发经验使用。从上述3个方案中选取适合系统使用的核心控制器,3个方案中方案一的51系列单片机和Arduino系列单片机是技术难度较低的低端处理器和成本较低的控制选择。STM32系列单片机的性能是三个系列的单片机中最好的,其成本和技术难度也是最高的。综合评估考虑到自行车尾灯控制器的智能功能需求不高,方案一的51系列单片机可以满足信号发生器的性能要求和功能要求,可以达到良好的智能控制效果,同时具有明显的优势,其成本较低并且扩展性和兼容性都较好,因此选择方案一的51系列单片机的STC89C52作为系统的主控处理器。2.4光强采集方案设计光强采集功能是系统的核心参数采集功能,系统的车尾灯自动控制模式中由光强传感器检测外部光强信号进行智能控制。光照度采集方案由模拟型传感器和数字型传感器两种类型,模拟型传感器选用GL5516光敏电阻作为光强检测传感器,数字型传感器选用BH1750作为光强检测传感器,下面对比两种方案进行必要的说明分析。方案一:GL5516光敏电阻采用内光电效应材料作为感应材料,光敏电阻内部的感应材料根据外部光强的大小按照材料特性变换自身的阻止,其变换线性幅度每个传感器都存在一定的差异性所以其数据检测的精度是比较差的,但其传感器价格成本和技术成本都较低,具备较好的开发成本优势。方案二:BH1750数字光强检测传感器,BH1750采用I2C总线进行数据交互,能够实现1-65535lx范围的光强数据的检测,具备较强的光谱灵敏度和检测准确度,其光强检测的误差值稳定在10%以内具备广谱光源检测特性,BH1750使用大多数的光强数据检测应用场景。在方案一和方案二两种传感器中进行分析选择以后可知光敏电阻具备更低的设备成本和技术成本,但是其光强检测的精度不如BH1750,但考虑到自行车检测环境需要进行震动测试,故而选择稳定性和抗干扰能力更好的光敏电阻作为系统的光强检测设备,系统中选择GL5516光敏电阻作为系统的光强检测传感器。选取光敏电阻作为检测传感器需要完成模拟量采集电路设计,以达到数据采集的目的。模拟量数据采集是通过采集电路将传感器输出的模拟量信号转换成为单片机可以识别的数字量信号,从而实现识别这些检测信号的目的。而常用的模拟量采集元件是模数转换器,市面上的模数转换器分为三种类型,分别是专业型、比较型和积分型。最常用的模数转换器是ADC0832型号的模数转换器,属于逐次比较型的模数转换器,其价格相对较低,可以满足系统中模拟量采集的需求,因此选择ADC0832作为模拟量采集电路的主要元器件。2.5数据显示方案设计数据显示部分在系统中的应用职能是用于车尾灯控制器的状态数据的显示,数据显示的电子设备常由数码管和液晶显示器中选择,两种显示设备适用于不同应用场景。方案一:数码管显示设备适用于单一不复杂的类型数据显示,数码管具备低功耗高稳定性的特性,并且可以根据显示需求进行显示样式的定制,故而数码管对于特定的单一场景数据显示应用较为契合,但在复杂数据的内容显示上数码管的显示能力较弱。方案二:液晶显示设备用于多样化数据类型显示应用,液晶显示设备具备多样化高扩展性的智能化特性,其能够实现较高需求的内容显示技术支持,包括对更复杂的图像和视频数据的显示,但其产品价格和技术难度在显示设备当中较高。对比两个方案发现在本系统中数码管和液晶显示器都能够满足系统的显示需求,考虑到数据显示内容的观赏性和扩展性选择液晶显示设备作为系统的数据显示设备,考虑到系统的整体数据显示量较少所以选择LCD1602作为系统的显示液晶,LCD1602内部带有基本字符库可以实现32字符数据量的实时显示能够满足系统的数据显示需求。2.6按键和车尾灯方案设计系统需要对车尾灯状态进行调节控制,系统信息调整一般采用键盘设备作为输入媒介,常用的按键组合方式有独立按键键盘和矩阵按键键盘两种模式。独立按键键盘是最常见的键盘组合形式,其采用一个按键对应一个识别判断引脚的直通连接模式,在技术实现上难度较低同时其响应速度较快,但是在应付多按键信号输入的时候会加大系统信号识别负担和识别引脚的消耗。矩阵按键键盘是多按键输入时的常用按键模式,矩阵键盘能够实现多个按键的组合信号输入,矩阵键盘采用行列组合的形式进行达成多按键信号的组合输入,搭配匹配的按键信号处理程序能够实现按键信号识别引脚节省的应用功能,同时也能够便捷的达成组合按键功能的算法结合实现。在自行车尾灯控制器设计中按键的输入信号量较少,需要的输入键值信号较少,故而独立按键键盘模式更契合于自行车尾灯控制器设计的实用,故而系统的按键设备选择上选用独立按键键盘作为系统输入设备。车尾灯电路设计中采用LED进行状态显示模拟是最为贴切的,所以本设计中的车尾灯部分电路采用LED作为车尾灯状态模拟器件。

第三章系统硬件电路设计3.1最小系统电路设计STC89C52片机是本系统的主控芯片,该单片机属于51系列的单片机,因此使用和操作都属于相对简单的,而其内部没有时钟电路,因此最小系统电路主要包括时钟电路和复位电路。STC89C52的复位引脚是RST引脚,时钟引脚是XTAL1和XTAL2引脚,因此最小系统电路主要就是完成这三个引脚的配置。3.1.1晶振电路晶振电路是由石英晶振和瓷片电容构成,主要作用是为单片机运行提供一个稳定的振荡信号。选择12MHz的石英晶振和30pf的瓷片电容构成时钟电路,参数的选择主要是根据单片机的数字手册上的说明,石英晶振是提供振荡信号的主要来源,而瓷片电容可以使得振荡信号更加稳定。晶振电路如图3-1所示。图3-1晶振电路图3.1.2复位电路复位电路是由RC电路构成,主要作用是为单片机的运行提供一个有效的复位信号。选择10K的电阻和10uf的电容组成RC电路,时间常数为10ms,因此可以为RST引脚输出一个时间持续0.1s的高电平信号,满足单片机的复位需求。另外还设计了一个独立按键,独立按键主要实现手动复位的功能需求。复位电路如图3-2所示。图3-2复位电路图3.2光强检测电路设计光强检测电路主要是由GL5516光敏电阻构成,GL5516实际上就是一个阻值可变的电阻,电阻的阻值会随着光照强度的变化而变化,其暗电阻为0.5M,而亮电阻则为5K,光强数据的采集实际就是电阻阻值的采集,而电阻值的采集其实并不好实现,因此可以转换成电阻两端电压值的采集,通过电压数据的采集可以计算出光强数值。GL5516光敏电阻的模拟量信号输出之间与ADC0832的模拟量采集引脚连接,ADC0832的使能引脚与单品机的P24口连接,CLK引脚与单片机的P23口连接,DO引脚则与单片机的P22口连接。仿真设计中采用可调电阻模拟光强传感器的数据输出,光强检测电路如图3-3所示。图3-3光强检测电路图3.3按键电路设计自行车尾灯控制器需要设置按键电路将控制指令输入到系统中,根据系统的功能需求,需要设置六个按键,分别实现对车灯的控制和光感车灯控制阈值的设置,由于按键的数量较少,不适宜用矩阵键盘会产生大量按键资源的浪费,因此采用独立按键来实现。电路结构上,按键的一端与单片机的IO口连接,另一端则是接地连接,单片机IO持续输出高电平,当按键按下时,IO口的电平会变化为低电平,以此达到识别按键按下的目的。按键电路如图3-4所示。图3-4按键电路图3.4尾灯电路设计自行车尾灯控制器当中的尾灯部分电路采用了普通LED模拟演示的方式实现其亮灭控制的功能实现,对应LED点亮对应不同的尾灯控制状态,LED电路的连接只需要加入220欧姆限流电阻采取低驱控制即可,220欧姆电阻使得LED的导通电流不大于25mA,保证LED不会因为电流太大而出现烧毁的情况。系统的尾灯模拟电路如图3-5所示。图3-5LED尾灯模拟电路图3.5数据显示电路设计LCD1602液晶显示器是系统选定的显示设备,LCD1602液晶显示器是一款字符型液晶,其内部带有基本字符库采用HD44780驱动芯片达成对32个字符空间的显示控制,LCD1602内部除了基本字符库以外还带有GRAM空间,能够根据系统的特定字符图像显示需求进行取模填充显示功能实现,其采用并口数据交互和串口指令交互的方式作为液晶驱动控制方式,其电路设计主要是对其功能引脚的连接电路的设计。LCD1602液晶显示器带有十六个需要连接的引脚,电源类的引脚有四个包括液晶的主电源和地以及液晶背光的主电源和地,除此之外还有八个数据输入输出引脚和3个指令引脚和液晶显示对比度引脚。电路连接上将LCD1602的数据输入输出引脚连接到单片机的P0引脚,而命令引脚E、RW、RS则连接到单片机的P2引脚,LCD液晶显示器的连接电路如图3-4所示。图3-6数据显示电路图

第四章系统软件程序设计4.1主程序设计自行车尾灯控制器的主程序流程:首先进行系统的初始化工作,包括液晶显示模块的初始化、自动控制阈值的初始化、单片机的初始化和模数转换模块的初始化等。接着进入到循环扫描程序中,实时扫描是否有按键按下,当识别到启动按键被按下时,开启各检测电路的工作,并且将检测到的数据显示到液晶屏中,当检测到的光强数据低于了预先设定的车尾灯自动控制阈值时,触发车尾灯自动点亮,程序流程图如图4-1所示。开始系统初始化开始系统初始化读取模数转换数据判断当前光强状态判断按键是否按下?执行相应的判断操作进入按键响应子程序结束YN图4-1主程序流程图4.2光强检测程序设计光强参数采集主要是通过光强传感器来实现,而光强传感器的输出量是模拟量,因此引入了ADC0832模数转换器,而光强模拟量采集程序的实现主要就是ADC0832的模拟量采集程序。具体的流程为:首先对ADC0832进行使能,单片机需要发送一个低电平信号到ADC0832的CS引脚,同时向CLK引脚输出一个脉冲信号,此时开始进行模拟量采集状态。然后要通过DI引脚来完成模拟量采集信道的选择,完成模拟量采集信道的选择后就可以进行模拟量数据的读取工作。读取了8位模拟量数据后还需要对模拟量数据的反向排序数据进行读取,接着对读取的两组数据进行校验,将校验后的数据进行解析,至此一次数据采集程序就全部完成。ADC0832模拟量数据采集流程图如图4-2所示。开开始使能芯片发送时钟信号选定转换通道读取模拟量数据数据解析读取校验码结束图4-2数据采集程序流程图4.3按键程序设计自行车尾灯控制器设计中设计了6个独立按键完成信号输入控制。按键识别程序的逻辑很简单,只需要利用单片机引脚判断按键是否出现低电平信号即可,但按键信号容易被干扰信号和抖动信号影响,因此在程序的设计上加入软件防抖程序。软件防抖程序是在检测到有低电平信号时也就是按键按下信号被触发时,先进行一定时间的延时,在延时完成后再次进行低电平信号的检测,若延时后仍然存在低电平信号,则判断按键按下信号被触发,这种形式可以防止很多干扰信号从而提高按键动作的识别精度。键盘程序流程图如图4-3。按键引脚置位1按键引脚置位1返回程序开始循环读取按键的状态信息有按键按下?Y延时后读键值图4-3按键程序流程图4.4车尾灯感应控制程序设计设计中车尾灯自动控制逻辑的验证需要实时的监测光强模拟量的输出信号,而后将采集信号和设定的报警阈值进行比较,当采集的实时光强数据小于设定阈值数值时将启动车尾灯工作,车尾灯感应控制程序流程如图4-4所示。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论