有没有大神会VHDL课程设计-出租车计费器
eda吧
全部回复
仅看楼主
level 2
回忆太魅 楼主
能实现计费功能,计费标准为:
按行驶里程收费,起步费为7.00元,并在车行3公里后再按2.2 元/公里,当计费器计费达到或超过一定收费 (如20元)时,每公里加收50%的车费,车停止不计费。
实现预置功能:能预置起步费、每公里收费、车行加费里程。
实现模拟功能:能模拟汽车启动、停止、暂停、车速等状态。
4.设计动态扫描电路: 将车费显示出来,有两位小数。
5.用VHDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。
6.各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。
7.完成电路全部设计后,通过系统课题箱下载验证设计课题的正确性。
二、课题原理
系统顶层框图:
车速选择
起/停开关
基本速率
Reset
扫描时钟
显示输出 显示输出
计费器结构图:
计费器按里程收费,每100米开始一次计费。各模块功能如下:
计数器A为十进制计数器,显示车费的百位,计数时钟为进位脉冲。
计数器B为带预置的模100十进制计数器,预置数为出租车起步价,计数时钟为进位脉冲信号。
计数器C为可变步长的模100十进制计数器,带预置端,预置数为计数步长。计数器C主要用于累加,当车行达到100米时,计数器计数一次,计数步长为每100米的行车收费。
计数器D为带预置模的十进制加法计数器,预置数为车行起步里程3公里,计数脉冲为计数器E的进位信号。这样当计数器D计数达到30后,进位输出将为一个高电平,控制计数器A、B、C开始计数,这样就能实现超过3公里后计费器再按每公里加收车费。
计数器E为带预置的可变步长的模100计数器,预置端为车速(每秒),如果预置端接入车速表,就可以实现计费了,这里用于模拟行车速度。
与门为两个8输入的8与门,一端用于预置,一端输入当前计费器收费情况,当计费器计费达到或超过一定收费 (如20元)时,每公里加收50%的车费,此时该与门输出一个片选信号送MUX。
MUX为16选8的2选1 MUX,2个选择输入端分别为每100米收费和150%的每100米收费,片选信号由与门控制。
动态扫描电路将计数器A、B、C的计费状态用数码管显示出来,所连接的数码管共用一个数据端,由片选信号依次选择输出,轮流显示。图1是一动态扫描电路框图。
2018年01月03日 02点01分 1
level 5
加2409202336
2018年01月03日 02点01分 2
level 5
网上有啊,你的比我难
2018年01月04日 13点01分 3
level 1
你好,想问一下你的做出来了吗?
2018年01月18日 15点01分 4
1