收藏 分销(赏)

基于VHDL的自动售货机设计.doc

上传人:精*** 文档编号:3999029 上传时间:2024-07-24 格式:DOC 页数:8 大小:45.54KB
下载 相关 举报
基于VHDL的自动售货机设计.doc_第1页
第1页 / 共8页
基于VHDL的自动售货机设计.doc_第2页
第2页 / 共8页
基于VHDL的自动售货机设计.doc_第3页
第3页 / 共8页
基于VHDL的自动售货机设计.doc_第4页
第4页 / 共8页
基于VHDL的自动售货机设计.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、北华大学电子系统综合实习报告学 院 : 电气信息工程学院专业班级 :通信工程 姓名 : 闫梦迪学 号 : 指导老师 :董胜实习时间: 2015。11.3012。11目录1. 实习题目P32. 实习目的P33. 实习技术要求P34. 实现过程P35. 功能及代码P56. 仿真及硬件测试P97. 实习 心得P128。 教师 评语P14一.实习题目自动售货机设计二。实习目的通过本课题的研究,可以掌握电子控制系统的基本原理与其实现,通过对各个模块的编程及其仿真,对QuartusII软件的使用有所了解。每个波形模块的VHDL实现加深了硬件描述语言的学习。最终的顶层文件的调试,更是体现了综合知识的运用。三

2、.实习技术要求本设计要实现自动售货机的基本功能,如货物信息存储、商品选择、进程控制、硬币处理、余额计算、显示等功能。利用软件QuartusII平台,采用VHDL硬件描述语言编程的设计方法设计系统核心电路的硬件程序,与一般的软件开发不同,VHDL编程更需要熟悉一些底层的硬件知识,特别是数字逻辑电路的设计,因此VHDL编程的方法、思路都要更多的与硬件电路联系起来.完成系统各个功能模块的硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到实验台内的FPGA芯片以实现该系统,并在实验台上对设计进行验证。四。实现过程 1)、根据设计要求实现过程分两部分:a、面向客户端模块设计 基于Q

3、uartus2软件环境下,应用VHEDL语言进行程序设计。以clk输入端口进行商品选择,coin1输入端口做钱数输入,Finish输入端口做确认,进而完成商品购买.b、面向个体端模块设计以Get端口进行对商品价格修改的确认,以ST端口进行选择要修改的商品种类,coin0作为单价输入端口。2)、整体结构框图商品选择输入钱数设定控制器品种选择显示译码价格设定3)、程序框图开始开始商品选择Y返还输入钱数YN商品选择价格设定输入钱数钱数=单价?N结束重新输入钱数? 确认、找零 ( 商品、价格设定模块)交易完成结束 ( 客户端模块程序框图)五。功能及代码功能:顾客商品选择、付钱购买、找零,个体商户对商品

4、种类及价格的修改,商品数量统计代码:library ieee;use ieee。std_logic_arith。all;use ieee。std_logic_1164。all;use ieee。std_logic_unsigned.all;entity S1 isport ( clk:in std_logic; -系统时钟r,set,st,get,finish: in std_logic; -设定、买、选择、完成信号coin0,coin1: in std_logic_vector(3 downto 0); 输入钱数act0,act1:out std_logic_vector(3 downto

5、0); 显示、开关信号y0,y1,y2,y3,y4:out std_logic_vector(6 downto 0); 输入钱数、商品价格、找零显示数据end S1;architecture behav of S1 issignal item0,item1: std_logic_vector(1 downto 0); 商品种类signal Q: INTEGER RANGE 20 DOWNTO 0; 找零signal pri0,pri1,pri2,pri3: std_logic_vector(3 downto 0);signal quan0:integer:=9; signal quan1:in

6、teger:=9;signal quan2:integer:=9;signal quan3:integer:=9; -数量begin -设定部分com0:process(get,st,coin0)variable C:INTEGER RANGE 20 DOWNTO 0; begin if get=1 then if stevent and st=1 then item0=item0+1; -对商品进行she zhi if item0=”00 then act0=”1000”;pri0=coin0;C:=CONV_INTEGER(coin0);she ding shi,自动售货机对4种商品的操作

7、 elsifitem0=01then act0=”0100”;pri1=coin0;C:=CONV_INTEGER(coin0); elsif item0=”10” then act0=0010”;pri2=coin0;C:=CONV_INTEGER(coin0); elsif item0=”11” then act0=”0001”;pri3=coin0;C:=CONV_INTEGER(coin0); end if; end if; else act0=0000”; end if;if r=1 C=0;end if; case C is -设定价格when 0 =y3=1000000; whe

8、n 1 =y3=”1111001”; when 2 =y3=0100100; when 3 =y3y3=0010010; when 6 =y3=0000010; when 7 =y3y3=”0000000”; when 9 =y3=”0010000”; when others=y3=”1111111; end case; end process com0;com1:process(coin1,clk,Q) 购买部分variable A,B,D:INTEGER RANGE 20 DOWNTO 0; begin if clkevent and clk=1 then item1=item1+1; -

9、对商品进行循环选择 if item1=”00” then act1=1000; B:=CONV_INTEGER(pri0); 购买时,自动售货机对4种商品的操作 elsif item1=”01” then act1y0=”1000000”; when 0001”=y0=”1111001; when ”0010”=y0=”0100100; when ”0011”=y0y0y0=”0010010”; when ”0110”=y0=0000010; when ”0111”=y0=”1111000; when 1000”=y0=”0000000”; when ”1001”=y0=”0010000; w

10、hen others=y0y1=”1000000”; when 1 =y1=”1111001; when 2 =y1=0100100”; when 3 =y1y1=0011001”; when 5 =y1=0010010; when 6 =y1=0000010; when 7 =y1=1111000”; when 8 =y1=”0000000”; when 9 =y1=”0010000”; when others=y1=”1111111”; end case; case Q is -返还钱数 when 0 =y2y2y2=0011001; when 5 =y2y2=0000010”; when

11、 7 =y2=”1111000; when 8 =y2=0000000”; when 9 =y2=0010000; when others=y2y4=”1111001”; when 2 =y4y4=”0110000; when 4 =y4=”0011001”; when 5 =y4=0010010”; when 6 =y4=”0000010”; when 7 =y4y4=”0000000”; when 9 =y4=”0010000”; when others=y4=”1111111; end case; end process com1;end behav;六。仿真及硬件测试1)、引脚锁定2)

12、、RTL电路图3)、时序仿真4)、硬件测试1。get=1 设定内部价格2。隐藏内部设定价格3。输入8元 单价3元 找零5元 显示剩余数量8个7。实习心得在这次实验中,通过老师的介绍和我们自己的学习,我们学会了VHDL程序的基本语法和操作,熟悉了程序的基本结构和设计,学会了quartus软件的操作和系统的功能仿真。我们小组的组员进行了合理的分工和良好的沟通,这对程序的实验十分重要。在这次的程序设计中,通过实验我们完成了程序,达到了学习的目的.经过这次对自动售货机系统的设计,让我对EDA设计有了更一步的认识,同时也对EDA这门课程有了更深入的了解。这次设计让我了解了关于自动售货机的原理与设计理念,

13、要设计一个电路先进行软件模拟仿真再进行实际的硬件电路测试。当然这个设计存在许多的不足,比如在预览商品时只能顺序浏览,而不能随机点击浏览,这也是为了排除程序的糅杂。并且每次卖完一种商品都得复位,不能进行连续的购买,而且在购买时遇到的情况考虑不周到。这次设计提高了我们的逻辑思维能力,使我们在程序的改写和运用上有了很大的进步。加深了我们对VHDL硬件语言的认识,进一步增进了对一些常见器件的了解。另外,我们还更加充分的认识到,EDA这门课程在科学发展中的至关重要性.查阅参考书的独立思考的能力以及培养非常重要,我们在设计电路时,遇到很多不理解的东西,有的我们通过查阅参考书弄明白,有的通过网络查到,但由于时间和资料有限我们更多的还是独立思考。相互讨论共同研究也是很重要的,经常出现一些问题,经过和同组同学讨论和资料的查询最终得到了解决。锻炼了我们的团队合作精神及分工合作的能力。在调试程序过程中遇到很多这样那样的问题,最后都解决了.特此感谢老师和同学们对我的辛勤指导,能让我在困境中找到解决难题的办法,并且对EDA有了更深刻的认识。8. 教师评语 教师:8

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服