一个简单的使用数字电子秤的硬件与软件部分的设计.pdf
《一个简单的使用数字电子秤的硬件与软件部分的设计.pdf》由会员分享,可在线阅读,更多相关《一个简单的使用数字电子秤的硬件与软件部分的设计.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机的实用电子秤的设计 1 设计目的 单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。本次数字电子秤的设计就是需要通过选择合适的单片机来进行主控,再结合A/D 转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在软件的设计过程中用到键盘扫描、液晶显示驱动、模数转换程序及汉字库的的设计,做到对我们所学数电、模电、单片机等知识的综合应用,最终实现所设计数字电子秤的各项功能,达到“巩固知识,培养技能,学而用之”的实践目的。通过这次课程设计,不但要提高我们在工作中的学习能力、探究能力、应用能力和动手能力,还要历练我们不畏艰难、不懂便学、有漏必补的认真严谨的工作态度,强化
2、我们的社会适应力和社会竞争力,为走向社会提前试水,完善自我。2 设计的主要内容及要求 本设计主要完成一个简单实用数字电子秤的硬件电路部分和软件部分的设计。硬件部分包括数据采集、最小系统板、人机交互界面三大部分。其中,数据采集部分由压力传感器和 A/D 转换部分组成;人机界面部分为键盘输入、液晶显示。软件部分应用单片机 C 语言实现了本设计的全部控制功能。本设计的数字电子秤要求能够显示商品的名称、价格、总量、总价等;能够自动完成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能,一旦重量超出了自身重量的测量的范围,发出警报;同时对数字电子秤的测量范围要达到5KG,测量精度要求达到
3、0.001。3 整体设计方案 整个数字电子秤电路由压力传感电路(ADC0832 采样)、模数转换系统、单片机主控制电路、LM4229 显示电路、蜂鸣器报警电路和 4*4 键盘电路 6 个部分组成。如图 3.1 所示。1 图 3.1 基于单片机的实用电子秤组成框图 电子秤的测量过程实际是通过电阻应变传感器将被测物体的重量转换成电压信号输出,电压信号经过模数转换把模拟信号转换成数字量,数字量通过显示器显示重量。打开电源,数字电子秤开始工作。接通电源时,数字电子秤进入欢迎界面“欢迎使用电子秤 设计”。数字电子秤上 MCU 开始工作,键盘不断进行扫描,同时通过 ADC0832 也不断进行外部称量数据采
4、样,LCD 上显示“实用电子秤 名称 单价”。当载物台上放有物体时,ADC0832 立即将数据收集送给单片机处理。在键盘输入对应商品的代码编号,在 240*128 的 LCD 上可以看到相应商品的名称,单价,总重,总价格等信息。在称量的过程中,一旦物体自身的重量超出电子秤的称量范围,蜂鸣器立即会发出“滴滴”警报声告诉工作人员,所称量物品超重。4 硬件电路设计 4.1 整体电路图 数字电子秤采用 AT89C51 单片机作为微处理器,接口电路由晶振、LM4229显示电路、4*4 按键电路、ADC0832 电路、报警电路、存储器等组成。控制器系统的硬件电路如图 4.1 所示。控制器系统硬件电路的工作
5、过程是:打开电源时,MCU 及各个部分电路开始工作,MCU 调用内部存储数据对各部分接口电路初始化。200ms 后 LM4229进入欢迎界面,ADC0832 不断对外部数据进行采样交给 MCU 进行处理,一旦有物品放入载物台,ADC0832 立即发送中断请求,并将本次采集数据交给 MCU处理,之后 LM4229 显示相应数据量。在此过程中,键盘也在不断进行扫描,一报警电路 键盘电路 A/D 转换器 压力传感电路 AT89C51 LCD 显示电路 2 旦有键按下,单片机也会对其数据进行相应处理,然后将对 LM4229 进行写操作。图 4.1 实用数字电子称的硬件电路图 4.2 压力传感器 本设计
6、要求称量不超过 5KG,误差不大于 0.001KG。考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重。我们选择的是 L-PSIII 型传感器,量程 20Kg,精度为 0.01%,满量程时误差0.002Kg,可以满足本系统的精度要求。其原理如图 4.2 所示。图 4.2 传感器电路工作原理 3 称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:4.3 数模转换系统 首先考虑用常用的模数转换芯片 adc0809,由于本设计只需采集一路数据,adc0809 为并行的 8 路数据采集芯片,
7、且接线较复杂,因此考虑采用串行的 AD转换芯片 adc0832 完成设计。ADC0832 与MCS-51 单片机接口构成了串行的8位通道。微处理器通过软件写入3位串行控制命令决定ADC0832的工作方式。CH0单端输入,输入范围0-5V。非调整误差为1L SB。电路仅使用微处理器的两根控制线,两根数据线可方便进行光电隔离增强抗干扰能力。适用于智能化信号检测仪器、仪表。4.4 键盘显示电路的设计 本设计中采用 4*4 矩阵是键盘,又称行列式键盘。它有 4 条 I/O 线作为行线,用 4 条作为列线。用 AT89S51 的并行口 P1 接 44 矩阵键盘,行线接 P1.0-P1.3口,列线接 P1
8、.4-P1.7 口。在行线与列线每一个交叉点设置一个键,键盘设置了“015”个按键,其中的“0”键表示取消,其他键代表可供选择商品品种及价格。4.5 液晶显示器电路的设计 LM4229 通过 CD WRITE READ 三个引脚的电平来确定是读数据还是读状态,或者是写数据还是写命令。数据 D0-D7 连接到单片机的 P0 口,可以和单片机进行直接的数据交换,P2 口为液晶显示的控制端。5 软件设计 本设计中的程序由主控制程序、LM4229 液晶显示驱动程序、ADC0832 采样程序和 4*4 键盘程序组成。5.1 主控制程序 整个设计中采用由下向上的设计思路。主程序中主要完成对 LCM4229
9、、ADC0832、及键盘扫描程序的调用。在编写程序的过程中,各变量统一采用全局 4 变量方式命名,同时考虑到电子秤对精度的要求,本设计中的价格及总量相关的变量全部采用浮点数。主程序流程图如图5.1 所示。图 5.1 主程序流程图 5.2 LM4229 液晶显示驱动程序 write_data(place&0 xff);/写入地址高位 write_data(place/256);/写入地址低位 write_com(0 x24);/地址设置 write_com(0 xb0);/设置数据自动写 write_data(ASC_MSK(c1-0 x20)*16+k);/*-例如:0的ASCII码为0 x3
10、0,在ASC_MSK中的位置为0 x10*16-16字节字码依次写入LCD-*/write_com(0 xb2);/自动复位 place=place+30;N 开 始 MCU 初始化、LM4229进 入 欢 迎 界 面、ADC0832 初始化 载物台有物体否?结 束 MCU 存储ADC0832 采样值 是否输入商品代码按键?MCU 执行计算,并将结果送 LM4229 显示 测量结束键是否按下?Y Y N N Y 5 LM4229 液晶显示驱动程序流程图如图 5.2 所示。图5.2 LM4229液晶显示驱动程序流程图 5.3 ADC0832 采样程序 MCU通过拉低CS、拉高CLK来启动ADC0
11、832进行外部压力传感转换后的电压信号进行采样,每产生8个CLK脉冲,DATA获得一位完整的 8bit数据,此时MCU发送中断请求,拉高CS,拉低CLK,并将数据DAT返回。ADC0832 采样程序的程序流程图如图 5.3所示。图5.3 ADC0832采样程序程序流程图 5.4 4*4键盘程序 开 始 拉低 CS、拉高 CLK DATA 右移 8 位?拉高 CS、拉低 CLK,返回数据 DAT 结 束 Y N N Y N Y 开 始 写 入 控 制 字 写 入 初 始 行 是 否 换 行?全部数据已写完?结 束 6 本设计中采用了 4*4 矩阵式键盘,单片机定时进行查询。首先单片机发送行扫描代
12、码,然后进行列扫描,当发现某一列出现了低电平时,即返回相应的键盘值。若没有发现则说明当前行没有键按下,行扫描右移一位,继续执行列扫描。MCU根据相应的键值,即可确定被按下的键。4*4键盘程序如图5.4所示。图5.4 4*4键盘程序 6 系统仿真 在 protues 的 ISIS 7.6sp4 软件环境下画出电路原理图,接下来就是将设计的程序在 Keil C51 Vision3 开发集成环境上编译成机器语言,进入 Proteus 的 ISIS,鼠标左键点击菜单“Debug”,选中“use romote debuger monitor”,便可实现 KeilC与 Proteus 连接调试。首先在 P
13、roteus 中双击单片机 AT89C51,将 KeilC 下编程生成的.HEX 文件导入到 AT89C51 中,可在 Proteus 中单击全速仿真运行按钮,进行现象的查看,能清楚地观察到芯片上每一个引脚的电平变化,红色代表高电平,蓝色代表低电平。6.1 实用电子秤初始化仿真 导入 main.HEX 文件以后,进入仿真页面,先按开始,此时数字电子秤进入结 束 左移一位 右移一位 N N 开 始 发送行扫描码 发送列扫描码 列扫描完毕?返回键值 行扫描完毕?Y Y 7 欢迎界面。LM4229 上显示欢迎使用电子秤。如图 6.1 所示。图 6.1 实用电子秤初始化仿真图 6.2 实用电子秤进入称
14、重界面仿真 接下来调节压力传感模拟电路电压,将电压设为 0.00 表示此时载物台上没有物体。此时 LM4229 切换到称量画面,显示指示“实用电子秤 单价:0.000 元/千克 总重量:0.000 千克 总价:00.000 元”。如图 6.2 所示 图 6.2 实用电子秤进入称重界面仿真图 6.3 实用电子秤模拟商品选择及最大称量仿真 然后,上调压力传感电压表示已载有商品,同时按下“6”号键,表示选择 6 8 号商品“苹果”。此时 LM4229 上显示“名称:苹果 单价:4.200 元/千克 总重量:3.496 千克 总价:“14.683 元”(实际 4.200*3.496=14.6832 元
15、)。达到基本要求。如图 6.3 所示。图 6.3 模拟商品选择验证性称量仿真图 最后,上调压力传感电压使载重达到最大,同时按下“5”号键,表示选择 5号商品“西瓜”。液晶显示“名称:西瓜 单价:2.400 元/千克 总重量:4.980 千克 总价:“11.952 元”.达到基本要求,最大称量重量 4.980KG,如图 6.4。图 6.4 实用电子秤模拟商品最大称量仿真图 7 使用说明 利用 51 系列单片机设计的电子秤不但可以满足并解决现实生活中提出 9 的“快速、准确、连续、自动”称量要求,同时有效地避免人为误差。当载物台上放有物体时,在键盘输入对应商品的代码编号,LCD 液晶上可以看到相应
16、商品的名称,单价,总重,总价格等信息。在称量的过程中,一旦物体自身的重量超出电子秤的称量范围,蜂鸣器立即警报,告诉工作人员,所称量物品超重。在称量过程中还可以通过键盘选择商品不同的价位。8 设计总结 这次课程设计是对前面所学知识非常系统全面的一次检验。通过这次课程设计与仿真,让我更明确的了解了一些芯片的用途功能,也熟练了对它们的运用。在这个设计的过程中,我需要不断地思考,不断地请教,不断地寻找资料以借鉴,不断的用对知识的深入掌握去解决设计中存在的一些问题和调试时出现的一些故障。虽然说这样的设计很难很烦很累人,但是确实是充实的,是让人感到有意义的。这次课程设计,不但让我了解了一个数字电子秤,更让
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 简单 使用 数字 电子秤 硬件 软件 部分 设计
限制150内