【正文】
,00100表示1張二者相加即可同時表示購買的票種和張數(shù)信息 temp_type:=01000。 表示2元票 type_temp:=39。139。 記錄已選擇出站口 elsif((ticket_stop=1001)and(ticket_stop=1111))then 乘坐站數(shù)超過8站 price:=00101000。 票價為4元 temp_type:=10000。 表示4元票 type_temp:=39。139。 記錄已選擇出站口 end if。 end if。 if((account_temp=39。039。)and(type_temp=39。139。)) then 表示已選擇出站口但尚未選擇購票張數(shù) case ticket_account is when 11= 選擇3張票 temp_account:=00100。表示3張票 number:=11。 購票張數(shù)為3 total_price:=price+price+price。 計算總票價 account_temp:=39。139。 記錄已選擇購票張數(shù) when 10= 選擇2張票 temp_account:=00010。 number:=10。 total_price:=price+price。 account_temp:=39。139。 when 01= 選擇1張票 temp_account:=00001。 number:=01。 total_price:=price。 account_temp:=39。139。 when others=null。 end case。 end if。 if((type_temp=39。139。)and(account_temp=39。139。)) then 表示已選擇出站口且已選擇購票張數(shù) if(insert_start=39。139。) then 按下“開始投幣”按鈕 state=insert_state。 系統(tǒng)進入投幣狀態(tài) end if。 end if。 if(cancel=39。139。) then 按下“取消”按鈕 state=initialize_state。 回到初始狀態(tài) end if。 when insert_state= 投幣狀態(tài) case note is 紙幣識別 when 0001= 1元紙幣total_insert:=total_insert+00001010。 重新計算投幣總額 when 0010=total_insert:=total_insert+00010100。 2元紙幣 when 0100=total_insert:=total_insert+00110010。 5元紙幣 when 1000=total_insert:=total_insert+01100100。 10元紙幣 when others=null。 end case。 case coin is 硬幣識別 when 01=total_insert:=total_insert+00000101。 5角硬幣 when 10=total_insert:=total_insert+00001010。 1元硬幣 when others=null。 end case。 if(cancel=39。139。) then 按下“取消”按鈕 state=initialize_state。 回到初始狀態(tài) end if。if(temp=39。139。) then 判斷投入錢幣金額達到總票價 money_gate=10。錢幣“暫存桿”將錢幣推入售票機內(nèi),表示接受投幣 state=ticket_state。 系統(tǒng)進入出票狀態(tài) end if。 if(total_insert=total_price) then判斷投入總金額是否已達到票價總額 temp:=39。139。 記錄投入錢幣金額達到總票價 end if。 when ticket_state= 出票狀態(tài) 計算應找零金額 if(number=11) then change:=total_insertpricepriceprice。 elsif(number=10) then change:=total_insertpriceprice。 elsif(number=01) then change:=total_insertprice。 end if。 ticket_out=temp_type+temp_account。 計算輸出車票 ticket_gate=39。139。 出票口打開 if(change00000000) then 判斷是否還有找零 state=change_state。 系統(tǒng)進入找零狀態(tài) else state=initialize_state。 找零完成,回到初始狀態(tài) end if。 when change_state= 找零狀態(tài)找零口打開時,可控制每個時鐘上升沿推出一個5角的硬幣 if(change00000000) then change_gate=39。139。 找零口打開 change:=change00000101。計算剩余應找零金額 else change_gate=39。039。 找零口關閉 state=initialize_state。 系統(tǒng)回到初始狀態(tài) end if。 end case。 end if。 end process。end beha