1、四川大学锦城学院本科毕业论文 智能电子秤设计智能电子称设计专业:信息工程学生: 指导老师:摘 要随着当今社会不断的发展,对称重技术提出了更高的要求。人们的追求已经不仅仅只限于传统的称重工具了,传统承重上存在许多的问题,比如说:体积大、成本高、要工频交流电源供应、携带不便、应用场所较少。在现实社会中电子称已经是生活中不可或缺的。这么多年来,人们一直期待能有一款测量准确、便于携带、价格低廉的智能电子秤。在本次毕业设计中制作的智能电子称,主要包括以下几部分:MCU最小系统、显示器模块、称重传感器、AD转换模块、报警系统、键盘扫描部分等。最小系统包括复位电路和晶振电路,显示器模块由LCD1602显示器
2、构成,键盘扫描利用4X4键盘扫描,来调节称重系统,报警系统由蜂鸣器和LED灯构成来显示超重等。系统的软件部分应用单片机C语言进行编程,实现了该设计的全部控制功能。其技术指标为:称量范围015kg;分度值为0.005kg。该电子秤主要能实现自检、去皮、计价、单价设定、超重报警等功能。如果仪器没有进行称重,5分钟后将会进入休眠状态。此系统的优势在于价格便宜,体积小,计量精确,称重速度快电,路设计简单方便,软件方面也比较完善,性价比较高,具有一定的使用价值和广泛的应用前景。关键词:STC89C52单片机 压力传感器 A/D转换器 LCD显示器The design of Intelligent ele
3、ctronicMajor: Electronic and Information EngineeringStudent:YiBingGao Supervisor:NieFangAbstract Now the people of science and technology development is getting quicker and quicker, more and more is also developed, people pursuit has not only limited to the traditional weighing tool, the traditional
4、 bearing has many problems need to be solved, so in order to change these problems, in the design of the electronic load bearing control system will be intelligent. Automation. Humanization embodied. In this system, the microcontroller is the main control system, the weighing sensor and a / D conver
5、ters main task is measuring the weight of the object part, which have many advantages, such as low power consumption, simple system design, multifunction, convenient and intuitive, the advantages of fast speed can be reflected. In this graduation design intelligent electronic said, mainly includes t
6、he following parts: MCU minimum system, display module, weighing sensor, AD conversion module, alarm system, keyboard scanning part, etc. Minimum system includes a reset circuit and oscillator circuit, display module is constituted by the LCD1602 display, keyboard scanning using 4X4 keyboard scannin
7、g, to regulate the weighing system, alarm system by the buzzer and the LED lamp form to display the overweight. The software part of the system is programmed by C language, and the whole control function of the system is realized. Its technical indicators are: weighing range of 0 15kg; index value i
8、s 0.005kg. The electronic scale is mainly to achieve self inspection, peeling, pricing, price setting, overweight alarm function. If the instrument does not have a weighing, it will be in a state of dormancy after 5 minutes. The advantage of this system is cheap, small volume, accurate measurement,
9、weighing speed electric, road design is simple and convenient, software is perfect, high ratio of performance to price, with certain use value and wide application prospect. Key words: STC89C52 Pressure sensor A/D converter LCD display 目 录1绪论51.1电子称的概述51.2研究目的和意义51.3国内外的研究现状61.4主要工作以及研究内容62系统总体方案设计7
10、2.1系统总体设计方案72.2硬件设计82.3软件设计83硬件设计93.1核心模块控制电路设计93.1.1单片机STC89C52概述93.1.2单片机STC89C52的基本特性93.1.3单片机STC89C52的引脚结构103.1.4电子秤的单片机应用电路123.2称重传感器电路设计133.2.2传感器的工作原理133.2.3传感器的电路电路143.3 A/D 转化器的选择143.3.1电子秤专用24位AD转换芯片143.4液晶屏电路173.5矩阵键盘电路183.6超重报警电路183.7电源电路193.8硬件电路设计图204软件的设计214.1总体设计思想214.1.1开发环境和编写语言的选择
11、234.2重量采集子程序234.3重量显示子程序235系统调试235.1硬件调试235.2软件调试235.2.1主程序236使用与说明336.1最终实习效果336.2键盘操作说明336.3使用步骤337结论34致谢35参考文献361绪论1.1电子称的概述 称重重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。因此,称重技术的研究和衡器工业的发
12、展各国都非常重视。 我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。我国电子衡器的技术装备和检测试验手段基本达到国际水平。电子衡器制造技术及应用得到了新发展。电子称重技术从静态称重向动态称重发展;计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。 电子秤属于电子衡器的一种,它的发展也遵循这一趋势。随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。常规的测试仪器仪表和控制装臵被更先进的智能仪器所取代,使得传统的电子测量仪器在远距离、功能、精度及自动化水平定
13、方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。 做为重量测量仪器,智能电子秤在开始在每个行业展现它其测量准确,测量速度快,易于实时测量和监控的巨大优势,并开始逐渐取代传统型的机械杠杆测量称,成为新一代的测量产品。1.2研究目的和意义 古代的机械称有许多欠缺的地方,好比说精度不高,易老化,构造复杂并且成本高。现当今社会的飞速发展,要求也越来越高了,特别是厨房秤,人体秤等小型的便携秤。电子称对比传统的机械称来说很强大,机械称的弹簧被电子称的压力传感器取代了,体积问题和制造得到了很大的改善,美观方面用数码管改造之后简单易懂,因为内部有单
14、片机和软件系统,在智能化上面是传统机械称无法比拟的。 市场上的称量的工具要么就好似运行不可靠,要么就是结根十分复杂,并且造价很高,水平方面有非常的不高,生产厂家很多都是中小型企业,在技术上薄弱,质量方面也很差,并且每有开发的能力,产品质量一直都在低端徘徊。因此,本文很有针对性的自主开发研究了一套可靠性高,利用单片机控制的高精度智能电子称系统。如今单片机渗透到我们生活的各个领域,几乎找不到哪个领域没有单片机的踪迹。单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子
15、或数字电路更加强大。采用单片机设计的电子称会越来越适应社会的发展,响应经济的要求。1.3国内外的研究现状 人们自古以来都很比较重视计量方面。电子衡器的迅速发展已被广泛应用于各个行业,对加强企业管理、贸易生产、交通运输、港口计量和科研都起到了至关重要的作用。50年代中期电子技术的渗透,带动了称重设备制造业的发展,在60年代早期的电子机械电子称重仪,经过40年的不断努力和发展,这已经提高了很多,也完善了不少。中国的电子从机械和电子式发展的组合,电子和数字智能现在开始。现在电子衡器制造的技术的到了新的发展,在应用方面也是有很大的发展的,静态像动态方面的发展对于称量工具来说都是经过了一段时间的。测量方
16、法从模仿测量到数字测量的发展,测量是从一个单一参数的多参数,称重快速和动态研究是发展的主要观点。单从国内外对于电子衡器的产品需求来看,模块化,小型化,集成化,智能化是电子衡器的发展趋势。速率高,准确度高,稳定性是技术性能的趋势。智能化是功能性的趋势,综合性和组合性是应用性能的趋势。电子称重仪是一种被称为电子称,是法定的国家称重设备,在经济和贸易,工业和农业,国防建设和生活是不可缺少的,称重仪表技术水平将直接影响到各行各业。 1.4主要工作以及研究内容 本课题的思绪是:电信号使用压力传感器收集转变而成,然后自动的变更成数字旗号,这是由模拟到数字转换器来完成的,最终由单片机来接收信号,经由相关的处
17、置后,得出当前物品的重量。最后就是现实出物品的重量。在设计期间,本人努力的查找相关资料,分析了很多的基本原理和各软件,然后对仿真模块做了认真的分析,在下面的机电做了仔细的分析研究便携式电子秤主要技术指标:量程:010kg、分度值:0.005kg、误差:0.005kg能实现的功能:开机自检、去皮、计价、清零、自动休眠、LCD1602液晶显示、过载报警等;如果仪器没有进行称重操作,5分钟后自动进入睡眠模式,降低功耗。2系统总体方案设计2.1系统总体设计方案物体的重量是由物体传递给传感器的,然后由传感器发生相互作用力,然后产生电效应,将物体的重量转换成电信号,但是这电信号是一种有一定函数关系的电信号
18、,然后这电信号进入了模数转换器进行转换,经过转换之后的电流进入到STC89C52单片机之中经过处理,随后经过处理之后的内容在数码管上得到体现,从而实现了称重的功能。其硬件结构主要包括:1、数据采集模块、单片机控制模块、超重报警模块、键盘和显示模块;2、软件部分由C语言编程,实现对各部分的控制。3、数据采集模块包括称重传感器和A/D转换电路。4、单片机控制部分主要包括STC89C52单片机5、键盘是4X4位矩阵键盘,能够操作显示重量和价钱等信息。6、显示部分由LCD1602液晶显示。 该电子秤可以实现称重、置零、计价、超重报警和显示等功能。其称重范围为010Kg,分度值为0.001g。整个系统结
19、构简单,使用方便。系统设计总体方案框图如图1所示。图:系统设计总体方案框图2.2硬件设计 在硬件设计中,数据采集模块包括称重传感器和A/D转换电路;最小系统部分主要包括STC89C52、晶振电路和复位电路;键盘是4X4位矩阵键盘,能够控制价钱和显示重量等信息;显示部分由LCD1602液晶显示。硬件框图如所示:图:硬件框图称重传感器的作用主要是用作于这次系统的称量,当传感器产生电信号的时候说明称重传感器受到了压力和拉力,不同的电信号对应着不同的压力和拉力,而且这其中的关系一般是为线性的关系,模拟信号由传感器里面输出,这其中传出来的信号要便于单片机的接受,所以电路中要进行A/D转换。下一步单片机读
20、取被测数据,举行计算改变,最后显示在液晶屏上。2.3软件设计 在软件设计中是最为复杂的一部分,我采用的是C语言编写程序。为了方便程序调试和提高可靠性,程序设计采用自上而下、模块化、结构化的程序设计方法。先可以分析系统的控制要求,然后根据算法画一个工作的流程图,依次编写程序。最终实现其具有的功能。本次设计的程序主要有初始化程序、主程序,重量采集子程序,重量显示子程序。3硬件设计3.1核心模块控制电路设计3.1.1单片机STC89C52概述 单片机是一种集成电路芯片,它包含一个中央处理器、随机存取存储器、只读存储器、多个输入/输出端口等。它等同于一个计算机系统被集成到一块芯片上了,于是也叫微型计算
21、机。 单片机自上个世纪的横空出世以来,让我们生活有了翻天覆地的变化。随着电子产品的大力发展,单片机技术也逐步更新。各个科技公司也相继推出了自己独有特色的单片机。现主流单片机包含:Atmel单片机、Motonola单片机、Scenix单片机、STC单片机和Microchip单片机等等。这些单片机的结构简单、方便使用,并且能持续长时间工作,稳定性高,适应环境能力强。Atmel公司的AT89C52单片机就是一款非常不错的单片机,高密度非易失性存储器技术,独有的32个I/O口设计,性价比高,性能优越,完全能够满足本系统的需求。根据综合性能、性价比、实用性各方面因素,这次策划中我看中了STC89C52单
22、片机。单片机主要是由CPU及其部分外围器件构成如:RAM存储器、接口电路、 专业的机器语言处理程序等等,具备一定的数据处理能力,使用范围尤其广泛,扩展性能非常强势。微控制器在上世纪70年代诞生了,它已经彻底改变了我们的生活。经过了这几十年的不断发展和演变,单片机的生产成本已经变得越来越低,但它的性能却越来越强大。所以说,单片机已经和我们的生活密不可分。单片机的种类繁多,。分别有工控型/家电型、总线型/非总线型、通用型/专用型这么几类。51单片机系列也有很多种芯片,包括STC89C52, STC89C51,AT89S51,AT89C51, AT89C52等等。STC89C52单片机是宏晶科技出产
23、的单时钟单片机,它是一款速率高、抗干扰性棒、功耗低的新生代8051单片机。它的指令代码不但可以全部兼容传统8051,而且速率是8051的8-12倍,MAX810是里面集成专用复位电路。单片机是一种集成电路芯片,它包含了中央处理器、随机存储器、只读存储器、多个I/O口等等。我选择STC89C52芯片最为合适。3.1.2单片机STC89C52的基本特性(1) 一个8位中央处理单元(中央处理器);(2) 芯片内有时钟发生电路;(3) 能找寻到到的数据储存器在64K更外部;(4) 具有两个16位定时/计数器;(5) 具有4K ROM;(6) 拥有1280个字节的内存;(7) 拥有21个特殊功能的存储器
24、;(8) 具备4个I/O端口、32根I/O线;(9) 配有2个优先级,拥有5个中断源;(10) 具有位寻址能力,适于逻辑运算;(11) 具有一个全双功能串行接口。3.1.3单片机STC89C52的引脚结构 图10 单片机管脚管脚图 VCC:供电电压。GND:接地。1、 P0口:P0口是一个双开的I/O口,还是一个漏极带8位的,他滴每只脚能够吸收8TTL门电流,当p1为1时,便是高位的电阻。接收p0的信号靠外部程序储存器,其定论就是数据/地址的第八位。校准时,p0输出源码,p0外部就被拉高;在编写程序,p0 为源代码的输入。2、P1口:p1口是供给上拉电阻拥有8位的双向I/O口,电流由4TTL门
25、输入到p1缓冲器中。P1写入1后,就被当做第八位给接收了。3、 P2口:p2口是内部上拉的电阻也拥有一个双向I/O的接口,4个TTL门电流能够被P2口缓冲器接收;当作用为1时,脚管被内部上拉电阻拉高,当作输入。内部上来的原因就是;当输入的时候,当输入,P2销管被外部拉低时,由于输出电流4、 P3口:p3口管脚是8个带内部上啦的I/O口,也是一样的可以接收4个TTL门电流,写成1的时候,被内部上啦为高电频,作为输入,因为是低频率的外部拉力,P3口作为输出电流。管脚 备选功能如下表所示: 图11:管脚应用功能 P3口同时作为闪烁编程和编程校验接收一些控制信号。5、 RST:复位输入。在振荡器复位装
26、置,RST引脚出现两个机器周期的高电平时必须一致。6、 ALE/PROG:在外部存储器被访问的时候,地址的地位字节在地址锁存许可的情况下被锁存作为输出电平。当闪存编程,这个引脚是用来输入程序脉冲。在通常的ALE的稳定的输出频率周期性脉冲信号,振荡器频率的频率为1 / 6。因此,它可以用于对外部输出脉冲或定时用途。但要注意的是:如果用于外部数据存储器,它将跳过一个ALE脉冲。如果你想停止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果在外部执行状态的微处理器是禁止的,该位置的啤酒是无效的。7、/PSEN:外部程序存
27、储器是一个选通讯号。当手指由外部程序控制,两/PSEN是机器的每周期有效。在访问外部数据存储器时,/PSEN信号都不会出现,并且是两个有效的都不会出现。8、/EA/VPP:当/EA端保持高电平时,内部程序存储器:在EA显示低电平时,外部存储器这段时间FFFFH期间,无论它是不是内部程序存储器。应注意加密方法1,/电针将被锁定在内部复位。在Flash编程时,这个引脚还用于12V编程电源(VPP)。9、XTAL1:反向震动放大器的输入和内部时钟作业电路的输入端。10、XTAL2:振荡器定向输出。3.1.4电子秤的单片机应用电路单片机应用电路的电子秤的设计如图12所示:图12 STC89C52单片机
28、电路 在DOUT和pdsck通讯线HX711和单片机的AD转换电路交换数据。报警信号线报警,蜂鸣器报警信号线的哔哔声,RXD和TXD串行通信线,ISP也用来做串口的单片机程序下载。3.2称重传感器电路设计3.2.1传感器的应用 设计中,十分重要的一个原件就是传感器,所以设计中很重要的一部分就是对于传感器的选择,量程以及参数都要值得注意,设计的难度和成本的电路设计,因此应考虑在其中的传感器的数量,重量比例,最大值可以确定传感器的选择。一般说来假如要让称重精度更高,那么就要让传感器的范围是非常接近的分配给每个传感器的负载,但实际情况,除被称物体加之传感器上以外,其中还存在称的自重,还有很多其他的负
29、载。因此,在选择传感器测量范围时要考虑一系列因素,以保证传感器的安全性和寿命。量程公式的确定是经过大量的实验,然后考虑到影响称体的各个因素之后确定的。 为了获得电子秤量的精度,就要办理传感器的弊端,好比低量线程段线性度差。在现实的工作,范围是20 %至80 %是最好的,一般是这样的要求。所以它可以控制线性度好、精度高,重量误差在0.01kg,将有没有大的差异,而且有很多另外的因素,比如说要考虑自重,震动,冲击分量,损坏传感器也是要努力的避免的,所以我们有限重的,对于精度和最大量程误差也有考虑到。 传感器的稳定性是一个定量指标,假如过了周期使用的话,就一定要确定性质有无变化。在某些特殊场合,选定
30、的传感器稳定性更严格。通常要很长一段时间的测试。3.2.2传感器的工作原理 在使用中的一些特别注意的是,传感器是非常紧张的,一些情况会造成损害或影响精度的传感器和线性,如振动,碰撞,过载等。测量机构最最重要的就是传感器,压力传感器和电容式传感器是目前常用的传感器,我们应该优先的考虑的是精度高的,稳定性好的,灵敏度也高的。现比较如下:1. 电容式压力传感器;不稳定,精度高,环境要求独特,寿命短,不利于长距离的传输。2. 压电式的传感器对比上述来说稳定要好些,寿命要长一些3. 电阻应变式压力传感器和压电式的大致差不多,而且对于测量环境要求不怎么严格。 电阻应变式压力传感器是由弹性、电阻应变计组成的
31、电缆,惠更斯桥线弹性变形,改变单元的受力,桥梁如果平衡电阻变换,差动信号由此产生,方便后续电路的测量和处理。归纳来看本策划完成的是绝对值的压力,简化了电路,提高了稳定性和抗干扰能力是主要。电阻应变式传感器测量原理如图4所示 图4 电阻应变式传感器测量原理 当垂直正压力P在梁上,梁发生变形,应变计,R1,R3压缩弯曲拉伸阻力增大;R2、R4受压缩,阻值减小。电桥失去平衡,发生不平衡电压,不平衡电压和作用在传感器上的载菏P成正比,就将非电量转变成电量输出。 R1、R2、R3和R4形成惠更斯桥的电阻变化,电阻应变计将被转换成输出电压,其工作原理如图5所示。 图5 测量电桥原理3.2.3传感器的电路电
32、路3.3 A/D 转化器的选择3.3.1电子秤专用24位AD转换芯片 整个设计的关键是A/D转换部分,如果失败的话,那么这个设计就白做了。到现在,全世界上有各种各样的ADC,比如说这个HX711 它采用的是核心技术的专利技术,这是一个24位模数转换器芯片,专门设计用于高精度电子秤。和雷同类型别个芯片比拟,这个芯片集成了包含片内时钟振荡器、稳压电源等别的同类型芯片所需要的外围电路,它的长处在于响应速度快、集成度高、抗干扰性强等。较少了整个电子秤机械的本钱,提升了整个机械的可靠性和机能。 这个芯片和后端MCU 芯片的接口与编程都十分轻松,不用对芯片里面的寄存器编程管脚驱动控制,部的信号。输入选择开
33、关可以随意选取AB通道,低噪声可编程放大器和内部相连。A通道 的可编程值是128 或64,B通道 是固定好的32 增益,用来检测系统参数。芯片里存储的稳压电源可以直接向芯片内的A/D 转换器和外部传感器提供给电源,系统板上不需要其他的模拟电源。芯片上时钟振荡器不需要任意外部设备。复位功能的电源简化了电源的初始化过程。它的外部管脚如图7所示, HX711的内部方框图如图6所示。. 图6 HX711内部方框图、图7 HX711外部管脚图图7中使用的参考电路图估值HX711芯片。A通道与传感器连接,B通道经过外接分压电阻与电池连接,以检测电池的电压。图8 HX711估值规模应用参考电路 3.3.2
34、供电电源数字电源(DVDD)应使用与MCU芯片相同的的数字供电电源。HX711芯片内的稳压电路可同时向A/D转换器和外部传感器提供模拟电源。稳压电源的供电电压(VSUP)可与数字电源(DVDD)相同。稳压电源的输出电压值(VAVDD)由外部分压电阻R1、R2 和芯片的输出参考电压VBG决定(图1),VAVDD=VBG(R1+R2)/R2。应选择该输出电压比稳压电源的输入电压(VSUP)低至少100mV。如果不使用芯片内的稳压电路,管脚VSUP和管脚AVDD应相连,并接到电压为2.65.5V的低噪声模拟电源。管脚VBG上不需要外接电容,管脚VFB应接地,管脚BASE 为无连接。3.3.3 时钟选
35、择如果将管脚XI接地,HX711将自动选择使用内部时钟振荡器,并自动关闭外部时钟输入和晶振的相关电路。这种情况下,典型输出数据速率为10Hz或80Hz。如果需要准确的输出数据速率,可将外部输入时钟通过一个20pF的隔直电容连接到XI管脚上,或将晶振连接到XI和XO管脚上。这种情况下,芯片内的时钟振荡器电路会自动关闭,晶振时钟或外部输入时钟电路被采用。此时,若晶振频率为11.0592MHz,输出数据速率为准确的10Hz或80Hz。输出数据速率与晶振频率以上述关系按比例增加或减少。使用外部输入时钟时,外部时钟信号不一定需要为方波。可将MCU芯片的晶振输出管脚上的时钟信号通过20pF的隔直电容连接到
36、XI管脚上,作为外部时钟输入。外部时钟输入信号的幅值可低至150mV。3.3.4 串口通讯串口通讯线由管脚PD_SCK和DOUT组成,用来输出数据,选择输入通道和增益。当数据输出管脚DOUT为高电平时,表明A/D转换器还未准备好输出数据,此时串口时钟输入信号PD_SCK应为低电平。当DOUT从高电平变低电平后,PD_SCK应输入25至27个不等的时钟脉冲(图二)。其中第一个时钟脉冲的上升沿将读出输出24位数据的最高位(MSB),直至第24个时钟脉冲完成,24位输出数据从最高位至最低位逐位输出完成。第25至27个时钟脉冲用来选择下一次A/D转换的输入通道和增益,参见表三。表三输入通道和增益选择P
37、D_SCK的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。当A/D转换器的输入通道或增益改变时,A/D转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。3.3.5 复位和断电当芯片上电时,芯片内的上电自动复位电路会使芯片自动复位。管脚PD_SCK输入用来控制HX711的断电。当PD_SCK为低电平时,芯片处于正常工作状态。如果PD_SCK从低电平变高电平并保持在高电平超过60s,HX711 即进入断电状态(图三)。如使用片内稳压电源电路,断电时,外部传感器和片内A/D 转换器会被同时断电。当PD_SCK 重新回到低电平时,芯片会
38、自动复位后进入正常工作状态。芯片从复位或断电状态进入正常工作状态后,通道A和增益128会被自动选择作为第一次A/D转换的输入通道和增益。随后的输入通道和增益选择由PD_SCK的脉冲数决定,参见串口通讯一节。芯片从复位或断电状态进入正常工作状态后,A/D 转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。 3.4液晶屏电路 图13 LCD显示电路3.4.1LCM1602的特性及使用说明1 LCM1602的接口信号说明如表4:编号引脚符号功能说明编号引脚符号功能说明1VSS电源地9D2DATA I/O2VDD电源正极10D3DATA I/O3VL液
39、晶显示偏压信号11D4DATA I/O4RS数据/命令选择端(H/L)12D5DATA I/O5R/W读/写选择端(H/L)13D6DATA I/O6E使能信号14D7DATA I/O7D0DATA I/O15BLA背光正极8D1DATA I/O16BLK背光负极表4 LCM1602的接口信号2、基本操作时序如下:1)读状态:RS=L,RW=H,E=H2)写指令:RS=L,RW=L,D0D7=指令码,E=高脉冲3)读数据:RS=H,RW=H,E=H4)写数据:RS=H,RW=L,D0D7=数据,E=高脉冲3、初始化设置1)显示模式设置如表5:指令码功能00111000设置16*2显示,5*7点
40、阵,8位数据接口表5显示模式设置2) 显示开/关及光标设置如表6: 指令码功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示光标B=1光标闪烁;B=0光标不显示000001NSN=1当读或写一个字符后地址指针加一,且光标加一N=0当读或写一个字符后地址指针减一,且光标减一S=1当写一个字符,整屏显示左移(N=1) 表6 显示开/关及光标设置3.4.2LCM1602与MCU的接口电路LCD的D0D7分别接单片机的的P0口,作为数据线,因为P0口内部没有上拉电阻,所以外部另外加上10K的上拉电阻;P1.0P1.2分别接LCD的RS、RW、E三个控制管脚;RV1用来调节LCD
41、的显示灰度;BLK、BLA为背光的阴极和阳极,接上相应电平即点亮背光灯。3.5矩阵键盘电路矩阵键盘电路如图14 所示: 图14:矩阵键盘电路上图中4*4矩阵键盘能够显示0-9数字、小数点和五个功能键。键盘额列扫描讯号是COL1COL4,行扫描信号是ROW1ROW4。列信号为输出信号;行信号为输入信号,低电平有效。当没有按键时,即使线扫描输入低电平信号,该柱信号仍然很高;当扫描较低时,按一个按钮,相应的列输出低电平。低电平信号可以被定位到键的位置。3.6超重报警电路下面图15为超重报警电路。 图15 声光报警电路在测量的重量超过了蜂鸣和报警范围,一个低电平信号,以驱动蜂鸣器的声音,光报警。3.7
42、电源电路本设计使用USB接口供电,电源电压5V。因此,在同一时间,USB接口给整个系统供电,如图16。 图16 供电电路 U.S半导体公司出产的ADC0809 分辨率为8位,还具有双通道A / D转换,双通道A/D转换芯片,和TTL / CMOS兼容的输入和输出水平,含5V。3.8硬件电路设计图硬件设计电路图4软件的设计4.1总体设计思想下面有一个非常重要的工作,而且是非常复杂的,那就是程序的设计。因为很复杂,所以要把这些程序变得很有条理化,那么就要有相应的步骤才可以的,下面概括了3点步骤: (1)可以分析系统的控制要求,确定算法:可以对我们总结出来的具体问题进行合理的分析,让一个合理的算法和
43、适当的数据结构归类总结好,这样才能确定我们这个程序的步骤,能否编制出高质量的程序的关键就在于这里。 (2)根据算法画一个工作的流程图:为了把算法和解题步骤具体化,我们可以试着去画一个流程图。这样我们就可以避免很多的错误的出现。 (3)编写程序:程序的算法和步骤我们可以在程序的流程框图里面总结出来。而且可以选择我们认为可以很容易实现的指令排列起来,这样组合起来变成了一个很有效的整体,这就是我们设计的程序。 结构化程序设计方法是一种理想的程序数据的方法,该控制结构是用来做适当的限制的结构的程序设计,特别注意的是我们要限制转向语句的使用才行。这样我们才能更加完美的控制程序的复杂性,在程序上我们做到与
44、上下文的顺序和执行流程要总体的一致,这样我们才能让我们设计的程序更加的容易被读者理解,从根本上的减少逻辑错误,可以让我们的程序更加的容易修改和调试。主主程序和显示子程序,初始化程序和数据采集例程,以及我们的延时程序,构成我们的系统软件设计。主程序流程图如图所示。图: 主程序流程图 当有物品在电子秤上称量时,则会显示该物品的重量、单价、代码及总价等;如果没有检测到物品时,会继续循环此操作,直到检测出有物品后会显示出其数据。4.1.1开发环境和编写语言的选择 单片机有两种编写语言:汇编语言和C语言。C语言的出现就是为了代替汇编语言,编写之前那些用汇编语言编写的应用程序。C语言具有高效,可移植,功能性强大,语言灵活且通俗易懂。相比于汇编语言来说,C语言的优势更加明显,所以本系统软件系统采用C语言编写。单片机开发环境采用Keil Software公司的Keil 14软件和ISP下载器,ISP是提供网上服务的缩写(Internet Service Provider),即互联网服务提供商,用Protel设计电路图。 4.2重量采集子程序#include HX711.h/*/延时函数/*void Delay_hx711_us(void)_nop_();_nop_();/*/读取HX711/*