东南大学VHDL自动售货机设计报告 下载本文

内容发布更新时间 : 2024/5/24 9:29:07星期一 下面是文章的全部内容请认真阅读。

基于VHDL的自动售货机 设计报告

组员:

2014-9-20

目录

1

1.封面……………………………………………………………1 2.目录……………………………………………………………2 3.导言……………………………………………………………3 4.正文……………………………………………………………4 (1)程序结构介绍……………………………………………4

①主进程……………………………………………4

②分频进程…………………………………………5 ③译码显示进程……………………………………6

(2)设计中遇到的问题及解决………………………………6 5.结论与改进……………………………………………………7 6.人员及任务分配………………………………………………10 7.致谢……………………………………………………………10 8.附录……………………………………………………………10 9.参考文献………………………………………………………22

一、导言

在2114年短学期中,我组成员在“数字系统课程设计”课程中成功

2

按题目要求设计完成了目标系统——基于VHDL的自动售货机模拟系统。

本文将介绍我组设计过程与结果。 设计题目如下:

设计FPGA 模块模拟自动售货机的工作过程,要求

(1)售货机有两个进币孔,可以输入硬币和纸币,售货机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是1 元的硬币,纸币的识别范围是5 元,10 元,20元。乘客可以连续多次投入钱币。

(2)顾客可以选择的商品种类有16 种,价格分别为1-16 元,顾客可以通过输入商品的编号来实现商品的选择。由于输入涉及到0-9共10个数字。Nexys3开发板上只有5个按键,可以使用一位开关(比如SW0)来配合按键进行输入,开关SW0拨到0时,5个按键分别代表0-4,SW0拨到1时,5个按键分别代表5-9,这样即可完成所有数字的输入。由于有16种商品,可以通过两次按键来完成。 (3)顾客选择完商品后,可以选择需要的数量,数量为1-3件。然后可以继续 选择商品及其数量,每次可以选择最多两个商品。然后显示出所需金额。顾客此时可以投币,并且显示已经投币的总币值。当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。

我组完成了以上基本功能,并在按金额面值大小顺序退币及返回

3