自动售货机的软件设计及仿真测试案例
目录
自动售货机的软件设计及仿真测试案例 1
1自动售货机的软件设计 1
1.1自动售货机总流程图 1
1.2商品选择流程图 3
1.3投入系统流程图 5
1.4出货以及找零系统流程图 7
第2章系统的仿真 8
2.1仿真软件Proteus的简介 8
2.2系统的仿真结果 9
1自动售货机的软件设计
1.1自动售货机总流程图
本系统设计的总流程图包括三个子系统流程,分别是商品选择系统流程,投入货币系统流程和出货以及找零系统流程。首先介绍本系统的总流程图。
在无交易的情况下,系统处于初始化界面,等待购买。如果产生交易,首先通过矩阵键盘的按键来选择所需要购买的商品,在确定商品种类之后,再次通过矩阵键盘来确定购买商品的数量。确定后系统自动计算出所需的总价,之后便进入到投币系统。经过系统外部硬件传感器对货币辨别真伪后,就进入到出货以及找零系统。如果投入的货币大于所需的总价,系统自动推出商品同时完成找零。其中,在上述的任意阶段,可通过矩阵键盘上的“NO”直接取消交易,返回初始化界面。系统总流程图如下所示。
系统启动
待购买界面
货物选择系统?
是否确定购买??
投币系统
出货以及找零?系统?
取消购买交易
图1.1系统总流程图
1.2商品选择流程图
本设计设定了1—8元不等的商品种类,且对应着1—8号的商品。当系统启动之后,可以通过矩阵键盘上“PRICE+”和“PRICE-”来切换商品的种类,待购买的商品确定之后,在通过键盘上“NUM+”和“NUM-”来确定商品的数量,之后按下“OK”键,会自动跳转到投入货币系统。按“NO”键,则取消该交易,直接返回初始化界面,等待购买。如图以选择一号商品为例。
开始?
待购买界面?
NO选择商品种
NO
YES?
NO?是否选择一号商品?
NO?
YES
NO?选择对应商
NO?
YES?
返回
图1.2货物选择流程图
1.3投入系统流程图
经过确定商品的种类和数量之后,系统就会进入到投币系统。利用矩阵键盘模拟投币,此设计设有对应的按键分别为1RMB,5RMB,10RMB,20RMB,50RMB,100RMB。当你还未投入金额或者是投入的金额小于购买的总价,系统会显示继续投币的状态。直到你所投入的金额大于或等于购买的总价,此时系统就会进入到出货和找零系统。此流程如下图所示。
开始?
NO?货币是否足够??投
NO?
货币是否足够??
YES?
YES?
返回投入1
返回
NO
YES?
投入5元
NO?
YES?
投入10元
NO?
YES
投入20元
NO?
YES?
投入50元?
NO?
YES?NO
YES?
投入100元
图4.3投币系统流程图?
图1.3投币系统流程图
1.4出货以及找零系统流程图
上述投币系统完成之后便进入到出货以及找零系统。当你投入的货币在购买商品完成的同时没有多余货币时,系统直接推出商品;当你投入的货币在购买商品完成的同时还留有余币,系统会推出商品,与此同时返还多余的余币。此流程如下图所示。
开始
开始?
NO?
YES?
推出商品
返回?
是否需要找
零??
推出商品并找零?
图1.4出货以及找零系统流程图
第2章系统的仿真
2.1仿真软件Proteus的简介
Proteus仿真软件是LabCenterElectronics公司推出的一个EDA工具软件,经常用来对单片机应用系统进行虚拟仿真的软件开发平台。
Proteus是目前世界上唯一支持嵌入式处理器的虚拟仿真平台,除了可以仿真模拟电路,数字电路之外,还可以仿真8051,PICI12/16/18系列,AVR系列,MSP430等各主流系列的单片机,以及各种外围可编程接□芯片。此外还支持ARM7,ARM9等型号的嵌入式微处理器的仿真。
由于Proteus的虚拟仿真,不需要用户硬件样机,就可以直接在PC机上对单片机系统进行虚拟仿真,将系统的功能以及运行过程形象化,可以像焊接好的电路板一样看到单片机系统的执行效果。
Proteus元件库中具有几万种元件模型,可直接对单片机的各种外围元件及电路进行仿真,如RAM、ROM、总线驱动器、各种可编程外围接口芯片、LED数码管显示器、LCD显示模块、矩阵式键盘以及多种D/A和A/D转换器等。此外还可对RS232总线、IC总线、SPI