自动售货机课程设计

自动售货机课程设计

ID:12130911

大小:1.55 MB

页数:8页

时间:2018-07-15

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

《自动售货机课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计报告题目:自动售货机课程设计系别:电子信息与电气工程系专业:通信工程班级:学号:___姓名:导师:日期:成绩:一、引言本次课程设计研究自动售货机的主要功能模块,主要包括商品选择模块、余额计算模块、退币模块,由于条件上的限制,对投币模块中的货币检测未进行处理。相应的主要功能有选择货物,购买,出货找零,显示,延时和时控功能。通过使用VHDL语言,基于FPGA可编程芯片,并通过使用QUARTUSⅡ软件进行程序设计,模拟仿真,功能验证,以更好的来理解和掌握自动售货机控制系统的工作原理和设计方法,以及学习和掌握基于EDA的电子产品设计方法,进一步加深对VHDL语言以及QUARTUS

2、Ⅱ软件、FPGA可编程芯片的认识与了解。二、项目要求设计一个自动售货机控制程序,它的投币口每次可以投入1元、2元、5元,且规定投入1元或2元后不得再投入5元。当投入总值等于或超过设定值(4元),售货机就自动送出货物并找回多余的钱。1、基本要求按照上面要求,编写程序,实现售单一商品的功能。2、扩展要求:在基本要求的基础上,完善电路,实现售多个商品的功能(设定值应该相应增加)。三、设计方案本售货机可销售两种商品,单价分别为3元和4元。投币口每次可以投入1元、2元、5元,且规定投入1元或2元后不得再投入5元,投入总额为3元时,不能再投入2元或者5元,当投入总值超过设定值3元或者4元的情

3、况下,选择商品一或者商品二,售货机就自动送出货物并找回多余的钱。四、项目代码及其分析VHDL程序代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYZDSHJISPORT(CLK,RESET:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(2DOWNTO0);COMB_OUTPUTS,GIVE_CHANGE:OUTSTD_LOGIC);ENDENTITY;ARCHITECTUREbehavOFZDSHJISTYPEFSM_STIS(S0,S1,S2,S3,S4,S5);SIGNALcurrent_state,nex

4、t_state:FSM_ST;BEGINREG:PROCESS(CLK)BEGINIFRESET='1'THENcurrent_state<=s0;ELSIFCLK'EVENTANDCLK='1'THENcurrent_state<=next_state;ENDIF;ENDPROCESSREG;COM:PROCESS(DIN,current_state)BEGINCASEcurrent_stateISWHENs0=>COMB_OUTPUTS<='0';GIVE_CHANGE<='0';IFDIN="001"THENnext_state<=s1;ELSIFDIN="010"THEN

5、next_state<=s2;ELSIFDIN="101"THENnext_state<=s5;ELSEnext_state<=s0;ENDIF;WHENs1=>COMB_OUTPUTS<='0';GIVE_CHANGE<='0';IFDIN="001"THENnext_state<=s2;ELSIFDIN="010"THENnext_state<=s3;ELSEnext_state<=s1;ENDIF;WHENs2=>COMB_OUTPUTS<='0';GIVE_CHANGE<='0';IFDIN="001"THENnext_state<=s3;ELSIFDIN="010"TH

6、ENnext_state<=s4;ELSEnext_state<=s2;ENDIF;WHENs3=>COMB_OUTPUTS<='0';GIVE_CHANGE<='0';IFDIN="001"THENnext_state<=s4;ELSIFDIN="010"THENnext_state<=s5;ELSEnext_state<=s3;ENDIF;WHENs4=>COMB_OUTPUTS<='1';GIVE_CHANGE<='0';next_state<=s0;WHENs5=>COMB_OUTPUTS<='1';GIVE_CHANGE<='1';next_state<=s0;ENDC

7、ASE;ENDPROCESSCOM;ENDbehav;程序分析:DIN=00表示未投币;DIN=01表示投币一元;DIN=10表示投币两元;DIN=11表示投币五元;Y1为货物控制信号:Y1=1表示出货,Y1=0表示不出货。Y2为找零以及五元投币口开闭信号:Y2=00表示不找零并打开五元投币口,允许投入五元;Y2=01表示找零一元并打开五元投币口,允许投入五元;Y2=11表示不找零并关闭五元投币口,不允许投入五元;S0表示初始状态,还没有收到投币;S1表示收到一元投币的状态;S2

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

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

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