单片机课程设计电子秤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的实用电子秤的设计
1设计目的
单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。本次数字电子秤的设计就是需要通过选择合适的单片机来进行主控,再结合A/D转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在软件的设计过程中用到键盘扫描、液晶显示驱动、模数转换程序及汉字库的的设计,做到对我们所学数电、模电、单片机等知识的综合应用,最终实现所设计数字电子秤的各项功能,达到“巩固知识,培养技能,学而用之”的实践目的。通过这次课程设计,不但要提高我们在工作中的学习能力、探究能力、应用能力和动手能力,还要历练我们不畏艰难、不懂便学、有漏必补的认真严谨的工作态度,强化我们的社会适应力和社会竞争力,为走向社会提前试水,完善自我。
2设计的主要内容及要求
本设计主要完成一个简单实用数字电子秤的硬件电路部分和软件部分的设计。硬件部分包括数据采集、最小系统板、人机交互界面三大部分。其中,数据采集部分由压力传感器和A/D 转换部分组成;人机界面部分为键盘输入、液晶显示。软件部分应用单片机 C 语言实现了本设计的全部控制功能。本设计的数字电子秤要求能够显示商品的名称、价格、总量、总价等;能够自动完成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能,一旦重量超出了自身重量的测量的范围,发出警报;同时对数字电子秤的测量范围要达到5KG,测量精度要求达到0.001。
3整体设计方案
整个数字电子秤电路由压力传感电路(ADC0832采样)、模数转换系统、单片机主控制电路、LM4229显示电路、蜂鸣器报警电路和4*4键盘电路6个部分组成。如图3.1所示。
图3.1 基于单片机的实用电子秤组成框图
电子秤的测量过程实际是通过电阻应变传感器将被测物体的重量转换成电压信号输出,电压信号经过模数转换把模拟信号转换成数字量,数字量通过显示器显示重量。打开电源,数字电子秤开始工作。接通电源时,数字电子秤进入欢迎界面“欢迎使用电子秤设计······”。数字电子秤上MCU开始工作,键盘不断进行扫描,同时通过ADC0832也不断进行外部称量数据采样,LCD上显示“实用电子秤名称单价······”。当载物台上放有物体时,ADC0832立即将数据收集送给单片机处理。在键盘输入对应商品的代码编号,在240*128的LCD上可以看到相应商品的名称,单价,总重,总价格等信息。在称量的过程中,一旦物体自身的重量超出电子秤的称量范围,蜂鸣器立即会发出“滴滴····”警报声告诉工作人员,所称量物品超重。
4硬件电路设计
4.1整体电路图
数字电子秤采用AT89C51单片机作为微处理器,接口电路由晶振、LM4229显示电路、4*4按键电路、ADC0832电路、报警电路、存储器等组成。控制器系统的硬件电路如图4.1所示。
控制器系统硬件电路的工作过程是:打开电源时,MCU及各个部分电路开始工作,MCU调用内部存储数据对各部分接口电路初始化。200ms后LM4229进入欢迎界面,ADC0832不断对外部数据进行采样交给MCU进行处理,一旦有物品放入载物台,ADC0832立即发送中断请求,并将本次采集数据交给MCU 处理,之后LM4229显示相应数据量。在此过程中,键盘也在不断进行扫描,一
旦有键按下,单片机也会对其数据进行相应处理,然后将对LM4229进行写操作。
图4.1 实用数字电子称的硬件电路图 4.2压力传感器
本设计要求称量不超过5KG ,误差不大于0.001KG 。考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重—。我们选择的是L-PSIII 型传感器,量程20Kg ,精度为0.01%,满量程时误差±0.002Kg ,可以满足本系统的精度要求。其原理如图4.2所示。
图4.2 传感器电路工作原理
称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:
4.3数模转换系统
首先考虑用常用的模数转换芯片adc0809,由于本设计只需采集一路数据,adc0809为并行的8路数据采集芯片,且接线较复杂,因此考虑采用串行的AD 转换芯片adc0832完成设计。
ADC0832 与MCS- 51 单片机接口构成了串行的8位通道。微处理器通过软件写入3位串行控制命令决定ADC0832的工作方式。CH0单端输入,输入范围0- 5V。非调整误差为±1L SB。电路仅使用微处理器的两根控制线,两根数据线可方便进行光电隔离增强抗干扰能力。适用于智能化信号检测仪器、仪表。
4.4 键盘显示电路的设计
本设计中采用4*4矩阵是键盘,又称行列式键盘。它有4条I/O线作为行线,用4条作为列线。用AT89S51的并行口P1接4×4矩阵键盘,行线接P1.0-P1.3口,列线接P1.4-P1.7口。在行线与列线每一个交叉点设置一个键,键盘设置了“0~15”个按键,其中的“0”键表示取消,其他键代表可供选择商品品种及价格。
4.5 液晶显示器电路的设计
LM4229通过CD WRITE READ三个引脚的电平来确定是读数据还是读状态,或者是写数据还是写命令。数据D0-D7连接到单片机的P0口,可以和单片机进行直接的数据交换,P2口为液晶显示的控制端。
5软件设计
本设计中的程序由主控制程序、LM4229液晶显示驱动程序、ADC0832采样程序和4*4键盘程序组成。
5.1主控制程序
整个设计中采用由下向上的设计思路。主程序中主要完成对LCM4229、ADC0832、及键盘扫描程序的调用。在编写程序的过程中,各变量统一采用全局
变量方式命名,同时考虑到电子秤对精度的要求,本设计中的价格及总量相关的变量全部采用浮点数。主程序流程图如图5.1所示。
图5.1 主程序流程图
5.2 LM4229液晶显示驱动程序
write_data(place&0xff); //写入地址高位
write_data(place/256); //写入地址低位
write_com(0x24); //地址设置
write_com(0xb0); //设置数据自动写
write_data(ASC_MSK[(c1-0x20)*16+k]); /*---
例如:0的ASCII码为0x30,
在ASC_MSK中的位置为0x10*16 ---16字节字码依次写入LCD---*/ write_com(0xb2); //自动复位
place=place+30;