2016年第5期 文章编号:1009—2552(2016}05-0073-05 DOI:10.13274/j.cnki.hdzj.2016.05.019 多功能电子计价秤设计 高 娴,耿 盼 (南京信息工程大学信息与控制学院,南京210044) 摘要:随着电子技术的不断发展,目前市场上使用的传统的电子秤,已经不能满足人们的要 求。根据现有方案的不足,这里分析设计了一种多功能电子计价秤,能够对物品的重量进行称 量,计算出物品的价格,还可以实现去皮称量、累计总价,存储常用物品单价,算出找钱数额 的功能。同时,还可实时检测周围环境的温度。本设计以单片机MSP430F149为核心部件,外围 单元电路有称重模块HX711AD、矩阵键盘、液晶屏LCD12864、温度传感器DS18B20、蜂呜器以 及存储芯片AT24C16。本系统功能丰富、操作简便、有良好的人机交互界面。 关键词:MSP单片机;温度检测;称重模块;矩阵键盘 中图分类号:TP319 文献标识码:A Design of multi-functional electronic price computing scale GAO Xian,GENG Pan (School of Information and Control,Nanjing University of Iformatnion Science and Technology,Nanjing 210044,China) Abstract:With the continuous development of electronic technology,the use of traditional electronic scale already can’t satisfy people’S request.In order to deal with the shortage of the existing schemes, this paper introduces a design of multi—unctional electronic price computing scale.It can weigh the item, calculate the price of the item.It can also measure the weight without the peel,calculate the total price, store commonly—used—item—price,calculate the change that should be given.At the same time,it can measure the temperature of the surroundings in real time.This design uses MSP430F149 single chip microcomputer as the core component,the peripheral circuits are weighing module HX7 1 1,matirx keyboard,LCD12864,temperature sensor DS18B20,buzzer and memo ̄chips AT24C16.This system has rich functions,simple operation,and good man—machine interface. Key words:MSP430 single chip microcomputer;temperature detection;weighing module;matrix keyboard 0 引言 由于传统的电子秤的功能简单,只可称量物品 的重量,输入物品的单价,计算出物品的价格。因 警模块组成。系统的整体设计框图如图1所示。矩 阵键盘由数字键0到9,小数点和功能选择键:清 除、累计、去皮、置零、找钱、储存、输入以及10个储 此,为了丰富传统电子计价秤的功能,本设计在传统 的电子计价秤的基础上,增添了去皮称量功能、累计 功能、找钱功能、置零功能以及温度检测功能,极大 存常用物品单价的按键M1,M2,…,M10构成。称 重模块由电阻应变式压力传感器、放大电路以及 AD转换模块组成。通过称重模块对物品的重量进 行称量,然后由单片机对称重模块的数据进行采集 地满足了人们的各类需求。 1 总体设计方案 多功能电子计价秤 由称重模块、按键模块、 显示模块、温度检测模块、主控模块、存储模块和报 收稿日期:2015—05—28 基金项目:江苏省大学生创新计划项目(201510300056) 作者简介:高娴(1995一),女,本科,研究方向为电气工程及其自动化。 一73— 桥式传感器 图3称重模块电路连接图 VCC 掉电存储程序,数据计算程序和报警模块程序。此 处主要介绍存储模块程序、数据计算程序和按键模 块程序。 3.1存储模块程序设计 AT24Cxx系列EEPROM是由美国Mcrochip公 司出品,1—512K位的支持I c总线数据传送协议 的串行CMOS E2PROM。12C总线是PHLIPS公司推 出的一种串行总线,是具备多主机系统所需的包括 图4 AT24C16的电路连接图 总线裁决和高低速器件同步功能的高性能串行总 线。AT24C16的写操作流程图如图5所示, AT24C16的读操作流程图如图6所示。 提供9—12位摄氏温度测量而且由一个有高低电平 出发的可编程、不因电源消失而改变的报警功能。 DS18B20通过一个单线接口发送或接受信息,因此 在中央处理器和DS18B20之间仅需要一条连接线。 它的在一1OcI=~+85℃的精度为±5℃。 DS18B20可以在没有外部电源供电的情况下工 12C起始信号 12C起始信号 + 发送写器件地址 作。当总线处于高电平状态,DQ与上拉电阻连接 ● 发送写器件地址 通过单总线对器件供电。同时处于高电平状态的总 线信号对内部电容充电,在总线处于低电平状态时, 该电容提供能量给器件。这种提供能量的形式被称 为“寄生电源”。能即DS18B20除去了对外部电源 ● 发送要读取的地划 I 芝送要写入内存地址 + I I2c起始信号l ● 的需求。而且,DS18B20的高速暂存器提供了一个 直接的温度报警值寄存器(TH,TL),和一个字节的 配置寄存器。TH,TL和配置寄存器是非易失性的 幸 申 II c终止信号l I I c终止信号II 图5写操作流程 图6读操作流程图 发送读器件地址I 可擦除程序寄存器(EEPROM),因此存储的数据在 器件掉电时不会消失。 本系统的报警模块选用的是有源蜂鸣器,其内 部有振荡、驱动电路。只需要加上直流电压即可工 3.2数据处理程序设计 作,使用简单、方便。 本设计在对金额进行运算的时候,采用大数乘 3 系统软件设计 此部分使用单片机MSP430F149实现。用IAR 编程软件及C语言编写程序。根据该系统的功能 法算法中的循环算法。将待相乘的大数存人字符串 中,即单价和重量,然后按位存人较大的数组,循环 按位相乘并累加。最后将进位分离并)JnN相邻高位 上。其具体程序如下: void multiply(unsigned char a,unsigned char b, 一设计要求,系统的程序主要包括称重模块程序 , 温度检测模块程序,键盘扫描程序,液晶显示程序, 75— unsigned char C) { int i,j,ca,cb, s; ca=5; cb=4; S:(int )malloc(sizeof(int) (ca+ cb)); for(i=0;i<ca+cb;i++) S[i]=0; for(i_0;i<ca;i++) for(J=0;j<cb;j++) S[i+J+1]+=(a[i]一 0,)¥ (b[J]一 0,; for(i=ca+cb一1;i>=0;i一一) if(S[i]>=10) { S[i一1]+=S[i]/10; S[i]%:10; } i=0; while(S[i]=:0) i++: f0r(j=0;i<ca+cb;i++,j++) c[j]=S[i]+0,. c[j]= \0 free(S); } 3.3按键模块程序设计 按键模块采用5 6的矩阵键盘,并采用按键扫 描的方式。先将第一行置为低电平,其它各线置为 高电平,然后查看列线,若列线均为高电平,则说明 没有按键被按下,若有某一列线为低电平,则说明有 按键被按下,且这个键位于第一行的该列;然后再将 第二行置为低电平,其它各线置为高电平,按照查找 第一行的方法依次查找下去。键盘的主要功能有: 对物品单价以及实付钱数进行输入,对常用物品的 单价进行调用和存储,切换输入、累计、置零、去皮、 找钱、储存等附加的功能。按键模块的程序流程图 如图7所示。 按键模块实现如下功能: ①数字按键和小数点:对单价以及实付金额进 行输入。 ②输入键:按下输入键,在液晶显示屏第三行 “单价:”后,显示“P”,表示正在输入,当输入完毕后,再 次按下输入键,“P”消失,表示物品单价输入成功。 一76一 图7按键模块程序流程图