版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数字电路综合实验报告之简易自动售货机班 级:姓 名:班内序号:学 号:日 期:目录一、任务要求 . . 错误!未定义书签。二、系统设计 . . 41. 结构框图 . . 42流程图 . 5三、波形分析及波形仿真 . 6 主程序 . 8 分频模块 . 13 防抖模块 . 错误!未定义书签。 点阵模块 . 错误!未定义书签。 译码模块 . 错误!未定义书签。 中心模块 . 错误!未定义书签。五、功能说明及资源利用情况 . 错误!未定义书签。1. 功能说明 . . 错误!未定义书签。2. 资源利用情况 . . 20六、实物结果 . . 20七、故障及问题分析 . 21八、总结和结论 . 21一、
2、任务要求设计一个简易的自动售货机,能够完成钱数处理、找零、显示、退币等功能。基本要求:1 、用2 个数码管(disp5,disp4)显示钱数,以元为单位。用 3 个按键(btn0 ,btn1 ,btn2 )分别表示一元、五元、十元,每按一次按键,增加一次相应的钱数,上限 99元。2 、再用3 个按键(btn3 ,btn4 ,btn5 )分别对应 3 种商品,其中,商品甲售价 3 元,商品乙售价8 元、商品丙售价12 元;3 、买东西时,先输入钱币,再按对应的商品键。每按一次商品键,钱数要相应地减少,同时有声光(蜂鸣器或发光二极管)提示购买成功。剩余钱数大于3 元可继续按商品键再次购买;当剩余钱
3、数少于 3 元时,表示钱数的数码管 disp5,disp4显示为零,同时用数码管disp0显示退出的钱数。4 、买东西时,按下商品键,若输入的钱数少于商品的价格,表示钱数的数码管disp5,disp4 显示为零,同时用数码管(disp1、disp0)显示退出的钱数,并用蜂鸣器或发光二极管闪烁表示购买失败。5 、按下商品键时,用数码管 disp2表示当前购买的商品,1 代表商品甲,2 代表商品乙,3 代表商品丙。6 、用btn7 做为退出功能键,退出键可以随时按下,按下后,数码管(disp5,disp4)显示为零,同时数码管(disp1、disp0)显示退出的钱数,表示结束购买,钱款全部退出。提
4、高要求:1 、用点阵设计显示投币动画、出货动画,购买成功/ 失败动画;2 、允许随时输入钱币,购买时,钱款不足有声光报警并等待追加钱币或选择别的商品;3 、商品数量管理,有缺货提示;4 、用点阵动态显示商品名称和库存数量等。5 、自拟其它功能。二、实验设计思路1结构框图 2. 流程图 三、波形分析及仿真波形购买根据图中所示,其中clk 为时钟信号,降低分频级数以后进行仿真,得到了数码管cat 位选信号进行循环移位,随着按键的信号输入,去抖以后,得到了干净的信号以后,影响了计数器,去除了重复影响的问题,对应的按键投入了对应的钱币,同时改变了数码管的输出,成功购买后,点阵上会显示T (true )
5、,如果购买失败,就显示F (false ),并且自动退出了。四、源程序1、主程序点阵 北京邮电大学数字电路综合实验2、分频模块 (1)小分频(2)大分频 3、防抖模块 4、点阵模块 5、译码模块 6、中心模块 五、功能说明及资源利用情况功能说明:用btn0、btn1、btn2分别表示输入1元、5元、10元,数码管disp5、disp4表示现有钱数,当按键按下后,若总钱数之和大于99元,则显示为99并表示不变,不再累加。按键btn3、btn4、btn5分别表示购买3元、8元、12元的商品,disp2显示所选分别为一号二号以及三号商品。当所投入金额总值大于所选商品价格时,点阵图案出现T 的字样表示
6、购买成功,当总金额小于商品价格时,购买失败,点阵图案出现F 的字样表示失败,同时自动退出余钱,disp1、disp0显示退出钱数。商品购买过程中可以随时投币,购买商品结束后若余额小于3元也可以继续投币购买。随时可点按退出键btn7,按第一次时显示在disp1和disp0处显示余额,再次点按退出购买,同时找零。 资源利用情况: 六、实物结果 北京邮电大学 数字电路综合实验 七、故障及问题分析 投入钱币或者选择商品时,少数几次出现了按下按键后没有变化的情况,再次点按正常,多次验证后发现 可能是实验板按键不灵敏导致,只要按键力度适中,并保证一定的时间间隔便再无问题。 在设计点阵图案时有过更改失败的时
7、候,经过多次重复编译下载,最终都能成功,说明与代码的正确与否 无关,可能是实验板连接不好,正确连接并完整下载就能正常显示。 八、 总结和结论 这次的数字电路与逻辑设计综合实验我收获良多。 第一,对上学期学习的有关 vhdl 的相关知识进行了复习,再次接触了计数器、分频器、译码器等代码的编 写与实现,对 QUARTUS II 这个软件有了更深一步的了解,更加熟悉建立工程、代码编写、波形仿真、编译下载 等步骤的操作。第二,这次实验题目的选取完全自主,让我们自己结合自身兴趣以及能力选取我们想要完成的任 务,我选择了具有很强现实意义的自动售货机,觉得贴近生活的更有兴趣完成。首先要进行模块的划分,我分为
8、 了控制模块,主函数,两个分频文件,一个数码显示,一个点阵显示,一个防抖动文件,底层文件多便于分类与 检查,而且能更清晰地展示自己的思维。 这一次的实验分为四周,每一周任务不同,学到的知识也不同。第一周进行选题以及基础思路的设计,课下 便要完成流程图以及程序框图的设计。第二周要进行部分实验代码的编写,按照自己的思路逐一编写代码。第三 周要检查波形意味着绝大部分的代码要完成,基本功能要能实现。这一周的任务很重,因为从简单的思路到具体 的实现需要很多,要花费大量的时间编写代码,编译通过后还要根据波形更改代码,就比如代码中对计数部分的 要求, 我多次编译不过, 逻辑上想通了代码上实现不了, 花费了大量的时间还请教了别的同学, 最后才更改成功, 好不容易编译成功波形却又总是不对,根本不知道从何查起,因为很有可能是逻辑上的漏洞,而且这次的提高要 求中随时可以输入钱币与基本要求里小于三元自动退出两个要求相矛盾, 逻辑上显得更加混乱, 也给代码的编写 工作添加了更大的困难。值得一提的是防抖动部分的添加特别重要。仿真成功后就要进行下载,下载时候遇到的 问题更多, 而且时间又紧, 可调试时间有限, 周六日两天开放时间都去也因人过多没有实验板而缩短了调试时间, 最后我是找一切能去的时间去,抓紧一切时间。下载过程中的问题也是最多的,比如频率不当,需要对分频器部 第 21 页 共 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论