基于单片机的超市自动找零系统设计

 2022-01-17 11:01

论文总字数:26445字

目 录

摘要 1

Abstract 2

1 绪论 3

1.1 研究背景 3

1.2 方案简介 3

2 系统的组成和工作原理 5

2.1 系统的组成 5

2.2 系统的工作原理 5

2.3 找零方案介绍 6

3 系统的硬件选择 7

3.1 单片机系统 7

3.1.1 单片机简介 7

3.1.2 STM32单片机简介 7

3.1.3 本系统使用的STM32F103C8T6单片机 7

3.2 显示模块 10

3.3 发光二极管 11

3.4 按键模块 12

3.5 电源模块 12

3.5.1 电源适配器 12

3.5.2 本系统选用的电源适配器 12

4 系统的结构搭建 13

4.1 系统电路 13

4.1.1 单片机核心电路 13

4.1.2 稳压电路 14

4.1.3 滤波电路 14

4.1.4 程序下载接口电路 15

4.1.5 液晶显示屏电路 15

4.1.6 按键接口电路 15

4.1.7 时钟电路 16

4.1.8 复位电路 16

4.1.9 LED电路 17

4.2 系统的宏观展现 19

5 系统的软件编写与调试 20

5.1 系统的软件编写 20

5.1.1 Keil简介 20

5.1.2 本系统的软件设计方案 20

5.2 系统的在线调试 21

7 结论 28

8 讨论 28

参考文献 29

致谢 28

基于单片机的超市自动找零系统设计

印茗宇

Abstract:The article introduces the design ideas,working principle,hardware selection and software programming of the supermarket automatically change system in detail. This system in view of the big supermarket traffic, cashier, inefficient STM32F103C8T6 single-chip microcomputer as the core, to implement automatic money detect, denomination recognition and automatic change of basic functions. System uses two sets of external keys to simulate sweep code tired price and cast money, external display shows denomination and should change the price, the LED headlamp unit to simulate the change out of money. Programming, the system adopts the keil software, this software is easy to learn, read and check.

Key words:SCM;Automation Change;Supermarket operator

1 绪论

1.1 研究背景

随着社会的不断发展,超市逐渐成为现代生活不可或缺的一部分,它不仅满足了人们的基本需求,还大大提高了生活质量。每天都有大量居民前往各种大中小型超市采购生活资源,其方便快捷的属性深得民心。但近年来,由于生产力的提高,人们的物质生活需求也越来越大,在很多大型超市,排队等待结账的现象已经屡见不鲜,遇上周末或者逢年过节更是人山人海,漫长的结账队伍多少会让人心情不悦。收银员人工找零效率本来就不高,在这种高强度的工作压力下也难免出差错,给超市带来损失。再加上现在超市抢劫案也不在少数,不法分子利用小型超市资金全由单个收银员掌控的特点,在深夜作案,往往可以轻易得手。在这样的背景之下,本人着手研究了超市自动找零系统。此系统以STM32F103C8T6单片机为核心,能够实现自动验钞,差额计算和自动找零的基本功能。通过设计这样的找零系统,不仅让超市智能化更进一步,更让市民可以方便快捷地购物,对于大型超市来说可以提高运营效率,使顾客不用排队等候,同时也可以减少超市的人力需求从而减少运营成本;对于小型超市来说可以提高超市运营的安全性,自动化的收银系统将使不法分子无计可施。由此可见,这种自动找零系统的研发势必会为超市的发展做出贡献,尤其是在中国这样人口众多的国家,整个社会都将因之更进一步[1]。

其实自动找零并不是一个新鲜的概念,最显而易见的应用就是自动售货机。自1970年以来,自动售货机不断扩展着它的市场份额。在日本,自动售货机的人均占有率为二十分之一,在美国为三十分之一。自动售货机又被称为迷你超市,主要贩售饮料,零食和香烟,人们通过透明窗口预览并选择想要购买的物品,投入固定面额的货币便可得到商品。它的便捷性适应现代快节奏的生活,所以发展很迅速。在我国,自动售货机虽然已经推广开来,但是适用人群普遍为年轻群体,很多中老年人并不会使用,而且自动售货机成本高,销售物品种类有限,投币和找零的面额固定(多为小面额货币),所以它并不能取代超市的地位。此外,地铁站的自动售票机也运用类似的原理。乘客选定目的地,系统分析路程给出票价,乘客投入2到10元不等的硬币或者纸币后获得自己的车票及找零。不过它和自动售货机有着相同的局限性,也不能应用到超市的运营之中。由此可见,在超市领域,自动化经营还是有着很大的发展空间。本系统的最大特点就在于能够接受一定数量的任意面额货币并且快速准确地找零,找零范围为0到99元,迎合了超市服务的需求。

1.2 方案简介

本人所设想的超市自动找零系统包含扫码模块、显示模块、语音提示模块、投币模块、验钞模块、计算模块、纸币处理模块、硬币处理模块、找零(出钞)模块和报警系统和不间断电源[2]。

具体的工作流程为顾客自助扫码→计算商品总价→显示商品总价并语音提示→顾客投入货币(纸币与硬币)→识别货币总额并验钞→计算差额→自动找零,在投币数量不足、投入假币和零钱箱金额不足或者无法组合出应找零价格时系统报警并退出已投入的货币,然后复位。

由于条件的限制,本人着力研究了本系统的核心即找零部分,用按键输入来模拟投币,液晶显示屏会显示投币总价和商品总价,按下计算按钮后会显示找零价格然后LED灯组亮起来模拟出钞。灯组配置为绿色LED一只,代表50元;黄色LED两只,代表20元;白色LED一只,代表10元;蓝色LED一只,代表5元;红色LED五只,代表1元,这个配置可以组合出0到99的任意整数。2 系统组成及工作原理

2.1 系统的组成

自动找零系统的主要组成模块有:单片机核心处理模块、扫码模块、投币模块、显示模块、自动找零模块和语音提示模块和电源模块[3]。

主要功能:扫码累计商品总价,接收顾客投币,辨别真伪和面额,计算差额即找零价格,自动出钞,当投币不足或者投入假币时报错并退出投币。

系统的主体框架如图1 所示。

图1系统主体框图

2.2 系统的工作原理

自动找零系统的工作原理如下:顾客结账时进行自助扫码(此步骤也可由操作熟练的收银员来完成),系统累加商品总价后提示顾客投币,顾客投币后系统中传感器运作,先进行验钞与面额识别,然后计算投币总数和商品总价的差额,差额为非负数则正常执行找零程序;若投入假币或者差额为负数则报错并退出已投货币,最后找零,复位,完成一次收银。

由于条件的限制,本系统采用两组独立按键来模拟扫码计数和顾客投币,显示范围为0到100(找零只涉及100元以下部分)用LED灯组闪亮来模拟自动找零。灯组配置为绿色LED一只,代表50元;黄色LED两只,代表20元;白色LED一只,代表10元;蓝色LED一只,代表5元;红色LED五只,代表1元。

系统工作流程如图2。

总价X

投币Y

Sgt;=0

找零S

False

图2系统工作流程图

2.3 找零方案介绍

本系统的找零方案为:优先使用较大面额的货币进行找零,例如顾客购买了25元的商品,投入100元纸币,共需找零75元,系统会准备好一张50元纸币,一张20元纸币和一张5元纸币用于找零;又如顾客购买了4元的商品,投入10元纸币,系统会准备好一张5元纸币和一张1元纸币用于找零。这样找零的方式出钞数量少且易于计算,当然,零钱的储备方面就需要对市场和每日营业的数据做一些统计,本文将不赘述此环节。3 系统的硬件选择

3.1 单片机系统

3.1.1 单片机简介

单片机是一种由电路集成的芯片,可以将拥有处理数据功能的微处理器即我们所说的CPU,拥有随机储存读取数据功能的存储器即RAM和只读存储器ROM,用于输入和输出的电路接口即I/O接口,还可能包含定时计数器,显示驱动电路,串行通信口和A/D转换器等电路融合在一起,组成一个麻雀虽小五脏俱全的独立系统。当用户使用软件控制这个系统时,它就能够精确快速地完成相应的任务[4]。

单片机的最大特点就是它的独立性,相比于微处理器,单片机可以自动控制完成一系列功能。

单片机有很多种类,每种单片机的软件和硬件都有着区别,这使得它们可以满足不同用户的不同需求。常见的单片机有Intel的51系列单片机,STC公司的STC89系列单片机,SST公司的SST89系列单片机,当然还有本系统所使用的STM32单片机[5]。

3.1.2 STM32单片机简介

STM32系列是由意法半导体推出的一种拥有出色性能并且功耗低的单片机,其内核是ARM Cortex-M3,是一种嵌入式的集成电路。它以其强大的功能和低廉的造价占据了一定的市场。目前,市面上流通的STM32F1系列产品主要分三类:基本型(101);互联型(105、107)和增强型(103)[6]。

STM32系列的设计理念就是灵活、多变、可重塑性强,既能满足常规的开发应用,又能适应用户独特的需求[12]。

3.1.3 本系统使用的STM32F103C8T6单片机

本系统选用的STM32F103C8T6单片机是STM32F103增强型系列的一种,它拥有32位的芯体,可用于输入和输出的端口多达37个,用FLASH作为程序存储器的类型,速度很快,最高的时钟平率能达到72MHz,额定的工作电压在2V到3.5V之间,内置A/D转换器、振荡器和温度传感器。拥有112个高速I/O接口,每个I/O接口均能兼容5V的信号[13]。调试模式为串行单线调试,即SWD下载模式[14]。

在研究本系统前,本人拟采用51系列单片机作为核心处理模块。51单片机具有结构简单、成本低、体积小、方便携带、易于编程等优点,是可以满足本系统基本需求的。但考虑到实际的情况,本人最终选择了STM32系列,以下是本人的理由:

剩余内容已隐藏,请支付后下载全文,论文总字数:26445字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;