目录
1、设计目的 ..................................................................................................................................- 1 -
2、设计的主要内容和要求 ..........................................................................................................- 1 -
3、整体设计方案 ..........................................................................................................................- 1 -
3.1 设计方案 ..................................................................................................................................- 1 -
3.2 工作原理 ..................................................................................................................................- 2 -
4、硬件电路的设计 ......................................................................................................................- 2 -
5、软件设计 ..................................................................................................................................- 3 -
5.1 主程序设计..............................................................................................................................- 3 -
5.2 ADC0832 采样程序................................................................................................................ - 4 -
5.3 4*4 键盘程序 ...........................................................................................................................- 5 -
6、系统仿真 ..................................................................................................................................- 6 -
7、使用说明 ..................................................................................................................................- 7 -
8、设计总结 ..................................................................................................................................- 7 -
参考文献 ................................................................................................................................- 8 -
附录 ........................................................................................................................................- 9 -
1、设计目的
单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。但
单片机不是万能的,也存在不适合的场合,我们要充分利用单片机的内部资源
和选择合适的单片机来完成我们的设计。本数字电子秤的设计过程中需要用到
A/D 转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在
软件的设计过程中需要用到键盘扫描、液晶显示驱动、模数转换程序及汉字库
的的设计,可以很好的将数电、模电、单片机知识进行综合应用。在综合应用
中进一步熟悉单片机设计的开发各个流程,最终达到"巩固基础、注重设计、培
养技能、追求创新、走向实用"的目的。
2、设计的主要内容和要求
本文主要完成一个简单实用数字电子秤的硬件电路部分和软件部分的设
计。在设计的过程学会使用单片机对数字电子秤的各种功能进行控制。本设计
中的数字电子秤要求能够显示商品的名称、价格、总量、总价等;能够自动完
成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能,
一旦重量超出了自身重量的测量的范围,发出警报;同时对数字电子秤的测量
范围要达到 5KG,测量精度要求达到 0.001。
3、整体设计方案
3.1 设计方案
整个数字电子秤电路由电源电路、单片机主控制电路、LM4229 显示电路、
蜂鸣器报警电路、4*4 键盘电路和压力传感电路(ADC0832 采样)6 个部分组成。
如图 3.1 所示。
3.2 工作原理
打开电源开关,数字电子秤开始工作。接通电源时,数字电子秤进入主界
面。此时数字电子秤上 MCU 开始工作,键盘不断进行扫描,同时 通过 ADC0832
也不断进行外部称量数据采样,LCD 上显示“weight:2.988kg
Price:”。当
载物台上放有物体时,ADC0832 立即将数据收集送给单片机处理。此时工作人
员只要输入对应商品的单价,在 240*128 的 LCD 上可以看到相应商品的总价。
在称量的过程中,一旦物体自身的重量超出电子秤的称量范围,蜂鸣器立即会
发出“滴滴····”警报声告诉工作人员,所称量物品超重。
图 3.1 整体设计方框图
4、硬件电路的设计
数字电子秤采用 AT89C51 单片机作为微处理器,接口电路由晶振、LM016L
显示电路、4*4 按键电路、ADC0832 电路、报警电路、存储器等组成。控制器系
统的硬件电路原理图如图 4.1 所示。
控制器系统硬件电路的工作过程是:打开电源时,MCU 及各个部分电路开
始工作,MCU 调用内部存储数据对各部分接口电路初始化。200ms 后 LM016L 进
入主界面,ADC0832 不断对外部数据进行采样交给 MCU 进行处理,一旦有物品
放入载物台,ADC0832 立即发送中断请求,并将本次采集数据交给 MCU 处理,
之后 LM016L 显示相应数据量。在此过程中,键盘也在不断进行扫描,一旦有键
按下,单片机也会对其数据进行相应处理,然后将对 LM016L 进行写操作。
图 4.1 数字电子秤硬件电路图
5、软件设计
本设计中的程序由主控制程序、LM4229 液晶显示驱动程序、ADC0832 采样
程序和 4*4 键盘程序组成。
5.1 主程序设计
整个设计中采用由下向上的设计思路。主程序中主要完成对 LM016L、
ADC0832、及键盘扫描程序的调用。在编写程序的过程中,各变量统一采用全局
变量方式命名,同时考虑到电子秤对精度的要求,本设计中的价格及总量相关
的变量全部采用浮点数。主程序流程图如图 5.1 所示。
图5.1 主程序流程图
5.2 ADC0832 采样程序
图5.3 ADC0832采样程序程序流程图
MCU通过拉低CS、拉高CLK来启动ADC0832进行外部压力传感转换后的电压信
号进行采样,每产生8个CLK脉冲,DATA获得一位完整的8bit数据,此时MCU发送
中断请求,拉高CS,拉低CLK,并将数据DAT返回。
5.3 4*4 键盘程序
图5.4 4*4键盘程序
本设计中采用了4*4矩阵式键盘,单片机定时进行查询。首先单片机发送行
扫描代码,然后进行列扫描,当发现某一列出现了低电平时,即返回相应的键盘
值。若没有发现则说明当前行没有键按下,行扫描右移一位,继续执行列扫描。
MCU根据相应的键值,即可确定被按下的键。
6、系统仿真
在 protues 的 ISIS 7.4sp2 软件环境下画出电路原理图,接下来就是将
设计的程序在 Keil C51 μVision3 开发集成环境上编译成机器语言,进入
Protues 的 ISIS,双击 AT89C51,在"Program File 中"添加"main.hex"文件到
AT89C51 中,如图 6.1 所示。
图 6.1 数字电子秤仿真设置图
该仿真验证的过程:首先按开始按 ,此时数字电子秤进入欢迎界面。LM4229
上显示"欢迎使用电子秤 设计·····"。如图 6.2 所示。
图 6.2 数字电子秤界面图
接下来调节压力传感模拟电路电压,将电压设为 2.988 表示此时载物台上
没有物体。此时 LM016L 切换到称量画面。显示指示“weight:2.988kg
price”
输入单价,就可以显示总价了如图 6.3 所示。
图 6.3 数字秤显示界面
7、使用说明
在使用仿真的过程中,首先打开仿真电路图,并加载好“HEX”文件到单片
机中。后将压力传感电压调制 0.00,点击 按钮,开始仿真。(为了能够看到
清晰的演示过程,请将电路的背景设为无。)整个电子秤设置了“0~15”个按键,
其中的“0”键表示取消,其他键代表 15 种可供选择商品价格。(另本设计的仿
真文件需要安装 protues7.4 以上版本才能打开。)
8、设计总结
通过本次电子技能课程数字电子秤的设计,让我更加熟悉了单片机的整
个设计流程。在设计过程中,我也意识到好的编程书写习惯对软件设计的重要
性。刚刚开始由于自己变量大部分采用的是局部变量,导致程序仿真出错,给
自己的修改创造不小的麻烦。经过一天的努力,统一采用全局变量终于实现最
终的仿真结果和设计的全部任务和要求。当然本数字电子秤还有很多可以改进
的地方,例如可以改进按键功能方便工作人员随时对各数据进行修改等等。由
于设计时间有限,只能在以后的学习过程中做更进一步的改进。