1 / 13
文档名称:

自动售货机控制系统设计报告.doc

格式:doc   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

自动售货机控制系统设计报告.doc

上传人:策划大师 2011/11/13 文件大小:0 KB

下载得到文件列表

自动售货机控制系统设计报告.doc

文档介绍

文档介绍:自动售货机控制系统设计报告
一、课题介绍
自动售货机在当今社会已十分普遍,在各大商场和街头均能找到它的身影,它为人们购买一些常见小商品提供了极大的方便。本数字系统模仿一个小型自动售货机的功能,旨在初步学会数字系统设计的一般方法,提高使用Quartus Ⅱ软件和运用VHDL语言编写程序的能力。
该系统设定自动售货机出售可乐(2元)和汉堡包(4元)2种商品,可以选择所要购买的商品数量(1个或2个),按“确认”后进行投币。本机接受1元和5元的纸币,按投币键若干次。若投入的钱款总额达到应付金额,商品给出并找零;若投入的钱款总额未达到应付金额,商品不给出,此时按“取消”可退出已投入的钱款。该系统的规模较小。
二、具体实施方案
用8个开关作为控制输入(由0变为1再变为0算一次输入),7个LED灯作为指示输出,4个数码管分别显示找零金额和退币金额。利用Quartus Ⅱ软件编写VHDL程序,并下载到Cyclone EP1C6Q240C8芯片中,以实现其功能。
三、面板图:
退币
欢迎使用自动售货机!
可乐(2元)
汉堡包(4元)
1个
2个
找零
确认
商品给出
取消
1元
5元
复位
确认
取消
图例:开关标签 LED指示灯
四、系统结构图:
开关模块
消抖模块
LED
指示灯
数码管
控制模块
译码模块
开始
选择商品
YES
NO
选择数量
YES
NO
确认
投币
钱款已够
YES
NO
YES
NO
“商品给出”指示灯亮
“确认”
指示灯亮
数量
指示灯亮
商品
指示灯亮
取消购买
YES
退币数码管显示退款数
NO
找零数码管显示找零数
复位
五、状态流程图:
六、程序清单
1、
--库定义
library ieee;
use ;
use ;
use ;
--实体定义
entity vendor is
port(cola: in std_logic; --选择可乐开关
hamburger: in std_logic; --选择汉堡开关
sum1: in std_logic; --选择购买1个开关
sum2: in std_logic; --选择购买2个开关
note1: in std_logic; --1元纸币投掷开关
note5: in std_logic; --5元纸币投掷开关
rst: in std_logic; --复位开关
ok: in std_logic; --确认开关
cancel: in std_logic; --取消开关
clk : in std_logic; --时钟信号
led_cola: out std_logic; --选择可乐指示灯
led_hamburger: out std_logic; --选择汉堡指示灯
led_sum1: out std_logic; --选择购买1个指示灯
led_sum2: out std_logic; --选择购买2个指示灯
led_ok: out std_logic; --确认指示灯
led_cancel: out std_logic; --取消指示灯
led_out: buffer std_logic; --商品给出指示灯
change_money: buffer integer range 0 to 14; --商品给出后的找零
return_money: buffer integer range 0 to 10 --商品未给出的退币
);
end vendor;
--结构体定义
architecture vendor_arc of vendor is
signal hold_ok: std_logic; --保持ok信号
signal hold_cancel: std_logic;--保持cancel信号
signal money_ok: std_logic; --钱款已够信号
signal cola_choice: std_logic; --保持选择商品信号
signal hamburger_choice: std_logic;
signal sum1_choice: std_logic; --保持选择数目信号
signal sum2_choice: std_logic;
signal totalsum_note1: integer range