Tnumber <=\ --数码管显示1 when \代表选择2张车票 totalmoney := totalmoney+ 2*Tm; num:=2; Tnumber <=\ --数码管显示2 when \代表选择3张车票 totalmoney := totalmoney+ 3*Tm; num:=3; -- 最多购3张票 Tnumber <=\ --数码管显示3 when others =>null; end case; if totalmoney /=0 then next_state := inputmoney; -- 选票结束,进入投币状态 else next_state := selticket; -- 未选票,停留在选票状态 end if ; end if; when inputmoney => -- 进行投币 State<=\等待放入钱币状态 if Moneyn(0)='1' then --下载时所用投币按键1元 -- if Money(0)='1' then --仿真时所用投币按键1元 castmoney := castmoney+1; --投币钱数计数增加1 Minput<=minput+\投币数码管显示增加1 elsif Moneyn(1)='1' then --下载时所用投币按键5元 -- elsif Money(1)='1' then --仿真时所用投币按键5元 castmoney := castmoney+5; --投币钱数计数增加5 Minput<=minput+\投币数码管显示增加5 elsif Moneyn(2)='1' then --下载时所用投币按键10元 -- elsif Money(2)='1' then --仿真时所用投币按键10元 castmoney := castmoney+10;--投币钱数计数增加10 Minput<=minput+\投币数码管显示增加10 -- 连续投币,并进行累加 end if; if (Cancelkey='1') then -- 投币期间取消操作,直接进入找零状态退还所投钱币 MoneyInputAlarm<='0'; restmoney:=castmoney; next_state:=givechange; else if (castmoney