基于单片机的电子秤的设计与实现.docx
基于单片机的电子秤的设计与实现摘要在当前,智能化已经成为潮流,各行各业都追求更智能化,以求提高生产作业生产效率,减轻人们的工作负担以及提高人们的生活幸福感。为了提供一种更简单更灵活的物品重量测量以及计算价格的方式,设计本次课题的电子秤。电子秤在市场上已经以各种成熟的形态来展示,本次研究的电子秤是以STC89C52为处理器芯片,外接各种元器件模块组成,其中包含有按键模块、称重传感器、报警模块以及显示模块。本次设计开发的思路为通过按键模块能够设置物品的单价,阈值等,通过称重传感器模块的工作,实现对物品重量的获取,通过处理,在1.CDI602显示屏可以显示物品重量信息以及价格信息,当重量超出阈值时,蜂鸣器报警提示。本次设计的基于STC89C52的电子秤具有成本低、使用简单以及实用性强等优点,系统具有实际使用意义。关键词:STC89C52;传感器技术;显示技术;电子秤第一章绪论1.1 研究的背景和意义单片机技术的广泛应用,已经渗透到了现代生活、工作和社会生产的各个方面。简单来说,单片机便是可以在一个芯片上集成多个电子元器件、逻辑电路,实现特定功能的微型计算机芯片。其中,加入了传感器技术、无线通信技术以及显示技术等,能够通过数据采集、数据监控、智能调节以及自动化等功能,实现智能家居、工业自动化以及智慈城市等领域的应用,造福于人类社会。例如,传感器技术可实现一氧化碳浓度、温度、湿度、烟雾浓度、光照强度、土壤温湿度、甲醛浓度、火焰等数据的采集,可实现环境空气安全监测、热水器智能调温、农业自动灌溉、火灾监测等无数工作场合中,让人们生活的气体环境更加安全,提高生活水平以及预防灾害,大大方便了人们的生活。同时,单片机技术在工业生产领域也发挥着重要的作用。以汽车工业为例,单片机可以应用于引擎控制系统、底盘控制系统、车身控制系统以及安全系统等多个方面,在车辆性能、人机交互体验以及安全性方面都有非常好的表现。在现代工业制造领域中,可以实现生产自动化,提高生产质量以及产量,大大节约人工成本,同时还可以减少人工操作的错误率,创造更安全以及优质的劳动环境。如此多的优点,也让单片机技术在社会生产领域中得以广泛应用。本次基于STC89C52的电子秤的开发,是单片机技术的典型应用。采用微控制器技术,集成了多个功能,实现了物品重量测量、总价计算、设置阈值以及报警提示等功能。这将大大方便人们的生活,满足人们不同的需求。传统的机械秤有很多缺点,比如精度不高,结构复杂,易老化,成本高等。随着社会的发展,市场对秤的要求的越来越高,尤其是人体秤、厨房秤等各类便携式小型秤。同时,单片机技术在本次电子秤中的应用,也具有一定的研究意义。开发过程中,需要深入理解单片机技术的实际应用,并且针对具体的项目进行优化调整。通过实验验证、尝试和错误的过程,使得工程师们能够学习、提高,不断促使单片机技术向更为完善的方向发展,更好地服务于人类社会。1.2 国内外研究现状随着单片机技术的不断发展与完善,智能电子秤已经成为了人们日常生活中不可或缺的智能产品之一。作为单片机技术的重要代表之一,智能电子秤不仅将的生活变得更加便利,还解决了在计算物品重量时繁琐的计算问题。而这种技术也源自于美国,在已经持续了近五十年的时间里,单片机技术的发展速度惊人,从最初的4位微处理器到8位处理器,历时五年之久才实现对工业仪器的简单控制。然而,此刻的单片机技术比较低级,功能很少,寻址范围狭窄,稳定性不高。直到1980年,随着单片机中串行口的加入,单片机与外围设备间的信息交换得以实现,同时,单片机性能得到了加强,寻址范围也得到了拓宽,稳定性得到了显著提升。在1983年,16位的单片机问世,在几十年的发展过程中,国家如英国、日本、印度、德国、荷兰等加大了单片机技术的研究力度,研制出了几十个系列、三百多个品种的单片机。I/O接口也得到了拓展,单片机技术的应用和功能也逐渐发展、扩大。在当前,以物联网为基础的智慧产品已经逐步占据人们工作和生活的各个阵地,成为了人们无法离开的智慧工具。如今,单片机技术得到了广泛的应用,从家电产品中的日本松下公司、苹果手机、三星电视,到汽车自动驾驶技术、智能农业大棚、自动识别技术等领域。单片机是目前应用在各种智能产品中最常使用的一种物联网技术,它是一种微型逻辑处理单元。在我国巨大的市场需求和支持政策下,经过艰苦奋斗,我国单片机技术的发展也同样得到了迅猛的提高与升级,各大高新科技企业推出了包括智能扫地机器人、智能门锁、智能手环、智能空调、智能电饭煲、智能冰箱、智能油烟机等一系列智能产品,实现了单片机技术在各个行业领域中的应用。智能电子秤作为学习智能技术、了解单片机技术的重要产品之一,近年来在我国也得到了广泛的应用。不过,随着人们对智能电子秤应用的不断增加,对其功能和应用性的需求也日益增长,因此,在电子秤研发中,应不断拓宽单片机技术的应用范围,提高其功能,为人们日益增长的需要提供更优质的服务。发展至今,智慧产品已经进入繁荣时期,涉足人类社会各个领域。1.3 研究的内容和方法本次的课题研究对象是基于STC89C52的电子秤,旨在设计和开发一款功能丰富、操作简便、数据显示清晰的电子秤系统。在实现这个目标的过程中,需要进行功能设定、硬件模块的选择、数据显示和信息交互的优化等一系列工作。同时,对该系统的工作原理、模块引脚、电路焊接等方面都需要进行深入了解。具体地,计划选取合适的按键模块、称重传感器、对报警模块、显示模块等硬件模块进行了设计,并使用1.CD1602显示屏来显示物品的重量信息和价格信息。在货物重量超过设定值时,发出警报,发出警告,当物品重量超出设定的阈值时,蜂鸣器发出警报声,提醒用户。通过这些设定和优化,将开发出一款适用于商用场所的高水平电子秤系统,为客户提供更实用、便捷的计量服务。对此本次研究的主要工作涉及系统方案设计、硬件电路设计、软件程序开发和系统调试等方面。首先,要针对电子秤的功能要求,对所选择的各模块进行详细的规划,并对所选择的各模块进行详细的分析,为以后的工作做好准备。基于这些分析,可以确定最优的设计方案。第二个步骤,就是要对整个系统进行设计。该流程包含了硬件电路的设计以及软件的编写。最后,采用AItiUmDeSigner软件对其进行了优化,并对其进行了优化,选取了最适合的模块,然后将其焊接在一起,就实现了硬件电路的设计。在此基础上,利用Keil5软件对各个模块的功能进行开发。最终,本系统进行了调试。然后分别对已编译好的电路和已编译好的程序分别进行调试,最后再进行联合调试,以保证电子天平的各项性能都能完全发挥出来。在整个系统设计过程中,调试是必不可少的一个环节,只有这样,才能确保整个系统的正常工作。总之,本次研究工作需要进行方案设计、硬件电路设计、软件程序开发和系统调试等多个环节,只有在每个环节都认真负责地完成工作,才能设计出一个稳定可靠、功能齐全的电子秤。1.4 章节安排为了提供一种更简单更灵活的物品重量测量以及计算价格的方式,设计了本次电子秤。本章共分为6个章节去描述。详细内容如下所示。第1章:引言,主要介绍了选题的选题意义,并说明了选题的主要内容。第2章:设计方案,说明了该项目的方案要求,方案的选择,核心模组的核心模组通过对模块的选择,并基于所选择的模块,确定了该项目的方案。第3章:对本次课题中所采用的硬件进行了详细的说明,并详细介绍了各模块的引脚、工作原理及功能。第4章:主要介绍了系统的主要部分,主要介绍了系统的主要部分,包括系统的主要工作流程、系统的编译环境、系统的语言,并给出了系统的主要部分。第5章:对系统进行了实验验证,对实验结果进行了分析,并对实验结果进行了验证。第6章:结论,对整个系统的开发工作进行了总结与分析,并提出了今后的改进与发展方向。第二章总体方案设计智能产品在人类的生活、工作中有着很好的应用前景,但在智能产品的研究中,还有很多问题有待解决。在分析过当前应用的电子秤之后,明确了本设计所应该具备的功能,以该系统预期要实现的功能为出发点,对系统展开设计制作。为达到系统预期的功能,行之有效的设计方案至关重要,相当于就是本系统的制作蓝图。设计方案的执行需要各个模块发挥各自的最大效能,经过多方面的技术论证,确定符合系统要求的元器件是实现设计方案的根本保证。2.1 系统设计要求基于单片机的智能电子秤设计的要求如下:1、高精度:电子秤应具有较高的称重精度,保证测量数据的准确性。2、可靠性:电子秤的各个部件和模块应具有较高的稳定性和可靠性,确保秤体长周期的正常工作。3、智能化:电子秤需要具备一定的智能化水平,能够实现人机对话、重量数据计算、数据存储和报警等功能。4、实用性:电子秤应具有良好的实用性和便携性,方便用户随时进行使用。5、美观性:电子秤应美观大方,符合市场审美标准。6、易维护性:各个部件和模块应该容易维护,能够方便地进行维护和保养。7、低能耗:电子秤应具备低功耗、节能的特点,降低能源消耗。8、耐用性:电子秤应具备较高的耐用性,确保能承受一定的外力和重量冲击,延长使用寿命。2.2总体结构设计电子秤已经成为日常生活中必不可少的物品,为了提供一种更简单、更灵活的物品重量测量以及计算价格的方式,以微控制器为基础的智能化产品,能够完成许多人费时费力的工作。设计了本次电子秤。本次研究的电子秤是以STC89C52为处理器芯片,并组合了各种元器件模块,包括按键模块、称重传感器、报警模块以及显示模块。这些模块经过精心组装,能够实现准确的物品重量测量和价格计算。设计本次电子秤的思路是利用按键模块,从而实现对物品单价、阈值等参数的设置,同时还引入了称重传感器模块,以实现对物品重量的获取。在处理器的控制下,所有的数据处理以及计算将会在处理器内部完成。最后,在1.CD1602显示屏上显示物品的重量信息以及价格信息,这为人们在购物时提供了十分便捷的服务。在这个方案中,使用了STC89C52作为电子秤的中央控制器,它是一款单片机控制器芯片,通常被应用在各种控制系统和电子设备中。还采用了先进的称重传感器技术,能够实现对重量的准确测量。同时,还引入了报警模块,当物品重量超出预置的阈值时,蜂鸣器会发出声响,提醒用户及时进行调整。整个电子秤是由多个模块组成,具有高度的模块化特性。所有的模块都可以独立设计和调整,这为后期的维护和升级提供了极大的便利。对于消费者而言,这也意味着用户可以根据自己的需要进行模块的替换和升级,从而满足不同的个性化需求。系统结构图如图2.1所示。图2.1系统结构图2.3元器件的选择2.3.1主控制器的选择单片机是整个系统的核心部分,它是整个系统的关键部分,它主要负责对其它模块进行综合管理。但是,目前市场上的MeU种类很多,因此,如何选取一款适合的MCU,既能保证运算速度又能保证精度,又能达到本论文所提出的设计要求。以微控制器为基础的智能产品,能够完成许多人工费力不能做到的任务。在本文的研究方法指导下,通过查阅大量文献,综合比较,最终选定了两款具备高性能和强大功能的单片机作为本系统MCU的设计方案。其中,STM32单片机和51单片机是两款经典的单片机,下面进行详细的介绍。方案一:STM32单片机STM32是STMicroelectronics公司生产的32位微控制器,它采用ARMCortex-M内核,具有高性能、低功耗、易扩展等特点,同时还支持多种通信接口和外设。STM32单片机的应用范围非常广泛,包括家电、通信、汽车、医疗等领域,其广泛应用的原因主要有以下几点:1、高性能:STM32单片机拥有强大的计算能力和丰富的外设资源,可以满足各种应用场景的性能需求。其高性能主要来自于其采用的ARMCOrteX-M内核架构,该内核架构具有流水线技术、分支预测、指令重排等先进技术,可以大大提高单片机的运算效率。2、低功耗:STM32单片机采用了多种低功耗技术,如时钟门控、睡眠模式、唤醒模式等,可以有效降低单片机的功耗,延长系统的电池寿命。3、易扩展:STM32单片机支持多种通信接口和外设,如串口、SPI、I2C、ADC、DAC等,可以灵活扩展和升级系统功能。4、多种编程语言和开发环境:STM32单片机支持多种编程语言和开发环境,如C、C+>Python等,同时也支持多种开发环境,如Keil、IAR、CUbeMX等,开发者可以根据自己的需求选择。5、良好的软件生态:STM32单片机有庞大的开发者社区和丰富的开源软件资源,可以加速开发过程,同时也有很多成熟的软件产品和解决方案,可以降低开发者的开发成本和风险。方案二:51单片机51单片机是一款8位微控制器,也采用了8051内核架构,具有高性能、丰富的外设资源等特点,同时也支持多种通信接口和外设。K60单片机广泛应用于工业控制、通讯、汽车电子等领域,其主要优点包括:1、易于开发:51单片机支持多种编程语言和开发环境,如Keil、IAR等,可以根据用户的需求选择合适的开发工具进行开发。此外,51单片机的开发板也提供了许多示例程序和教程,便于开发者学习和使用。2、低功耗:51单片机采用了多种低功耗技术,如时钟门控、睡眠模式等,可以有效降低单片机的功耗,延长系统的电池寿命。3、多种通信接口和外设:51单片机支持多种通信接口和外设,如SPI、I2C、CAN等,可以满足不同应用场景下的需要。4、良好的可靠性:51单片机采用了工业级的设计标准,具有良好的可靠性和稳定性,适用于工业控制等要求高可靠性的领域。虽然STM32单片机和51单片机都具有稳定性、丰富的外设资源、低功耗等特点,但从性价比和稳定性出发,选择51单片机中STC89C52更适合本设计开发。2.3.2键盘输入模块选择在本系统中,主要通过按键来实现对单价设置和阈值设置的功能,下面将列出多种方案,从而在当中选出最佳方案来实现此功能。方案一:选用独立按键,独立按键为两个接口,一个接地,另外一个与单片机的引脚相连,以此来实现功能,其硬件结构简单,使用到少量的10口,操作简单方便。方案二:选择矩阵键,矩阵键的实现方法,以行线连接的IO端口作为输出,列线连接的IO端口作为输入,比较常见的矩阵键是4*4的矩阵键,一般用于加密小键盘或要求输入多个数据的类型。独立按钮和矩阵按钮是最常见的两种数据输入与控制方法,由于该系统中所用的按键比较多,所以我们选择了矩阵按钮。2. 3.3显示模块选择在本系统中,主要通过显示模块来实现显示重量以及价格信息的功能,下面将列出多种方案,从而在当中选出最佳方案来实现此功能。方案一:选择1.CDl602显示模块进行设计,它能很好地显示图形、文字、数字和字符,在较差的环境下也能正常显示。在数据显示方面,很多开发商都选择了他作为第一选择,因为这个模块包装得很好,开发者可以通过它的界面直接使用,并且这种显示屏的抗压能力和工作能力都很好,能够适应各种环境,1.CDl602是一种非常有市场竞争力的显示屏,但它的缺点也很明显,那就是功耗非常大。如果在不考虑功耗的情况下,还能满足用户的需求,那么这个屏幕就非常不错了。方案2:选择了12864作为显示器。O1.EDI2864的显示效果非常好,显示效果非常丰富,128*64的分辨率,不但可以显示图形、文字、字符和数字等效果,而且还具有颜色效果,让人非常满意。一般有IIC和SPl两种通讯方法,这两种通讯方法都可以用这个模块来进行设计和开发,可以用十六进制来控制显示内容,用光/暗图像来实现显示效果。不过,好的展示效果也是有代价的,那就是成本太高。在不计成本的情况下,如果想要出色地显示,O1.EDI2864绝对是一个非常不错的显示器。从总体上看,1.CDI602是一种较好的硬件电路,具有良好的抗干扰能力和良好的抗干扰能力,可以很好地满足实际应用的需要。最后,本文选择了液晶1602液晶显示模块来实现整个系统的设计。2.4 本章小结本章节主要是介绍基于单片机的电子秤的系统的整体设计,包括系统的功能分析,系统的结构,系统的各个模块之间的对比选取,分析了系统任务的可行性。第三章硬件电路设计2.5 硬件设计要求充分考虑硬件电路设计是确保系统顺畅运行的关键,因此,在设计电路图时,需要参考实验过的经典电路,以降低容错率、确保电路的稳定性和可靠性。此外,在选取元器件时,应注意与主控制器的匹配、避免过压现象、以确保系统不会崩溃。同时,考虑各种电路之间的干扰性,可使系统平稳运行,达到设计要求。为了设计出最佳电路,需要在原理图电路设计中综合考虑软、硬件。如果硬件功耗过大,可以考虑通过软件实现部分功能以减缓硬件压力。然而,过多依赖软件会导致芯片处理时间较长,效率降低。因此,需要平衡考虑软、硬件负载关系,确保系统的稳定性和效率。2.6 单片机电路该系统以STC89C52单片机为核心,设计了一种基于单片机的智能电子秤。其中以主控制器为中心,主要负责对整个系统进行数据处理,其中包含了对采集数据的处理、通讯数据的处理以及按键输入的数据的处理。这样的电路设计非常复杂,而且不能保证其稳定,如果要做一些简单的功能扩展,就必须对整个电路进行修改,这样就使得它的灵活性和功能都比较单一。STC89C52单片机内部集成了模拟、数转换、中断、通讯等多个模块,能很好地完成大气压力的采集与处理。STC89C52是一种8位总线结构,内存容量512字节,具有功耗保护和8K存储容量的特点。本单片机是STC公司51系列单片机的核心部件,它在保持51系列低功耗、高性能的同时,还保留了51系列单片机的优点。采用内置晶体振荡器,使其工作频率稳定,同时内置复位电路,确保了系统的稳定性。为了保证系统的稳定,本系统还加入了复位器和晶体振荡器,采用了不同的晶体振荡器,使系统能够更好的工作。并整合了复位电路,以确保系统在电源接通时能够正常启动。另外,在电源电路上,使用了一种高效率且稳定的电源模组,以保证整体的电源供应。STC89C52单片机的引脚数量很多,拥有丰富的IO口,可以为功能的拓展提供丰富的选择。通过使用不同的功能模块、电路和外围设备,可以设计出最佳的电路方案,从而使系统性能得到最大化的提升。在本系统中,STC89C52单片机的中断单元能够通过不同的逻辑程序来打断,从而能够方便地实现其他通信任务。为了方便系统中的数据处理和传输,使用总线来实现数据的传输和处理。这样能够方便主控制器对采集到的数据进行处理和上传。总线还具有传输稳定、高可靠性的优点,能够保证智能电子秤数据的精确性和稳定性。综上所述,采用STC89C52单片机作为处理器,加入复位电路、晶振电路以及供电电源电路为智能电子秤提供了高效、稳定和可靠的数据处理和控制功能。丰富的IO接口和中断单元为实现不同的功能提供了多种选择,采用总线实现数据传输和处理,保证了系统数据的准确性和稳定性。STC89C52单片机电路的示意图如图3,1所示。图3.1STM32F103模块电路图3. 3称重传感器模块本系统采用称重传感器来对物品重量进行监测。采用的是HX711称重模块,该模块是一种高精度、低功耗、低成本、易于控制的称重传感器接口模块,经常用于电子秤、压力传感器、气压计等领域。HX711称重模块压阻信号被放大器(增益128、64或32)放大,并经过-AADC转换器将信号转换为数字信号,最终由微处理器读取。模块内含一个24位的-AADC芯片和一个增益调节电路。增益调节可通过模块上的接口,通过修改芯片内部基准电容的大小来实现(增益128时,基准电容为Ipf,增益64和32时,分别为2pf和4pf)。HX711的24位输出数据分为两部分:高位和低位数据。高位数据由三个字节组成,低位数据为一个字节,分别表示正负数值。高位数据和低位数据在读取时需要结合在一起,才能得到最终的数字信号,从而被单片机来进行识别,并处理来获取重量数据。称重传感器的具体电路图如图3.2所示。3.4 显示模块本系统显示模块主要用于对价格和重量阈值进行显示,为此,采用了一款性能稳定、操作简单且价格实惠的1.CD1602显示屏。该显示屏可以通过并行或串行两种方式进行驱动运行。在显示任务中,1.CD1602显示屏主要通过电流来点亮不同的显示管,从而实现数据的精准展示。为达到最佳体验效果,为该显示屏提供了5V的电源输入和低至2mA的电流支持。在数据传输方面,通过DO口进行数据信号的传输,通过命令控制和读写控制来实现数据的输入和展示。为了满足不同环境下的显示效果需求,还特别引入了滑动变阻器来实现亮度的调节功能。通过这种方式,用户可以随时调节显示屏的亮度,确保数据展示在任何环境下都是清晰可见的。其接口的引脚说明如表3.1所示。表3.11.CD1602液晶显示器的引脚说明引脚具体说明第1脚VSS为接地电源。第2脚VDD接5V正电源。第3脚V1.为调整液晶显示器对比度端。第4脚RS为数据/命令选择端。第5脚RW为读写信号线,高低电平分别对应读操作和写操作。续表3.11.CD1602液晶显示器的引脚说明第6脚E端为使能端,产生使能信号使液晶模块执行命令。第714脚DoD7为8位双向数据线。第1516脚B1.A和B1.K分别为背光源的正负极在1.CD1602液晶模块的内部控制器中有11条控制指令,其说明如表3.2所示。表3.2控制命令表序号指令RSR/WD7D6D5D4D3D2DlDO1清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/1.*6置功能+00001D1.NF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRA或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容本设计的1.CD16O2显示屏电路图如图3.3所示。3.5 按键模块本系统采用矩阵按键来操作设置单价以及物品重量阈值,矩阵键盘本质是使用8个io口来进行16个按键的控制读取,可以减小io口的使用,用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上,设置一个按键。而这样的按键中按键的个数是4*4个。这样的行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。节约单片机的资源,其本质和独立按键类似,就是进行逐行扫描和逐列扫描,然后判断是第几行的第几列个按键,进而进行整体按键值得确定。矩阵按键模块原理图如图3.4所示。3.6 报警模块蜂鸣器报警模块由一个有源蜂鸣器连接PNP三极管,后串联阻值IK的电阻器与单片机的端口相接,在检测到重量数据超出阈值范围的时候,通过单片机控制蜂鸣器进行报警。关于蜂鸣器报警设计模块如图3.5所示。VCC1.S2SpeakeiJQ8k8550GND图3.5报警模块电路图3.7 本章小结本章介绍了基于单片机的电子秤的硬件设计,主要包括STC89C52单片机最小系统电路、按键模块、称重传感器、报警模块以及显示模块等,该章对以上各个电路模块的设计原理以及具体实现过程进行了讲述。第四章软件设计3.8 程序开发环境搭建根据AltiumDesigner设计并绘制完成电路图之后,需要通过程序编译软件来对各个子模块的功能逻辑进行程序编写。软件运行的成功与否与系统的整体运行是脱不开关系的。本系统采用的是keil5和C语言进行开发,通过程序模块化开发方式来完成,将编译好各个功能模块子程序之后,在mainO主程序里直接调用,从而实现功能。这种方式对于后期的调试和后期的功能扩展都是有一定的便利性,而且使得代码更简洁,更具阅读性。Keil5是一款单片机程序编辑软件,通常可以对C或者汇编语言进行编写,编写完成,通过编译再编译的方式来对程序进行测试,直至出现零错误零警告即可完成变成的编写,完成编写任务之后,需要对该文件生成HEX文件,因为单片机是不能直接识别C文件的,因此生成.HEX文件之后,拷录进入系统才可完成这一步骤。这一流程能够顺利的进展也离不开Keil5程序编写软件的友好的人机界面和简单的操作方式。Keil5软件是最多单片机开发者使用的开发软件之一,尽管官网没有发布中文版本的Keil软件,但是依旧深受喜爱。单片机程序编写语言通常包括汇编语言和C语言两种,其中C语言是最多使用的,相比汇编语言,C语言程序更简单,没有复杂的指针类型,使得程序员更好对其理解和编写。C语言可以说是程序语言的鼻祖,适合大多数的开发者,不需要很好的基础就可以把他学会,学好C语言同样也可以学好其他语言,其应用广泛,通常在系统底层、单片机设计以及游戏等领域应用。根据其各种数据类型、数组、常量和变量组成不同的功能逻辑程序,可以来完成不同的设计,是一门比较简单且应用广泛的一门程序语言。3.9 主程序设计主程序是一个系统的体现,通过主程序的设计,就可以完美是展现出整个系统的核心流程,对每个模块实现的功能,数据引脚进行详细说明。其中,主程序又分为若干子程序,对子程序进行调用,以实现各个子程序的功能。给系统上电之后,需要先给各个模块进行初始化操作,接下来就进入While()循环。在本系统中,初始化模块包括。电子秤在市场上已经以各种成熟的形态来展示,本次研究的电子秤是以STC89C52为处理器芯片,外接各种元器件模块组成,其中包含有。本次设计开发的思路为通过按键模块能够设置物品的单价,阈值等,通过称重传感器模块的工作,通电后,首先要对系统进行初始化,由于各个模块的配置信息以及控制方式不同,因此在进行初始化操作后,能够确保系统任务的逻辑正确性,不会由于缺少数据而影响到整个系统的正常运转。该系统的初始化模块主要包括按键模块,称重传感器模块,报警模块,显示模块等。利用称重传感器模块来获得物体的重量,经过处理器的处理后,可以将物体的重量信息和价格信息显示在1.CD1602显示屏上,如果重量超过了阈值,就会发出警报。详细的系统主程序流程图如图4.1所示:图4.1主流程图4. 3主要模块子程序设计4. 3.1数据采集子程序对于本次重量信号采集的程序设计,首先需要对传感器进行初始化,接着进行传感器信息的配置,选择模式,启动中断程序,从而获取数据,完成数据的采集。其流程如图4.2所示。图4.2数据采集子程序流程图4. 3.2报警子程序设计在这一次的设计中,报警具有提醒的功能,在系统探测到物体重量值之后,将会和设置的量程范围相对比,若超出设置的量程范围,那么控制单元就会发出警报。其流程如图4.3所示。图4.3报警流程图4. 3.3按键子程序设计按键功能在本次课题中必不可少,当想对称重物体进行总价的计算时;可以对物体的单价进行设置,单价设置完成将称重物体放在称重托盘上,此时1.ED屏幕就会显示相应的总价。其流程如图4.4所示。图4.4按键流程图4.4本章小结为便于以后的工作,本系统在开发过程中采用了模块化设计;通过对本次使用到的软件开发环境的介绍,从方便性、使用的简洁性等几个方面进行了分析,得出了结论。最后,本文还对系统中的一些主要流程,如主程序,数据采集子程序,报警子程序等做了具体的说明。第五章系统调试验证全部系统设计方案结束后,必须对系统开展运作调节,清除硬件与软件的常见故障,与此同时验证系统的可靠性及可靠性,使系统合乎设计要点。融合系统软件性能测试,利用硬件平台开展多功能性检验,即验证系统硬件软件综合测试正常的,以实现各部件功能性的综合测试。5.1硬件焊接和测试本文以STC89C52为核心,利用AltiUmDeSigner软件,设计和绘制了STC89C52电子秤的硬件电路。完成之后,根据绘制的电路图来对选好的各个功能单元来进行焊接。在焊接之前需要对整体的电路进行合理的布局,测算各个模块的实际接线距离,这样不仅保持了电路板的美观,还能在一定程度上避免了元器件间的干扰性。布局和测算线路完成之后,就可以对各个元器件来进行焊接。需要借助电烙铁工具和焊锡来完成,在焊接的过程中,值得注意到就是温度的控制,太低会导致焊锡未融化达不到焊接效果。太高容易导致焊接的元器件损坏,严重时会导致整个电路板都损坏掉,所以需要控制好一定的温度,才能焊接出好的效果。焊接完毕后,还需要对其上的元件进行检测。在整个系统中,硬件电路的检测是最基本的。假如硬件没达到焊接的效果,即使程序写得再天花乱坠,也达不到完成系统功能需求的效果,所以对硬件的调试是非常重要的。对于硬件的电路调试,最常出现的问题莫过于虚焊或者飞线的时候连接错误等问题。对于硬件电路的测试,需要借助万用表来完成。打开万用表开关,对焊接完成的各个元器件的引脚进行测试,如果万用表上的蜂鸣器响起,则代表电路是导通的,可以通过使用,反之,则需要去考虑是否为虚焊或者连接错误等问题。排除完毕之后,再次测试直至导通即可。元器件测试完成之后,最后一步需要给电路板上电对整个电路板进行测试。上电之后,用手放在元器件上面,感受下是否出现过热现象,如果有,则必须停止供电,将电路板拿下,仔细检查发热部分。处理完成之后,再次上电,按下复位按键,重复刚才操作,观察电路板整体情况,如果未出现问题,则代表通过硬件测试,至此,硬件电路的测试完成,电路板可正常使用。5. 2程序编写和调试硬件电路的完成,标志着对基于STC89C52的电子秤的开发已经打好硬件基础。接下来的一步就需要对程序进行编写并测试。在本系统中需要借助kei15程序编写软件来完成这一系列的操作。包含着程序的编写、程序的调试以及程序的烧录,详细软件调试步骤如下所示。1、编写程序:可通过借助keil5程序开发软件来完成,创建C文件之后,即可开始编写程序,采用模块化编写的方式来完成,需要对各个部分的子程序来进行编写,创建好.main。主函数之后,就可以开始编写功能逻辑程序了,将各个子程序模块调入进去,根据需求来编写功能逻辑代码。2、对程序的调试:在编写完函数逻辑代码后,对其进行编译和重新编译,当编译完毕时,可以按照运行窗口上的错误日志对其进行定位和处理,在处理完毕后,重新编译。也发生了错误,接着进行下一步,直到O错误零警告出来,就可以宣布程序调试结束。3、程序的烧录:这一步是最后一步,把编译好的函数逻辑程序文件产生.hex文件,只有.hex文件可以被单片机识别,然后用烧录软件把产生的.hex文件烧录到单片机中,然后就可以开始运行了。5. 3软硬件联合调试然后把.HEX文件拷贝到单片机中,然后再对整个系统进行全面的调试。主要有:单片机对功能逻辑的处理,传感器能否将有关的数据准确地收集并回传,显示模块能否正确显示所收集的信息,超过阈值是否能够作出相应的反应。图5.1显示了实际的调试过程。图5.1实物调试分析图调试完成系统运行稳定,未出现不良现象,本系统的所有功能均能顺利完成,具体表现如下:通过按键模块能够设置物品的单价,阈值等;通过称重传感器模块的工作,实现对物品重量的获取;通过处理器处理之后,在1.CD1602显示屏可以显示物品重量信息以及价格信息,当重量超出阈值时,蜂鸣器报警提示。经过测试,得到了一个完整、稳定的基于STC89C52的电子秤。5.4调试与精度分析基于单片机的智能电子秤是一项十分实用的产品,可以帮助人们快速、准确地测量物品的重量。然而,在该电子秤的调试阶段,可能会遇到一些问题。以下是对该调试过程中遇到的问题和解决方法的总结:1、硬件问题。在调试中,可能会出现一些硬件问题,例如元器件焊接不良、电源线接触不良等问题。为了避免这些问题,需要在元器件的选型和硬件设计的过程中,加强对电路设计和装配的质量控制。2、软件问题。软件问题也是电子秤调试的难点之一。在开发时,可能会出现系统逻辑错误、程序崩溃等常见问题。为了避免这些问题,需要在开发过程中,采用工具和方法来进行代码调试和错误检测,例如使用调试器、日志打印功能等。3、零点漂移问题。在使用电子秤时,可能出现零点偏移、重量误差过大等问题。为了避免这些问题,可以在调试阶段,对电子秤进行定量校准,通过程序来修正零点偏移和重量误差,提高电子秤的测量精度。基于单片机的智能电子秤在调试过程中可能会遇到各种问题,但只要重视质量控制、采用工具和方法进行调试和错误检测,并进行定量校准,就能够最大限度地提高电子秤的性能和稳定性。在大多数的工程实践中,大多数采用大秤体小称量来消除电子秤的动态误差,所以为了消除该设计误差进行了几次实验,实验结果如表5.1所示。表5.1误差测量表物品实际重量测量重量误差率某品牌饮料Ikg1.007kg0.7%某品牌酸奶150g151g0.6%某品牌湿巾407g405g0.49%某品牌咖啡357g355g0.56%由表5.1可知当重量小于Ikg时相对误差小于1%;当重量大于Ikg时相对误差小于l%o通过理论计算和实际测量,可以得出结论:只要选择合适的测量物体和合适的量程,通过对电子称的设计,使其误差不超过1%,达到了计量的要求。通过对实测数据的分析,得出了相应的相对误差值,并与理论值进行了比较。因此,在设计电子秤时,必须选用合适的测量物体和量程,并且采取有效的误差控制措施,以确保实际重量与测量结果一致,从而满足使用要求。5.5本章小结在完成了各个模块的焊接装配,编制了相应的程序代码,并对其进行了功能验证。通过调试和试验,证明该系统可以很好地完成系统的工作,达到了预定的目的,达到了设计的要求。第六章结论为了提供一种更简单更灵活的物品重量测量以及计算价格的方式,设计了本次电子秤。本文结合了基于STC89C52的电子秤在这个市场上的研究状况,设计并开发了一款基于STC89C52的电子秤,该系统稳定性好、性能优秀,能够很好的对环境数据进行检测。本文研究的内容主要分为以下部分:1、绪论:通过查阅有关基于STC89C52的电子秤的文献,来得出当前该系统的发展现状,来确定所要研究的内容。2、总体设计方案:首先是系统设计的要求,开发一个系统必须得遵循一定的原则才可以开发出稳定的系统。之后通过确定本系统的总体方案,最后是本系统各个功能单元所采用的元器件的选择,选取出最优模块。3、硬件设计:根据功能需求来设计出最佳电路,并通过AltiUmDeSigner软件来绘制电路图,通过对各个模块的功能进行阐述和引脚连接实现,来完成硬件工作。4、软件设计:首先是软件的设计思路,确认好采用模块化的程序设计方式来开发。接着阐述.main()设计流程和各个功能模块的程序设计流程,并以图文形式来展示出来。5、调试与分析:完成硬件跟软件之后,需要对整体进行功能测试,首先是硬件调试,通过采用万用表来完成焊接电路的完整性。接下来为软件程序的设计,使用keil5开发工具来测试,直至出现零错误零警告即可完成。经过最终的测试,本次电子秤通过按键模块能够设置物品的单价,阈值等,通过称重传感器模块的工作,实现对物品重量的获取,通过处理器处理之后,在1.CD1602显示屏可以显示物品重量信息以及价格信息,当