本次设计是基子AT89C51单片机为核心的数字电子秤, 它的硬件电路还包招称重传感器、 ADC0832的A/D转换电路、报警电路、 LM016L液晶显示、电源电路。 该设计的的软件程序包括主控程序、 LM016L、显示驱动程序、 ADC0832采样程序和4·4键盘程序。 打开电源时单片各部分接口电路初始化, 20Om,后ADC0832对外部数据进行采样, 一旦有物品放入载物合, ADC0832立即发送中断请求,并将本次采集数据交给单片机处理. 显示相应数据量 。
一、总体设计方案
基于单片机开发的数字电子秤, 其.硬件电路包指单片机、称重传感器、 A/D转換芯片、报警电路. La)显示电路、电源电路等几部分设计内容. 其单片机采用Atmel公司生产的51系列AT89C51 , 称重传感器可采用电析电路, 在仿真实现中本文采用可调电阻做普代. A/I購换器采用ADC08a2。数字电子111平最终要满足以下功能· 自动计算价格; 储存常用物品价格;超重提醒,一旦童量超出了自身重量的孤f量的范围, 发出警报: 电子秤的测量范围在o-5KG, ,则量精度要求0. 001KG。
整个数字电子秤电路构成如图1所示 。
二、硬件电路的设计
数字电子秤以AT89C51单片机作为 核心,完成ADC0832转換电路、 LM01l1lL显示电路、键盘电路、报警电路等功能。
1.A/D转换电路
采用ADC0332芯片,通过采样、保持、量化和全编码等过程将称重传感器所采集的模拟信号转換成数字信号供单片机读取 。
2.显示电路
采用LM016L液晶显示器,通过HD44780 控制器,具有简单而功能较强的指令集,可以实现字符移动. 闪烁、等功能
3.键盘电路
采用4*4矩阵接键,完成外部数据的輸入。
4.报警电路
采用蜂鸣器报警器, 一旦物体自身的重量超出电子秤的称量范围. 峰鸣器立即会发出書报声,提醒所称量物品超重。原理图如图2所示。
三、软件性计
控制器系统软件的工作过程如下: 打开电,源 时, 单片机及各个部分电路开始工作, 单片机调用内部存储数据对各部分接口电路初始化. 200ms后LM016L进入主界面,LC1)上显示“we,ght· Ptice; ·'。 A111008311l 不断对外部数据进行采样交给单片机进行处理, 一旦有物品成入载物台, ADC0832立即发速中断情求, 井将本次采集数据交给单片机处理,之后LM016L显示相应数据量。在此过程中,键盘也在不断进行扫描, 一旦有键按下, 单片机也会对其数据进行相应,处理, 然后将对LMo16L进行写操作。在称量的过程中, 一旦物体自身的重量超出电子秤的称量植围,蜂鸣器立即会发出警报声,提醒所称量物晶超重 。
本系统设计包括主控程序、 LM01l1lL显示驱动程序. AOC0832采样相序和4*·'l键盘程序组成。主控程序中主要完成対LMC116L、A[1C083a. 及键盘扫描程序的调用。子程序由LM016L显示驱动程序、 A院0832来样程序和4来4键盘程序组成 。
1主程序流程(如图4所示)
2.子程序一LM016L显示驱动程序(如图5所示)
3.子程 序 ADC0832米样程序(如图6所不)
单片机通过拉低CS、拉高CLK来启动ADC0832进行外部压力传感 转换后的电压信号进行采样,每产生8个CLK脉冲,DATA获得一位完 整的8bit数据,此时单片机发送中断请求,拉高CS,拉低CLK,并 将数据DAT返回。
4.子程序?4*4键盘程序(如图7所示)
单片机定时进行查询。首先单片机发送行扫描代码,然后进行 列扫描,当发现某一列出现了低电平时,即返回相应的键盘值。若 没有发现则说明当前行没有键按下,行扫描右移一位,继续执行列 扫描。单片机根据相应的键值,即可确定被按下的键。
四、结束语
本文通过AT89C51单片机外围电路和编程语言实现数字电子秤 的设计与仿真,并且针对实际电路进行硬件与软件的调试,较好的 实现了本次设计的功能。