1、 电子信息科学与技术电子信息科学与技术 专业课程设计任务书专业课程设计任务书 学生姓名学生姓名 专业班级专业班级 学号学号 题题 目目 自动售货机的设计 课题性质课题性质 工程设计 课题来源课题来源 自拟课题 指导教师指导教师 同组姓名同组姓名 主要内容主要内容 设计制作一个自动售货机,该自动售货机能完成货物信息存储、进程控制、硬设计制作一个自动售货机,该自动售货机能完成货物信息存储、进程控制、硬 币处理、余额计算、显示等功能。自动售货机可以售币处理、余额计算、显示等功能。自动售货机可以售 2 2 种货物,每种货物的数种货物,每种货物的数 量和单价在初始化时设入,在存储器中存储。用户可以用硬币
2、进行购物,按键量和单价在初始化时设入,在存储器中存储。用户可以用硬币进行购物,按键 进行选择。系统根据用户输入的货币,判断进行选择。系统根据用户输入的货币,判断钱币钱币是否够,钱币足够则根据顾客是否够,钱币足够则根据顾客 要求自动售货; 钱币不够则给出提示并退出。 系统自动地计算出要求自动售货; 钱币不够则给出提示并退出。 系统自动地计算出应找钱币余额、应找钱币余额、 库存数量并显示。(提示:钱数以库存数量并显示。(提示:钱数以 5 5 角为单位。)角为单位。) 任务要求任务要求 根据设计题目要求编写相应程序代码 对编写的 VHDL 程序代码进行编译和仿真 总结设计内容,完成课程设计说明书 参
3、考文献参考文献 1 焦素敏.EDA 课程设计指导书.郑州:河南工业大学,2008 2 潘松,黄继业.EDA 技术实用教程.北京:科学出版社,2002 3 王国栋,潘松等.VHDL 实用教程.成都:电子科技大学出版社,2000 4 张亦华,延明.数字电路 EDA 入门.北京:电子工业出版社,2003 5 http:/www.ele- 中国电子制作网 网站 审查意见审查意见 指导教师签字指导教师签字 教研室主任教研室主任签字签字 20122012 年年 2 2 月月 2020 日日 一 设计说明 根据要求可自动出售两种货物,本文设计的自动售货机可销售 cola 和 pepsi 两种饮料:售货机可识
4、别 1 元和 0.5 元的两种货币,在一次购买过程中, 可购买一个或多个商品,系统会自动计算所需钱数和找零的钱数并自动找零。另 外有 3 个发光二极管、6 个 LCD 数码管:两个用来显示所需金额,两个用来显示 已付金额,两个用来显示找零数。 1.1.1 流程说明 本文设计的自动售货机当通电时,表示一次销售的开始。顾客选择一种商品 或多种商品后就进入投币状态。若不投币,则自动返回初始状态。投币后,系统 自动计算所投钱数。若投币够,则出货并找零。若投币不够,如果顾客没有继续 投币,则退币并回到初始状态。本系统的投币销售流程图如图所示: 退币清零 结 束 出货找零 继续投币 综合 物价 计算金额
5、投币 选 择 开始 1.1.2 各模块说明 本文设计的自动售货机总体分三个模块:总控模块,二进制译码模块、BCD 码译码模块。 总控模块:总控模块是本系统最重要的模块,该模块大体有 5 个输入端口和 6 个输出端口。其输入端口包括 clk、coin1(投入一元货币) 、coin5(投入 0.5 元货币) 、cola(选择 cola) 、pepsi(选择 pepsi),输出端口有 paid(已投入多 少钱) 、needed(还需多少钱)moneyout(找零) 、success(灯亮表示交易成功) 、 failure(灯亮表示交易失败) 、showmoneyout(灯亮表示正在找零) 。该模块实
6、 现了本系统最重要的交易过程,包括选择商品、投入货币,计算剩余金额,找零 出货等。 二进制译码模块:该模块有一个输入端口和两个输出端口。输入端口是一个 8 位的二进制数输出端口 bcd0、bcd1 是两个 4 位的 BCD 码。该模块的主要的功 能是实现将主控模块输出的二进制数(paid、needed、moneyout)转换成 BCD 码,以便输出到七段数码管上显示出来。该模块的原理是将一个 8 位的二进制转 换成 2 个 4 位的 BCD 码,分为高四位和低四位。 BCD 码译码模块:该模块有一个输入端口和一个输出端口 1.1.3 程序设计 主控模块完整程序如下: Library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity shouhuoji is port(clk: in std_logic; coin1:in std_logic; coin5:in std_l