基于单片机的电子秤的设计Word格式文档下载.docx
《基于单片机的电子秤的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子秤的设计Word格式文档下载.docx(36页珍藏版)》请在冰豆网上搜索。
![基于单片机的电子秤的设计Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/3/d5ee95b0-6aff-4d4c-8bff-c16bb7fdfd22/d5ee95b0-6aff-4d4c-8bff-c16bb7fdfd221.gif)
2.当物体超重时可以自动报警。
3.用EWB软件进行仿真或制作实物。
要求完成:
选择各单元电路结构并阐述工作原理,绘制整机电路原理图(A4图纸),写出C语言源程序;
准确计算或估算电路参数,正确选择电路元件与设备,给出元件、设备明细表;
设计说明书,要求准确阐述电路选择依据,反映计算方法、元件、设备选择等设计过程,并使用软件进行仿真或制作实物。
进度安排:
第1周:
列出任务表查找资料,选择参考方案;
第2~4周:
确定方案,画仿真图,电路图,编辑程序,列出元器件清单表;
第5~8周:
收集资料;
第9~11周:
整理报告,确定初稿;
;
第12~13周:
检查定稿,准备答辩;
第14周:
答辩。
主要参考文献、资料(写清楚参考文献名称、作者、出版单位):
[1]张毅刚.MCS-51单片机应用设计.哈尔滨工业大学出版社
[2]潘新民.微型计算机控制技术.人民邮电出版社
[3]朱鸿彪.实用电子制作.人民教育出版社
[4]黄智伟.全国大学生电子设计竞赛训练教程.:
电子工业出版社
[5]李建忠.单片机原理及应用.:
西安电子科技大学出版社
[6]朱宇光.单片机应用新技术教程.:
审
批
意
见
教研室负责人:
年月日
备注:
任务书由指导教师填写,一式二份。
其中学生一份,指导教师一份。
目 录
摘 要
随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。
为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子称重的控制系统中。
本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。
本系统以AT89C51单片机为主控芯片、辅以传感器采集模块、声光报警电路、电源供电模块、显示电路模块、数据转换模块等构成智能称重系统,从而实现自动称重系统的称重功能、声光报警功能。
硬件部分主要由单片机AT89C51、LCD、AD转换器、压力传感器、蜂鸣器等基本外围电子电路组成。
可以说,此设计所完成的电子秤很大程度上满足了应用需求。
此电子秤具备备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。
关键词 传感器采集;
液晶显示;
数模转换;
声光报警
绪 论
随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。
常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。
作为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量称,成为测量领域的主流产品。
本文设计的电子秤以单片机为主要部件,用汇编语言进行软件设计,硬件则以电阻传感器为主,测量0~5Kg电子秤,随时可改变上限阈值,并达到阈值报警的功能。
称重传感器输出的电量是模拟量,数值比较小达不到A/D转换接收的电压范围。
所以送A/D转换之前要对其进行前端放大、整形滤波等处理。
然后,A/D转换的结果才能送单片机进行数据处理并显示。
其数据显示部分采用LCD显示,成本低且能很好地实现所要求的功能。
本次课设完成的电子秤的主要优点是:
1、实时测量与监控。
2、阈值修改与重设功能。
3、超值报警功能。
4、测量精度高。
5、显示速度快、准确。
本文设计的电子秤虽然是一个极其简单的智能仪器,但是通过它可以更深入的了解智能仪器的工作原理以及其优异的性能。
第一章 方案设计与论证
本设计方案采用内部含Flash存储器的单片机AT89C51作为核心部件,并配以时钟电路、复位电路、显示电路、声光报警电路、采集电路、显示电路。
成功实现重量显示,从而达到设计要求。
电子秤的工作原理如下:
当物体放在秤盘上时,压力施给传感器,该传感器发生形变,从而使阻抗发生变化,同时使用激励电压发生变化,输出一个变化的模拟信号;
再将该信号输出到模拟转换器;
转换成便于处理的数字信号输出至单片机;
单片机进行处理、运算后将结果送至显示器进行显示。
1.1方案选择
在设计系统时,针对要实现的功能来设计电子秤的方案有以下俩种:
方案一:
本方案由时钟电路、复位电路、数据采集电路、数码管显示电路、单片机以及声光报警电路组成。
是在系统工作原理的基础上进行了扩展,增加外界对单片机内部的数据设定,使电子秤实现称重的功能。
这种方案,硬件部分简单,接口电路易于实现,并且在编程时大大减少了程序量。
设计其方框图如图1-1所示:
图1-1方案一方框图
方案二:
本方案由时钟电路、复位电路、数据采集电路、LCD显示电路、A/D转换、单片机以及声光报警电路组成。
此方案前端信号处理时,选用信号转换等措施,尤其在显示方面采用具有字符图文显示功能的LCD显示器。
这种方案不仅加强了人机交换的能力,而且显示位数全面。
其方框图如图1-2所示:
图1-2方案二方框图
1.2方案论证
方案一设计的电子秤,可以实现称重功能,但是局限于数码管的功能,在显示时有精度局限。
在显示重量时,如果数码管没有足够的位数,那么称量物体重量的精度必受到限制,此方案需要较多的数码管接入电路中。
这样在处理输入输出接口时需要另行扩展足够多的I/O接口供数码管使用,比较麻烦。
而LCD显示器则大大节省了I/O口的运用。
显示位数更多,精度也更高,满足设计要求。
另一方面,方案一在前端信号处理不够周到,而方案二在前端信号处理时,多了A/D转换措施,能够有效地处理信号,常符合设计要求。
鉴于本电子秤设计的功能要求,所以在具体设计时采用了第二种设计方案。
第二章 硬件设计与分析
电子秤系统是由单片机最小系统、数据处理电路、数据采集电路、声光报警电路、显示电路和稳压电源等组成,电子秤系统电路原理图见附录1所示。
2.1单片机最小系统
电路最小系统由单片机、时钟电路、复位电路组成,它是电路工作的最基本的单元电路,任何单片机基于单片机的设计系统都离不开它。
2.1.1芯片介绍
AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
中央处理器:
中央处理器(CPU)是整个单片机的控制核心部件,完成运算和控制功能。
CPU有运算器和控制器组成。
它是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
内部数据存储器(RAM):
8051内部共有256个RAM单元,其中有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
内部程序存储器(ROM):
89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
定时/计数器:
89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
并行输入输出(I/O)口89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
全双工串行口:
89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
中断系统:
89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
时钟电路:
89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但89C51单片机需外置振荡电容。
单片机的引脚说明:
89C51系列单片机采用40Pin封装的双列直接DIP结构,下图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
其引脚排列如图2-1所示:
图2-1单片机引脚排列图
控制引脚介绍:
(1)ALE:
系统扩展时,P0口是八位数据线和低八位地址先复用引脚,ALE用于把P0口输出的低八位地址锁存起来,以实现低八位地址和数据的隔离。
(2)PSEN:
低电平有效时,可实现对外部ROM单元的读操作。
(3)EA:
当EA信号为低电平时,对ROM的读操作限制在外部程序存储器;
而挡EA为高电平时,对ROM的读操作是从内部程序存储器开始的,并可延至外部程序存储器。
(4)RST:
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。
(5)XTAL1和XTAL2:
外接晶振引线端。
并行I/O端口介绍:
P0端口[P0.0-P0.7]P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。
作为输出口时能驱动8个TTL。
P1端口[P1.0-P1.7]P1是一个带有内部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收低8位地址信息。
P2端口[P2.0-P2.7]P2是一个带有内部上拉电阻的8位双向I/0端口。
对内部Flash程序存储器编程时,接收高8位地址和控制信息。
在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。
而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
P3端口[P3.0-P3.7]P3是一个带有内部上拉电阻的8位双向I/0端口。
除此之外P3端口还用于一些专门功能,如表2-1所示:
表2-1P3引脚的第二功能说明
P3引脚
兼用功能
P3.0
串行通讯输入(RXD)
P3.1
串行通讯输出(TXD)
P3.2
外部中断0申请(INT0)
P3.3
外部中断1申请(INT1)
P3.4
定时器/计数器0的外部输入(T0)
P3.5
定时器/计数器1的外部输入(T1)
P3.6
外部数据存储器写选通WR
P3.7
外部数据存储器读选通RD
2.1.2时钟电路设计
单片机是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按时序进行工作。
时钟电路用于产生单片机的工作的所修要的时钟信号。
时钟可以由内部方式或外部方式产生。
89C51内部方式时钟电路,是在XTAL1和XTAL2引脚上外接定时元件,就能构成自激振荡电路。
定时元件通常采用石英晶体和电容组成的并联谐振电路。
电容器C1和C2主要起频率微调作用,电容值可选取为30pF左右或40pF左右。
89C51外部方式时钟电路是XTAL1接外部振荡器,XTAL2悬空。
对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。
而此设计采用石英晶体内部时钟电路。
如图2-2所示。
图2-2时钟电路
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-12MHz内选择。
电容取30pF左右。
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。
AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30pF。
2.1.3复位电路设计
复位是使单片机或系统中的其他部件处于某种确定的初始状态。
单片机的工作就是从复位开始的,当在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执复位操作。
实际应用中,复位操作有两种基本的形式:
一种是上电复位,另一种是按键复位。
由于本次设计采用的是上电复位,这里只介绍上电复位,如图2-3所示。
上电复位上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;
电容俩端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。
图2-3按键复位电路
RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
该电路典型的电阻和电容参数为:
晶振为12MHz时,C1为10uF,R1为8.2kΩ,晶振为6MHz时,C1为22uF,R1为1kΩ。
单片机的复位操作使单片机进入初始化状态。
之后,程序计数器PC=0000H程序从0000H地址单元开始执行。
单片机启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM的内容。
特殊功能寄存器复位后状态使确定的。
P0~P3为FFH,SP为07H,SBUF不定,IP、IE和PCON的有效值为0,其余的特殊功能寄存器的状态均为00H。
相应的意义为:
P0~P3=FFH,相当于各口锁存器已写入1,此时不但可以用于输出,也可以用于输入;
SP=07H,堆栈指针指向片内RAM的07H单元(第一个入栈内容将写入08H单元);
IP、IE和PCON的有效位为0,各中断源处于的优先级且均被关断,串行通信的波特率不加倍;
PSW=00H,当前工作寄存器为0组。
2.2信号采集模块
再将该信号输出到数据处理模块,进行数据处理。
2.2.1传感器的选择
传感器对于系统至关重要,需要综合实际的需求和各类压力传感器的性能参数加以选择。
传感器属于精密部件,剧烈振动、自由落体、碰撞、过载、过压等等,都非常容易造成传感器永久损坏或者影响精度和线性。
目前常用的有:
电容式压力传感器;
压电式压力传感器;
电阻应变式压力传感器。
综合考虑,本设计要实现的电子秤的是绝对压力值,同时为了简化电路,提高稳定性和抗干扰能力,需要使用具有温度补偿能力的电阻应变式压力传感器。
本设计选用MXP4115压力传感器,其最大量程为5Kg。
2.2.2传感器的选择
MPX411系列为压阻传感器是国家的最先进的单片硅压力传感器设计用于广泛的应用范围,特别是那些采用微控制器或微处理器与A/D输入。
这种传感器结合先进的微机械加工技术,薄膜金属化和两极处理,以提供成比例的一个准确的,高层次的模拟输出信号所施加的压力。
小型化和片上集成的高可靠性是工程师最合适的打算。
MPX411系列为压阻传感器提供差分和仪表应用;
最大误差为1.4%;
温度补偿在-40°
到+125°
C;
是优惠减少重量和体积比现有混合动力模块;
有耐用的环氧Unibody的元素、专利的硅剪应力应变计。
其管脚说明如表2-2所示:
表2-2MPX4115管脚说明
1
2
3
4
5
6
VOUT
GND
VCC
NC
图2-4信号采集电路
如图2-4所示,本设计主要将传感器1、2脚接到ADC0832的CH0与CH1脚用于获取模拟量,4、5脚接数字地,3脚接VCC+5V。
当我们改变传感器的模拟电压值时,相应的其ADC数据传给单片机的数字量会随之变化,在液晶显示屏显示的也不一样。
2.3数据转换电路
数据采集电路的作用就是将从采集电路接收到的模拟信号转换成便于处理的数字信号,并输出至下级电路。
2.3.1A/D转换器的选择
A/D转换部分是整个设计的关键,这一部分处理不好,会使得整个设计毫无意义。
目前,世界上有多种类型的ADC,有传统的并行、逐次逼近型、积分型ADC,也有近年来新发展起来的∑-Δ型和流水线型ADC,多种类型的ADC各有其优缺点并能满足不同的具体应用要求。
根据系统的精度要求以及综合的分析其优点和缺点,本设计采用了12位A/D转换器ADC0832。
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
2.3.2ADC0832的介绍
ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。
由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
ADC0832为8位分辨率A/D转换芯片,其最高分辩可达256级,可以适应一般的模拟量转换要求。
芯片转换时间仅为32US,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
其独立的芯片使能输入,使处理器控制更加方便。
通过DI数据输入端,可轻易实现通道功能的选择。
其引脚功能如表2-3所示:
表2-3ADC0832引脚功能
引脚
符号
功能说明
CS_
片选使能,低电平使能
CH0
模拟输入通道0,或作为IN+/-使用
CH1
模拟输入通道1,或作为IN+/-使用
芯片参考零点位
D1
数据信号输入,选择通道控制
D0
数据信号输出,转换数据输出
7
CLK
芯片时钟输入
8
VCC/REF
电源输入以及参考电压输入复用端
2.3.3单片机对ADC0832的控制原理
正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK/DO/DI.但由于DO端DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时我们将DO和DI并联在一根数据线上使用。
当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。
当要进行A/D转换时,须先将CS使能端置于低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。
其通道控制表2-4所示:
表2-4通道控制表
DO
对CH0进行单通道转换
CH0为正输入端IN+,CH1为负输入端IN-
CH0为负输入端IN-,CH1为正输入端IN+
对CH1进行单通道转换
到第3个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。
从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。
直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。
也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。
随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。
最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。
其接口电路如图2-5所示:
图2-5ADC0832的接口电路
2.4声光报警电路
智能仪器一般都有报警功能,报警主要用于系统运行出错、当测量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置。
本系统中,设置报警的目的是在超出电子秤测量范围不能正常显示时,发出声光报警信号,提示用户,防止损坏仪器。
声光报警电路是由单片机的I/O口来控制的,当称重物体重量超过系统设计所允许的重量,通过程序使单片机的I/O值为低电平,则发光二极管导通,二极管发光,蜂鸣器LS1发出报警声。
声光报警电路如图2-6所示:
图2-6声光报警电路
2.5显示电路
显示电路的作用是显示被称物体的重量。
通过第一章方案论证讨论得出本设计采用LM016L液晶显示,其优点是显示位数更多,精度也更高。
其接口电路如图2-7所示:
图2-7液晶LM016L接口电路
LM016L模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。
其引脚功能表如所示表2-5所示:
表2-5LM016L引脚功能
VSS
通常情况下接地
VDD
接电源(+5V)
VEE
液晶显示器对比度调整端
RS
寄存器选择
RW
读写信号端
E
使能端,下降沿使能
D0—D3
低4位三态、双向数据总线
0位
11
D4—D7
高4位三态、双向数据总线
2.6整机电路
电子秤系统原理是:
当物体放在秤盘上,压力施给传感器,,产生传感器内部平行四边形形变,由这4片应变片接成的惠斯通(Wheatstone)电桥在供桥电压的激励下随重量不同而输出不同的电压信号后送给A/D转换电路,转换成便于处理的数字信号输出至单片机;
整机电路图详见附录1。
第三章 软件设计
本次设计软件系统采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。
本设计主要包括主程序模块、LCD显示模块、超量程报警模块、AD转换模块等。
3.1主程序流程图
当单片机上电复位后,系统电路开始运行程序,首先利用压力传感器检测所称物体重量,之后启动AD转换,将转换完成的数字信号送入单片机进行处理,之后判断其值是否达到设定值,若达到设定值,则使P3.0为0,从而启动报警,同时显示重量;
若小于设定值,则使P3