下载此文档

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


文档分类:办公文档 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
Verilog HDL课程设计报告
实验名称:基于Verilog HDL的自动售货机
指导老师:王冠军
班 级:信科12-1
姓 名:吴涛
学 号:06122485
第一章 系统设计
系统设计
用四个发光二极管分别模拟售出价值为 5角、1元、 元和 2元的小商品,购买者 可以通过开关选择任意一种标价中的小商品。
灯亮时表示该小商品售出。
用开关分别模拟 5角、1元硬币和 5元纸币投入,可以用几只发光二极管 (或数码管 ) 分别代表找回剩余的硬币。
每次只能售出一种小商品,当所投硬币达到或超过购买者所选面值时,售出货物并 找回剩余的硬币,回到初始状态;
当所投硬币值不足面值时,可通过一个复位键退回所投硬币,回到初始状态。
第二章 详细设计
自动售货机状态描述
判断开关被按下的个数N。若N>=2表示所选本次选择无效,返回初始状态;若 N=1则 显示所选商品,并继续执行下面的流程。 3 个开关分别代表三种商品。 4个开关分别代表投 入 元, 1 元, 2 元, 5 元,统计投入总额。投入总额与商品价格做比较,如果总额 <商品
价格,退钱并返回初始状态如果总额 >=商品价格,则继续执行下面的程序。找零 =总额-商品 价格,数码管显示找零金额。状态图如图 所示:
详细状态描述
初始状态
各变量都设置为零,按下 rst 键后,一切恢复到初始状态。
选商品状态
分别有价格为 、 1 元、 1 .5元和 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;// 选择放入的钱
input [3:0] btn_sell;// 选择商品 bbt_5,gz_10,kqs_15,kl_20
output [3:0] led;//led_5,led_10,led_15,led_20
output led_warn;〃钱不足,指示灯
output [10:0] dis_mony;〃数码管显示投入面值,dia_mony[10:8]=com 位选,dis_mony[7:0]=段 码
output beep;
integer r;
reg cl

HLVerilog课程设计报告自动售货机 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息