出租车计费系统VHDL实现详解与模块设计

4星 · 超过85%的资源 需积分: 9 14 下载量 3 浏览量 更新于2024-07-30 1 收藏 555KB DOC 举报
在本篇VHDL代码中,我们将实现一个出租车收费系统的设计,它旨在模拟出租车的计费过程,包括起步价、行车里程计费和等待时间计费。这个项目的目标是通过三个主要模块:计程模块、计时模块和计费模块,配合分频模块和显示控制模块,来完成计费功能并显示结果。 首先,实验背景来自中科大的《复杂数字系统设计》课程,学生需完成出租车计费器的设计,以三位数码管显示总金额,最大值为99.9元,起步价5元,超出3km后每公里加收1元,等待时间以每分钟0.1元计费。在实际硬件环境中,考虑到实验板的限制,计费最大值和显示的最大里程数被调整为15.9元和15.9km,计程和计时的单位也相应调整。 模块划分方面,整个系统分为六个模块:分频模块、计程模块、计时模块、计费脉冲生成模块、计费模块和显示控制模块。分频模块的作用是将实验板提供的50MHz脉冲降频到50Hz,以便于后续计程和计时的处理。计程模块接收分频后的脉冲,当接收到有效控制信号时,每50个脉冲累计0.1km的里程,并将里程数据传递给显示控制模块和计费脉冲生成模块。计时模块同样基于分频脉冲,每50个脉冲增加1分钟,输出等待时间。 计费脉冲生成模块根据行车里程和停车时间生成计费脉冲,确保计费的准确性。显示控制模块则负责根据显示控制开关的选择,将里程、时间和费用中的部分数据输出到八个LED灯上,以简化显示信息。 整个系统的实现不仅注重理论知识的应用,还强调了硬件与软件的结合,以及模块间的协同工作。对于新手学习VHDL编程或理解数字系统设计原理,这篇代码提供了很好的实战案例和实践经验。通过阅读和理解这份代码,用户可以深入掌握VHDL语言的运用,以及如何设计和实现一个实际应用中的计费系统。