EDA课程设计--自动售货机.doc

EDA课程设计--自动售货机.doc

ID:51639691

大小:955.00 KB

页数:12页

时间:2020-03-14

EDA课程设计--自动售货机.doc_第1页
EDA课程设计--自动售货机.doc_第2页
EDA课程设计--自动售货机.doc_第3页
EDA课程设计--自动售货机.doc_第4页
EDA课程设计--自动售货机.doc_第5页
资源描述:

《EDA课程设计--自动售货机.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、太原科技大学:名字起个什么目录一设计任务与要求……………………………………………3二总体框图………………………………………………………3三模块分析………………………………………………………41自动售货机系统框图………………………………………………42自动售货机工作流程………………………………………………43自动售货机源程序和仿真…………………………………………4四电路总体设计…………………………………………………81总体电路原理图………………………………………………………82时序仿真……………………

2、…………………………………………93管脚分配图……………………………………………………………11五心得体会……………………………………………………………1212太原科技大学:名字起个什么自动售货机一设计任务与要求能够完成对货物信息的存取、硬币的处理、余额计算与显示等功能。自动售货机可以出售四种货物,每种商品的数量和单价的初始化时设定并存储在存储器中。采取模拟开关分别模拟5角和1元硬币来进行买卖,并通过按键来选择商品。系统可以根据用户输入的硬币判断硬币是否够,当所投硬币达到或超过购买者所选面值时,则根

3、据顾客的要求自动退货并找回剩余的硬币,然后回到初始状态,当所投硬币不够时,则给出提示,并通过一个按键退回所投硬币,然后回到初始状态。二总体框图自动售货机的总体框图如图1所示。12太原科技大学:名字起个什么图1总体框图三模块分析分析系统设计要求,不难得知自动售货机系统可以通过多进程设计的方法实现。其中最主要也是最核心的进程控制自动售货机的货物信息储备、购买、价格计算、找币等功能,其他进程则负责选择商品种类的指示译码、消费品种单价和消费总价的显示译码等。1自动售货机的系统框图如图2所示。其中,clk为输

4、入时钟脉冲信号,set为货物信息存储信号,get为购买信号,sel为货物选择信号,finish为购买完成信号,coin0和coin1分别为5角和1元的投币,price[3..0]和quantity[3..0]分别为商品价格和数量。12太原科技大学:名字起个什么输出信号中,item0[3..0]和act[3..0]指示选择商品的种类并译码输出,y0输出购买消费的钱数,y1输出购买商品的单价,act10和act5分别表示找零的1元和5角的硬币数量。图2系统框图2自动售货机的工作流程如下:当置数信号set

5、为高电平时,对商品的单价、数量进行相应的设置;在每一次购买前,先对投入的硬币数量清零;购买时,首先以5角为基本单位对投入的硬币数量进行计数;当选择信号sel高电平有效时,选择所要购买的商品;当get信号高电平有效时,购买所选择的商品;当finish信号高电平有效时,结束交易并找币操作;当get信号为低电平时,则显示商品的价格及其数量。3自动售货机源程序和仿真自动售货机VHDL源程序如下:libraryieee;useieee.std_logic_arith.all;useieee.std_logic

6、_1164.all;useieee.std_logic_unsigned.all;entityPL_auto1isport(clk:instd_logic;--系统时钟set,get,sel,finish:instd_logic;--设定、买、选择、完成信号coin0,coin1:instd_logic;--5角硬币、1元硬币price,quantity:instd_logic_vector(3downto0);--价格、数量数据item0,act:outstd_logic_vector(3down

7、to0);--显示、开关信号y0,y1:outstd_logic_vector(6downto0);--钱数、商品数量显示数据act10,act5:outstd_logic);--1元硬币、5角硬币endPL_auto1;architecturebehavofPL_auto1is12太原科技大学:名字起个什么typeram_typeisarray(3downto0)ofstd_logic_vector(7downto0);signalram:ram_type;--定义RAMsignalitem:st

8、d_logic_vector(1downto0);--商品种类signalcoin:std_logic_vector(3downto0);--币数计数器品单价、数量signalclk1:std_logic;--控制系统的时钟信号begincom:process(set,clk1)variablequan:std_logic_vector(3downto0);beginifset='1'thenram(conv_integer(item))<=price&quantit

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。