内容发布更新时间 : 2025/10/31 13:32:29星期一 下面是文章的全部内容请认真阅读。
   第二次投入钱币,Money=”100”代表投入10元,但钱币依旧不足(6*3=18>5+10=15),判断CastmoneyTotalmoney,MoneyInputAlarm=‘0‘代表钱币已足,系统进入第四个状态, state=01000, Ticketout,出票状态;   g). 系统自动出票 系统自动出票,Tout=‘1‘显示在3个周期代表出票3张,系统进入第五个状态, state=10000,Givechagne,找零状态。 h). 系统自动找零 系统自动找零,Mout[0]=’1’持续两个周期代表检测restmoney>1,依次找出2张1元的纸币,找零结束,6个数码管显示632032,State=”10000”代表状态停留在找零阶段。  i).再次购买 图13  之后, Rebuy=‘1‘,代表再次购票,进入第一个状态state=00001,系统数据清零,Selstyle,等待选择票种状态,6个数码管显示000000;   j). 取消操作  图14    在c),d),e)之后,如果想取消交易,cancelkey=’1’,系统进入找零状态,如,在d)之后取消,自动找零,Mout[1]=‘1‘代表检测到restmoney>5,找出一张5元的纸币,找零结束,6个数码管显示630505;   k). 整个购票过程结束。    四、 源程序 1.主程序SubwayAutoTicketSellSystem.vhd --------------------------------------------- --File Name     :  SubwayAutoTicketSellSystem.vhd --Description   :  Achieve the function of auto ticket selling --Limition      :  None --System        :  Vhdl9.0 --Soft          :  Quartus2-9.0 --Author        :  ChenDawen --Revision      :  Version 1.0 ,2012-10-31 -------------------------------------------- library ieee; use ieee.std_logic_1164.all;               use ieee.std_logic_unsigned.all;    entity SubwayAutoTicketSellSystem is   port(         Restart:in std_logic;        -- 系统复位信号