地铁自动售票系统
- 格式:doc
- 大小:294.00 KB
- 文档页数:24
地铁站的无人售票系统地铁系统的便利性和高效性使得越来越多的人选择地铁作为通勤方式。
而为了提升乘客的出行体验,地铁站纷纷引入了无人售票系统。
本文将探讨地铁站的无人售票系统对乘客和地铁运营的影响,并分析其优点和挑战。
一、无人售票系统的介绍地铁站的无人售票系统是一种自助售票方式,乘客可以通过自动售票机购买车票。
这种系统通常具备以下功能:购票、充值、查询线路、打印车票等。
乘客只需按照系统提示进行操作,即可完成购票流程。
二、无人售票系统的优点1. 提供便捷购票体验:传统购票方式需要排队等候,而无人售票系统可以避免人流拥堵,缩短售票时间,节省乘客的时间成本。
2. 增强用户隐私保护:在无人售票系统中,乘客可以避免与售票员的直接接触,减少了个人信息泄露的风险。
3. 24小时无间断服务:无人售票系统可以全天候提供服务,无论是白天还是夜晚,乘客都可以方便地购买车票,增加了出行的灵活性。
4. 减少运营成本:无人售票系统可以取代部分人工售票工作,节约了用工成本,降低了地铁站的运营开支。
三、无人售票系统的挑战1. 技术支持要求高:无人售票系统需要依赖先进的技术设备和稳定的网络,任何系统故障都可能会导致售票系统暂时无法使用,给乘客带来不便。
2. 用户操作难度:对于不熟悉科技设备的人来说,使用无人售票系统可能存在一定的困难。
如何提供简洁明了的操作界面和友好的用户指引,是系统设计方面的挑战。
3. 安全隐患:无人售票系统的安全性是一个重要问题。
攻击者可能通过网络漏洞或其他手段攻击系统,篡改票价或窃取乘客信息。
因此,确保系统安全对于无人售票系统的长期稳定运行至关重要。
四、无人售票系统的发展趋势1. 智能化发展:未来无人售票系统有望加入人工智能技术,通过人脸识别、身份验证等技术手段提供更快速和高效的购票体验。
2. 多元化支付方式:除了传统的现金和刷卡支付,无人售票系统将更加广泛地接受移动支付、二维码支付等多种支付方式,方便乘客选择。
地铁afc一、引言地铁(Metro)是一种高速高容量的城市公共交通工具,被广泛应用于全球各大城市。
为了确保地铁系统的安全和高效运营,地铁自动售票系统(Automatic Fare Collection,简称AFC)被引入。
AFC是一种用于收取地铁乘客票款的技术手段,其包括了自动售票机、地铁门禁系统以及后台数据管理系统等。
本文将对地铁AFC系统进行详细介绍。
二、地铁AFC系统的组成地铁AFC系统由以下几个组成部分构成:1. 自动售票机(Ticket Vending Machine,TVM):自动售票机是乘客购买地铁票的主要设备。
它通常安装在地铁站的售票大厅或入口处,提供各种购票方式,例如现金、信用卡、电子钱包等。
乘客只需按照屏幕上的提示,选择购票方式并支付相应费用,便可获取地铁乘车证。
2. 地铁门禁系统(Ticket Gate System,TGS):地铁门禁系统是用于控制地铁入口和出口的设备,主要用于验证乘客是否已购买有效车票。
当乘客持有效车票接近门禁系统时,系统会自动辨别票的有效性,并开启相应的闸门,方便乘客进入或离开地铁站。
3. 后台数据管理系统:后台数据管理系统是地铁AFC系统的核心,负责存储和处理所有与票款相关的数据。
它能够实时监控各个地铁站点的票款收入情况,并进行统计、分析和报告,为地铁管理部门提供有价值的数据支持,用于决策和优化地铁运营。
三、地铁AFC系统的优势地铁AFC系统带来了诸多优势,对地铁运营和乘客体验都具有积极的影响。
1. 提高乘客出行效率:地铁AFC系统使购票和通过门禁变得更加快捷和便利,减少了排队时间,提高了地铁乘车效率。
2. 降低票款流失风险:由于地铁AFC系统的自动化和数字化特点,票款的收取与管理过程更加规范和透明,有效减少了票款流失的风险。
3. 数据化运营管理:通过后台数据管理系统实时监控票款收入情况,地铁管理部门能够及时了解各个站点的客流状况、热点区域分布等信息,从而进行合理的运营和调整。
地铁AFC售票系统操作注意事项地铁AFC(Automatic Fare Collection)售票系统操作注意事项随着城市发展和人口增加,地铁作为一种方便快捷的交通工具被越来越多的人所使用。
为了提高地铁系统的运营效率和便民程度,地铁公司引入了自动售票系统(Automatic Fare Collection,简称AFC),以替代传统的人工售票方式。
本文将介绍一些地铁AFC售票系统操作注意事项,帮助乘客更好地使用该系统。
首先,顾客需要了解地铁AFC售票系统的基本流程。
一般而言,AFC售票系统由地铁售票窗口、自动售票机和刷卡设备组成。
乘客可以选择购买单程票、月票或一些特殊票种,根据自身需求选择适合的票种。
当乘客选择自动售票机购买票时,需要注意以下几点。
首先,在选择票种时,乘客应仔细查看票价信息和有效期限,以免购买错误或过期票。
其次,乘客应准备好现金或银行卡,确保支付方式的顺利进行。
在支付过程中,要注意保护自己的银行卡密码,避免被他人窃取或非法使用。
最后,在购票完成后,务必记得取回购票凭证和零钞,并检查票面信息是否正确。
对于使用刷卡设备乘坐地铁的乘客,也需要注意以下几点。
首先,在刷卡前,乘客应确认自己的实体卡或手机支付功能是否携带且已开启,并确保卡内余额充足。
如果使用实体卡,还要确保卡片没有损坏,以免刷卡失败。
其次,在刷卡设备前,要保持安静并排队等候,不要过度挤压或推挤他人。
在刷卡时,应将卡片或手机支付功能对准读卡器,确保刷卡成功。
同时,刷卡后还要留意屏幕上的扣费信息是否正确,并记得按时下车时刷卡退卡,以免造成过度扣费。
此外,在使用地铁AFC售票系统时,乘客还需要注意以下几点。
首先,乘客应尽量避开繁忙时间段,选择人流相对较少的时间出行,以减少排队等候的时间。
其次,乘客在进站时要随时关注站内及车厢内的公告信息,确保自己乘坐的是正确的列车。
在进站后,也要注意站内指示牌和标示,确保按指定路径前往月台或乘车口。
地铁自动售票机使用方法
地铁自动售票机的使用方法如下:
1. 选择目的地车站:在屏幕主界面显示地铁线路及站点图,乘客点击目的地车站名称。
2. 定义车票:选择车票数量(系统缺省默认为一张),然后屏幕显示车票单价、张数、总支付金额、已收金额等信息。
3. 支付:乘客可以选择现金付款或使用储值卡。
硬币接收为一元币种,纸币接收为5元或10元币种。
乘客也可用储值卡来付款,自动售票机读写器先判断储值卡内余额是否充足,若充足则扣去相应的钱款数额。
对于银行卡及信用卡支付票款,目前只留有接口,以备今后系统升级。
4. 取票:一旦售票机判断乘客支付足额立即开始编码车票,然后发放车票并找零,完成售票。
5. 求助:如果乘客有其他需求,或在购票过程中有什么问题,可通过设在自动售票机旁的求助按钮向工作人员求助。
通过以上步骤,您可以在地铁自动售票机上完成购票过程。
如有任何问题,您可以直接向地铁站工作人员寻求帮助。
地铁自动售票机简介1. 简介地铁自动售票机(Automatic Ticketing Machine,ATM)是地铁站常见的一种自助售票设备。
它通过触摸屏界面和打印机,为乘客提供多种购票方式,并实现自助购票、取票、余额查询等功能。
地铁自动售票机的出现,大大提高了地铁乘客购票的便利性和效率,减少了人工售票带来的排队等待时间。
2. 功能地铁自动售票机通常具备以下主要功能:2.1 车票购买乘客可以使用地铁自动售票机购买地铁车票。
自动售票机提供多种支付方式,包括现金、银行卡、手机支付等。
乘客可以根据需要选择适合自己的支付方式,并按照界面提示操作完成购票过程。
购票后,地铁自动售票机会打印并输出相应的车票。
2.2 余额查询和充值地铁自动售票机也提供余额查询和充值功能。
乘客可以通过界面操作查询自己的余额情况,也可以选择充值的方式增加余额。
这使得地铁乘客可以在更加方便的地方进行余额查询和充值操作,减少了排队等待时间。
2.3 乘车优惠及活动地铁自动售票机通常会显示当地乘车的各种优惠政策及活动,例如学生票、老年票、团体票等。
乘客可以在购票过程中选择适合自己的优惠,享受相应的乘车优惠。
这样不仅方便了乘客,也提高了相关优惠政策的使用率。
2.4 语言和界面选择地铁自动售票机通常支持多种语言和界面选择。
这意味着不同地区的乘客可以选择自己熟悉的语言进行购票操作,增加了使用的便利性和用户体验。
3. 优势3.1 方便快捷地铁自动售票机的最大优势在于其方便快捷的购票流程。
乘客不再需要排队等待人工售票,通过简单的操作即可快速完成购票过程。
这大大减少了排队时间,提高了乘客的出行效率。
3.2 24小时运行地铁自动售票机一般全天候开放,24小时不间断地为乘客提供服务。
不受时间限制的运行,使得乘客可以随时购票,自由选择出行时间。
尤其对于早晚高峰期,地铁自动售票机的运行能够有效缓解客流压力,提供更好的购票体验。
3.3 多种支付方式地铁自动售票机支持多种支付方式,满足乘客的不同需求。
地铁自动售票机简介一、设计背景和概述目前,为了解决都市交通日益拥挤的难题,全国各大都市都开始地铁项目的建设。
都市与城际轨道交通的建设也成为近年国家投资的重点项目。
自动售检票系统确实是用来解决轨道交通系统各个终端设备协同工作的平台,要紧负责自动售票、自动检票、人工售票、结账与清算等工作,该系统由以下几块组成:中央运算机系统;车站运算机系统;自动售票机;自动检票机;自动加值机;人工售补票机;编码分拣机;自动查询机;紧急按钮及双电源设备以及其他辅助设备。
二、设计目的和功能都市地铁本身确实是关于拥挤的都市交通而缓解显现的,而且地铁站一样都设在地下比较狭小的空间,设立多个票务供应点是不合理,因此自动售票机的显现就成为了必定。
既节约了空间,也节约了时刻,操作相应的方便了许多,就确实是老人和幼童一样也能够自己购买。
自动售票机是AFC 系统的重要组成部分,也是要紧的终端设备之一,要紧的功能确实是实现无人自动售票。
1.自动售票系统可对单价为2元,3元,4元,5元四种票售票。
2.能够选择买1-2张3.有1元,5元,10元,20元四个投币口。
当投入的钱币与选择的票款相等时,送出车票;假设投入的钱币不够,1分钟后,退出钱币,无票送出;假设投入的钱币超过票款,能自动找零。
三、设计仪器和设备Microsoft Windows XP Embedded系统 Modlesim软件 QuartueII软件四、系统方案4.1 系统的硬件组成该自动售票系统由以下要紧模块组成:主控单元、乘客显示器与触摸屏、L E D状态显示器、票卡读卡器、硬币模块、纸币接收模块、单程票售票模块、凭条打印机、不间断电源。
此外本系统还预留有银行卡购票功能。
自动售票系统要紧业务如下:〔1 〕标准功能:现金〔硬币、纸币〕支付;单程票发售;硬币找零;语音提示;后台治理功能。
〔2 〕可选功能:视频广告〔无声〕;储值卡现金充值;银行卡购票、纸币找零。
4.2 系统的总体框架结构地铁自动售票系统大致能够分为四个功能模块:车票选择模块、钱币处理模块、余额运算模块、显示功能模块。
2024年地铁AFC系统市场发展现状引言自从地铁自动售票系统(AFC)在上世纪80年代问世以来,其在全球范围内得到了广泛的应用和推广。
地铁AFC系统作为一种现代化的票务管理系统,不仅提供了便捷的乘车体验,也有效地提高了地铁运营和管理的效率。
本文将对2024年地铁AFC系统市场发展现状进行探讨,分析其当前市场规模、发展趋势以及面临的挑战。
当前市场规模地铁AFC系统市场目前呈现出稳步增长的趋势。
据市场研究公司统计,截至2020年,全球地铁AFC系统市场规模达到约200亿美元,并预计在未来几年内将保持年均增长率达到8%以上。
这表明地铁AFC系统市场具有巨大的发展潜力。
分析市场规模增长的原因,主要有以下几点:1.城市化进程加快:随着城市化进程的加快,越来越多的城市开始建设地铁交通系统。
地铁AFC系统作为支持现代化城市交通管理的关键设施,需求量逐步增加。
2.乘客体验提升:地铁AFC系统提供了快捷方便的乘车体验,可通过刷卡、移动支付等方式实现快速进出站以及电子票务管理,使乘客出行更加便利。
3.运营效率提高:地铁AFC系统通过自动化票务管理、数据分析等功能,帮助地铁运营企业提高运营效率,减少人力成本和错误率,增强了管理的科学性。
发展趋势分析在地铁AFC系统市场的发展过程中,有以下几个明显的发展趋势:1.移动支付的普及:随着手机智能化的发展和移动支付技术的成熟,越来越多的地铁AFC系统开始支持移动支付方式,如Apple Pay、支付宝等。
未来,移动支付将成为地铁AFC系统支付方式的主流。
2.大数据应用的提升:地铁AFC系统通过大数据分析,可以帮助地铁运营企业进行客流预测、优化车站布局、制定合理的票价策略等。
未来,随着大数据应用的进一步提升,地铁AFC系统将更好地满足乘客和运营企业的需求。
3.无感支付的推广:无感支付是地铁AFC系统发展的重要趋势之一。
通过人脸识别、声纹识别等技术手段,乘客可以在不需要刷卡或手机支付的情况下完成乘车支付。
数字电路综合设计实验报告——地铁自动售票系统一、设计课题的任务要求基本要求:1、地铁票价统一为每张两元,只能投入币值为五元的人民币进行购票。
2、能够开机自检,检验显示器件正常。
3、通过按键开关BTN输入购票张数和投入的人民币张数并恰当显示相应信息。
4、设置适当的声音提示或显示提示表示取票和找零。
5、一次购票成功后系统能够恰当地转入下一次购票状态。
6、系统能够复位。
提高要求:将投币种类增加为1元、5元、10元三种。
二、系统设计1.设计思路地铁售票系统按要求需要有购票张数输入,投入1元,5元,10元张数输入,出票提示输出,找零输出,开机自检,复位和循环购票几项功能。
由于BTN按键开关每次按下就会产生一个正脉冲,因此我决定对所需的4个按键开关进行防抖处理,检测按下次数,购票张数和投入1元,5元,10元张数分别对应ticket,RMB1,RMB5,RMB10.票数和投入的总的货币数分别用模三的向量和一个模四的向量进行累加,同时将其设为全局信号,利用数码管将其同步显示。
同时我将购票过程分为以下几个状态:(1)xianshi_state(开机自检状态,当检测到复位键后进入下一状态)(2)waiting_state(等待状态,当按下买票按键式开始买票)(3)select_state(选票状态,输入购票张数,确定进入下一状态,取消返回等待状态)(4)insert_state(投币状态,投入钱币,点击购票键进入下一状态)(5)titcket_state(出票状态,显示输出的票数)(6)change_state(找零状态,显示购票后的余额)因此设有一个主进程即为状态机转移进程,实现按键的检测和状态的转移,完成开机自检及循环购票的功能。
2.总体框图:是清零,端口清零,回到等待状态。
状态转移图no='1' no='1'对外接口clksell(投1元)BTN0 led 出票信号(投5元 ) BTN1 (投10元) BTN2(票数) BTN3 蜂鸣找零信号(取消) BTN4 (确定) BTN5(buy )BTN6(复位)BTN7三.仿真波形及波形分析基本要求买2张票,投入1张5元货币 最终出票显示为2张,找零为1元显示结果前11显示结果后在订票过程中点击取消:回到初始的等待状态显示结果前显示结果后投入钱币后取消:投入一张5元后取消,退出投入的5元,并回到等待状态显示结果前显示结果后提高要求后仿真:买3张票后投入一张5元货币,一张10元货币。
出票口出3张票,找零9元,回到等待状态显示结果前显示结果后买3张票后只投入5元由于钱不足买票,状态指示afford会亮四、源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity subway isport(clk :in std_logic;buy : in std_logic;yes : in std_logic;no : in std_logic;RMB1:in std_logic;RMB5:in std_logic;RMB10:in std_logic;ticket:in std_logic;f:out std_logic_vector(6 downto 0);sell:out std_logic_vector(5 downto 0);ticket_out : out std_logic_vector(2 downto 0);change_out : out std_logic_vector(3 downto 0);present_state : out std_logic;a,b,c,d:out std_logic:='0';speak:out std_logic;reset:in std_logic;start:in std_logic;--RMB5_in,RMB10_in:out std_logic;afford:out std_logic);end subway;architecture behave of subway istype state_type is (xianshi_state,waiting_state,select_state,insert_state,ticket_state, change_state);signal state:state_type;signal clk_out100,clk_out200:std_logic;signal ticket_in,RMB1_in,RMB5_in,RMB10_in:std_logic;signal tmp1:integer range 0 to 24999;signal tmp2:integer range 0 to 1;signal tickettemp,RMB1temp,RMB5temp,RMB10temp:std_logic;signal tickettempp,RMB1tempp,RMB5tempp,RMB10tempp:std_logic;signal ticket_count:std_logic_vector(2 downto 0);signal total_money:std_logic_vector(3 downto 0);signal speak_r:std_logic;signal qian:std_logic_vector(3 downto 0);beginp1:process(clk)beginif (clk'event and clk='1') thenif tmp1=24999 thentmp1<=0;elsetmp1<=tmp1+1;end if;end if;end process p1;p11:process(clk_out200)beginif (clk_out200'event and clk_out200='1') thenif tmp2=1 thentmp2<=0;elsetmp2<=tmp2+1;end if;end if;end process p11;p2:process(tmp1,tmp2)beginif tmp1=24999 thenclk_out200<='1';elseclk_out200<='0';end if ;if tmp2=1 thenclk_out100<='1';elseclk_out100<='0';end if;end process p2;--process(clk)--begin--clk_out100<=clk;--clk_out200<=clk;--end process;p3:process(clk_out100,RMB1,RMB5,RMB10)beginIF (clk_out100'EVENT AND clk_out100='0') THENRMB1tempp<=RMB1temp;RMB1temp<= RMB1;RMB5tempp<=RMB5temp;RMB5temp<= RMB5;RMB10tempp<=RMB10temp;RMB10temp<= RMB10;tickettempp<=tickettemp;tickettemp<= ticket;END IF;RMB1_in<=clk_out100 AND RMB1temp AND (NOT RMB1tempp);RMB5_in<=clk_out100 AND RMB5temp AND (NOT RMB5tempp);RMB10_in<=clk_out100 AND RMB10temp AND (NOT RMB10tempp);ticket_in<=clk_out100 AND tickettemp AND (NOT tickettempp); END PROCESS p3;process(clk_out100,RMB1_in,RMB5_in,RMB10_in)beginIF (clk_out100'EVENT AND clk_out100='1') THENif(buy='1') thenticket_count<="000";total_money<="0000";end if;if(no='1') thenticket_count<="000";total_money<="0000";end if;if(reset='1') thenticket_count<="000";total_money<="0000";end if;if (ticket_in='1') thena<='1';ticket_count<=ticket_count+"001";end if ;if (RMB1_in='1') thenc<='1';total_money<=total_money+"0001";end if;if (RMB5_in='1') thenb<='1';total_money<=total_money+"0101";end if;if (RMB10_in='1') thend<='1';total_money<=total_money+"1010";end if;end if;end process;p4:process(clk_out100,total_money,ticket_count)variable flag:std_logic;variable sign:std_logic:='0';variable total_price:std_logic_vector(3 downto 0);variable temp:std_logic_vector(3 downto 0);variable total_money1:std_logic_vector(3 downto 0);variable ticket_temp:std_logic_vector(2 downto 0);variable i,j,k:integer range 0 to 999;variable m:integer range 0 to 999;variable beep:integer range 0 to 10;beginspeak<=speak_r;IF (clk_out100'EVENT AND clk_out100='1') THENcase state iswhen xianshi_state=>speak_r<='0';present_state<='1';flag:='0';temp:="0000";total_price:="0000";ticket_out<="111";change_out<="1111";present_state<='1';i:=0;ticket_temp:="000";total_money1:="0000";if (reset='1') thenstate<=waiting_state;elsestate<=xianshi_state;end if;when waiting_state=>speak_r<='0';present_state<='0';flag:='0';temp:="0000";total_price:="0000";ticket_out<="000";change_out<="0000";qian<="0000";i:=0;j:=0;k:=0;ticket_temp:="000";total_money1:="0000";if(reset='1') thenstate<=waiting_state;end if;if (buy='1') thenpresent_state<='1';state<=select_state;elsestate<=waiting_state;end if;when select_state=> speak_r<='0';case ticket_count is when "001"=>total_price:="0010"; ticket_temp:="001"; when "010"=>total_price:="0100"; ticket_temp:="010"; when "011"=>total_price:="0110"; ticket_temp:="011"; when "100"=>total_price:="1000"; ticket_temp:="100"; when "101"=>total_price:="1010"; ticket_temp:="101"; when "110"=>total_price:="1100"; ticket_temp:="110"; when "111"=>total_price:="1110"; ticket_temp:="111"; when others=>end case;if(reset='1') thenstate<=waiting_state;end if;if (no='1') thenstate<=waiting_state;end if;if (yes='1') thenstate<=insert_state;end if;when insert_state =>speak_r<='0';-- if (total_price>total_money) then--if(m<499) then--present_state<='0';--m:=m+1;--elsif(m=999) then--m:=0;--else--m:=m+1;--present_state<='1';--end if;--end if;if(reset='1') thenstate<=waiting_state;end if;total_money1:=total_money;if (no='1') thenstate<=change_state;flag:='1';end if;if (buy='1') thenif (total_price>total_money1) then state<=change_state;flag:='1';elsestate<=ticket_state;end if;end if;when ticket_state=>if(reset='1') thenstate<=waiting_state;end if;if(i=999) thenstate<=change_state;elsefor beep in 0 to 4 loop speak_r<='1'; end loop;i:=i+1;ticket_out<=ticket_temp;afford<='0';end if;when change_state=>for beep in 0 to 4 loop speak_r<='1'; end loop;if(reset='1') thenstate<=waiting_state;end if;temp:=total_money1-total_price;if(flag='1') thenif(j=999) thenstate<=waiting_state;elsej:=j+1;change_out<=total_money1;qian<=total_money1;end if;elsif (temp="0000") thenstate<=waiting_state;elseif(k=999) thenstate<=waiting_state;elsek:=k+1;change_out<=temp;qian<=temp;end if;end if ;end case;end if;end process;p5:process(clk_out200,ticket_count,total_money) variable i:integer range 0 to 2;variable j:integer range 0 to 1;variable k:integer range 0 to 1;beginIF (clk_out200'EVENT AND clk_out200='1') THEN if(i=0) theni:=1;case ticket_count iswhen "000"=> f<="0111111";sell<="111110"; when"001"=> f<="0000110";sell<="111110"; when"010"=> f<="1011011";sell<="111110"; when"011"=> f<="1001111";sell<="111110"; when "100"=> f<="1100110";sell<="111110"; when"101"=> f<="1101101";sell<="111110"; when "110"=> f<="1111101";sell<="111110"; when"111"=> f<="0000111";sell<="111110";end case;elsif (i=1) theni:=2;case qian iswhen "0000"=>if (j=1) thenf<="0111111";sell<="101111";j:=0;elsej:=j+1;f<="0111111";sell<="011111";end if;when"0001"=>if (j=1) thenj:=0;elsej:=j+1;f<="0111111";sell<="011111";end if; when"0010"=>if (j=1) thenf<="1011011";sell<="101111";j:=0;elsej:=j+1;f<="0111111";sell<="011111";end if; when"0011"=>if (j=1) thenf<="1001111";sell<="101111";j:=0;elsej:=j+1;f<="0111111";sell<="011111";end if;when "0100"=>if (j=1) thenf<="1100110";sell<="101111";j:=0;elsej:=j+1;f<="0111111";sell<="011111";end if; when"0101"=>if (j=1) thenf<="1101101";sell<="101111";j:=0;elsej:=j+1;f<="0111111";sell<="011111";end if;when "0110"=>if (j=1) thenf<="1111101";sell<="101111";j:=0;elsej:=j+1;end if; when"0111"=>if (j=1) thenf<="0000111";sell<="101111";j:=0;elsej:=j+1;f<="0111111";sell<="011111";end if;--when others=>null;when "1000"=>if (j=1) thenf<="1111111";sell<="101111";j:=0;elsej:=j+1;f<="0111111";sell<="011111";end if; when"1001"=>if (j=1) thenf<="1101111";sell<="101111";j:=0;elsej:=j+1;f<="0111111";sell<="011111";end if; when"1010"=>if (j=1) thenf<="0111111";sell<="101111";j:=0;elsej:=j+1;f<="0000110";sell<="011111";end if; when"1011"=>if (j=1) thenf<="0000110";sell<="101111";j:=0;elsej:=j+1;f<="0000110";sell<="011111";end if; when"1100"=>if (j=1) thenf<="1011011";sell<="111011";j:=0;elsej:=j+1;f<="0000110";sell<="110111";end if;when"1101"=>if (j=1) thenf<="1001111";sell<="101111";j:=0;elsej:=j+1;f<="0000110";sell<="011111";end if;when"1110"=>if (j=1) thenf<="1100110";sell<="101111";j:=0;elsej:=j+1;f<="0000110";sell<="011111";end if;when"1111"=>if (j=1) thenf<="1101101";sell<="101111";j:=0;elsej:=j+1;f<="0000110";sell<="011111";end if;end case;elsei:=0;case total_money iswhen "0000"=>if (k=1) thenf<="0111111";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if;when"0001"=>if (k=1) thenf<="0000110";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if; when"0010"=>if (k=1) thenf<="1011011";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if; when"0011"=>if (k=1) thenf<="1001111";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if;when "0100"=>if (k=1) thenf<="1100110";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if; when"0101"=>if (k=1) thenf<="1101101";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if;when "0110"=>if (k=1) thenf<="1111101";sell<="111011";k:=0;k:=k+1;f<="0111111";sell<="110111";end if; when"0111"=>if (k=1) thenf<="0000111";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if;--when others=>null;when "1000"=>if (k=1) thenf<="1111111";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if; when"1001"=>if (k=1) thenf<="1101111";sell<="111011";k:=0;elsek:=k+1;f<="0111111";sell<="110111";end if; when"1010"=>if (k=1) thenf<="0111111";sell<="111011";k:=0;elsek:=k+1;f<="0000110";sell<="110111";end if; when"1011"=>if (k=1) thenf<="0000110";sell<="111011";k:=0;elsek:=k+1;f<="0000110";sell<="110111";when"1100"=>if (k=1) thenf<="1011011";sell<="111011";k:=0;elsek:=k+1;f<="0000110";sell<="110111";end if;when"1101"=>if (k=1) thenf<="1001111";sell<="111011";k:=0;elsek:=k+1;f<="0000110";sell<="110111";end if;when"1110"=>if (k=1) thenf<="1100110";sell<="111011";k:=0;elsek:=k+1;f<="0000110";sell<="110111";end if;when"1111"=>if (k=1) thenf<="1101101";sell<="111011";k:=0;elsek:=k+1;f<="0000110";sell<="110111";end if;end case;end if;end if;end process;end behave;五.功能说明地铁自动售票系统,主要实现了地铁自动售票功能,投入1元、5元、10元功能,开机自检功能,投币不足提示功能和正常的输出地铁票和余额功能。