地铁售票模拟系统设计与实现
需积分: 0 152 浏览量
更新于2024-08-05
收藏 581KB PDF 举报
本篇报告是东南大学信息科学与工程专业学生张逸帆在2019年9月12日进行的FPGA课程设计,主题是地铁售票模拟系统。设计目标是模拟南京地铁售票过程,包括核心控制功能和附加功能。
1.1 功能描述:系统主要功能有接收硬币和纸币支付(面额包括5元、10元和20元),支持两种购票方式:乘客预知费用直接选择或通过选择出站口确定票价。购票后,系统会出票并进行一次性找零。此外,系统还需区分硬币和纸币,并提供直观的界面显示。
1.2 功能要求详细说明:
- **分币、纸币处理**:系统能识别不同面额的硬币和纸币,并正确计数。
- **线路和站点设置**:用户可以设置四条线路,通过拨码开关选择当前站。
- **购票流程**:乘客可以选择已知费用购票或根据起点和终点自动计算票价。
- **票数选择与显示**:购票后,系统会显示出票信息。
- **找零机制**:购票完成后,系统会根据票价进行找零,遵循一定的找零原则。
- **操作便捷性**:允许取消操作和在投币过程中退出钱币。
4.1 状态机设计:系统采用四种状态管理,通过RGB Led灯显示:待机(白色),选站(蓝色),购票(蓝色和绿色),找零(绿色)。状态转换通过确认键,找零状态后回到待机,而拨码开关15用于清空状态并跳转到选站。
4.2 地铁站路径规划:系统通过外部Excel文件预先计算各站之间的最低票价,并使用Python将数据转化为Verilog代码。93个站台编码对应起点和终点,用户通过按键选择起点和终点,避免选择无效编码。如果拨码开关14被触动,系统将切换到已知票价模式,终点站显示为“–”。
在整个设计中,项目采用了模块化结构,如顶层的顶层设计,以及选择电路、按键消抖电路、LED显示模块和7段数码管显示模块。这不仅体现了良好的软件工程实践,也为后续维护和扩展提供了便利。
通过这个项目,学生不仅锻炼了FPGA编程能力,还提升了算法设计、用户交互界面理解和硬件逻辑控制的综合技能。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-08-08 上传
2022-08-08 上传
2022-08-03 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
陈游泳
- 粉丝: 34
- 资源: 301
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践