试题详情
简答题设计一个满足日常生活所需功能的出租车计费器。该计费器能实现计费功能。车起步开始计费,首先显示起步价,起步费为3.00元,车在行驶3公里以内,只收起步价。车行驶超过3公里后,每公里2元,车费依次累加。当总费用达到或超过40元时,每公里收费4元。当遇到红灯或客户需要停车等待时,则按时间计费,计费单价为每20s收费1元;实现计费器预置功能,能够预置起步费、每公里收费、车行加费里程、计时收费等;可以模拟汽车行驶、停止、暂停等状态,并根据不同状态进行计费;以十进制显示出租车行驶路程与车费。
  • 设计分析:根据设计要求,整个出租车计费系统按功能主要分为速度模块、计程模块、计时模块和计费模块。
    速度模块:通过对速度信号sp的判断,决定变量kinside的值。kinside即是进行100m所需要的时钟周期数,然后每行进100m,则产生一个脉冲clkout。
    计程模块:由于一个clkout信号代表行进100m,故通过对clkout计数,可以获得共行进的距离kmcount。
    计时模块:在汽车启动后,当遇到顾客等人或红灯时,出租车采用计时收费的方式。通过对速度信号sp的判断决定是否开始记录时间。当sp=0时,开始记录时间。当时间达到足够长时则产生timecount脉冲,并重新计时。一个timecount脉冲相当于等待的时间达到了时间计费的长度。这里选择系统时钟频率为500hz,20s即计数值为1000。
    计费模块由两个进程组成。其中,一个进程根据条件对enable和price赋值:当记录的距离达到3公里后enable变为1,开始进行每公里收费,当总费用大于40元,则单价price由原来的2元每公里变为4元每公里;第二个进程在每个时钟周期判断timecount和clkout的值。当其为1时,则在总费用上加上相应的费用。
    该电路系统结构框图如下所示:
  • 关注下方微信公众号,在线模考后查看

热门试题