序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的电子秤的设计
1 硬件电路设计
电子秤的结构可以大致分为三个主要的部分:数据采集模块、控制器模块和显示模块。其中主要的数据采集传感器模块由对压力过载传感器、预备数字信号进行处理和激活的A/D信号转换三个部分共同组成。经过转换后的预备数字信号被自动传输到相应的控制器模块进行测量信号处理,控制器对该预备数字的测量信号进行相应的处理,激活的预备信号显示控制器模块可以完成对人机间的测量信息采集和交换[5]。同时还在秤上添加了特殊的压力过载和欠载状态警告显示功能。
图1.1 硬件电路设计框图
1.1 单片机型号选择
方案一:单片机选用STC89C52。作为一种小型单片机被诸多用户使用,特点是低电压和低功耗。微处理器内部集成了Flash存储器为8k字节。STC89C52在以51系列单片机为内核的基础上增加了很多传统的MCS-51单片机不具备的功能。在单片机内部,设有灵活的8位微处理器和在线可编程闪存。 STC89C52单片机受到众多使用者的青睐。STC89C52单片机内部16位定时计数器有3个比MCS-51单片机多了1个T2,更加方便设计者使用。此外,STC89C52设计有省电模式、空闲模式和掉电模式可供用户选择,使STC89C52能耗更低,运行也更安全可靠,即使运行中突然断电,掉电模式也会使运行的数据得以保存而不会丢失。为了的满足不同产品的设计需求,STC89C52的封装形式有PLCC、TQFP和PDIP等三种,使用起来更加方便[7]。
方案二:单片机选用AT89C51。它是一种应用较广的8位单片机。AT89C51的工作电压低、性能高的特性受到诸多使用者的欢迎,其内部带Flash程序存贮器4k字节,芯片内集成了256字节随机存储器,接口部分并行 IO口线有32个,串行接口为全双工一个,具有定时和计数功能最多可以达到16位共有2个,中断系统比较完善,芯片集成了振荡器和时钟电路。AT89C51提供了省电模式、空闲模式和掉电模式等多种运行模式。CPU根据系统运行情况自动改变运行模式,用户也可以通过软件选择单片机的运行模式,省电模式又有多种不同模式供选择,掉电模式下会存贮运行数据防止丢失。
综上所述,STC89C52较AT89C51拥有更大的外部扩展,要求工作电压范围更广,存储空间更大,编程方式更多,所以选择STC89C52。
1.2 显示模块电路设计
方案一:选用FYD12864-0402B液晶显示模块。它是一种具有128×64显示分辨率的点阵液晶数字图形显示液晶组件,该液晶显示模块具有并行和串行两种通讯方式,模块内部具有一级和二级的国标简体中文字库;字库内存有16×8点阵的ASCII字符集128个和16×16点阵的汉字8192个。利用该显示模块作为显示器,可以方便地构成全中文显示界面。该模块可以直接显示4行8列的16×16点阵的中文汉字,也可以用来显示图形。该模块拥有电压低功耗低的性能特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且实际上该液晶显示模块的性能和价格也略低于相同点阵的图形显示液晶模块。
方案二:选用LCD1602液晶显示模块。LCD1602显示模块可同时显示32个字符,分为上下两行。利用液晶的物理特性,用电压控制显示屏幕上各各区域达到显示图形的目的。LCD1602液晶模块通常也被叫作1602字符型的液晶,是一种属于点阵型液晶模块,是用来显示数字、英文字母和常用图形符号等。它的液晶点阵是不连续的,中间有许多用于分割字符的间隔,这些间隔把屏幕分割也若干部分,每个部分是一个5×7或者5×11等点阵字符位可以显示一个字符,这些间隔很好地调节了显示字符的间距,但正是因为这些间隔的存在,它显示的图形变得不连续。
与LCD1602液晶显示器相比,LCD12864液晶显示器的没有尺寸限制,并且也可以用来显示曲线和图形等。另外,LCD12864液晶显示器的功能更加强大,所以本设计选择了方案一。实物如图1.2所示。
图1.2 FYD12864-0402B液晶显示实物图
图1.3 显示模块原理图
1.3 传感器模块电路设计
在电子秤中,传感器的选择至关重要。测量的最初数据是由称重传感器产生的,称重传感器的性能直接决定了电子称重设备的性能。称重传感器性能的好坏和优劣或产品质量的水平高低,对整个电子称重传感器和控制系统的安全性起到决定性作用。称重传感器的主要性能指标有准确度、稳定性和产品可靠性三个方面,这三个参数也是选择称重传感器的主要依据。
不同用途的电子称重装置性能指标的要求不同,对称重传感器的各项性能指标的要求也能一概而论。通常在选择电子称重的精度时不要盲目追求高精度,精度以满足测量误差要求为目的,坚持够用的原则。如果电子称重传感器的工作环境温度变化较大,应该正确地选择适当的传感器工作位置温度和范围,以确保电子称重传感器在使用和安装位置的温度变化条件下可以稳定地继续正常工作。
传感器的选择必须考虑以下因素:
(1)外观和尺寸;
(2)有无密封的要求;
(3)精度;
(4)测量范围;
(5)所需参数及所需要的电缆长度。
称重传感器可以按变换原理分类,可分为电阻应变式、电容式、差动变压器式、压电式、压磁式和振频式等多种。
本产品的传感器在设计过程中采用了一种电阻应变式的传感器,一些导体和半导体的电阻值是变化的,当它受到压力或拉力时,它的形状会随着受到的力而改变,电阻值也随着形变而改变。因此,通过测量电阻值的大小,就可以反映受力的大小[10]。
图1.4 应变式称重传感器的原理图
图1.5 传感器模块原理图
1.4 按键模块电路设计
键盘是单片机接收指令的主要设备,单片机通过键盘接收用户的指令。键盘的种类很多,常用的是机械式键盘。机械式键盘由多个按键组成,设计者根据所设计的设备的用途设置按键的数量。机械按键的原理就是一个开关,我们按下按键时开关闭合,释放时开关断开。单片机系统接收到信号后由程序实现对应的功能。
针对本软件设计的要求,由于需要输入阿拉伯数字从0到9以便计算商品的价格,数字键占用十个按键,设有"去皮"键一个,"置零"键一个,"."键一个,"微调加"键一个,"微调减"键一个,"总价"键一个。将以上十六个按键组合编制成4×4的正方形矩阵键盘。通过这样的设计可以完成矩阵键盘的工作模式而大大减少了单片机IO口的数量和占用,为其他单片机功能的设计留出了空间[11]。
电子秤输入面板:
1 | 2 | 3 | 去皮 |
4 | 5 | 6 | 置零 |
7 | 8 | 9 | 微调减 |
常用价格 | 0 | . | 微调加 |
图1.6 矩阵键盘原理图
1.5 报警模块电路设计
本系统设计了报警电路,在超量程或欠量程的情况下发出报警信号,如下图所示。报警电路由发光管和一支蜂鸣器及其驱动电路组成,当系统检测到超量程或欠量程时,单片机输出一个报警信号点亮发光二极管并通过三极管驱动蜂鸣器发出报警音[18]。
图1.7 报警模块原理图
1.6 模数转换电路设计
HX711是24位A/D转换器模块电路,它是专为称重传感器设计制造的。HX711集成度比其他同类电路更高、测量响应的速度更迅速、具有很强的抗干扰能力。HX711不需要时钟振荡器及直流稳压电源等外围电路,它们都已经集成在了模块内部,有利于产品成本的降低,由于是专用芯片电路设计、安装、软件编程和调试都比通用芯片容易得多,有利于产品整体性能的提升,系统开机时HX711芯片自动复位,省去了软件编程的麻烦[3]。
图1.9 模数转换模块原理图
管脚说明:
图1.10 SOP-16L封装
表1.1 管脚描述
管脚号 | 名称 | 性能 | 描述 |
1 | VSUP | 电源 | 稳压电路供电电源:2.6 ~ 5.5V |
2 | BASE | 模拟输出 | 稳压电路控制输出(不用稳压电路时为无连接) |
3 | AVDD | 电源 | 模拟电源:2.6 ~5.5V |
4 | VFB | 模拟输入 | 稳压电路控制输入(不用稳压电路时应接地) |
5 | AGND | 地 | 模拟地 |
6 | VBG | 模拟输出 | 参考电源输出 |
7 | INA- | 模拟输入 | 通道A负输入端 |
8 | INA+ | 模拟输入 | 通道A正输入端 |
9 | INB- | 模拟输入 | 通道B负输入端 |
10 | INB+ | 模拟输入 | 通道B正输入端 |
11 | PD_SCK | 数字输入 | 断电控制(高电平有效)和串口时钟输入 |
12 | DOUT | 数字输出 | 串口数据输出 |
13 | XO | 数字输入输出 | 晶振输入(不用晶振时为无连接) |
14 | XI | 数字输入 | 外部时钟或晶振输入,0:使用片内振荡器 |
15 | RATE | 数字输入 | 输出数据速率控制,0:10Hz;1:80Hz |
16 | DVDD | 电源 | 数字电源:2.6 ~5.5V |
2 设计产品的安装与调试
2.1 安装
焊接电路板,对电子元件进行误读并粗略检验之后依次焊接。焊接时,必须确保将烙铁的尖端靠在两个焊接部分的接合处,并且将整个焊接部分充分加热。如果将元件焊接在印制板上,则必须确保烙铁头同时加热需要焊接在一起的两个部件,并确保两个焊接面同时均匀加热。当将焊接部分的焊接表面充分预热后,焊丝在与烙铁相反的一侧上与焊接部分接触。焊丝熔化到一定程度后,将焊丝快速向斜上方移走。观察焊接点的焊锡变化,在完成焊接之后,将烙铁快速向斜上方移开完成焊接[6]。焊接时注意加热时间不能太长,整个焊接过程不超过4s,通过大量的练习不断提高自己的焊接能力,提高焊接质量。
所有焊点全部焊接后,观察电路焊接是否有问题,是否有漏焊,焊点是否完整,然后用万用表检测电路,尤其注意电源部分,电压是否正常,并确定是否发生了严重的问题,如短路等。在确认没有问题后,连接电源后观察并调试每一个器件与按键,看是否正常工作,然后逐一测试功能。
图2.1 实物图1
图2.2 实物图2
2.2 调试
在软件设计方面利用Keil4,使用C语言完成程序代码设计。作为国外开发的编程软件,Keil4可以
实现单片机C语言的有效兼容,使用语言较为广泛,在软件编程时,可按照自身需求确定编程语言,它的功能具有极强的可扩展性,可以进行下载、编译或者编程等操作[9]。
Keil uVision4 IDE是众多单片机设计软件中使用最为广泛的一种,它是基于Windows的开发平台。uVision4是一个集成开发环境,包含一个高效的编译器、一个项目管理器和一个MAKE工具。它在功能强大的运行环境中集成了项目管理,源代码编辑,程序调试等。uVision4支持所有Keil C51工具,包括C编译器、宏汇编器、连接/定位器、目标代码到HEX的转换器。C51美国标准交叉优化编译器C从源代码C生成可重定位的目标文件。A51宏汇编器从8051汇编源代码产生可重定位的目标文件。BL51连接/重定位器组合由C51和A51产生的可重定位的目标文件,生成目标文件。LIB51库管理器将目标文件组合在一起,以生成连接器可以使用的库文件。从OH51目标文件到HEX格式的转换器从绝对目标文件创建Intel HEX格式文件。RTX-51实时操作系统简化了复杂和对时间要求敏感的软件项目[14]。
(1)使用Keil 4软件创建项目:单击菜单栏上的“工程”,输入并保存新项目名称“基于单片机的电子秤设计”,然后器件选择 “STC89C52”。
(2)新建用户源文件:在新建空白文本中编写程序源代码,编码完成保存文件并命名“基于单片机的电子秤设计.c”,完成新文件创建。
(3)程序编译和调试:单击编译按钮,软件将在信息窗口显示提示信息,如果提示信息中有error信息,则须按提示找出错误并改正,直到提示没有错误为止。
2.3 误差分析
便携式电子秤是一种静态称重的电子设备,产生误差的主要因素有三个方面:称重传感器、电子电路和机械承重系统(即秤体)。
(1)应变式称重传感器的误差。应变式传感器是非线性的、其工作特性还存在着不重复性,检测速度上存在滞后等基本特性都使得测量产生误差。由于其周围环境的变化还会引起传感器的零点漂移和系数的改变。所有这些误差制作时,都通过各种的补偿和修正的方法尽量降低,剩余的误差很难再进行处理了,可以将其作为偶然误差进行处理。
2.4 遇到的问题及解决方法
(1)液晶显示器上显示的汉字存在代码混乱和字体未对准的问题。 经过研究,发现单个中文单词代表两个字节,因此在源程序中对代码进行了纠正和对齐,不再出现代码混乱和遗漏的情况。重新加载后的字符对齐。
(2)实物完成后显示器亮并显示数字,电子秤上放物品但显示器上显示重量的数字没有变化,经过检查发现是电路板上有个别焊点焊锡不够没有焊接上,经过重新焊接,电子秤可以正常使用。
原理图
图2.3 主程序流程图
图2.4 显示模块流程图
如果你有任何问题、需要建议或解决疑难,别客气噢,随时找我求助或寻求支持。我专注于单片机相关的知识,可以提供电子设计、嵌入式系统、编程和硬件方面的宝贵帮助。不管你的问题属于哪个领域,都可以向我咨询啦,获取有针对性的建议和指导。祝愿你在单片机设计领域取得巨大成功!