基于STM32的智能电子秤设计_第1页
基于STM32的智能电子秤设计_第2页
基于STM32的智能电子秤设计_第3页
基于STM32的智能电子秤设计_第4页
基于STM32的智能电子秤设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

摘要本次设计的目的是设计一款基于STM32的智能电子秤设计,随着科学技术的不断发展,传统的机械秤逐渐被电子秤所取代,相比于计量不精确,费时费力的机械秤,智能电子秤在使用上方便快捷,还可保证结果准确性。该设计使用STM32单片机作为处理器来控制各种传感器和外围设备。LCD12864显示检测到的物品重量,压力传感器应使用用于称重。通过检测物体对传感器造成的压力,通过公式计算得出物体的重量,此外通过16个按键组成矩阵键盘,可以输入数字,并进行加减乘除操作,通过重量和单价计算出总价,语音播报出来。关键词:电子秤;STM32单片机;LCD12864液晶屏;压力传感器;语音模块

ABSTRACTThepurposeofthisdesignistodesignanelectronicscalesystembasedonSTM32singlechipmicrocomputer.Withthecontinuousdevelopmentofscienceandtechnology,thetraditionalmechanicalscaleisgraduallyreplacedbyelectronicscale.Comparedwiththemechanicalscalewhichisnotaccurateandtime-consuming,theintelligentelectronicscaleisconvenientandfastinuse,andcanalsoensuretheaccuracyoftheresults.ThedesignusesSTM32MCUasaprocessortocontrolvarioussensorsandperipheraldevices.TheLCD12864showstheweightofthedetecteditemandthepressuresensorshouldbeusedforweighing.Bydetectingthepressureofthesensorcausedbytheobject,theweightoftheobjectiscalculatedthroughtheformula.Inaddition,thematrixkeyboardiscomposedof16keys,thenumbercanbeinput,andtheoperationofaddition,subtraction,multiplicationanddivisioncanbecarriedout.Thetotalpriceiscalculatedthroughtheweightandtheunitprice,andthevoiceisreadout.Keywords:electronicscale;STM32singlechipmicrocomputer;LCD12864liquidcrystalscreen;pressuresensor;voicebroadcast目录摘要 1目录 3第1章引言 41.1设计背景 41.2设计依据 41.3设计目的与主要功能 5第2章设计方案 62.1原件清单 62.2设计思路 62.3系统构成 6第3章硬件电路设计 73.1系统硬件原理图 73.2STM32概述 83.3Cortex-M3概述 93.4STM32的主要优点 103.5矩阵键盘电路 113.6电源电路 123.7重量监测电路 133.8LCD12864液晶显示电路 143.9语音播报电路 153.9.1语音模块硬件参数 163.9.2语音模块引脚说明 163.9.3JQ8900语音芯片特征 173.9.4语音模块连接图 18第4章系统软件设计 184.1软件主程序 184.2LCD12864显示子程序 194.3按键子程序 204.4重量检测子程序 21第5章调试 225.1焊接调试 225.2功能调试 22第6章结语 23参考文献 23致谢 24第1章引言此部分主要介绍设计背景、设计依据、设计目的与主要功能1.1设计背景从古至今,称重技术就是人们日常生活测量物体质量的方法,在日常研究实验科学被人们广泛接纳和应用,如工业和农业、运输、国内外贸易等各个领域。它与生产和人民的生活密切相关。近年来由于科学技术的发展以及生产力的提高,传统的机器逐渐被淘汰电子智能产品新兴起来,在以前,人们一般采用的是机械式秤砣来进行货物的承重测量,传统的机械秤,虽然已经能够解决生活中大部分称重问题,给人们生活带来极大的方便,但是由于此方法的实现是以杠杆原理为基础,测量称重的结果不是很准确,容易出现误差,时间久了,秤砣损坏,还会导致数据的误差进一步加大,更有黑心商人靠着投机取巧的手段,依靠机械秤做偷斤少量的买卖,给社会造成了很恶劣的影响。随着智能电子秤的问世,机械秤逐渐淡出了市场,电子秤的种类繁多,从上万吨的大型电子秤到几克的小型电子秤,都是基于电子秤的原理实现的。电子秤的实现原理很简单,将货物放置在称重面上,压力传感器监测货物对其的压力,受到的压力和重量成正比,按照一定的公式,单片机将接收到的压力通过计算得出重量,并显示在液晶屏上进行展示,同时语音芯片进行语音播报。另一个创新点就是电子秤具有计算功能,这一创新功能大大提高了秤的功能性,将计算器和秤结合在一起,通过16个按键组成按键矩阵,进行加减乘除操作,根据重量和单价,很快计算出总价,对于货物的出售带来了极大的方便。为了更好地研究电子秤的工作原理和实现方式,本次设计了一款基于STM32单片机的电子秤系统。1.2设计依据在面对主控制单片机芯片模块选择的难题时,有很多种方案提供给我们选择,市场上常见的有STC89C52和51的单片机,也有STM32单片机,52单片机有许多的优点及缺点,但它的集成程度不高,性价比也不乐观,晶振时钟也较为落后,放弃了选择STC89C52芯片而选择了STM32芯片。同样是单片机,但其比较与51或是52来讲,集成的程度更高,性价比也更加乐观晶振时钟电路也更加的先进和人性化,功能也随之多种多样。其搭配洞洞板,也具有较为清晰的输入输出I/O口,同时8KBYTES的可反复擦写的只读程序的存储器也是STM32单片机的一大特色,其RAM也就是随机存取数据存储器更是为此芯片锦上添花,这也就是我选择它的最大的理由。然后用压力传感器搭配使用HX711AD模块来实现此次设计的重量检测功能,而压力传感器方面则是选择5KG的,因为只有5KG的合适一些。压力首先由压力传感器控制,取决于压力和四个压力电阻的变化。将物体的压力在内部转换成电流进行输出给到HX711芯片,而HX711AD模块将模拟量转换成数字量,并发数到STM32单片机上。然后考虑到继电器方面,在市场上继电器有多种多样的例如MY4N-GSDC12以及更多,我们这次选用的是5V的继电器,因为它的最高电压不高,相对其他的来言,比较安全,在电路设计方面也比较简单易懂,控制电路通断,通过电阻的线圈,通电产生磁力来控制,没有什么太大的理解难度,而在参考之时,确定好继电器的电阻电压值是很有必要的,那是因为继电器的电阻电压值一般确定为供电电路中的所有的供电电压,例如选择的STM32单片机是5V提供电源,而继电器的电压就要等于或者大于5V,在这其中我们节省了很多资源,它给人们带来了更好、更大的利益,而资源的利用率变得更高了,不也是我们的初心所在吗。在单片机这个选取中,相比照常见的AT89C52芯片,选取用单片机、性能更加庞大的STM32芯片,集成水平更强大,便宜低廉,性能五花八门,由配置在单片机上的输入I/输出O操作。比较简单。重量监测功能采用电子压力传感器和电子秤、HX711AD模块完成,本设计选用5KG电子压力传感器和一个HX711AD转换模块共同组成重量监测,压力首先由压力传感器控制,取决于压力和4个压力电阻的变化。将压力转换成电流进行输出给HX711芯片,HX711AD模块将模拟量转换成数字量,并发数到单片机。继电器设计者一般选用5V继电器的优点为特别安全有保障,相较来说此电路设计比较简单。所以一般设计者常常选用5V继电器。在选择时需要明确5V继电器电阻电压值,电阻电压值常常明确提供电路供电电压,举例:单片机为5V提供电源,继电器电压就要等于或大于5V。这节省了很多资源,它给人们带来了更好、更大的利益。资源的利用率就高,液晶显示器屏幕是选用在显示方面也有很多东西供我们选择,为了填补数据信息量不多等瑕疵,可采纳LCD12864显示器来呈现时下信息,例如市面上较多的LED12864以及LED1602,而本次设计选择的是LED12386液晶显示屏,其为40个引脚的多矩阵显示方式,既能够显示数字还能够显示文字以及字符,显示的方式也比较清晰和准确,而界面也是1602的两倍,在屏幕上显示的时候反应也快,而此次设计中需要用到的重量和价格显示,正是符合了12864的特点,所以此次设计选用了LED12864作为显示模块语音芯片和扬声器组成,该语音芯片采用3V供电,自带循环播放功能,而且控制方式简单,单片机通过I/O线进行操作,将检测到的重量和计算出的结果进行播报。计算器功能则是通过键盘矩阵实现,采用16个按键组成键盘矩阵,包括0~9共10位数字和加减乘除、小数点和等于功能。1.3设计目的与主要功能本次设计以STM32单片机为核心,压力传感器用于检测货物的压力,并将其转换为电流,并将其输出到AD芯片上,转换模块HX711将模拟转换成数字量,并将其传输到单片机。STM32单片机通过公式计算出具体的货物重量,采用按键矩阵对结果进行加减乘除,得出总价或者其他的结果。LCD12864液晶屏上显示检测到的货物重量、单价和总价,并将最后的重量和价格通过语音播放出来。下面是本次设计的主要功能:1.最小系统的硬件设计:(1)上电复位电路。(2)晶体振荡器电路。(3)单片机电源。2.重量监测系统(1)压力传感器监测货物对其的压力,转换成电流变化并输出给hx711芯片(2)HX711AD模块将3.LCD12864液晶显示屏(1)显示检测到的货物重量(2)显示单价和总价4、按键设置电路(1)设置货物的单价(2)通过重量和单价计算出总价5、语音播报电路(1)通过语音模块,将电子秤的重量及价格语音播报出来第2章设计方案此部分主要介绍原件清单、设计思路和系统构成。2.1原件清单表2.1为元件清单表2.1元件清单名称型号数量单片机STM321压力传感器XFW-HX7111语音模块JQ6500-16P1电位器10K1液晶显示屏LCD128641喇叭1W8Ω1电阻10Ω3按键K1-K1616开关S11电源接口P112.2设计思路以STM32为中央处理器,通过压力传感器监测货物对其造成的压力,并以电流变化输出给HX711AD模块,HX711AD芯片将模拟量转换成数字量并发送给单片机,经单片机计算后,得到当前的重量。通过安检矩阵设置货物的单价,通过加减乘除操作,算的货物的总价。LCD12864液晶显示屏上显示检测到的货物重量,设置的商品单价以及最后算出的货物总价;并将重量及价格语音播报出来。2.3系统构成本次设计的系统组成部分主要由其硬件系统和软件系统构成,软件模块则是选择是C++语言进行编程,KELL仿真软件进行仿真测试,最后检测编程没问题后生成.hex文件烧录进单片机里面。硬件模块则是涉及到了单片机,传感器,语音的喇叭,电阻的大小选择,显示器,继电器以及电源等多方面的选择。然后进行设计电路,进行焊接完成即可。在硬件方面作为整个设计核心的控制处理器STM32单片机,其整体分为了检测部分,显示输出部分,计算部分和语音传输部分,然后AD转换模块和压力传感器共同组成了检测部分,HD711AD芯片接收到的是压力传感器将接收到的压力内部转换为电流,然后单片机接收到的是AD模块将模拟量转换为的数字量,最后计算出重量和金额,显示在液晶显示器当中。计算部分按键用于对重量结果进行计算,设置单价,计算出总价。语音播报部分使用了集成的语音模块,将计算结果转化为语音源,语音模块将其转化为语音。在软件方面则是选择C++语言,C语言虽然经典,但其赋值及递归调用复杂麻烦,而VB虽然可以过程可视化,程序窗体话,但其代码编程过程较为C++麻烦晦涩而且近些年不主流,所以选择C++作为编程语言。整个环节用到的是KELL仿真模拟软件来进行编程,KELL可以使我们看得更加清晰直观,搭配上集成,编译器,宏组装和管理库及仿真调试。显示部分选取LCD12864液晶显示屏,将收集到的物体重量与计划好的单价以及计算出的总价。计算部分按键用于对重量结果进行计算,设置单价,计算出总价。语音播报部分使用了集成的语音模块,将计算结果转化为语音源,语音模块将其转化为语音。第3章硬件电路设计此部分主要介绍系统硬件原理图、STM32、矩阵键盘电路、电源电路、重量监测电路、LCD12864液晶显示电路、语音播报电路。3.1系统硬件原理图本次设计采用LED12864液晶显示器显示采集到的重量、单价和总价,单片机型号为STM32单片机,压力传感器和HX711AD芯片组成重量监测部分,将压力转换成数字并发送给单片机进行计算。16个按键组成按键矩阵,通过引脚进行并联,扫描矩阵,设置单价并计算出总价。最后单片机将测量结果转换为语音信息,通过语音模块播报出来。本次单片机系统采用5V直流电源进行供电,图3.1是其硬件电路原理图。图3.1其硬件电路原理图3.2STM32概述STM32单片机为使用者提供了更大更广的自由空间,拥有全新的32位产品选择优势,并拥有性能高,实时、功耗低、电压低等功能,同时也保持了高水平的集成和开发优势,STM32单片机拥有丰富的外设,可为我们实现功能提供极大的方便、高性价比的价格,在市场上得到高度认可,成为我们设计电路板的第一选择。STM32是一种32位,闪存微控制器,是ARM公司的革命性、更具突破性的核心Cortex-M3。核心是专门为满足高性能低功耗、实时应用和具有竞争力的价格等要求于一体的嵌入式范畴。STM32按照性能不同分为两个系列包括STM32103增强型系列、STM32F101基本型系列。ARMCortex-M3内核是STM32系列专门为“高性能”“低成本”“低功耗”嵌入式设备设计的。STM32F103是一个改进的系列,工作在72MHz与一个实时芯片内存和广泛的外围设备。STM32F103具有最佳的32位闪存单片机功能,在全部信号解决部分比DSP解决部分更完整,拥有较高的控制性和连接性,是低压/低功率应用的理想选择。STM32F101是一个基本的系列,运行在36MHz,32位功能,16位处理器价格。STM32系列是入门级产品,输入电平非常适合低压/低功率应用。这两个产品系列在芯片上有相同的flash选项,在软件和管脚包装方面是兼容的。可用于显示与声音包括存储和高级控制;它具有较弱的功能和多种节能工作方式,可以优化工业设备、资产控制设备、医疗设施和计算机外围设备的性能。QUOTEARMTMARMTMCortex-M3核心的高性能外围设备提供了两套完整的软件开发和支持工具,彼此完全兼容。它的优点包括适用于所有设计应用程序的可扩展体系结构、给用户的相同外观、相同感受,统一的软件和开发投资。3.3STM32的主要优点选择原因:STM32的出现给用户提供自由空间,提供了全新的32位产品选项,结合了高性能、实时、低功耗、低电压等特性,同时保持了高集成度和易于开发的优势、丰富的外设为我们实现功能提供极大的方便、高性价比的价格,在市场上得到高度认可,成为我们设计电路板的第一选择。使用了ARM最新、前沿的架构Cortex-M3内核处理器,拥有突出的实时性能,突出的功率控制与出色和新颖的外设,极大限度的集成整合,便于开发,可使产品,快速进入到市场,STM32硬件的特质接口:I/O:输入/输出接口,功耗低、定时/计数器、输入捕获,PWM:脉宽调变,A/D:模/数转换,DMA:直接存储器存取,USART、SPI:单个程序启动3.4矩阵键盘电路当键盘上的键数很大时,为了减少输入I/输出O占用,按键通常以矩阵的形式排列。在矩阵键盘当中,每条平行线和每条垂直线不是直接连接到交点,而是通过一个键彼此连接。这样,一个端口可以由4*4=16个键盘组成,是一个独立键盘的两倍。此外,线条越多,差异就越明显。直接使用端口只能有一个额外的键(9个键)。图3.2矩阵键盘电路原理图此设备单片机的键盘电路由4行与4列16个矩阵并联微动开关组成。密钥的一节被连接到输入I/输出O端口和双向MCU,另一端是接在地上。当开关打开状态下,输入I/输出O引脚与地面断开,并输入/输出引脚是高电平状态。当按键按下时,输入I/输出O引脚接地,此时高电平定义低电平,低信号返回到单片机。按键开关其原理是检测高电平和低电平。由于按键开关的切换时间,它不可避免地会产生错误,因此在准备按键函数时,需编写一个额外的函数来抖动,提高精度。这些按键分别表示0-9共10位数字、加减乘除功能、小数点和等于。图图3.2矩阵键盘电路原理图3.5电源电路单片机电源模块由3引脚电源座和6引脚开关组成。电源选择直流5V电源。电源的主要功能是连接外部电源插座,电源开关主要是用于控制单片机电路的所有开关状态。电源总部的每个引脚的功能是:正在接地管脚2、3管脚仅仅起到固定作用,1口管脚都是连接3管脚的电源开关,1和3管脚4和6口管脚开关都相同的功能,用于正极输出的来源。开关的2号管脚和5号管脚用于使用相对选择作为单片机与地相接的引脚。一样可以选择1与3管脚输出也可以选择5号管脚作为与地相接的引脚。4和6管脚可选输出端口2号管脚可以作为与地相接的引脚。这种设计单片机和电压传感器的无线传输芯片是5V内可以满足。对于12V或其他电压传感器,可以使用备用提升电压模块将5V电压提高到适用于电源的更高电压,来提供供电,该设计电路如图3.3所示:图3.3电源电路3.6重量监测电路称重传感器部分主要选用电阻式应变片,电路设计工作原理为基于设备材料的电阻应变效应,电阻应变片可将机械应变信号转化成△R/R之后,因为相应的电阻变化量与应变量变化通常都较小,难以测量,操作不便,如果选用转换电路来将应变片△R/R的变化转换为电压变化或是电流变化,直流测量的电流是通常使用的转换电路。直流双臂电桥的特点为电流信号不受制于导线和元器件的分布并且不受电容、电感的干扰,稳定性强,简单操作电桥调节平衡电路,直流电源系统(+5V)在系统里方便便捷,直流桥输出信号较低,需要进行放大处理。压力传感器与HX711AD模块组成此设计的重量检测部分,压力传感器测量范围为0~5KG,压力传感器的测量原理是采用监测电阻,监测电阻的数量为4个,当受到压强是,压力传感器测量阻值变大即电路变小,通过监测电流和压力的线性比后按照一定的计算公式,监测重量,将货物放置在压力传感器上面即可显示结果。将模拟量转换成数字量部分是由HX711AD模块压力传感器输出引脚来完成后发送到单片机部分通过公式计算被测物重量。HX711AD芯片是专为24位高精度称重传感器设计的芯片,与相同类型的其他芯片相比较,该芯片集成了包含有稳压电源与片内时钟振荡器等其它相同类型的芯片所用到的外围电路,拥有集成度高、响应效率快、超强的抗干扰能力等优点,设计智能电子秤的整机成本降低,整机的性能与可靠性大大提高。HX711AD芯片末端MCU芯片的接口和编程非常简单,易于使用,所有的控制信号由引脚来驱动,不需要在芯片内编程寄存器。输入选择器的开关可以选择通道A或通道B,并连接到其内部可编程的低噪声放大器。通道A可编程增益是128或64,相应输入信号的差分增益分别为±20mV或±40mV。通道B的固定增益为64,用于检测系统参数。控制芯片电源直接供电给外部传感器和芯片上的A/D转换器,系统板上不需要额外加模拟电源。芯片上的时钟振荡器不需要任何外部组件。自动重启功能简化了启动过程。图3.4是重量监测电路:图3.4图3.4重量监测电路图3.7LCD12864液晶显示电路拥有中文字库128×64,具有4位/8位并行与2线或3线串行等多种接口模式,内部包含有国标一级、国标二级简体,中文字库点阵图形的液晶显示器;它的显示分辨率为128×64,819216*16个集成中文字符与128个16*8个ASC‖字符集,使用该模块的灵活连接模式和简单实用便捷的操作说明,可以构成一个完整的人机交互中文图形界面。它可以用中文显示8×4行与16×16点矩阵,也可以完成图形显示,低电压和低功耗是另一个重要特点。由该种模块组成的液晶显示器相比于同类型图形点阵图,无论是硬件电路结构或是显示的程序都简单便捷得多,这个模块的售价也略低于同一点阵图形液晶模拟器。LCD12864需要注意的地方为:在LCD12846初始化过程中,需注意功能设置寄存器的配置需要写两次,原因为“相同一类指令动作不能同一时刻改变DL与RE,需要先改变DL第二步再改变RE才可以确保设置的正确性”。需要在每一次读写LCD12864前检测完成信号,不能是在读写完之后。在读写出忙信号之前需要将对应的I/O口设置成输入模式为上拉型电阻使能。需重视忙信号读出后,由于其位于寄存器最高位,所以要做“按位与”处理将其分离。而读出忙信号之后,在下一次写操作之前,要记得将对应I/O改回输出模式。需要注意LCD12864的第一行到第四行的地址依次分别为:0×80,0×90,0×88,0×98;你可以把LCD12864看做是每一行都可显示出16个16*16点阵图形共有两行LCD,区别只是它将每行都平均的截成两段,且第一行截断之后分别成为新四行的第二、第四行。所以新的四行与第一、第三行的地址是相互连接的,第二四行也是相互连接的。8位中文与16个半宽的字体显示在LCD12864的每一行。但是,在基本指示状态下,设计的起始地址只能是以半宽单元为定义。即设计者无法写开始设计地址为“第一个半宽位置”或者“第三个半宽位置”,如果一定要在某个半宽位置开始显示,只能用空格代替半宽字符实现。LCD12864液晶显示屏为本设计的输出显示器,是一种工业字符型液晶显示器,LCD12864液晶显示器可从名称得知是具有4行输出每一行具有8个汉字,8*4即32位汉字可以同一时间显示出来。液晶屏幕显示,利用液晶的特殊性质,改变控制区域显示是通过改变电压来完成,最后将所需图形或数字显示在液晶屏上,不仅能显示数字还可显示字母与符号。图3.5为接口连接图。显示模块主要完成数据的显示功能。用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,首先当模块接受指令前,单片机必须确认模块内部处于非忙碌状态,然后根据接受到指令显示相关的样式在屏幕上显示出来。本设计无论是写数学或是写命令可通过RS来确定,写数据是指需要显示哪些内容,命令编写包含使光标显示或是不显示、光标闪烁或不闪烁,屏幕需不需要移动、液晶屏在哪个位置显示等。低电平为读写控制端设置为写模式即可,将设计模式数据、命令传输到数据线上,发送给E高脉冲可将数据送到液晶控制器即可完成写操作。图3.5图3.5接口连接图3.8语音播报电路语音传播电路主要选用专业语音传播模块JQ8900。语音模块JQ8900使用SOC解决方案,集成了一个15位单片机和一个特殊的ADSP音频解码器。使用硬解码方法保证系统的稳定性和音效。容积较小可以满足其他集成产品的需求。芯片可以灵活地替换SPI-Flash中语音的内容,避免了安装系统语音芯片替换语音的困难。SPI直接模拟了一个同样容易复制的USB密钥,操作简单便捷,确保产品的开发和生产变得实用和简单。单行串行控制模式与RX232串行控制模式是可选的,为研发设计提供了更大的选择性。3.8.1语音模块硬件参数表3.1为语音模块参数表3.1语音模块参数3.8.2语音模块引脚说明JQ8900-16P语音模块采用SOC方案,集成了16位单片机,以及专用的音频解码ADSP采用硬解码方式,更保证了系统的稳定性和声音质量,小尺寸更适合嵌入式其他产品的需求。语音模块JQ8900-16P包括配置工具、串行调试软件和MP3转换器,可下载使用。图3.6为语音模块引脚说明图3.6语音模块引脚说明3.8.3JQ8900语音芯片特征①支持MP3/WAW硬件解码②支持FAT文件系统③支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48④24位DAC输出,程序内部选用DSP硬件解码器解码,非PWM输出动态范围可支持90dB,信比为85dB⑤多控制模块、两线串接口模式、一线串接口控制和ADKEY等⑥可支持U盘。TF卡和SPIFLASH三种模式⑦可支持USB声卡模式,读卡器和HID控制⑧可支持SPIFLASH,枚举成U盘模式,可直接像控制U盘一样实时更新SPIFLASH里的语音输出⑨支持“上一首”“下一首”“播放”“暂停”“停止”“选曲”等功能控制⑩支持播放曲目序号的获取,总曲目以及目录总曲目的信息获取表3.2为JQ8900语音芯片各引脚功能描述表3.2JQ8900语音芯片引脚描述3.8.4语音模块连接图此设计采用了双线串口通讯模式,简单便捷,并可直接驱动无源喇叭,图3.7为语音模块连接图。图3.7语音模块连接图第4章系统软件设计此部分主要介绍的是软件主程序,LCD12864显示子程序,按键子程序,重量检测子程序。4.1软件主程序在整个系统运行时,每个硬件开始初始化,初始化完成后,硬件进入主显示界面。启动步骤如下:串行端口初始化、LCD12864初始化、定时器初始化,压力传感器开始检测货物对其压力,HX711A/D转换模块将压力模拟量转换成数字量发送给单片机,单片机通过计算得出货物重量。扫描按键矩阵,通过按键设置货物单间,根据单价和货物重量,计算出货物总价。LCD12864显示器显示物品重量、单价、总价。同时单片机通过引脚控制.语音芯片通过扬声器播报检测到的重量和总价。主程序流程图如图4.1所示:4.1主程序流程图4.2LCD12864显示子程序LCD12864液晶显示屏通电后,第一步先是进行初始化操作,屏幕清为零后,内部存储状态清空完成。后与设备单片机双向沟通单片机可控制显示器的屏幕亮度和检测数据内容,延时时间后,可将单片机检测完成的货物重量显示在液晶屏幕上,显示完成后扫描监测到的矩阵键盘,液晶屏幕显示商品单价和计算出商品总价。单片机控制写入引脚显示命令的内容.然后显示执行指令,最后显示内容。显示流程图如图4.2所示:图4.2LCD12864显示流程图4.3按键子程序此设计按键电路的功能不多,功能主要包括0-9共10个数字和加减乘除功能、小数点和等于功能。单片机按键的4个管脚,同一侧的管脚是相连的,有16个按键且所有按键并联在一起,只需把相同的管脚相互连接在一起。按键程序工作的原理是检测低电平信号,在主程序中,检测是循环进行的。只要检测到密钥的低电平信号,单片机就会发生信号的中断,进入密钥的子程序。16个按钮可以分别表示数字的选择、小数点的选择、加法、减法、乘法和除法的计算,等于这几种功能。16个函数分别执行不同的操作,包括注意进行延时操作时,防止操作时产生的误差。判断所按按键是否按下if(K1==0){while(K1==0)去延时,数值可选择1;if(K2==0){delay_key()延迟,然后判断while(K2==0);是否按下按键,如果按下,则数选择2。if(K3==0){while(K3==0)数值选择3……,如果按下,程序操作则设置成功。按键操作可以用来设置物品的单价,并物品重量进行计算后得出总价。流程图如4.3所示:图4.3按键子程序流程图4.4重量检测子程序电路当单片机上电后,各部分传感器开始工作后单片机给压力传感器发送操作指令,然后进入重量监测子程序,首先进行传感器初始化,然后设置引脚输出,通过压力传感器监侧货物对其造成的压力并转换成电流模拟量发送给HX711a/d转换模块,HX711将模拟量通过相应的公式转换成数字量,并发送给单片机进行处理。其流程图如图4.4所示:图4.4重量检测子程序流程图第5章调试此部分主要介绍的是焊接调试与功能调试。5.1焊接调试设计电路硬件之间的连接步骤,应先对此设计所有元器件实行检测,保证所有元器件的完整性与可实现性,后在万用板上按照单片机的最低应用系统安装原理图设计PCB电路图,实施振荡电路、复位电路、电源电路、外围电路、单片机芯片的布局时要松散合适,最后依据PCB电路图,先焊接振荡电路,再焊接外围电路,复位电路,电源电路,焊接的时候要注意晶振电路应合理离单片机芯片近一点,使用性能会更加稳定。根据设计的电路板原理图,准备所有的安装工具,如尖嘴钳、剥线钳、螺丝刀和电烙铁等,首先将需要焊接的元器件排版好位置插入的电路板中,然后焊接晶体振荡器和最小单片机系统的复位电路。确定LCD12864液晶显示器的位置,将电路电阻焊接到P/0端口,然后通过导线连接显示器。焊接好每个传感器模块后,最后根据电路图,使用导线连接起每个模块,确保没有短路现象。STM32单片机使用烧录器把编译完整的软件代码烧入录入,并最终插入插排里。使用5V直流电源提供电流,按下开关,查看LCD12864显示器是否是正常工作,按照正常的显示器,屏幕显示电路输出是正常显示之后,其他传感器的正常运行,如果有显示器屏幕上输出,如果是正常的,那么一切都会好的,如果有问题,寻找问题的具体部分,逐一解决这些问题。5.2功能调试焊接测试后的单片机设计运行正常后,即可以执行功能调试步骤,检查软件是否正确连接。首先,单片机焊接测试无误,可操作功能调试,测试软件正确。首先是单片机重新输入电流,然后是进行初始化LCD12864液晶显示器操作,对于第一个初始操作,LCD12864液晶显示器应显示文字“欢迎使用语音电子秤”,这一步正常运行完成,然后测试每个传感器功能。输入电流后,进入首页,首页分为两行,顶部为货物的实测重量,底部为显示按键矩阵确定的物品单价和计算后的总价。通过将所测物品放置在压力传感器上,可以在LCD12864屏幕上看到测量物品的重量。按下矩阵按钮,可以在LCD12864液晶屏上显示商品重量与单价,使用键矩阵计算商品总价并显示。同时.语音芯片控制扬声器播报此时的货物重量和总价。至此,所有功能测试完成。第6章总结经过这几个月的努力,毕业设计终于完成了。根据平时学习的经验,一个小型的硬件开销都需要一个相对复杂的软件来弥补,这是因为压力传感器和微处理器单元之间传输数据,必须在规划中,在对压力传感器进行操作程序编码中,需要严格掌握时间序列进行阅读和写作。否则,它将无法读取物品重量的结果。在这个毕业项目中,老师的建议与指导对我来说非常重要。从论文的选择到总体思路,从硬件的购买到电路的设计,从硬件的焊接到软件的编写,这些都超出了我的预期,我可以顺利地进行下去。在此,我要感谢张老师的指导。本文介绍描述了STM32单片机智能电子秤的系统功能、思路,以及各种芯片相关方法的使用。在这次毕业设计里,有非常多对关连相对学科知识掌握的必要,可解决在设计里对系统的调配与电路硬件的选择和各类硬件各个管脚的作用、使用的益处与弊处、硬件的挑选设计和各电路之间的衔接、编码等。设计完成后不仅对专业学科知识点提升了不少更是对不同知识点有了更加丰富领会。关于这次毕业设计的流程,让我不仅把学校课堂上的理论基础知识运用到实践,使所学的知识更加深刻,利用起来。也为自己在之后工作接触单片机等领域打下了坚实的基础,还有在这次设计中,锻炼了我的动手能力和独立解决问题的能力,培养了我的团队精神,这次设计,我受益匪浅。针对基于STM32单片机的电子秤系统的现状和所要研究问题的分析,本文介绍了一种使用压力传感器与矩阵键盘,并使用STM32作为系统控制芯片的电子秤系统。然后从STM32单片机的设计结构和设计原理分析。在熟悉STM32单片机工作原理和操作流程,详细分析研究传感器系统的结构、工作原理、检测原理的使用方法。最后,简要介绍了语音传输的工作原理。在这个过程中,我查阅了大量的相关信息,整合了所有的分析内容

温馨提示

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

评论

0/150

提交评论