1 / 6
文档名称:

HDLVerilog课程设计报告自动售货机.docx

格式:docx   大小:234KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

HDLVerilog课程设计报告自动售货机.docx

上传人:书雯 2021/6/28 文件大小:234 KB

下载得到文件列表

HDLVerilog课程设计报告自动售货机.docx

文档介绍

文档介绍:Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-LGG08】
HDLVerilog课程设计报告自动售货机
Verilog HDL课程设计报告
实 验 名 称:基于Verilog HDL的自动售货机
指 导 老 师: 王 冠 军
班 级 :信科12-1
姓 名 :吴涛
学 号 :06122485
第一章 系统设计
系统设计
(1)用四个发光二极管分别模拟售出价值为5角、1元、元和2元的小商品,购买者可以通过开关选择任意一种标价中的小商品。
(2)灯亮时表示该小商品售出。
(3)用开关分别模拟5角、1元硬币和5元纸币投入,可以用几只发光二极管(或数码管)分别代表找回剩余的硬币。
(4)每次只能售出一种小商品,当所投硬币达到或超过购买者所选面值时,售出货物并找回剩余的硬币,回到初始状态;
(5)当所投硬币值不足面值时,可通过一个复位键退回所投硬币,回到初始状态。
第二章 详细设计
自动售货机状态描述
判断开关被按下的个数N。若N>=2表示所选本次选择无效,返回初始状态;若N=1则显示所选商品,并继续执行下面的流程。3个开关分别代表三种商品。4个开关分别代表投入元,1元,2元,5元,统计投入总额。投入总额与商品价格做比较,如果总额<商品价格,退钱并返回初始状态如果总额>=商品价格,则继续执行下面的程序。找零=总额-商品价格,数码管显示找零金额。状态图如图所示:
详细状态描述
初始状态
各变量都设置为零,按下rst键后,一切恢复到初始状态。
选商品状态
分别有价格为元、1元、元和2元的商品,每次选择商品前,设置一个标志位btn_sell表示选择商品状态。此自动售货机每一次售货时只能一次选择一种商品,当同时选择两种以上时,选择商品无效,数码管显示清零,重新进行商品选择。选择商品后,数码管显示所选商品价格。
投币状态
当选好商品后,开始投币。同样有一标志位btn_price表示投币金额。投币口只接受三种面值的钱币元、1元和5元,可以同时投入多种面值钱币。投完币后,先有一个确认买商品的过程,若投了币但又不购买商品了,就将全部投币金额退回;若确认购买商品,则进入下一状态——找零状态。
找零状态
投完币,并确认购买商品后,进入找零状态。首先要将所投的金额与所选商品的价格做比较,若所投金额小于商品价格,则退回所投钱币;若大于等于商品价格,则两者做差,得到需要找零的钱。
第三章 软件设计
程序总流程图
程序
module seller(clk,rst,dis_mony,btn_ok,btn_mon,btn_sell,led_warn,led,beep);
input clk,rst,btn_ok;
input [2:0] btn_mon; 。
⑤根据要求选择几种买东西的可能情况,在实验箱上实验,观察记录结果。
实验现象
⑴选择买元的商品,投5元的金额,调试现象如下:
①选择元商品数码管显示,再选择一种商品,数码管显示清零,重新进行商品选择。