基于单片机的超市电子秤设计与实现的设计项目分享

项目名:超市电子秤中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。本设计以单片机为核心控制器,加上其他模块一起组成此次设计超市电子秤的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。

项目名称:超市电子秤

项目编号:mcuclub-dz-130

单片机型号:STC89C52

具体功能:

1.通过DS1302获取时间

2、通过4*4矩阵键盘输入产品编号(4位),“0-9”数字键,“*”为单条数据删除,“#”为小数点,“D”为确定键

3、通过AT24C02存储产品数据,包括名称、单价、数量。 可以通过'A'查看,'B'为'+','C'复用为'-'。 当按“D”确认键时,进入修改产品单价。 单价闪烁并可修改。 修改完成后,再次按‘D’确认键,修改成功。

编号:1001 产品名称:水果 单价:5.00元/500克

编号:1002 产品:蔬菜 单价:3.00元/500克

编号:1003 产品:零食 单价:6.00元/500g

编号:1004 产品名称:水产品 单价:10.00元/500g

编号:1005 产品名称:乳蛋制品 单价:3.00元/500克

编号:1006 产品名称:肉制品 单价:15.00元/500g

4、通过HX711称重模块称重,通过4*4矩阵键盘输入数字即可得出总价

5. 使用“C”按钮切换到计数模式。 该模式下,输入单个产品的重量,然后通过称重模块进行整体称重,得到产品的数量。

6、通过AT24C02保存销售记录,通过‘B’键查看,包括销售时间、产品名称、总价。

7、通过LCD12864显示各项测量数据

2. 51实物图

单片机型号:STC89C52

板子是绿色PCB板,两层板,1.2厚,上下铺铜接地。 元件基本都是引脚式的,有的降压芯片会采用贴片式。

供电接口:TYPE-C

3、示意图

软件版本:AD2013

电路连接方式:网络标号连接方式

注:原理图仅显示模块引脚图,并非模块内部结构示意图。

4、PCB图

从原理图导出来看,封装的很大一部分是作者自己绘制的。 不提供包库,只提供连接的源文件。 中间有一个项目编号,隐藏在单片机底座下面,插入单片机后就看不到了。

两层板,上下覆铜并接地。

5. 系统框图

本设计采用单片机作为核心控制器,加上其他模块就构成了本次设计的超市电子秤的整个系统,包括中央控制部分、输入部分和输出部分。 中央控制部分采用单片机控制器,其主要功能是获取输入部分的数据,经过内部处理和逻辑判断后最终控制输出部分。 输入由四个部分组成。 第一部分是电源模块,为整个系统供电; 第二部分是称重模块,通过该模块检测当前物品的重量; 第二部分是时钟模块,通过该模块获取时间; 第四部分是矩阵键盘。 通过该模块可以设计产品单价模型、查看记录、计数等。输出通过显示模块显示,显示时间、货号、重量等。此外,存储模块既作为输入又作为输入和输出。输出,存储销售记录,包括销售时间、产品名称、总价信息。 具体系统框图如图3.1所示。

6. 软件设计流程

7. 部分节目显示

软件版本:keil5

逻辑程序和驱动程序分离并分布在main.c和其他.c文件中

******处理功能

*****/

无效管理函数(无效)

if(flag_display == 0) //测量接口

if(flag_steps == 1 || flag_mode == 1 || flag_qx == 1) //未检测到重量时重置所有数据

如果(权重值 < 20)

标志步=0;

memset(input_buf,'',sizeof(input_buf));

input_buf[0] = '0';

输入数=0;

点数=0;

标志点=0;

标志_丹格 = 0;

标志_qx = 0;

单片机

单片机学习过程中常见问题的解决思路和解决办法!

2024-4-7 8:04:47

单片机

新手应该如何入门单片机电子技术?STM32和51的教程

2024-4-7 9:08:04

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索