基于单片机的电子秤毕业设计

上传人:沈*** 文档编号:136641558 上传时间:2022-08-17 格式:DOC 页数:49 大小:2.44MB
收藏 版权申诉 举报 下载
基于单片机的电子秤毕业设计_第1页
第1页 / 共49页
基于单片机的电子秤毕业设计_第2页
第2页 / 共49页
基于单片机的电子秤毕业设计_第3页
第3页 / 共49页
资源描述:

《基于单片机的电子秤毕业设计》由会员分享,可在线阅读,更多相关《基于单片机的电子秤毕业设计(49页珍藏版)》请在装配图网上搜索。

1、南京理工大学紫金学院毕业设计说明书(论文)作 者:学 号:系:电子工程与光电技术系专 业:电子信息工程题 目:基于单片机的电子称设计 指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务)2014 年 5 月南 京 理 工 大 学 紫 金 学 院毕业设计(论文)评语学生姓名: 班级、学号: 题 目: 基于单片机的电子称设计 综合成绩: 指导者评语:陆文林同学的毕业设计是对基于单片机的电子称设计,以STC89C52为控制核心,设计制作一个称重电子称。此电子称电路中,主要包含STC89C52单片机、液晶LCD1602、模数转换ADHX711、压力传感器MPX4250和矩阵键盘

2、。该电子秤实现了基本的称重功能,可以通过键盘输入单价,液晶实时显示单价、重量以及总价,并且具有超重报警功能。该设计在Keil里编写C语言程序,在Proteus里设计硬件电路,通过硬件电路和软件程序的联调,达到了预期的仿真效果。该生还制作完成了电子称的硬件实物,达到了预期的称重功能,称重误差在允许的范围内。论文达到任务书所规定的毕业设计内容、要求和目的。工作量饱满,图片符合规范,书写符合规范,文献引用与写作格式正确,该生学习能力和独立设计能力较强,学习态度特别端正。毕业设计论文可以提交答辩,建议成绩评定为良好。 指导者(签字): 年 月 日毕业设计(论文)评语评阅者评语: 评阅者(签字): 年

3、月 日答辩委员会(小组)评语: 答辩委员会(小组)负责人(签字): 年 月 日毕业设计说明书(论文)中文摘要本课题结合全桥式差分测量电路的压力传感器和STC89C52RC单片机等器件制作的电子称。通过压力传感器对5Kg量程范围内的物体进行称重,系统能够实现称重、显示、计价、去皮/复位功能。采用24位高精度的模拟-数字转换AD芯片HX711采集传感器的模拟输入量,并将其转换为数字量,单片机对转换后的数字信号进行数据处理,LCD1602液晶则是负责显示的功能。本设计运用C语言来编程来实现单片机的控制功能,包含有基本的称重功能,键盘价格输入功能,LCD液晶显示功能,还具有超重报警功能能够得到体现。关

4、键词 电子称 STC89C52 HX711 LCD1602毕业设计说明书(论文)外文摘要Title Electronic Scale Based on MCU AbstractThe issue is the differential pressure sensor full bridge measurement circuit and microcontroller devices such STC89C52RC production of electronic scales. The scale of the object is achieved by a pressure sensor

5、within range of weighing 5Kg, to achieve weighing, display, peeled / clear functions. The electronic scales dedicated 24 BIT AD converter chips HX711 amount of analog sensor to the AD conversion, the converted data to the microcontroller for processing and display, data from the LCD1602 LCD display.

6、The design of all the control functions of the application microcontroller C language, including basic weighing functions, keyboard input prices, LCD liquid crystal display, alarm function also has overweight. Electronic scales are the detection and conversion technology, computer technology, inform

7、ation processing, digital technology and other new technologies one of modern integrated weighing instruments.Keywords MCU STC89C52 HX711 LCD1602目 次1 绪论11.1 称的发展11.2 基于单片机的电子称的基本思想以及系统结构11.3 本课题研究的难点12 基于单片机电子称的概述32.1 电阻应变式传感器的工作原理32.2 桥式测量电路的工作原理32.3 模数转换器A/D的选择52.4 键盘的选择62.5 液晶显示器的选择62.6 本章小结73 基于

8、单片机电子称设计的硬件系统设计83.1 全桥式压力传感器83.2 模数转换(A/D)-HX71193.3 模拟信号的放大113.4 4*4矩阵式扫描键盘113.5 数据的处理核心-单片机(STC89C52RC)133.6 数据的输出显示-LCD1602163.7 超重报警电路173.8 本章小结184 软件系统结构194.1 系统主程序流程图194.2 LCD1602显示流程图204.3 键盘按键扫描流程图204.5 本章小结215 软件仿真225.1 在proteus 中的仿真225.2 仿真结果显示235.3 本章小结246 硬件调试256.1 调试过程中出现的问题及解决方法256.2 本

9、章小结28结 论29致 谢30参 考 文 献31附录A C语言程序32附录B 系统总原理图421 绪论电子称在市面上的应用相当广泛,人们的生活中是随处可见,在超市购物或者农贸市场买菜,几乎是人们生活中的必要工具,基于单片机的电子称,是借助微型单片机的数据处理,将我们所需要的信息在显示屏中输出,一目了然。1.1 称的发展计量与计价是在生产生活与贸易流通中一个重要的环节。称重设备或衡器则是不可或缺的计量工具。随着工农业生产发展和商品流通规模不断扩大,称重设备需求也在不断增加,机械式杠杆称在当今高负荷的使用中己经逐渐被淘汰。所以称重设备不但要显示称重结果,而且也得满足计价的功能,最好是显示更多的附属

10、功能,产品的种类等等。现在社会的发展之快,称重技术的不断发展也体现出社会的发展。科技上的更新瞬息万变,称重技术的革新速度也反应时代的变化,总的来说,经历了四个阶段,机械部件组成的传统机械称到使用由电子电路和部分机械元件组成的机电结合称,由于集成电路的高速发展为目前的单片机系统设计的电子计价称奠定了基础2。1.2 基于单片机的电子称的基本思想以及系统结构基于单片机的电子称的基本思想是以一个标准的、通用的、模块化的硬件平台为依托,C语言被用为编程语言,采用压力传感器集成模块,模拟-数字(A/D)转换模块,行列式扫描键盘模块,信号数据处理单片机(STC89C52RC)模块,液晶显示模块(LCD160

11、2)。数字式电子称通常采用电阻应变式传感器作为数据媒介,通过传感器将需要称重物品的重量转变成电压输出,经放大器电压放大后,再经过模数(A/D)转换电路将电压变化的信息转变成相关的数字信息去处理,再由矩阵式键盘输入称重物品的单价之后由单片机完成最后的数据计算处理任务,数据处理之后再经由显示电路显示出被称量重物的物重信息3。1.3 本课题研究的难点第一,桥式电路是压力传感器最常选用的传感器,在二分之一桥和全桥之间做出选择。第二,由于压力传感器的输出电压比较小,对于低精度A/D而言需要加放大器来提高精度来降低误差,而高精度的AD可选用万能可编程放大器,自动选择。第三,课题要求精度达到0.1%,既要满

12、足精度的要求,也需要考虑在实际生活中的应用。第四,矩阵式键盘通过什么样的扫描方式将按下的键值和按键功能体现出来。第五,当称盘上的物重超出了所设定的5Kg的最大重量或者是在电子称的托盘空载的情况下,报警蜂鸣器能否正常工作。第六,在数字电子称工作的开始,托盘有其自身的重量,去皮也是重要的环节之一。2 基于单片机电子称的概述电源电路、单片机最小系统、1602LCD显示电路、蜂鸣器报警电路、4*4键盘扫描电路和压力传感电路(HX711采样)6个部分组成了电子称的系统,如图2.1所示。图2.1 基于单片机的电子称系统框图由上图可以看出整个电子称系统的工作流程由压力传感器测得物重信息并转换成电压信号,由于

13、其感测的电压微小,低位数的ADC转换的精度有限制,产生较大误差,增加了放大电路对压力传感器的输出信号的处理,ADC则是对放大信号进行模数转换处理,转换成单片能够识别的数字信号,键盘则是电子称的物品价格的输入器件,最后显示价格,重量和总价。2.1 电阻应变式传感器的工作原理应用最广泛的的压力传感器是电阻应变式传感器,在弹性敏感元件上黏贴电阻应变片,能够测量位移、压力、加速度等参数,作为最主要的测量手段的传感器5,它具有以下独特的特点:使用方便,结构简单,稳定性好,可靠性高;适用于测试过程中的自动化和遥测、多点同步测量。阻应变式传感器借助弹性敏感元件上粘贴电阻应变片,电阻应变片由于外界给与的压力使

14、得弹性敏感元件产生的应变,所以电阻应变的电阻值也产生相应的变化,电阻值发生的变化从而相应的的输出电压值也会产生相应的变化5。2.2 桥式测量电路的工作原理众所周知,外界环境因素对实验的影响无可避免的,从而会使电阻值发生改变,温度导致的变化与弹性敏感元件应变电阻值的变化在同一个数量级,所以应当采取措施克服温度误差桥式测量电路5。桥路补偿法补偿非线性误差的优点是:方法简单,在常温下补偿的效果较好,也会存在缺点:如果温度之间的差值太大,就会导致补偿片与工作片温度不在相同的测量范围,补偿的效果也就不甚理想5。电桥电路上的应变片发生弹性应变可转化为电阻值变化,还需要将电阻的变化值转化为电压或电流的变化值

15、,此电路称为电阻应变式传感器的信号调节电路5。在理论研究中都是假定应变片的参数变化很小,所以一般是线性特征。在本课题中采用差动电路来克服非线性误差:测量元件的应力状态是不相同的,这两个应变片一个受拉力,一个受压力,应变方向正好相反,工作性质相反,工作时将两个应变片接入电桥的相邻臂,以达到补偿非线性的作用,如图2.2所示半桥差动电路。图2.2 半桥差动半桥的输出电压如公式(2.1)所示: (2.1)本课题中采用的是四个应变片全桥差动补偿电路,对桥之间所受的力的方向一致,相邻的两桥臂之间所受到的力的性质相反,当金属应变片发生形变,相邻的桥臂之间形成补偿作用,如图2.3所示为全桥差动电路。图2.3

16、全桥差动电路全桥的输出电压如公式(2.2)所示: (2.2)本课题设计中所采用的是全桥式差动压力传感。2.3 模数转换器A/D的选择本课题设计要求的测量范围5Kg内,测量精度达到0.1%。根据课题精度要求,所以至少需要采用的10位的ADC才能满足需求,但市场上10位的ADC并不多见,而且选择这样独立的ADC需要外接的电路,包括稳压电源、片内的时钟振荡器等,还需要对芯片内部的寄存器编程,具有一定的繁琐性。综合查找的资料,在比较之下选择的24bit的HX711这款芯片,因为它是专门针对于称重设备开发的一款ADC。由所需要达到的精度可以算出所需要的ADC需要的位数如公式(2.3)所示: (2.3)可

17、以得到n=10时满足0.001精度的要求,则使用10位的ADC它的分辨力如公式(2.4)所示: (2.4)但是这样的只是理论中计算出来的值,在实际应用中还是有很大的误差,其中会有环境因素,焊接工艺等带来的误差,所以为了适应现实生活中的需要,选择高精度的AD才能够更好的满足生产生活中的需要,使用HX711模数转换AD,其所达到的精度如式(2.5)所示: (2.5)则其分辨力可以达到0.0003g如公式(2.6)所示: (2.6)这是理论上可达到的最小灵敏度,但是在实际应用中并不能测得如此的精确。高精度的HX711,对于传感器输入的的小信号可以直接采用,更多的好处是HX711芯片本身也集成了可编程

18、反相程控放大器,为了适应不同环境,提高分辨力和测量精度,所以选择带有可变增益的放大器,智能仪器含有处理器芯片,内置的程序被用来选择控制放大器的增益,这就是智能仪器中的程控放大器 6。程控放大器又可分为程控反相放大器、程控同相放大器,程控反相放大器如图2.4所示,HX711无需编程选择放大增益,具有自动选择的功能。如果是采用了低精度的AD,则必需增加放大电路和多路选择器,比如OP07与CD4066。反相程控放大器的增益公式如公式(2.7)所示: (2.7)图2.4 程控反相放大器在本课题中已经采用了HX711模数转换AD,这个芯片是一个集成芯片,包括了稳压电源和可编程放大器等外围电路。2.4 键

19、盘的选择独立式按键:单片机的I/O口既可以作为输出也可作为输入使用,一个按键占用了单独的一个I/O口,所以这样会浪费I/O的资源。矩阵式按键:在超过一定数量的按键之后起到节省I/O口的作用,按键被排列成行列形式,每条水平线和垂直线在交叉处通过一个按键加以连接,实现按键接线之间的导通,在后期的制作中如果按键只是用来清零、复位等简单操作可选择独立式键盘,在后期制作中满足不了功能需求所以实物中采用了薄膜式矩阵键盘。2.5 液晶显示器的选择LCD1602:显示的内容是32个字符,分上下两行显示,每行可显示16个字符,虽然只能显示两行字符,但包含了本课题的显示需求,但不能显示汉字字符,还具有微功耗,体积

20、小,显示内容丰富,超薄轻巧的特点。LCD12864:显示的内容是128*64,可现实64行,每行128个字符。对于显示内容丰富的仪器还可以显示中文字符,更适用于生产生活需要。综上所述在本课题中所采用的液晶显示器是LCD1602满足本课题需求。2.6 本章小结在本章中主要介绍了电阻应变式传感器中的桥式测量电路,根据精度确定模数转换芯片以及采用的是矩阵式的薄膜键盘的原因,LCD1602与LCD12864的比较,确定了器件是做实物基础。3 基于单片机电子称设计的硬件系统设计数据处理和控制核心是STC89C52RC单片机,为实现电子称系统的基本控制功能的提供硬件和软件支持。最小系统包含了晶振电路和复位

21、电路,数据采集模块扩展了压力传感器、前级放大电路和模拟-数字转换电路。人机界面部分为4*4矩阵式键盘输入和1602点阵式液晶显示,以及报警电路。可以直观的看到单价,重量,总价,使用方便经济。3.1 全桥式压力传感器当压力传感器的应变片受到外界力时,就将力转换成弹性敏感元件电阻的变化。桥式传感器由电阻应变片和测量线路两部分组成,而电阻应变片产生的误差,主要来源于温度的影响,相对两臂上电阻受到温度的变化产生的变化值是相同的,对桥之间起到误差补偿作用,所以采用了全桥压力传感器,电阻应变式压力传感器如图3.1所示。图3.1 电阻应变式传感器传感器的精度对电子称最后的测量精度有着至关重要的影响,所以本课

22、题选择了专门用于称重的高精度电阻应变式传感器。通过金属的弹性敏感元件产生的形变将被测量的压力转换成电阻值的变化,电阻值变化导致输出电压值发生改变,5Kg是本课题的测量要求范围,精度需要达到0.1%,托盘的自重也要考虑在内,为了避免超重损坏传感器,因此,选择的传感器量程应当超过5Kg。电桥平衡状态为R1R2R3R4,托盘上被放入砝码R1R2R3R4=R,4个桥臂上的电阻发生相同的变化时,其桥路输出电压U与R成正比,其原理图如图3.2所示。图3.2 电桥平衡原理图传感器与HX711连接示意图如图3.3所示。图3.3 传感器与HX711连接示意图上下两根导线与电源的正负极相连,左右两根导线接信号线的

23、相接。3.2 模数转换(A/D)-HX711根据课题设计精度和灵敏度的要求,对ADC的选择是电子称能否达到测量要求以及能否切合实际得到应用,经过对比8位ADC0832和10位,12位等系列的产品,HX711的集成度融合了其他外界电路的设计要求,与MCU的连接也只需要通过两个端口的接入,在很大的程度上方便了实物的制作。HX711与单片机接口只需要两个,编程方面又是非常简单,无需驱动控制信号管脚,芯片内部的寄存器也不需要编程,通道A或通道B可通过输入选择开关可任意选取,HX711芯片与桥式电路以及与单片机连接电路如图3.4所示。图3.4 HX711与单片机连接示意图管脚INA+,INA-分别接钱式

24、传感器的两根信号线的输入端,HX711端口DOUT与单片机P11端口相连,PD_SK与单片机P12端口相连。HX711模数AD转换芯片的管脚图如图3.5所示图3.5 HX711管脚图如表3.1所示为HX711芯片的功能管脚。表3.1 HX711管脚功能表管脚号名称性能描述1VSUP电源稳压电路供电电源:2.65.5V2BASE模拟输出稳压电路控制输出3AVDD电源模拟电源:2.65.5V4VFB模拟输入稳压电路控制输入5AGND地模拟地6VBG模拟输入参考电源输出7INA-模拟输入通道A负输入端8INA+模拟输入通道A正输入端9INB-模拟输入通道B负输入端10INB+模拟输入通道B正输入端1

25、1PD_SCK数字输入断电控制和串口时钟输入12DOUT数字输出串口数据输出13XO数字输入输出晶振输入(不用晶振是为无连接)14XI数字输入外部时钟或晶振输入,0:使用片内振荡器15RATE数字输入输出数据速率控制,0:10Hz;1:80Hz16DVDD电源数字电源:2.65.5V3.3 模拟信号的放大在第2章中选用的是海芯ADC,HX711芯片中集成有放大器,所以在这里是对课题思考中存在的信号放大环节的思考,如果此设计中采用正好达到精度要求的10位AD,在没有放大电路的情况下,对传感器输出的电压值会产生误差而不能够达到设计的要求,采用的HX711芯片集成有低噪声放大器,有模拟通道A或者模拟

26、通道B两个通道,通道A的增益是的128或64可供选择,对差分信号输入的分别为20mV和40mV,通道B的增益为32,为检测系统参数。3.4 4*4矩阵式扫描键盘3.4.1 键盘按键功能键值和按键所代表的功能对计价电子称是非常重要的,是普通称重设备的拓展功能,本课题采用的是4*4行列式键盘输入电路,矩阵键盘功能如表3.2所示。表3.2 矩阵式键盘功能表134去皮456重测789返回*0#总价3.4.2 键盘按键连接图在使用矩阵式键盘时,4行4列交叉,行与列之间通过开关进行电位的扫描,连接图如图3.6所示图3.6 矩阵式键盘的连接图矩阵式键盘4根行线与单片机P30P33端口相接,4根列线与单片机P

27、34P37端口相连,由单片机扫描行列线上的高低电位。3.5 数据的处理核心-单片机(STC89C52RC)在本课题中选用STC系列单片机是因为其购买的成本低,与英特尔公司8051单片机完全的兼容,性能提升,在硬件无需改变的情况下,原有的程序也能直接使用,带来了极大的便利,图3.7为STC89C52RC单片机的管脚图,STC89C52单片机是STC公司研发的一种具有低功耗,高性能的MCS-51内核的CMOS8位单片机4,具有8K字节FLASH以及512字节RAM,32个I/O口,最高工作频率为35MHz,可实现在线编程功能4,不再需要启动像STC89C51那样的12V的VPP编程高压单片机由3个

28、基本组成部分,分别为电源电路、复位电路和晶振4。电源电路为单片机提供电源复位电路是令单片机从程序的最初开始进行运行,就像电脑的重启4。晶振则为单片机提供时钟信号,单片机正常工作的最小时间单位由晶振决定只有当这三个部分同时存在,单片机才能正常工作4。图3.7 STC89C52RC的管脚图如表3.3所示为STC89C52管脚功能表表3.3 STC89C52RC管脚功能表端口引脚功能P0双向I/O通道,存取外存储器做低8位地址和数据总线;程序检验做输出指令字节P1双向I/O通道,程序检测中做低8位地址字节P2双向I/O通道,存取外存储器时,提供高8位地址P3双向I/O通道,还能用于实现第二功能ALE

29、/PROG(_)地址锁存允许输出PSEN(_)程序存储器读选通输出EA(_)/VPPEA(_)=1,CPU执行片内程序存储器指令,EA(_)=0,CPU执行片外程序存储指令XTAL1作为振荡器倒向放大器输入,使用外振荡器时,必须接地。XTAL2作为振荡器倒向放大器输出和内部时钟发生器的输入,使用外部振荡器时接信号RST复位输入3.5.1 单片机外接电路如图3.8所示在Protel中单片机与各芯片各管脚连接图,见附录B。图3.8 单片机与个芯片连接图P3.0(RXD)与P3.1(TXD)是程序下载端口,P0都用作液晶显示端口,P3端口都与矩阵式键盘相连接,P1.0接报警电路。3.5.2 单片机最

30、小系统时钟振荡电路如图3.9所示:晶振接在XTAL1和XTAL2之间的,C4与C5并联与12MHz晶振串联形成回路,产生震荡信号,其结合单片机内部电路从而产生单片机所需的时钟频率,单片机晶振频率越高,运行速度就越快。图3.9 时钟振荡电路复位电路如图3.10所示:有上电自动复位和按键手动复位两种,RST引脚与单片机的控制复位端口像连接,复位信号是高电平有效。上电自动复位通过电容C和电阻R来实现,按键手动复位则是图中复位键来实现的。图3.10 复位电路3.6 数据的输出显示-LCD1602为了将本课题的显示效果更加的明显,在这里使用了16位的LCD1602带有LED背光源,强光下显示效果更佳,图

31、3.11是PROTEUS中14管脚LCD1602的管脚图图3.11 LCD1602管脚图引脚功能表如表3.4所示。表3.4 LCD1602引脚功能表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极图3.12为LCD1602的管脚与单片机管脚的连接图,1号脚2号脚分别接地和电源线,与单片机相连的P25,P26管脚寄存器的选择和读写功能的控制,单片机P0口与LCD1602数据端口连接,15

32、和16号脚则是背景光源的电源线和接地线。图3.12 LCD1602与单片机连接图单片机对液晶控制功能主要通过RS与R/W端口的高低点位来控制(1)D0D7都是数据输出端口;(2)RS是寄存器的选择控制端,RS高电平是数据寄存器,RS低电平是指令寄存器;(3)R/W高电平读操作,R/W低电平写操作;(4)RS和R/W同时为低电平时,可写入指令或显示地址;(5)RS为低电平,R/W为高电平时读忙信号;(6)RS为高电平,R/W为低电平时写入数据;3.7 超重报警电路电子称在空载和超载的情况发出警报以防对机器产生不良的影响,本课题采用的是PNP三极管驱动蜂鸣器的方式来实现蜂鸣器的报警功能,三极管的基

33、极电位由与单片机相连接的P10端口控制,当单片机的P10口输出为低电平时,三极管则是导通的状态,蜂鸣器的正极与电源接通,则蜂鸣器被接通;单片机P10口输出高电平时,三极管处于截止状态则蜂鸣器不报警,图3.13为报警电路连接图。图3.13 报警器的连接图3.8 本章小结本章的内容主要是对模块的描述,介绍了桥式传感器的工作方式,模拟-数字芯片HX711的精度以及包含的放大电路,行列式键盘电路的搭建,数据处理核心STC89C52,数据显示LCD1602液晶屏和超重报警电路的详细描述。4 软件系统结构软件仿真是在Keil4中完成,带有丰富的库函数,开发功能强大,编辑,编译,连接调试,仿真等整个开发流程

34、都可以在Keil中完成,使用编辑器编辑C语言,然后有C51编辑器编译生成单片机可执行的二进制文件(*.HEX),最后通过单片机的烧写软件将C51生成的HEX文件烧入单片机内,数字电子称的主要包含三个层次:一是整体系统的初始化,二是键盘按键的检测,三是数据信号采集以及数据处理并在液晶显示。4.1 系统主程序流程图软件编程系统的流程同样遵循着自上而下的设计思路,首先是对系统的初始化,压力值和价格在液晶显示器上显示,主程序流程图如图4.1所示。图4.1 系统主程序流程图首先是对整个系统进行初始化,在称盘上放入砝码,此时压力传感器测重,并将模拟的值送入到ADC处理成数字量,再将此数字量送入到单片机进行

35、处理,然后送入到LCD1602显示。4.2 LCD1602显示流程图如图4.2所示为LCD1602工作的流程图。图4.2 LCD1602显示流程图整个电子称系统由上电之后,液晶显示出初始的显示结果,接着检测是否有按键按下,如果有判断按键的功能并显示按键值或者功能,同时将测得的物重显示,由于单片机的信息处理,显示总价。4.3 键盘按键扫描流程图矩阵式键盘扫描方式:行(列)扫描法。按键设置在行、列线的交点行,行、列线分别连接到按键开关的两端16。当行线通过上拉电阻接+5V时,被钳位在高电平状态16。键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的16。其方法是:给列线的所有I/O口

36、先均置成低电平,然后将行线电平状态读入16。如果有按键按下,总会有一根行线电平被拉至低电平,从而使行输入不全为“1”16。键盘中那一个按键按下是由列线逐列置低电平后,检查行输入状态16。其方法是:依次给列线送低电平,然后检查所有行线状态,如果全为“1”,则所按下的键不在此列。如果不全为“1”,则所按下的键必在此列16。而且是与“0”电平行线相交的交点上的那个键16。图4.3 按键检测流程图4.5 本章小结在本章中主要绘制了主程序流程图,LCD液晶显示流程图以及键盘扫描流程图,并介绍了行列式扫描的工作方式。5 软件仿真将Keil中编写正确的程序生成HEX文件,并将其加载到Proteus的单片机中

37、,对于所选单片机的晶振要相同。5.1 在proteus 中的仿真软件Proteus在加载了Hex文件后将硬件功能仿真出来,能否到达课程设计预期的结果,在如下的仿真中存在与实际的不同处,Proteus中没有桥式差动测量电路,所以使用了MPX4250这一款车用气体压力传感器,实物使用的是带背光源的16管脚LCD,而Proteus只有14管脚的LCD,如图5.1所示为硬件仿真图。图5.1 Proteus硬件仿真图点击运行,系统开始工作,键盘扫描,液晶显示“P: W: 0 SUM($):0.00”初始情况下的字符如图5.2所示,当调节MPX4250的压力值,液晶上W对应的值也发生变化,按下按键显示价格

38、P值发生变化,仿真中没设置“=”号按键,当P值变化SUM($)的直接发生跳变。图5.2 仿真初始界面如表5.1所示为Proteus仿真中使用的硬件明细。表5.1 仿真中的硬件明细元器件功能描述元器件功能描述MPX4250气体压力传感器ADC08328位模数转换芯片4*4键盘按键MM74C922键盘编码芯片AT89C51单片机LCD160216*2液晶电容5个12MHz晶振1个8端口排阻1个开关1个蜂鸣器1个5.2 仿真结果显示调节MPX4250压力传感器使得显示的重量值为50,键盘输入5.2,则显示的结果为260.00。但是可以看出,当显示为50时,此时压力传感器显示为51,仿真存在有误差,实

39、物中的误差比这个要大,仿真结果如图5.3所示图5.3 仿真显示的结果图5.3 本章小结本章内容主要将设计方案在Proteus中仿真,单片机端口连接了MPX4250传感器并通过AD0832模数转换,矩阵式键盘3*4列,通过键盘编码芯片接入单片机,最后结果显示在液晶中。6 硬件调试打开电源开关,与其相并联的LED二极管就会发光整个电路都是接通电源,电子称显示“Electronic Scale Lu Wen Lin Works”。单片机开始工作,扫描键盘键值,传感器测得物重通过HX711数据采样转换成数字信号送入到单片机,此时,LCD上显示“PR WE SUM($)”,压力传感器受到压力作用,HX7

40、11采集前级电压值数据送给单片机处理。输入对应商品价格,在1602LCD上可以显示商品的单价,重量,总价格。超出电子称的称量范围,蜂鸣器会发出“滴滴”警报声,在本设计中为了显示报警电路是可以工作的,在托盘空载的情况下,报警电路也会发出报警的声音。6.1 调试过程中出现的问题及解决方法(1)对整个电路过压的情况没有考虑周全,导致接通电源后有元件损坏。(2)按过单片机的复位键之后,将砝码放在称砣上其重量则不能显示出测量值。(3)扩展的功能少,如时间显示功能,温度显示功能,是否能够将对应的产品信息使用数值来代替手动输入。(4)对所选择的芯片并不能熟知其工作方式,还需要不断参考工作手册。(5)焊接工艺

41、不熟练,导致在焊接部分电路后没有电压值输入。表6.1所示为实物中用到的元器件清单表6.1实物中使用的元器件清单名称数量名称数量4*4阵列键盘1电阻33015KG压力传感器1洞洞板1510cm1DC-005底座1洞洞板连接线若干HX711模块1砝码100g1IC底座40P1晶振12MHz1LCD16021可调电阻10K1LED灯1六角自锁开关1称盘支架带螺丝1排母 间距2.54mm 40P1瓷片电容0.1uF2排针 间距2.54mm 40P1瓷片电容33pF2排阻10K1电解电容10uF2三极管85501电源适配器5V/1A1四脚轻触开关1电阻10K1芯片STC89C52RC1电阻1K1有源蜂鸣

42、器16.1.1 显示的结果接通电源后,电子称进入初始化界面,如图6.1所示为欢迎界面图6.1 欢迎界面电子称空载的时候电子称显示的效果,所有数据归零,并发出空载的警报,这里设置空载警报是因为5Kg的压力传感器非常的小,要称重5Kg以上的物重来达到报警的效果,在现有的设施情况下有点难以实施,所以在编程的时候设置了一个空载警报,以表达报警电路的课实现性,空载是显示效果图如图6.2所示。图6.2 空载电子称效果图图中的显示结果已经是将托盘的重量已经去除,所以去皮程序的实现是得到印证的。放上100g的砝码显示出测量的结果,如图6.3所示。图6.3 称重100g砝码重量当放上100g的砝码之后,在液晶上

43、显示的0.103Kg的数值,其结果的误差在3g左右,与理论值相差很多,本课题的要求是在0.1%的灵敏度,所以1g的误差是在课题的允许范围之内,结果有待改善。输入单价显示价格与重量的乘积得到总价的效果图,如图6.4所示。图6.4 单价重量总价显示图键盘输入单价99.9元,100g砝码重量显示0.101Kg,计算得到总价为SUM($):010.0元。6.2 本章小结本章是硬件实物效果演示图,接通电源时的显示界面,去皮空载情况下的显示图,放上100g砝码显示的物重信息,输入单价以及得到总价。借助压力传感器测量重量,薄膜式矩阵键盘输入单价,LCD1602显示物重,单价,总价的信息。结 论4年的专业学习

44、在毕业设计的完成就要告一段落,到了论文的结束让人有些不舍,在此课题设计中运用了4年里学过的传感器知识、智能仪器的应用、电子测量的精确度、单片机和C语言编程方面的知识让我对其感受加深,但最重要的是我在毕业设计过程中有前期的一片迷茫到后来逐渐摸到门道,这样的一个过程让我收获很大,所以说在以后的工作生活中都得养成这中不怕困难勇于学习的精神,不会就得看书,长时间不看书智商输给猪,实际中通过这次毕设提高了单片机编程的能力,获得的软件调试经验,毕业设计付出的努力和辛劳没有白费。由于实战经验不足,天资的愚钝,没有更好的可能将理论方面知识应用于此次的设计,加上工作的实习的原因没有将很多的时间用于设计,所以存在

45、着不足。毕业设计实践经验整合知识面,将更多的内容结合起来,是学习和应用最好体现,对自己学习能力的提高有着极大的帮助。致 谢首先我要感谢敬爱的导师王艳老师,从课题的选择、确定方案、实物的焊接、再到论文撰写和定稿都是关注着我课题设计的进展状况,不但王艳老师细心指导还学到她做事的态度。她和蔼可亲,平易近人的性格使师生之间很容易相处,对我们组的组员学生设计状况关怀备至,有时学生不在学校也会让我们把论文发过去通过语音给我们讲解出现的问题,并让我们改正,她工作上的精益求精,自然对我们论文的要求也是高的,在实践中克服难关、发现问题、解决问题。联系老师曾志鹏具有丰富的科研实践经验与多年带我院学生参加大学生电子

46、类竞赛的经历,对我们学生论文的前期工作十分在意,也是因为如此的要求带给我们后期工作很大便利,学术上的开化、科研作风的求实和对科学研究及发展趋势的深刻认识让我对其很尊敬,该设计及论文的圆满完成两位老师指导和监督分不开。从两位可爱可敬的老师身上,我不仅学到了扎实的专业知识和丰富的实践技能,也学到了很多做人的道理和做事的态度。在以后离开学校,我会更加努力学习,踏踏实实做事。参 考 文 献1 孙娜. 基于单片机的便捷式电子称的设计J. 中国科技信息,2012,01: 98-992 马鸿文. 基于AT89C51单片机的电子称设计与实现J. 微计算机信息(嵌入式与SOC),2005, 21, 12-2:3

47、 潘佑华,林盛鑫. 基于51单片机的多功能电子称设计研究J. 科技信息,2012.6,152:4 靳宏立. 基于SCT89C52与DS18B20的多温度检测系统J. 科技向导,2013, 17, 835 刘迎春,叶湘滨. 传感器原理(第四版)设计与应用M. 湖南:国防科技大学出版社,2004.6 史建芳,钟秉翔,杨静等. 智能仪器(第一版)设计基础M. 北京:电子工业出版社,2007.7 鲍丙豪,赵湛,杨凯峰. 基于厚膜力传感器的电子称设计J. 仪表技术,2005,2:49-508 韩泽欣,杨雪松. 基于单片机控制的电子称的设计J. 甘肃科技,2012.1,2: 299 李朝清. 单片机原理及

48、接口技术M. 北京:北京航空航天大学出版社,1996.10 丁元杰. 单片微机原理及应用M. 北京:机械工业出版社,1999.11 周航慈. 单片机应用程序设计技术M. 北京:北京航空航天大学出版,2002.12 孙涵芳. 单片机原理及应用(修订版)M. 北京:北京航空航天大学出版,1996.13 何立民. 单片机应用技术选编(1)-(8)M. 北京:北京航空航天大学出社,2002.14 于海生. 微型计算机控制技术M. 北京:清华大学出版社,1999.15 李金平. 电子系统设计M. 北京:电子工业出版社, 2007.16 闫玉德,葛龙,俞虹. 单片微型计算机原理与设计M. 北京:中国电力出

49、版社,2010.17 INTEGRATED CIRCUITS DATA HANDBOOK 80C51-BASED 8-BIT MICROCONTROLLERS PHILIPS,M, 1992.附录A C语言程序主程序如下:#include main.h#include LCD1602.h#include HX711.hunsigned long HX711_Buffer = 0;unsigned long Weight_Maopi = 0;long Weight_Shiwu = 0;char Price_Count = 0;unsigned char KEY_NUM = 0;unsigned

50、char Price_Buffer3 = 0x00,0x00,0x00;unsigned long Money = 0;bit Flag_OK = 0;/校准参数/因为不同的传感器特性曲线不是很一致,因此,每一个传感器需要矫正这里这个参数才能使测量值很准确。/当发现测试出来的重量偏大时,增加该数值。/如果测试出来的重量偏小时,减小改数值。/该值可以为小数#define GapValue 450void main()char k = 20 ;Init_LCD1602(); /初始化LCD1602LCD1602_write_com(0x80); /指针设置LCD1602_write_word(El

51、ectronic Scale); /开机画面第一行LCD1602_write_com(0xC0); /指针设置LCD1602_write_word(Lu Wen Lin Works); /开机画面第一行Get_Maopi();Delay_ms(2000); /延时2sloop:Price_Count = 0;Price_Buffer0 = 0;Price_Buffer1 = 0;Price_Buffer2 = 0;Flag_OK = 0;LCD1602_write_com(0x80); /指针设置LCD1602_write_word(PR:00.0 WE:0.000);LCD1602_writ

52、e_com(0x80+0x40); /指针设置LCD1602_write_word(SUM($):000.0 );Get_Maopi(); /称毛皮重量while(1)if( Flag_OK = 0)if( k = 0)Get_Weight();k-;if( k 0)k = 20; /显示当前重量LCD1602_write_com(0x8b);LCD1602_write_data(Weight_Shiwu/1000 + 0x30);LCD1602_write_data(.);LCD1602_write_data(Weight_Shiwu%1000/100 + 0x30);LCD1602_wri

53、te_data(Weight_Shiwu%100/10 + 0x30);LCD1602_write_data(Weight_Shiwu%10 + 0x30);KEY_NUM = KEY_Scan();if( KEY_NUM != 0x55) /当返回的不是初值时候 if(KEY_NUM = 16) /数字A键,去皮功能Get_Maopi(); /去皮if(KEY_NUM = 15) /数字B键清除键,二次测量goto loop;if(KEY_NUM = 12) /数字C输入单价错误时返回Price_Count-;if( Price_Count = 0 & KEY_NUM = 9) /显示输入的价格值Price_BufferPrice_Count = KEY_NUM;switch(Price_Count)case 0:LCD1602_write_com(0x83);LCD1602_write_data(Price_Buffer0 + 0x30);break;case 1:LCD1602_write_com(0x84);LCD1602_write_data(Price_Buffer1 + 0x30);break;case 2:LCD1602_write_com(0x86);LCD1602_write_data

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!