智能危险标志牌控制系统设计_第1页
智能危险标志牌控制系统设计_第2页
智能危险标志牌控制系统设计_第3页
智能危险标志牌控制系统设计_第4页
智能危险标志牌控制系统设计_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

智能危险标志牌控制系统设计第1章绪论1.1研究目的及意义随着汽车设计和制造技术的不断提高,这个产业已经变成了一个技术水平高的产业。汽车厂商们不断地研发新的技术和材料,例如,电动车和自动驾驶技术,这些新的技术将会带来更多的便利和更好的驾驶体验。汽车制造商们也在不断地寻求更加高效的生产方式,以满足不断增长的市场需求。汽车制造业的繁荣也带来了许多经济利益。汽车生产商和汽车零部件制造商的数量不断增加,从而创造了更多的就业机会。汽车制造业的发展也促进了其他相关行业的发展,例如,能源、金属和化学制品等行业,这些行业也成为了汽车产业的重要支持。尽管汽车带来了巨大的便利,但汽车工业也对环境产生了不良影响。汽车排放物的释放,会造成空气污染和全球变暖,这些问题已经引起了不少的关注。因此,汽车制造商们正在致力于研发更加环保的车辆,以减少对环境的影响。总之,汽车制造业已成为全球一个重要的产业,这个行业的发展给人们的生活带来了极大的便利,同时也为经济增长做出了巨大的贡献。未来,汽车制造商们将不断寻求创新和进步,以满足人们不断变化的需求REF_Ref20110\w\h[1]。随着社会的发展和人们生活水平的提高,车辆的使用越来越普遍,同时交通问题也随之加剧。交通事故频繁发生,交通环境差,给人们的出行带来了极大的安全隐患。在交通事故中,驾驶员反应不及时、处置不当是造成事故的主要原因。65%的事故属于汽车追尾碰撞,其它事故则属于侧面碰撞擦挂所致。这些事故的发生往往是因为驾驶员在行车中没有保持足够的注意力,或者没有及时发现周围的交通情况,或者是对紧急情况反应不够迅速。这些问题都需要我们在驾驶中加以注意和改善。驾驶员在事故前1秒钟意识到有交通事故发生并采取相应措施,可避免绝大多数事故。因此,我们应该在日常驾车中保持高度的警惕性,时刻注意周围的交通情况,尽可能的减少因自身原因造成的事故REF_Ref20234\w\h[2]。此外,我们还应该加强交通安全教育,引导人们树立正确的交通安全意识,提高交通文明素质。只有在全社会共同努力下,才能有效地减少交通事故的发生,为人们的出行带来更加安全和便捷的保障。安全标识是一种用来提醒工人注意工作地点和周边的危害情况,并引导工人进行正确的操作的标记。安全标识的主要功能是提示作业者防范风险,防止意外事故。在遇到威胁时,它可以引导人们迅速撤离,或对其进行适当的、行之有效的控制。安全警告是一种专门的安全标记,它能够对工作人员发出警告,提醒他们在工作地点或其周边的环境中可能存在的危险情况,并引导他们进行理性的行动。道路交通标志和标线的设置旨在引导道路使用者有序使用道路,以促进道路行车安全。在驾驶辅助系统中,交通标志的识别能够为整车控制提供相应的辅助,以保障行车安全REF_Ref20277\w\h[3]。比如禁止一类的标志帮助系统提前进行危险预判;警示类标志可以帮助系统提前进行在某些情况下进行提前避障处理;指示类标志可以帮助系统进行控制预处理,以确保行车遵循道路指示。故对于交通标示的正确识别及精准应用可以为驾驶辅助系统甚至自动驾驶提供更加完美的助攻REF_Ref20329\w\h[4]。交通标志识别又称为TSR是指能够在车辆行驶过程中对出现的道路交通标志信息进行采集和识别,及时向驾驶员做出指示或警告,亦或者直接控制车辆进行操作,以保证交通通畅并预防事故的发生。交通标志识别技术可以提醒司机提前采取措施,减少交通事故的发生。对常见交通标志识别算法和技术进行综述,介绍它们的原理、优缺点以及相关研究现状和成果在安装有安全辅助驾驶系统的车辆中,如果车辆能够提供高效‎的TSR系统,及时为驾驶员提供可靠地道路交通标志信息,有效提高驾驶安全性和舒适性。目前交通标志的识别技术还无法做到较高的灵敏、稳定和准确性,特别是针对受到不同季节、天气条件影响下的光照条件有所不同导致采集到的图像复杂多样;而道路交通情况的复杂性可能造成交通标志污损、颜色、形状发生变化,而树木、建筑物的遮挡又可能导致其无法被及时的识别到位,同时在高速驾驶过程中,由于车辆行驶抖动等因素,可能造成图像帧匹配过程中出现误差,从而无法稳定地识别出相应的交通标志。本系统设计的报警装置会有很大作用REF_Ref20424\w\h[5]。1.2国内外现状分析智能危险标志牌控制系统设计是一个较新的研究领域,国内相关研究还比较少。下面是一些在国内发表的相关文章:从智能化和多功能两个方面作为出发点,用多维视角多元信息融合来进行人群计数和密度计算以及通过模型分析进行智能化;然后将多个信息融合在标志牌上实现多功能技术REF_Ref20453\w\h[6]。《智能危险标志牌的设计与实现》(2017年)该论文利用物联网技术和云计算技术,设计了一种智能危险标志牌。该标志牌可以实现对周围环境的实时监测和管理,当探测到危险时,可以自动触发相应的警报系统REF_Ref20483\w\h[7]。《基于深度学习的智能危险标志牌识别方法研究》(2019年)该论文利用深度学习技术,研究了智能危险标志牌的识别方法。通过对标志牌图像的处理和分析,可以实现对危险标志牌的自动识别和分类REF_Ref20515\w\h[8]。汽车的普及在提升出行效率的同时也带来了交通安全问题,如何提升驾驶安全性成为了当前的研究热点。发生交通事故最重要原因是驾驶员进行危险驾驶,本文研究的车载危险驾驶行为报警系统,旨在通过计算机视觉算法实时识别驾驶员的危险驾驶行为并使用语音报警提示,从而提升驾驶安全性。本文根据系统实际使用场景和国人驾驶习惯制作了驾驶行为数据集。该数据集包含正常驾驶、侧视、喝水、吸烟、操作中控、玩手机、侧身拿东西、整理仪容、接电话共9种驾驶行为数据,并按照采集人员划分训练集与测试集。相比于现有公开数据集,该数据集在数据量和数据丰富度上都更具优势REF_Ref20584\w\h[9]。本文提出了一种利用方向盘定位关键区域的驾驶行为识别算法。该算法首先通过目标检测算法定位车内方向盘位置,再利用方向盘位置信息裁剪出关键区域,‎最后通过分类算法对关键区域进行行为分类。由于在同一视频流中方向盘位置不会发生变化,可以重复利用位置信息,成功将目标检测任务转化为更为简单的分类任务。为了将驾驶行为识别算法直接部署在车载设备中,使用轻量级神经网络实现分类算法。本文根据自制数据集特点,设计了一种轻量级沙漏模块,用以改进MobileNetv2网络的全连接部分,在降低网络参数量的同时提高了识别准确率。本文提出了一种驾驶行为风险评估算法,该算法结合驾驶行为分类结果、行为持续时间和行驶速度,准确评估当前驾驶风险,提高语音提示与违规记录的准确率。本文使用自制数据集训练改进后的MobileNetv2网络,并以此实现驾驶行为识别算法和风险评估算法,最终将上述算法应用于车载危险驾驶行为报警系统。系统车载端部署在车载设备中,能够实时识别驾驶员的危险驾驶行为并通过语音报警提示,提升驾驶安全性。系统平台端部署在服务器中,收集系统车载端所保存的驾驶员违规记录,方便用户分析和管理驾驶员违规记录REF_Ref20610\w\h[10]。陈廷儒,2022年在《一种禁止危险物品进入电梯轿厢智能识别报警系统》指出危险物品进入电梯轿厢后存在的公共安全问题,介绍了一种禁止危险物品进入电梯轿厢的智能识别报警系统。该系统由摄像识别系统、语音声光报警系统、电梯运行限制系统、辅助功能系统等组成,该系统较好地提升了视频监控的作用和效能,‎使电梯安全从被动管理转向主动预防REF_Ref20646\w\h[11]。国内的研究主要集中在智能交通领域和智能制造领域。虽然相关研究还不是很充分,但是这个领域具有很大的发展潜力,未来有望得到更多的关注和投入。《DesignandImplementationofaSmartTrafficSignSystemBasedonWirelessSensorNetworks》(2016年)该研究利用无线传感器网络技术,设计了一个智能交通标志系统。该系统包括了智能危险标志牌、摄像头和声音传感器等组件,可以实现对交通情况的实时监测和管理。由于现代世界中道路交通标志对驾驶员的安全十分重要。而道路网络进行多步交通预测有助于避免街道上的许多问题。2023年FredjHanaBen,ChabbahAmani,BailiJamel,FaiedhHassen,SouaniChokr本文利用CNN开发了交通路标识别系统。采用新的数据来进行架构性能的测试,架构中采用不同的参数使,其在不同环境中达到预期的识别率,最后研究结果更加显著REF_Ref20705\w\h[17]。交通信号识别模型在智能交通模型中起着至关重要的作用,因为交通信号可以帮助驾驶员更专业、更有意识地驾驶。本文的主要目标是提出一种适用于交通信号识别和检测的模型。这项工作提出了应用机器学习技术的预处理和分割方法是最近的研究趋势。首先,采用中值滤波和直方图均衡化技术对交通信号图像进行预处理,增加图像的信息量。该模型利用了交通信号的颜色形状信息和图像对比度信息。为了在获得的图像中定位交通信号,然后提取交通信号图形中的感兴趣区域。交通信号识别与分类实验依据德国交通信号识别基准(GTSRB)进行管理。各种机器学习技术,如支持向量机(SVM),极限学习机(ELM),线性判别分析(LDA),主成分分析(PCA),卷积神经网络(CNN)-广义回归神经网络(GRNN)用于分类过程。最后,将从准确率、F1分数、kappa分数、雅卡尔分数、灵敏度、特异性、召回率和精确度等性能指标对获得的结果进行比较。结果表明,与其他智能方法相比,采用ML技术的CNN-GRNN达到了99.41%的准确率。该技术用于检测和分类各种类别的交通信号,以提高系统的准确性和有效性REF_Ref20757\w\h[18]。交通标志的有效性往往用于促进安全驾驶,并旨在迅速传达关键信息,这取决于司机理解这些标志的能力。因此,研究人员着手确定在代表一系列人口统计学的驾驶员中,如何理解和遵守交通管制设备。研究是采用描述性的统计性的调查研究方法进行的。这项研究的人口涵盖了伊洛林的商业和私人司机。伊洛林州的三个地方政府辖区分别选取了伊洛林州南部、东部和西部。研究结果表明,在伊洛林60%的司机普遍了解交通管制设备REF_Ref20793\w\h[19]。实现了对标准和高动态范围(HDR)有机发光二极管(OLED)显示器的烧损测量技术,并进行了测试。提出的测量目标分析宽色域、非RGB主色和HDR显示。该系统已在商用OLED显示器上实现,以验证所提出的测量系统REF_Ref20832\w\h[20]。总的来说,国外的研究主要集中在智能交通领域和智能城市领域。利用无线传感器网络、计算机视觉和机器学习等技术,可以实现对危险标志牌的自动识别和分类,提高交通安全性和效率。未来,该领域有望得到更多的关注和发展REF_Ref20855\w\h[12]。综上所述,随着科技的快速发展,报警系统的研究已经达到热潮REF_Ref20884\w\h[13]。1.3主要研究内容本设计是一种基于STM32单片机技术的智能危险标志牌控制系统,系统使用GPRS技术实现远程数据传输。主控制板采用STM32F103C8T6单片机,用于驱动1.8寸TFT液晶屏显示危险报警标志。服务器端采用JavaScript语言和HTML前端语言进行设计和制作,从而实现智能标志牌的显示功能。通过这些技术的应用,智能危险标志牌能够更加智能化、高效化地实现危险信息的传输和展示。实现的功能如下:1.自动摆放,自动闪光,自动回收;2.道路车辆故障危险标志牌:按下开关后,RGB闪烁向后面车辆示警;3.屏幕在不同环境下会显示不同文字提醒;4.超声波测距模块,实时检测后面车辆距离标志牌距离‎,距离小于设定值,蜂鸣器示警;5.设计软件同时可以在上位机实时显示与后车距离。1.4论文构成论文在开始部分对社区电梯系统管理开发背景中,使用相应的开发技术进行论述,在对系统的生产和市场需求等分析,完成详细的论述,最后实现系统各个模块的设计、编辑,实现对功能模块的搭建,最后在这些基础上,对其开发流程完成论述。本论文的组织结构如下。第1章是完成智能危险标志牌控制系统设计状况分析。第2章主要是做出系统总体框架和功能设计。第3章是对论文实物的各个硬件模块进行设计说明。第4章是论文的软件逻辑设计分析检查。第5章是实物功能进行测试,检查实物是否可以正常运行。第6章是总结与展望。第2章系统总体结构设计2.1设计方案本设计是STM32F103C8T6单片机为控制核心,上位机模块、单片机模块、超声波测距模块、蜂鸣器模块以及OLED显示模块组成。系统总体设计结构框图如下图:上位机上位机蜂鸣器模块显示屏模块超声波测距传感器模块单片机图2.1结构框图蜂鸣器模块显示屏模块超声波测距传感器模块单片机2.2功能需求分析OLED显示模块:OLED有着色彩鲜艳、功耗低的优点,它的显示技术具有自发光的特性,透过非常薄的有机材料涂层和玻璃基板,当有电流通过时REF_Ref20940\w\h[14],这些有机材料就会发光,不仅显示屏幕可视角度大,因为少了LED背光,耗电能够降低。其他的特性,在荧幕应用设计上可以弯曲,因此可以用于设计的范围更广,如曲面屏幕、屏幕下指纹识别等REF_Ref20966\w\h[15]。超声波测距模块:超声测距是一种非接触式的检测技术,不会被光照、不被测对象颜色等影响,和其他仪器相比更卫生,更耐潮湿、高温、粉尘、腐蚀气体等恶劣环境,具有少维护、高可靠、不污染、长寿命等特点‎,因以上特性应用于纸业、电厂、水处理厂、农业用水、矿业、食品、、化工业、环保检测、水文、空间定位、公路限高等行业中REF_Ref20995\w\h[16]。蜂鸣器报警模块:距离小于设定值,蜂鸣器示警。2.3单片机型号选型32单片机可以对数码管显示进行一定的驱动,并且它外电路构造简单方便,它的A/D设置为10,精度可以满足要求。功能具备调试和编程功,它具备低电压、功耗消耗低、有较强驱动能力等优点。此外,PIC系列的单片机I/O口是双向的,输出为CMOS互补推挽的电路。I/O脚还添加了进行设置输入或设置输出的方向寄存器,进一步解决了51单片机系列I/O脚为高电平输入和输出的状态这一问题。当规定某个引脚设置为1时,此时引脚会处于一种输入模式。因此无论引脚处于高电平状态,还是一种低电平状态,它都会体现出高阻状态,即是外电路不会随之发生影响。当规定某个引脚设置为0时,此时引脚会处于输出模式。因此无论该引脚处于何种电平,它都体现出较强的驱动能力,能够输出电流,其输出电流可以高达20mA,其可以吸收输入电流为25mA。所以相比于51系列而言,它具有很大的优点。本次设计使用的是型号为F103C8T6的STM32,它是一种基于ARMCortex-M3内核的单片机,具有高效性能,成本较低的特点。另外它还具备以下几种优点:性能强大:本设计采用了以ARMCortex-M3为内核的STM32F103C8T6,具有较高的运算能力和处理速度,可实现复杂的算法和任务。外设丰富:该单片机具有一定充沛的外设资源,含有若干个定时器、串行通信接口(如UART、SPI、I2C)、模拟输入(输出)信号、PWM输出等多种外设资源,满足各种应用需求。存储容量大:64KB的Flash存储器和20KB的RAM是STM32F103C8T6所具备的,可用于存储代码和数据,适应较大规模的应用。低功耗设计:该单片机采用了低功耗设计,在运行任务时能够有效降低功耗,延长电池寿命,适用于需要长时间运行的应用场景。开发工具和生态系统的丰富性:STM32系列丰富的开发工具和生态系统是基于STMicroelectronics提供的,其中包含开发板、集成开发环境、软件库等,便于使用者进行软件的开发和调试。开放的生态系统:STM32F103C8T6基于ARMCortex-M3内核,广泛应用于工业自动化、物联网、嵌入式系统等领域。因此,开发者可以享受到来自ARM社区的支持和丰富的资源。需要注意的是,STM32F103C8T6也有一些限制,如较低的存储容量和少量的外设资源。因此,在选择单片机时,需要根据具体应用需求进行评估和比较。2.4系统运行环境本次智能危险标志牌控制系统设计论文,是以STM32系列单片机为基础与各个硬件模块组合实现运行。(1)STM32F103C8T6单片机;(2)超声波测距传感器;(3)蜂鸣器、OLED显示屏;(4)硬件间排线等若干。(1)使用电脑操作系统为:Windows10;(2)开发的软件是:KeiluVision5;(3)编辑程序语言为:C语言;(4)程序下载串口软件是:FlyMcu;(5)网络协议:TCP/IP。2.5总体方案设计第一步:通过图书馆和网‎‏络查询‎‏到所需‎‏要的资‎‏科,要‎‏各个硬‎‏件器件‎‏的详细‎‏资料,‎‏包括芯片‎‏的资料‎‏、模块‎‏的详细‎‏资料及‎‏其介绍‎‏和各个品种的优缺点。第二步:通过整理收集的材料梳理各个模块之间的关系;第三步:确定设计系统模块过程结构,画出总体的设计结果框图并画出;第四步:按照设计需求完成硬件设计要求;第五步:根据所需软件功能完成软件设计;第六步:进行实物设计,检查实物是否能够按照论文要求实现控制功能,最后整理结果。第3章系统硬件部分设计3.1系统总体设计本系统是一个智能危险标志牌设计,本设计采用单片机为主要模块,全部硬件开发主要包含超声波传感器、OLED显示屏、蜂鸣器,硬件系统设计需要完成以下个功能模块设计组成。总体原理图如图3.1所示。图3.1总体原理图3.2系统主要功能模块设计智能危险标志牌控制系统设计论文主要包括了OLED显示屏模块和蜂鸣器报警模块,超声波测距离模块以及STM32单片机最小系统设计。1.简介HC-SR04模块性能稳定,测度距离精确,模块高精度,盲区小。在我们生活中超声测距离模块应用十分广泛,电子设计中的避障智能车也正是应用到了此模块,才能达到避开障碍的功能。图3.2超声波传感器原理图2.电气参数(如表3.1所示)表3.1超声波测距传感器电气参数超声波测距模块参数值工作电压DC5V工作电流15mA工作频率40Hz最远射程4米最近射程2厘米测量角度15度输入出发信号10us的TTL脉冲输出回响信号输出与射程成正比的TTL电平信号规格尺寸40×20×15mm3.工作原理第一步:向超声波测距模块接收的Trig接口发送出周期不小于10微秒的脉冲信号。第二步:超声波测距模块接收到单片机发来的脉冲信号后会自动发送8个频率为4千赫兹的方波,并且进行自动检测信号是否返回。第三步:如果有信号返回,则通过Echo接口向单片机所对应的IO口发送一个高电平,高电平持续发出时间也就是超声波从发射直至返回的总时间。假设高电平所持续时长为T,声速是v(一般为340m/s),所测到的距离S=(T*v)/2。图3.3超声波传感器时序图产品特点:OLED为自发光材料,不需用到背光板,同时视角广、画质均匀、反应速度快、较易彩色化、用简单驱动电路即可达到发光、制程简单、可制作成挠曲式面板,符合轻薄短小的原则,应用范围属于中小尺寸面板。显示方面:主动发光、视角范围大;响应速度快,图像稳定;亮度高、色彩丰富、分辨率高。工作条件:驱动电压低、能耗低,可与太阳能电池、集成电路等相匹配。适应性广:采用玻璃衬底可实现大面积平板显示;如用柔性材料做衬底,能制成可折叠的显示器。由于OLED是全固态、非真空器件,具有抗震荡、耐低温(-40℃)等特性,在军事方面也有十分重要的应用,如用作坦克、飞机等现代化武器的显示终端。其原理图如图3.4所示图3.4OLED原理图蜂鸣器分为两大类,有源蜂鸣器和无源蜂鸣器,一般用于发出报警的声音。声音是由震动产生的,大家都见过喇叭,喇叭里面有磁铁和线圈。给线圈通上不断变化的电压,在磁铁产生的磁场中就会运动。于是和线圈固定在一起的振膜就会震动,于是就能听见声音了,而无源蜂鸣器和喇叭效果基本一样。和无源蜂鸣器不同的是,有源蜂鸣器内部就有发声电路,通上电压合适的直流电就会发出叫声。另外,有源蜂鸣器有正负极之分,如果器件是全新的没有剪过引脚,正极引脚比负极长。蜂鸣器的正极接电源正极,根据单片机的电流特性,不足以直接驱动蜂鸣器。有三极管的输出特性,利用晶体管的饱和和截止特性构成开关电路。PC14为高电平时基极与集电极之间反向偏置,不导通;当PC14为低电平时,基极与集电极之间正向偏置,导通。电路工作,蜂鸣器工作,单片机只需要吸收较小的输入电流。其原理图如图3.5所示图3.5蜂鸣器报警电路原理图最小系统就是能在正常工作和下载程序下的最简电路通常包括:电源、复位、时钟、程序下载。主控制芯片选择STM32F103C8T6,这款芯片产于意法半导体集团,它的存储器是64k的它是32的控制器工作电压2V~3.6V在室温可以正常工作,它的传输速度达到了72MHz,工作电压2V~3.6V在室温可以正常工作。STM32系列单片机各方面均比较强。该系列单片机的成本低、功耗低,但是在嵌入式开发程序中拥有比较良好性能可以及时反馈信息,在集成等方面也展现比较优异的表现,由于其简单的结构和容易上手的操作并且结合了强大的功能性,在业界很受欢迎。其原理图如图3.6所示图3.6单片机最小系统第4章软件系统设计功能模块系统功能的设计是满足需求设计的,如果能告诉所有处理特别程序需要的设备,如果该系统对投入、产出和模块作了准确的描述,就能使程序更有效地避免该系统的应用阶段。4.1软件主流程图开始开始时首先对单片机初始化,使得对应的IO口以及中断寄存器置位,以满足接下来所进行的操作。开始NY蜂鸣器报警结束OLED显示距离超声波测距是否超过阈值初始化图4.1系统软件主流程图NY蜂鸣器报警结束OLED显示距离超声波测距是否超过阈值初始化4.2超声波传感器的软件系统设计超声波传感器:选择合适的超声波传感器,其工作频率和检测距离需要与实际距离匹配,一般常用的频率为40kHz,探测距离为2m以上。控制电路:控制电路主要由单片机、驱动芯片和逻辑电路组成。单片机接收超声波传感器采集到的信号,并通过驱动芯片来控制地铁自动门的开关。电源电路:由于超声波传感器和控制电路都需要稳定的电源供电,因此需要设计合适的电源电路,以保证系统正常工作。PCB设计:根据实际需要,设计合适的PCB电路板,将超声波传感器、控制电路和电源电路等元件进行布局,以便后续的制造和调试。总之,系统中超声波测距传感器的硬件设计需要综合考虑传感器的选择和布局、控制电路的设计和布局以及电源电路的设计等因素,以确保系统的稳定可靠性和正常运行。首先,进行初始化。其次,传感器采集距离信息,当采集到的距离低于阈值后系统进行报警并进行显示;不低于阈值不需要报警。开始开始系统初始化系统初始化传感器采集信息传感器采集信息距离是否低于阈值距离是否低于阈值Y报警N报警显示屏显示显示屏显示图4.2超声波传感器流程图4.3OLED显示控制设计OLED技术是一种新兴的平面显示器应用技术,具有许多优异的特性。它使用非常薄的有机材料涂层和玻璃基板,可以自发光,而LCD则需要背光源。因此,OLED显示屏具有视角广、反应速度快、节能等特点,适用于需要高质量显示效果的场景。虽然目前OLED尺寸还难以大型化,但其分辨率可达到很高水平,已经在MP3播放器等领域得到了广泛应用。显示屏通常是通过串口或并口与单片机进行通信的,具体的设计如下:通信接口:根据显示屏的类型,选择相应的通信接口。常见的通信接口有串口、并口、I2C等。串口通信电路:如果使用串口通信,需要添加串口通信电路。串口通信电路包括电平转换电路、电流限制电路、保护电路等。如果使用单片机自带的串口通信,则不需要添加这些电路。并口通信电路:如果使用并口通信,需要添加并口通信电路。并口通信电路包括数据线驱动电路、控制线驱动电路、电平转换电路、保护电路等。显示屏供电电路:显示屏需要供电,通常可以通过单片机供电或者外部电源供电。需要设计相应的电源管理电路。显示屏控制电路:显示屏的控制电路包括数据传输控制电路、命令控制电路、背光控制电路等。这些电路需要根据具体的显示屏型号和接口进行设计。以上是显示屏的基本设计,具体实现需要根据具体的显示屏型号、通信接口和系统要求进行调整和优化。开始开始初始化初始化清屏清屏数据显示数据显示数据处理数据处理结束结束图4.3显示屏流程图4.4蜂鸣器报警软件系统设计蜂鸣器的软件设计需要满足以下要求:控制方式要求:蜂鸣器需要支持多种控制方式,例如定时控制、远程控制等,以满足实际应用需求。状态监测:软件需要实现对蜂鸣器状态的监测,包括开关状态、声音模式、音量等参数。多声音模式支持:软件需要支持多种声音模式,例如持续鸣叫、脉冲鸣叫等,本论文只是用一种声音。音量调节:软件需要支持音量调节,以适应不同的环境监测场景。定时控制:软件需要支持定时控制,实现对蜂鸣器的定时开关、定时鸣叫等功能,这次设计未使用。远程控制:需要软件支持远程控制,通过单片机实现对蜂鸣器的远程控制,以便于可以对其远程操控。扩展性:软件需要具备较高的扩展性,以满足实际应用需求。例如支持多路蜂鸣器输出、支持固件升级等功能。基于以上需求,蜂鸣器的软件设计可以采用嵌入式系统设计方式,通过单片机控制蜂鸣器的开关和声音模式。软件设计可以采用模块化设计方式,实现不同功能模块之间的解耦和扩展性。为了实现定时控制和远程控制功能,可以将蜂鸣器连接到物联网平台,并通过平台提供的API实现控制功能。另外,为了确保软件的稳定性和安全性,需要对软件进行测试和验证,以确保软件的正确性和稳定性。首先,系统初始化,然后采集数据,进行下一步的阈值比较,最后执行蜂鸣器发声函数。开始开始初始化初始化大于阈值电压信号采集大于阈值电压信号采集阈值比较阈值比较小于阈值小于阈值蜂鸣器报警蜂鸣器报警图4-4蜂鸣器流程图4.5本章小结对系统的功能进行分析,论述各个功能模块的需求,对其中功能模块的设计进行流程化,可以使得系统具有完整性,可以实现相应的功能,利于后期的系统开发,简化后期的工作第5章系统测试5.1系统实物图本设计是一种基于STM32单片机技术的智能危险标志牌控制系统设计,使用GPRS技术远程传输数据,主控采用STM32F103C8T6的单片机驱动显示屏,屏幕采用1.8寸TFT液晶屏,服务器端采用JavaScript语言和HTML前端语言设计制作一个能够实现危险报警标志显示的智能标志牌。首先,连接实物电路图,检查是否连接正确。其次,检查无误后进行通电。最后,将软件程序下载到实物图中。图5.1系统完整实物图5.2测试目的软件测试是为了发现系统中可能存在的缺陷,其目的是通过模拟实际应用场景和人为制造异常情况的方式来检测软件中的缺陷。与其说是为了尽可能多地发现错误,不如说是为了保证软件的质量和稳定性。在软件测试过程中,发现错误的数量并不是衡量测试质量的唯一标准,而是要综合考虑测试的全面性、深度和效率等方面。同时,测试过程中也应该注重测试报告的准确性和完整性,以便开发人员及时修复软件中存在的缺陷。5.3测试原则在进行软件测试时,应当遵循下面四个基本原则。首先,基于系统的需求进行测试,即测试用例应当与系统的需求一一对应,确保测试能够涵盖所有的系统功能。其次,测试应当尽早地进行,以便在系统开发过程中及早发现和修复问题,避免问题在后期成为不可控的风险。在编写测试用例时,还要考虑极端的条件,如特殊值、边界值的输入,以确保软件在不同情况下都能够正确地运行。最后,编写合理的输入条件与不合理的输入条件进行测试,以确保软件能够正确地处理各种异常情况。在测试中,还要注意测试中的群集现象,即相似的测试用例可能导致重复的测试,浪费时间和资源,因此应当合理地组织和设计测试用例,以最大化测试效果。5.4功能测试智能危险标志牌控制系统设计能够利用超声波测距传感器测量距离,当距离小于阈值时,蜂鸣器会发声报警。并且将采集到的距离数值上传到上位机。同时,OLED显示屏能够显示危险标志牌。如图5.2和5.3所示。连接实物电路图,检查是否连接正确,检查无误后进行通电。将软件程序下载到实物图中。打开手机app,连接手机设备,观看采集到的信息。图5.2上位机功能测试图5.3显示屏功能测试5.5本章小结在该章中,对系统的功能模块进行测试,对其获得的测试进行详细的记录,并且进行分析,可以使得系统具有正常运行的特性,在模块控制中,通过正常的使用,可以符合要求,使得该系统通过测试。总结与展望6.1总结此次设计不仅仅是一个硬件电路设计和程序编写的过程,更重要的是实际问题的分析和设计阶段的努力。首先,通过查阅文献来获得研究资料,对系统设计中所涉及到的相关内容,初步构想系统要实现的功能及其运用的技术并搜集相关资料,作为系统设计的素材。其次,通过对文献的研究,运用归纳和演绎、分析与综合以及抽象与概括等方法,深入了解软件和硬件开发的相关技术,从而熟悉系统中各个功能模块之间的关系,掌握系统的工作原理及其本质,确定开发流程。最后,希望通过已有的每一块功能的结合进行总结,设计出一套优良的系统,并规范的编写程序。在软硬件的设计过程当中遇到了许多意想不到的问题。软件方面最大的问题就是逻辑的问题,有时候想法不够细腻和仔细使得在进行模拟的时候会出现逻辑上的错误,然而通过不断的尝试和实验最后发现了漏洞并且解决了问题。通过此次毕业设计,充分利用单片机开发上的灵活、快速的特点,实现了智能控制的设计。6.2展望智能危险标志牌控制系统作为一种新型的交通安全设施,其发展前景非常广阔。随着人们对道路交通安全的重视程度不断提高,智能危险标志牌的需求也会越来越大。同时,随着物联网技术的发展和应用,智能危险标志牌控制系统可以与其他设备进行联动,形成更为智能化的交通管理系统。未来的发展趋势可能包括以下几个方面:多样化的显示形式:目前智能危险标志牌大多采用LED显示屏幕,未来可能出现更多样化的显示形式,如可弯曲、柔性的显示屏、全息投影等技术的应用。我期望智能危险标志牌控制系统有以下预期成果如:优化标识牌样式和颜色,增强辨识度是人们更容易识别以及避难场所,预示道路某一段的环境和地理状况,警示人们注意危险,提前做好思想准备以防交通事故发生,未来通过技术的不断进的危险标志牌可以调节车辆流量疏通交通规范交通行为。总之,智能危险标志牌控制系统作为一种新型的交通安全设施,其未来发展前景非常广阔。随着技术的不断发展和应用,其在道路交通安全领域的作用也会越来越重要。参考文献[1]史春侠.现代电子通信系统设计与改造研究[J].电子设计工程.2021.06.[2]王志辛,高倩,魏磊.基于GPRS模块的无线通信系统设计[J].数字通信世界.2019.[3]李耀武.基于单片机的电子LED闪字屏的电路设计[J].西部皮革.2018.[4]孙艳琴.基于串口服务器的水温远程通信系统设计与实现[J].无线互联科技.2018.[5]刘亚锋.无线通信系统设计中的两个优化问题和相关优化方法[J].运筹学学报.2019.[6]蒋鹏程,魏龙琦,陈鑫鑫,等.景区智能标志牌的研究设计[J].电子技术与软件工程,2022(02):161-164.[7]刘佳滢,张建义,袁嫣红.基于GPRS的农村污水处理远程监测系统[J].机电工程.2020.[8]金鑫鑫.基于嵌入式GPRS无线数据传输系统实现及应用[J].西安文理学院学报(自然科学版).2018.[9]李合军.基于单片机的网络覆盖控制技术[J].电子技术与软件工程.2021.[10]何立民.《单片机高等教程》.北京航空航天大学出版社,2020.[11]张浩锐.短距离无线数据传输系统研究[J].科技资讯.2019.[12]张雷,陆懋德,等.国家电网公司电力安全工作规程变电部分[M].北京:中国电力出版社,2019:24-25.[13]张静.关于变电运行设备的维护技术的分析[J].科技创新与应用,2018(33):172.[14]王静霞.《单片机应用技术》.电子工业出版社,2019.[15]何立民.《单片机应用系统设计系统配置与接口技术》.北京航空航天大学出版社,2019.[16]Kortumk,Mollerm,Hirneibc,etal.Smarteyedata:devdtopahealtO0%ofoundationformedicalrescarchusingSmartDataapplications[J].DerOphthalmologeZeitschriftDerDeutschenOphthalmologischenGescllschaft,2019.[17]FredjHanaBen,ChabbahAmani,BailiJamel,etal.AnefficientimplementationoftrafficsignsrecognitionsystemusingCNN[J].MicroprocessorsandMicrosystems,2023,98.[18]PanduranganRaji,JayaseelanSamuelManoharan,RajalingamSuresh,etal.AnovelhybridmachinelearningapproachfortrafficsigndetectionusingCNN-GRNN[J].JournalofIntelligent&FuzzySystems,2023,44(1).[19]SikiratDamilolaMustapha,B.A.Ibitoye.UnderstandingofTrafficSignsbyDriversonUrbanRoads–ACaseStudyofIlorin,KwaraState[J].JournalofEngineeringResearchandReports,2022.[20].KevinKam,YuTiantong,KeithBehrman,etal.57‐3:CharacterizingImageRetentionforHDROLEDDisplays[J].SIDSymposiumDigestofTechnicalPapers,2020,51(1).附录A总原理图图A.1总原理图B程序main.c#include"delay.h"#include"sys.h"#include"key.h"#include"usart.h"#include"usart2.h"#include"usart3.h"#include"led.h"#include"UltrasonicCtrol.h"#include"QDTFT_demo.h"#include"Lcd_Driver.h"#include"GUI.h"#include"timer.h"unsignedcharduoji_count=0;unsignedcharzhuanjiao=11;intbiaozhi1=1;intbiaozhi2=0;intbiaozhi3=1;intbiaozhi4=0;u8flags[3];intyuyin=0;intjdqNum=0;intjdqNum1=20;intbiaozhire=0;unsignedcharsenddata[30];intbiaozhiJB=0;inttimeS=30;intzidong=0;unsignedcharjuli[10];intjiare=0;intnumTime;voidUSART1_Puts(char*str){while(*str){USART1->DR=*str++;while((USART1->SR&0X40)==0);}}voidUSART2_Puts(char*str){while(*str){USART2->DR=*str++;while((USART2->SR&0X40)==0);}}voidUSART3_Puts(char*str){while(*str){USART3->DR=*str++;while((USART3->SR&0X40)==0);}}voidsend(unsignedchara){ USART1->DR=a;//将接收到的数据放入到发送寄存器while((USART1->SR&0X40)==0); }intmain(void){ u8key;u8str;intt; delay_init(); NVIC_Configuration();//设置系统中断优先级分组2 KEY_Init();usart2_init(9600); UltraSoundInit(); LED_Init(); LED0=1; LED1=1; LED2=1; beep_Init(); beep=1; Lcd_Init(); TIM2_Init(); ServoInit(); LCD_LED_SET;//通过IO控制背光亮 Lcd_Clear(WHITE);//清屏 Lcd_Clear(WHITE);//清屏 DuojiMid(); delay_ms(1000); DuojiRight(); while(1) {Distance();//计算距离juli[0]=distance_cm%10000/1000+'0';juli[1]=distance_cm%1000/100+'0'; juli[2]=distance_cm%100/10+'0';juli[3]=distance_cm%10+'0';juli[4]='0'; Lcd_SetRegion(10,10,109,30); //坐标设置 Gui_DrawFont_GBK16(10,10,RED,GRAY0,juli); if(distance_cm<50&&distance_cm>0){ biaozhi1=1;beep=0; }else{ biaozhi1=0;beep=1; }jdqNum++; if(jdqNum>10){ jdqNum=0; senddata[0]='w'; senddata[1]='1'; senddata[2]=distance_cm%10000/1000+'0'; senddata[3]=distance_cm%1000/100+'0'; senddata[4]=distance_cm%100/10+'0'; senddata[5]=distance_cm%10+'0'; senddata[6]=biaozhi1%10+'0'; senddata[7]='z';senddata[8]=0; USART2_Puts(senddata); } if(biaozhiJB==1){ QDTFT_Test_Demo(); LED0=0;LED1=0;LED2=0; delay_ms(50); LED0=1;LED1=1;LED2=1; delay_ms(50); }else{ delay_ms(100); LED0=1;LED1=1;LED2=1; delay_ms(100); } if(KEY1==1){biaozhiJB=1;}if(KEY2==1){ Lcd_Clear(WHITE);//清屏 biaozhiJB=0;}if(KEY3==1){ } // delay_ms(500); }}/*Includes*/#include"stm32f10x_it.h"voidNMI_Handler(void){}voidHardFault_Handler(void){/*GotoinfiniteloopwhenHardFaultexceptionoccurs*/while(1){}}voidMemManage_Handler(void){/*GotoinfiniteloopwhenMemoryManageexceptionoccurs*/while(1){}}voidBusFault_Handler(void){/*GotoinfiniteloopwhenBusFaultexceptionoccurs*/while(1){}}voidUsageFault_Handler(void){/*GotoinfiniteloopwhenUsageFaultexceptionoccurs*/while(1){}}voidSVC_Handler(void){}voidDebugMon_Handler(void){}voidPendSV_Handler(void){}voidSysTick_Handler(void){}#include"stm32f10x.h"/***@}*//**@addtogroupSTM32F10x_System_Private_TypesDefinitions*@{*//***@}*//**@addtogroupSTM32F10x_System_Private_Defines*@{*//*!<UncommentthelinecorrespondingtothedesiredSystemclock(SYSCLK)frequency(afterresettheHSIisusedasSYSCLKsource)IMPORTANTNOTE:==============1.AftereachdeviceresettheHSIisusedasSystemclocksource.2.PleasemakesurethattheselectedSystemclockdoesn'texceedyourdevice'smaximumfrequency.3.Ifnoneofthedefinebelowisenabled,theHSIisusedasSystemclocksource.4.TheSystemclockconfigurationfunctionsprovidedwithinthisfileassumethat:-ForLow,MediumandHighdensityValuelinedevicesanexternal8MHzcrystalisusedtodrivetheSystemclock.-ForLow,MediumandHighdensitydevicesanexternal8MHzcrystalisusedtodrivetheSystemclock.-ForConnectivitylinedevicesanexternal25MHzcrystalisusedtodrivetheSystemclock.Ifyouareusingdifferentcrystalyouhavetoadaptthosefunctionsaccordingly.*/#ifdefined(STM32F10X_LD_VL)||(definedSTM32F10X_MD_VL)||(definedSTM32F10X_HD_VL)/*#defineSYSCLK_FREQ_HSEHSE_VALUE*/#defineSYSCLK_FREQ_24MHz24000000#else/*#defineSYSCLK_FREQ_HSEHSE_VALUE*//*#defineSYSCLK_FREQ_24MHz24000000*//*#defineSYSCLK_FREQ_36MHz36000000*//*#defineSYSCLK_FREQ_48MHz48000000*//*#defineSYSCLK_FREQ_56MHz56000000*/#defineSYSCLK_FREQ_72MHz72000000#endif/*!<UncommentthefollowinglineifyouneedtouseexternalSRAMmountedonSTM3210E-EVALboard(STM32HighdensityandXL-densitydevices)oronSTM32100E-EVALboard(STM32High-densityvaluelinedevices)asdatamemory*/#ifdefined(STM32F10X_HD)||(definedSTM32F10X_XL)||(definedSTM32F10X_HD_VL)/*#defineDATA_IN_ExtSRAM*/#endif/*!<UncommentthefollowinglineifyouneedtorelocateyourvectorTableinInternalSRAM.*//*#defineVECT_TAB_SRAM*/#defineVECT_TAB_OFFSET0x0/*!<VectorTablebaseoffsetfield.Thisvaluemustbeamultipleof0x200.*//***@}*//**@addtogroupSTM32F10x_System_Private_Macros*@{*//***@}*//**@addtogroupSTM32F10x_System_Private_Variables*@{*/#ifdefSYSCLK_FREQ_HSEuint32_tSystemCoreClock=SYSCLK_FREQ_HSE;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_24MHzuint32_tSystemCoreClock=SYSCLK_FREQ_24MHz;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_36MHzuint32_tSystemCoreClock=SYSCLK_FREQ_36MHz;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_48MHzuint32_tSystemCoreClock=SYSCLK_FREQ_48MHz;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_56MHzuint32_tSystemCoreClock=SYSCLK_FREQ_56MHz;/*!<SystemClockFrequency(CoreClock)*/#elifdefinedSYSCLK_FREQ_72MHzuint32_tSystemCoreClock=SYSCLK_FREQ_72MHz;/*!<SystemClockFrequency(CoreClock)*/#else/*!<HSISelectedasSystemClocksource*/uint32_tSystemCoreClock=HSI_VALUE;/*!<SystemClockFrequency(CoreClock)*/#endif__Iuint8_tAHBPrescTable[16]={0,0,0,0,0,0,0,0,1,2,3,4,6,7,8,9};/***@}*//**@addtogroupSTM32F10x_System_Private_FunctionPrototypes*@{*/staticvoidSetSysClock(void);#ifdefSYSCLK_FREQ_HSEstaticvoidSetSysClockToHSE(void);#elifdefinedSYSCLK_FREQ_24MHzstaticvoidSetSysClockTo24(void);#elifdefinedSYSCLK_FREQ_36MHzstaticvoidSetSysClockTo36(void);#elifdefinedSYSCLK_FREQ_48MHzstaticvoidSetSysClockTo48(void);#elifdefinedSYSCLK_FREQ_56MHzstaticvoidSetSysClockTo56(void);#elifdefinedSYSCLK_FREQ_72MHzstaticvoidSetSysClockTo72(void);#endif#ifdefDATA_IN_ExtSRAMstaticvoidSystemInit_ExtMemCtl(void);#endif/*DATA_IN_ExtSRAM*//***@}*//**@addtogroupSTM32F10x_System_Private_Functions*@{*//***@briefSetupthemicrocontrollersystem*InitializetheEmbeddedFlashInterface,thePLLandupdatethe*SystemCoreClockvariable.*@noteThisfunctionshouldbeusedonlyafterreset.*@paramNone*@retvalNone*/voidSystemInit(void){/*ResettheRCCclockconfigurationtothedefaultresetstate(fordebugpurpose)*//*SetHSIONbit*/RCC->CR|=(uint32_t)0x00000001;/*ResetSW,HPRE,PPRE1,PPRE2,ADCPREandMCObits*/#ifndefSTM32F10X_CLRCC->CFGR&=(uint32_t)0xF8FF0000;#elseRCC->CFGR&=(uint32_t)0xF0FF0000;#endif/*STM32F10X_CL*//*ResetHSEON,CSSONandPLLONbits*/RCC->CR&=(uint32_t)0xFEF6FFFF;/*ResetHSEBYPbit*/RCC->CR&=(uint32_t)0xFFFBFFFF;/*ResetPLLSRC,PLLXTPRE,PLLMULandUSBPRE/OTGFSPREbits*/RCC->CFGR&=(uint32_t)0xFF80FFFF;#ifdefSTM32F10X_CL/*ResetPLL2ONandPLL3ONbits*/RCC->CR&=(uint32_t)0xEBFFFFFF;/*Disableallinterruptsandclearpendingbits*/RCC->CIR=0x00FF0000;/*ResetCFGR2register*/RCC->CFGR2=0x00000000;#elifdefined(STM32F10X_LD_VL)||defined(STM32F10X_MD_VL)||(definedSTM32F10X_HD_VL)/*Disableallinterruptsandclearpendingbits*/RCC->CIR=0x009F0000;/*ResetCFGR2register*/RCC->CFGR2=0x00000000;#else/*Disableallinterruptsandclearpendingbits*/RCC->CIR=0x009F0000;#endif/*STM32F10X_CL*/#ifdefined(STM32F10X_HD)||(definedSTM32F10X_XL)||(definedSTM32F10X_HD_VL)#ifdefDATA_IN_ExtSRAMSystemInit_ExtMemCtl();#endif/*DATA_IN_ExtSRAM*/#endif/*ConfiguretheSystemclockfrequency,HCLK,PCLK2andPCLK1prescalers*//*ConfiguretheFlashLatencycyclesandenableprefetchbuffer*/SetSysClock();#ifdefVECT_TAB_SRAMSCB->VTOR=SRAM_BASE|VECT_TAB_OFFSET;/*VectorTableRelocationinInternalSRAM.*/#elseSCB->VTOR=FLASH_BASE|VECT_TAB_OFFSET;/*VectorTableRelocationinInternalFLASH.*/#endif}/***@briefUpdateSystemCoreClockvariableaccordingtoClockRegisterValues.*TheSystemCoreClockvariablecontainsthecoreclock(HCLK),itcan*beusedbytheuserapplicationtosetuptheSysTicktimerorconfigure*otherparameters.**@noteEachtimethecoreclock(HCLK)changes,thisfunctionmustbecalled*toupdateSystemCoreClockvariablevalue.Otherwise,anyconfiguration*basedonthisvariablewillbeincorrect.**@note-Thesystemfrequencycomputedbythisfunctionisnotthereal*frequencyinthechip.Itiscalculatedbasedonthepredefined*constantandtheselectedclocksource:**-IfSYSCLKsourceisHSI,SystemCoreClockwillcontaintheHSI_VALUE(*)**-IfSYSCLKsourceisHSE,SystemCoreClockwillcontaintheHSE_VALUE(**)**-IfSYSCLKsourceisPLL,SystemCoreClockwillcontaintheHSE_VALUE(**)*orHSI_VALUE(*)multipliedbythePLLfactors.**(*)HSI_VALUEisaconstantdefinedinstm32f1xx.hfile(defaultvalue*8MHz)buttherealvaluemayvarydependingonthevariations*involtageandtemperature.**(**)HSE_VALUEisaconstantdefinedinstm32f1xx.hfile(defaultvalue*8MHzor25MHz,depedningontheproductused),userhastoensure*thatHSE_VALUEissameastherealfrequencyofthecrystalused.*Otherwise,thisfunctionmayhavewrongresult.**-Theresultofthisfunctioncouldbenotcorrectwhenusingfractional*valueforHSEcrystal.*@paramNone*@retvalNone*/voidSystemCoreClockUpdate(void){uint32_ttmp=0,pllmull=0,pllsource=0;#ifdefSTM32F10X_CLuint32_tprediv1source=0,prediv1factor=0,prediv2factor=0,pll2mull=0;#endif/*STM32F10X_CL*/#ifdefined(STM32F10X_LD_VL)||defined(STM32F10X_MD_VL)||(definedSTM32F10X_HD_VL)uint32_tprediv1factor=0;#endif/*STM32F10X_LD_VLorSTM32F10X_MD_VLorSTM32F10X_HD_VL*//*GetSYSCLKsource*/tmp=RCC->CFGR&RCC_CFGR_SWS;switch(tmp){case0x00:/*HSIusedassystemclock*/SystemCoreClock=HSI_VALUE;break;case0x04:/*HSEusedassystemclock*/SystemCoreClock=HSE_VALUE;break;case0x08:/*PLLusedassystemclock*//*GetPLLclocksourceandmultiplicationfactor*/pllmull=RCC->CFGR&RCC_CFGR_PLLMULL;pllsource=RCC->CFGR&RCC_CFGR_PLLSRC;#ifndefSTM32F10X_CLpllmull=(pllmull>>18)+2;if(pllsource==0x00){/*HSIoscillatorclockdividedby2selectedasPLLclockentry*/SystemCoreClock=(HSI_VALUE>>1)*pllmull;}else{#ifdefined(STM32F10X_LD_VL)||defined(STM32F10X_MD_VL)||(definedSTM32F10X_HD_VL)prediv1factor=(RCC->CFGR2&RCC_CFGR2_PREDIV1)+1;/*HSEoscillatorclockselectedasPREDIV1clockentry*/SystemCoreClock=(HSE_VALUE/prediv1factor)*pllmull;#else/*HSEselectedasPLLclockentry*/if((RCC->CFGR&RCC_CFGR_PLLXTPRE)!=(uint32_t)RESET){/*HSEoscillatorclockdividedby2*/SystemCoreClock=(HSE_VALUE>>1)*pllmull;}else{SystemCoreClock=HSE_VALUE*pllmull;}#endif}#elsepllmull=pllmull>>18;if(pllmull!=0x0D){pllmull+=2;}else{/*PLLmultiplicati

温馨提示

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

评论

0/150

提交评论