基于VHDL的自动售货机设计.ppt
文本预览下载声明
毕业答辩 基于VHDL的自动售货机设计 班级: 答辩人: 学号: 指导老师: 主要内容 课题的背景与意义 设计工具介绍 基于VHDL的MAXPLUSⅡ软件设计流程 系统总体框图、流程图 MAXPLUSⅡ软件仿真结果 课题背景与意义 自动售货机是能根据投入的钱币自动付货的机器。它是商业自动化的常用设备,不受时间、地点的限制,能节省人力、方便交易给人们生活带来了极大的便利。随着生活水平的提高,人们对自动售货机的需求会越来越高,尤其是年轻消费群体聚集的地方。 自动售货机内部控制中心的实现方式虽然有些差异,但对功能的要求基本一致,本次设计将采用VHDL描述语言实现自动售货机系统的销售动作,并完成整个系统的相关功能。 设计工具介绍 VHDL 语言以文本的形式描述数字系统硬件结构和行为,具有功能强大、严格、可读性好、通用性好、移植性好等特点。 Max+plusⅡ是Altera公司上一代的PLD开发软件,提供的FPGA/CPLD开发集成环境,在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。 基于VHDL的MAXPLUSⅡ软件设计流程 设计输入 编译 仿真与定时分析 编程 在系统测试 修改设计 系统功能 本次设计的自动售货机有两种商品可以出售,售价分别为2元和3元。售货机可以识别1元,5元两种货币。如果投入金额总值等于或超过售价就可以将饮料放出,并具有相应的找零钱功能。 (1)用户可多次选择购买的商品种类,商品种类选定后等待投币。如等待时间超时,则认为用户放弃选购,售货机自动回到等待状态,等待新的交易。若在规定时间内,再次选中饮料,则再次等待。 (2)每次交易完成,售货机自动回到等待状态,等待新的交易。 (3)用按键模拟投入1元,5元两种货币,可连续投币,同时显示投入的金额和还应投入的金额。若某次投币后金额不足,且一定时限内不再投币,则交易失败,并退币,显示退还金额。 (4)具有指示电路,分别指示购买成功、交易取消(交易失败)和找零。 (5)相应显示有延时和时控功能。 研究的基本内容 各个模块 模块功能 总控模块 该模块大体有5个输入端口和6个输出端口。该模块实现了本系统最重要的交易过程,包括选择商品、投入货币、计算货币,找零出货等。 二进制译码模块 该模块有一个输入端和两个输出端。该模块的原理是将一个4位的二进制数转换成2个4位的BCD码,分别为高4位和低4位。 BCD码译码模块 该模块有一个输入端和一个输出端。输入端是一个4位的BCD码,输出端是一个7位数,输出连接到一个LCD数码管以显示出来。 系统总体框图 系统流程图 开始 选择商品 投入钱币 总额物价 退币清零 找零退币 结束 否 是 继续投币 否 否 计算金额 是 是 1、总控模块只选一次但不投币的仿真图 2、总控模块钱不够但不再投币的仿真 3、总控模块不需找零交易成功的仿真 4、总控模块连续投币交易成功的仿真 5、总控模块交易成功且找零的仿真 6、总控模块连续交易成功的仿真 生成总控模块 7、二进制译码模块的仿真
显示全部