地铁售票系统模拟

地铁售票系统模拟

ID:37028169

大小:461.00 KB

页数:20页

时间:2019-05-15

地铁售票系统模拟_第1页
地铁售票系统模拟_第2页
地铁售票系统模拟_第3页
地铁售票系统模拟_第4页
地铁售票系统模拟_第5页
资源描述:

《地铁售票系统模拟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字系统课程设计---地铁售票模拟04005310江涛邮箱:565421252@qq.com一、设计要求:功能描述:用于模仿地铁售票的自动售票,完成地铁售票的核心控制功能。功能要求:售票机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是5角和1元的硬币,纸币的识别范围是1元、2元,5元,10元。乘客可以连续多次投入钱币。乘客可以选择的种类为2元和4元,乘客一次只能选择一个出站口。购买车票时,乘客先选择出站名,然后选择所需的票数,再进行投币,投入的钱币达到所需金额时,售票机自动出票,并找出余额,本次交易结束,等待下一次的交易。在投币期间,乘

2、客可以按取消键取消本次操作,钱币自动退出。功能描述:用于模仿地铁售票的自动售票,完成地铁售票的核心控制功能。功能要求:售票机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是5角和1元的硬币,纸币的识别范围是1元、2元,5元,10元。乘客可以连续多次投入钱币。乘客可以选择的种类为2元和4元,乘客一次只能选择一个出站口。购买车票时,乘客先选择出站名,然后选择所需的票数,再进行投币,投入的钱币达到所需金额时,售票机自动出票,并找出余额,本次交易结束,等待下一次的交易。在投币期间,乘客可以按取消键取消本次操作,钱币自动退出。一、课题分析1.买车票

3、时,乘客按“开始选择”按钮,接着选择出站口接着选择购票数量(根据提示,一次购票数限制在3张以内);然后按“开始投币”按钮,投入钱币;当投入的钱币达到所需金额时,售票机自动出票,并找出余额。考虑到控制整个售票机的物理体积,余额将全部采用5角硬币的形式找出。2.选择出站口或投币过程中,乘客都可以按“取消”按钮取消该次交易。选择出站口的过程中,若按“取消”,则售票机直接回到初始状态;投币过程中,若按“取消”,则售票机将乘客已经投入的钱币全部退出,再回到初始状态。3.客一次只能选择一个出站口,根据乘坐的站数确定票价。假设乘客购票所在站到终点站共有15站。若乘坐

4、1-8站,则票价为2元/张;若乘坐9-16站,则票价为4元/张。16个站用长度位4的二进制向量编码表示,即0001表示乘坐1站,0010表示乘坐2站,依次类推,1111表示乘坐15站(到终点站)。4.票机有2个进币端口。硬币口可识别5角和1元2种硬币,拟用长度为2的一比特热位(one-hot)编码方式表示,即01表示5角,10表示1元。纸币口类似,用长度为4的一比特热位编码方式表示。乘客可以连续多次投入钱币,并且可以以任意顺序投入硬币和纸币。5.票机设有钱币“暂存杆”,其有3个状态:退币状态、等待状态、进币状态,分别用00、01、10表示。退币状态下,

5、“暂存杆”将乘客投入的钱币推出;等待状态下,投入的钱币被“暂存杆”挡住暂存;进币状态下,“暂存杆”将乘客投入的钱币推入售票机内部。三、系统流程图:初始状态按“开始选择”选择出站口按“开始投币”投入钱币钱币足够找零口找零出票口出票按“取消”按“取消”退回钱币钱币入库选择购票数四、系统状态图五、程序源代码及注释libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitysubwayisport(clk:instd_logic;--系统时钟select_start:i

6、nstd_logic;--“开始选择”按钮insert_start:instd_logic;--“开始投币”按钮coin:instd_logic_vector(1downto0);--硬币入口note:instd_logic_vector(3downto0);--纸币入口cancel:instd_logic;--“取消”按钮ticket_stop:instd_logic_vector(3downto0);--出站口编号ticket_account:instd_logic_vector(1downto0);--购票张数money_gate:outstd_

7、logic_vector(1downto0);--钱币“暂存杆”ticket_out:outstd_logic_vector(4downto0);--购买的车票ticket_gate:outstd_logic;--出票口change_gate:outstd_logic--找零口);endsubway;architecturebehaveofsubwayistypestate_typeis(initialize_state,select_state,insert_state,ticket_state,change_state);--状态变量申明signa

8、lstate:state_type;--状态信号申明beginprocess(clk)vari

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

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

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