北邮vhdl自动售货机实验报告(含代码).doc

北邮vhdl自动售货机实验报告(含代码).doc

ID:56912281

大小:549.50 KB

页数:18页

时间:2020-07-23

北邮vhdl自动售货机实验报告(含代码).doc_第1页
北邮vhdl自动售货机实验报告(含代码).doc_第2页
北邮vhdl自动售货机实验报告(含代码).doc_第3页
北邮vhdl自动售货机实验报告(含代码).doc_第4页
北邮vhdl自动售货机实验报告(含代码).doc_第5页
资源描述:

《北邮vhdl自动售货机实验报告(含代码).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《自动售货机》实验报告一.设计课程的任务要求基本要求:1.用2个数码管(disp5,disp4)显示钱数,以元为单位。用3个按键(btn0,btn1,btn2)分别表示一元、五元、十元,每按一次按键,增加一次相应的钱数,上限99元。2.再用3个按键(btn3,btn4,btn5)分别对应3种商品,其中,商品甲售价3元、商品乙售价8元、商品丙售价12元;3.买东西时,先输入钱币,再按对应的商品键。每按一次商品键,钱数要相应地减少,同时有声光(蜂鸣器或发光二极管)提示购买成功。剩余钱数大于3元可继续按商品键再次购买;当剩余钱数少于3元时,表示钱数的数码管disp5,disp4显示为零

2、,同时用数码管disp0显示退出的钱数。4.买东西时,按下商品键,若输入的钱数少于商品的价格,表示钱数的数码管disp5,disp4显示为零,同时用数码管(disp1、disp0)显示退出的钱数,并用蜂鸣器或发光二极管闪烁表示购买失败。5.按下商品键时,用数码管disp2表示当前购买的商品,1代表商品甲,2代表商品乙,3代表商品丙。6.用btn7做为退出功能键,退出键可以随时按下,按下后,数码管(disp5,disp4)显示为零,同时数码管(disp1、disp0)显示退出的钱数,表示结束购买,钱款全部退出。提高要求:7.用点阵设计显示投币动画、出货动画,购买成功/失败动画;8.

3、允许随时输入钱币,购买时,钱款不足有声光报警并等待追加钱币或选择别的商品;9.商品数量管理,有缺货提示;10.用点阵动态显示商品名称和库存数量等。自拟其它功能二.系统设计(包括设计思路、总体框图、分块设计)1.设计思路:本实验为设计一个自动售货机。由于本实验题目逻辑不太复杂,所以有两种设计思路可以选择。第一种是用顺序结构和ifwhen逻辑判断来实现。第二种是用状态机来实现。我选择的使用第一种。总体来说可以将其分为两个大块。第一个是接受键盘命令并通过逻辑判断向LED灯和数码管发出命令。第二个是显示模块,通过接收命令控制灯亮与数码管显示。2.总体框图:结构框图:逻辑划分框图:ASM图

4、:MDS图:分块设计:防抖:本程序防抖功能采取延时防抖,即在按键按下后若持续时间超过一定时长才计数。计价器:计价器分为十位和个位分别计数,由两个信号控制。加减时根据补码计算的思想,先判断十位是否进位或退位,若有则对各位进行反向计算,若没有则直接修改个位。充值模块:此模块与计价器加法思想一样。并设有99的最高限。消费模块:此模块与计价器减法一样。在做减法前先判断是否减钱后余额大于零。显示模块:此模块分为两步。第一步由充值消费后的价钱通过信号赋给显示输出管脚。第二步为通过循环用cat控制数码管关与开。三.仿真波形及波形分析由于程序加入了大量防抖与分频器,所以无法直接进行仿真。以下仿真

5、为拆除了防抖、分频,并且将钱数两位分别输出观察结果。Money11为十位,money00为个位。1.充值1元仿真:当bn0按下后,十位不变,个位加一。2.充值五元仿真当bn1按下后,十位不变,个位加五。3.充值十元仿真当bn2按下后,个位不变,十位加一。4.充值超过99仿真充值超过九十九时,个位十位均不变保持九十九。5.消费三元仿真总钱数为十元时,当bn3按下后,十位减一,个位加七。6.消费八元仿真总钱数为十元,当bn4按下后,十位减一,个位加二。7.消费十二元仿真总钱数为二十元,当bn5按下后,十位减2,个位加8。8.消费超出总额仿真当消费超过总额时,钱数全部置零。四.源程序L

6、IBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;useieee.std_logic_unsigned.all;ENTITYcxzISPORT(bn0,bn1,bn2,bn3,bn4,bn5,bn7:INSTD_LOGIC;clk_50M,reset:INSTD_LOGIC;DOUT7:OUTSTD_LOGIC_VECTOR(6DOWNTO0);CatL:OUTSTD_LOGIC_VECTOR(5DOWNTO0);led1,led2,led3,led4:OUTSTD_LOGIC);ENDcxz;ARCHITECTUREbehaveOFcxzISSIGNA

7、Ldisp0,disp1,disp2,disp4,disp5:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALbtn0,btn1,btn2,btn3,btn4,btn5,btn7:STD_LOGIC:='0';SIGNALclk_1,clk_1k:STD_LOGIC;SIGNALQ:STD_LOGIC_VECTOR(3downto0);SIGNALtemp1:INTEGERRANGE0TO499;SIGNALtemp:INTEGERRANGE0TO24999;S

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

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

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