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


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于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 显示模块流程图

如果你有任何问题、需要建议或解决疑难,别客气噢,随时找我求助或寻求支持。我专注于单片机相关的知识,可以提供电子设计、嵌入式系统、编程和硬件方面的宝贵帮助。不管你的问题属于哪个领域,都可以向我咨询啦,获取有针对性的建议和指导。祝愿你在单片机设计领域取得巨大成功!

  • 5
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
第一章.... 4 【实例1】使用累加器进行简单加法运算:... 4 【实例2】使用B寄存器进行简单乘法运算:... 4 【实例3】通过设置RS1,RS0选择工作寄存器区1:... 4 【实例4】使用数据指针DPTR访问外部数据数据存储器:... 4 【实例5】使用程序计数器PC查表:... 4 【实例6】if语句实例:... 4 【实例7】switch-case语句实例:... 4 【实例8】for语句实例:... 4 【实例9】while语句实例:... 5 【实例10】do…while语句实例:... 5 【实例11】语句形式调用实例:... 5 【实例12】表达式形式调用实例:... 5 【实例13】以函数的参数形式调用实例:... 5 【实例14】函数的声明实例:... 5 【实例15】函数递归调用的简单实例:... 5 【实例16】数组的实例:... 6 【实例17】指针的实例:... 6 【实例18】数组与指针实例:... 6 【实例19】P1口控制直流电动机实例... 6 第二章.... 8 【实例20】用74LS165实现串口扩展并行输入口... 8 【实例21】用74LS164实现串口扩展并行输出口... 10 【实例22】P0 I/O扩展并行输入口... 12 【实例23】P0 I/O扩展并行输出口... 12 【实例24】用8243扩展I/O端口... 12 【实例25】用8255A扩展I/O口... 14 【实例26】用8155扩展I/O口... 19 第三章.... 26 【实例29】与AT24系列EEPROM接口及驱动程序... 26 【实例30】EEPROM(X5045)接口及驱动程序... 30 【实例31】与铁电存储器接口及驱动程序... 33 【实例32】与双口RAM存储器接口及应用实例... 35 【实例33】与NANDFLASH(K9F5608)接口及驱动程序... 35 第四章.... 43 【实例34】独立键盘控制... 43 【实例35】矩阵式键盘控制... 44 【实例36】改进型I/O端口键盘... 46 【实例37】PS/2键盘的控制... 49 【实例38】LED显示... 53 【实例39】段数码管(HD7929)显示实例... 54 【实例40】16×2字符型液晶显示实例... 55 【实例41】点阵型液晶显示实例... 61 【实例42】LCD显示图片实例... 63 第五章.... 70 【实例43】简易电子琴的设计... 70 【实例44】基于MCS-51单片机的四路抢答器... 71 【实例45】电子调光灯的制作... 76 【实例46】数码管时钟的制作... 81 【实例47】LCD时钟的制作... 96 【实例48】 数字化语音存储与回放... 103 【实例49】电子标签设计... 112 第六章.... 120 【实例50】指纹识别模块... 121 【实例51】数字温度传感器... 121 第七章.... 124 【实例53】超声波测距... 124 【实例54】数字气压计... 125 【实例55】基于单片机的电压表设计... 132 【实例56】基于单片机的称重显示仪表设计... 133 【实例57】基于单片机的车轮测速系统... 136 第八章.... 138 【实例58】电源切换控制... 138 【实例59】步进电机控制... 140 【实例60】单片机控制自动门系统... 141 【实例61】控制微型打印机... 144 【实例62】单片机控制的EPSON微型打印头... 144 【实例63】简易智能电动车... 145 【实例64】洗衣机控制器... 149 第九章.... 152 【实例65】串行A/D转换... 152 【实例66】并行A/D转换... 153 【实例67】模拟比较器实现A/D转换... 154 【实例68】串行D/A转换... 155 【实例69】并行电压型D/A转换... 156 【实例70】并行电流型D/A转换... 156 【实例71】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif接口的A/D转换... 157 【实例72】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif接口的D/A转换... 161 第十章.... 164 【实例73】单片机间双机通信... 164 【实例74】单片机间多机通信方法之一... 166 【实例75】单片机间多机通信方法之二... 171 【实例76】 PC与单片机通信... 176 【实例77】红外通信接口... 178 第十一章.... 180 【实例79】单片机实现PWM信号输出... 180 【实例80】实现基于单片机的低频信号发生器... 182 【实例81】软件滤波方法... 183 【实例82】FSK信号解码接收... 186 【实例83】单片机浮点数运算实现... 187 【实例84】神经网络在单片机中的实现... 192 【实例85】信号数据的FFT变换... 194 第十二章.... 198 【实例86】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image005.gif总线接口的软件实现... 198 【实例87】SPI总线接口的软件实现... 200 【实例88】1-WIRE总线接口的软件实现... 205 【实例89】单片机外挂CAN总线接口... 207 【实例90】单片机外挂USB总线接口... 210 【实例91】单片机实现以太网接口... 214 【实例92】单片机控制GPRS传输... 221 【实例93】单片机实现TCP/IP协议... 223 第十三章.... 229 【实例94】读写U盘... 229 【实例95】非接触IC卡读写... 234 【实例96】SD卡读写... 238 【实例97】高精度实时时钟芯片的应用... 242 第十四章.... 247 【实例98】智能手机充电器设计... 247 【实例99】单片机控制门禁系统... 248
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值