通过自动售邮票机谈如何设计最优化的状态机

通过自动售邮票机谈如何设计最优化的状态机

ID:19406858

大小:31.50 KB

页数:6页

时间:2018-10-02

通过自动售邮票机谈如何设计最优化的状态机_第1页
通过自动售邮票机谈如何设计最优化的状态机_第2页
通过自动售邮票机谈如何设计最优化的状态机_第3页
通过自动售邮票机谈如何设计最优化的状态机_第4页
通过自动售邮票机谈如何设计最优化的状态机_第5页
资源描述:

《通过自动售邮票机谈如何设计最优化的状态机》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、设计一个自动售邮票机。每次只允许投入一枚五角或者一元的硬币,累计投入两元硬币给出一张邮票。如果投入一元五角硬币以后再投入一枚一元硬币,则给出邮票的同时还应找回五角钱第一种设计思路:通过状态机扫描各种给出邮票的情况,按照每次只能投币一次,依据投币的先后顺序。能够给出邮票的有五种情况:l四个五角硬币。两个二元硬币。l三个五角硬币和一个一元硬币(给出邮票同时找回五角)。l两个五角硬币和一个一元硬币。ll一个五角硬币和两个一元硬币(给出邮票并找回五角)。设计两个计数器,一个是五角硬币的累加计数,一个是一元硬币的累加计数。每投入一个硬币

2、认为是输入一个脉冲。那么计数器通过各自投入硬币的脉冲沿触发计数。如果累计满两元或者两元五角,那么输出邮票或者输出邮票并找回五角的同时。两个计数器同时清零,清零信号保持一个时钟周期后回复到正常的计数状态。扫描状态机在不断扫描各种情况,每一种状态对应一种给出邮票的情况。若累计不足输出邮票,则输出邮票信号为零,找回五毛信号也为零。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTIT

3、YautomachineISPORT(CLK:INSTD_LOGIC;FIM:INSTD_LOGIC;--五毛硬币ONY:INSTD_LOGIC;--一元硬币RESET:INSTD_LOGIC;STP:OUTSTD_LOGIC;--输出邮票BFIM:OUTSTD_LOGIC);--找回五毛ENDENTITY;ARCHITECTUREbehavOFautomachineISSIGNALFCOUNT:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALOCOUNT:STD_LOGIC_VECTOR(1DOWNTO0)

4、;SIGNALMSTATE:STD_LOGIC_VECTOR(4DOWNTO0);SIGNALRETCON:STD_LOGIC;SIGNALSIG_STP:STD_LOGIC;SIGNALSIG_BFIM:STD_LOGIC;BEGINPROCESS(RESET,CLK)BEGINIFRESET='1'THENMSTATE<="10000";ELSIFCLK'EVENTANDCLK='1'THENMSTATE(4)<=MSTATE(0);MSTATE(3DOWNTO0)<=MSTATE(4DOWNTO1);ENDIF;ENDP

5、ROCESS;PROCESS(FIM,RETCON,FCOUNT)BEGINIFRETCON='1'THENFCOUNT<="000";ELSIFFIM'EVENTANDFIM='1'THENFCOUNT<=FCOUNT+1;ELSEFCOUNT<=FCOUNT;ENDIF;ENDPROCESS;PROCESS(ONY,RETCON,OCOUNT)BEGINIFRETCON='1'THENOCOUNT<="00";ELSIFONY'EVENTANDONY='1'THENOCOUNT<=OCOUNT+1;ELSEOCOUNT<=

6、OCOUNT;ENDIF;ENDPROCESS;PROCESS(CLK,MSTATE,FCOUNT,OCOUNT)BEGINIFCLK'EVENTANDCLK='1'THENCASEMSTATEISWHEN"10000"=>IFFCOUNT="000"ANDOCOUNT="10"THENSIG_STP<='1';SIG_BFIM<='0';RETCON<='1';ELSESIG_STP<='0';SIG_BFIM<='0';RETCON<='0';ENDIF;WHEN"01000"=>IFFCOUNT="001"ANDOCOU

7、NT="10"THENSIG_STP<='1';SIG_BFIM<='1';RETCON<='1';ELSESIG_STP<='0';SIG_BFIM<='0';RETCON<='0';ENDIF;WHEN"00100"=>IFFCOUNT="010"ANDOCOUNT="01"THENSIG_STP<='1';SIG_BFIM<='0';RETCON<='1';ELSESIG_STP<='0';SIG_BFIM<='0';RETCON<='0';ENDIF;WHEN"00010"=>IFFCOUNT="011"ANDOCOU

8、NT="01"THENSIG_STP<='1';SIG_BFIM<='1';RETCON<='1';ELSESIG_STP<='0';SIG_BFIM<='0';RETCON<='0';ENDIF;WHEN"00001"=>IFFCOUNT="100"ANDOCOUNT="0

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

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

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