项目名称:超市电子秤
项目编号: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;