数字电路综合实验报告
之简易自动售货机
班级:
姓名:
班内序号:
学号:
日期:
目录
一、任务要求 3
二、系统设计 4
4
2流程图 5
三、波形分析及波形仿真 6
主程序 8
分频模块 13
防抖模块 14
点阵模块 15
译码模块 16
中心模块 18
五、功能说明及资源利用情况 19
19
20
六、实物结果 20
七、故障及问题分析 21
八、总结和结论 21
任务要求
设计一个简易的自动售货机,能够完成钱数处理、找零、显示、退币等功能。
基本要求:
1 、用2 个数码管(disp5,disp4)显示钱数,以元为单位。用 3 个按键(btn0 ,btn1 ,btn2 )分别表示一元、五元、十元,每按一次按键,增加一次相应的钱数,上限 99元。
2 、再用3 个按键(btn3 ,btn4 ,btn5 )分别对应 3 种商品,其中,商品甲售价 3 元,商品乙售价8 元、商品丙售价12 元;
3 、买东西时,先输入钱币,再按对应的商品键。每按一次商品键,钱数要相应地减少,同时有声光(蜂鸣器或发光二极管)提示购买成功。剩余钱数大于3 元可继续按商品键再次购买;当剩余钱数少于 3 元时,表示钱数的数码管 disp5,disp4显示为零,同时用数码管disp0显示退出的钱数。
4 、买东西时,按下商品键,若输入的钱数少于商品的价格,表示钱数的数码管disp5,disp4 显示为零,同时用数码管(disp1、disp0)显示退出的钱数,并用蜂鸣器或发光二极管闪烁表示购买失败。
5 、按下商品键时,用数码管 disp2表示当前购买的商品,1 代表商品甲,2 代表商品乙,
3 代表商品丙。
6 、用btn7 做为退出功能键,退出键可以随时按下,按下后,数码管(disp5,disp4)显
示为零,同时数码管(disp1、disp0)显示退出的钱数,表示结束购买,钱款全部退出。
提高要求:
1 、用点阵设计显示投币动画、出货动画,购买成功/ 失败动画;
2 、允许随时输入钱币,购买时,钱款不足有声光报警并等待追加钱币或选择别的商品;
3 、商品数量管理,有缺货提示;
4 、用点阵动态显示商品名称和库存数量等。
5 、自拟其它功能。
二、实验设计思路
1结构框图
2. 流程图
三、波形分析及仿真波形
数码管显示
购买
投入
点阵
根据图中所示,其中clk为时钟信号,降低分频级数以后进行仿真,得到了数码管cat位选信号进行循环移位,随着按键的信号输入,去抖以后,得到了干净的信号以后,影响了计数器,去除了重复影响的问题,对应的按键投入了对应的钱币,同时改变了数码管的输出,成功购买后,点阵上会显示T(true),如果购买失败,就显示F(false),并且自动退出了。
源程序
1、主程序
数字电路综合实验-自动售货机 来自淘豆网m.daumloan.com转载请标明出处.