七出租车模拟计费器.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
七出租车模拟计费器

实验九 出租车模拟计费器 一、实验目的 1. 了解出租车计价器的工作原理,学会用硬件描述语言来建立出租车计价器的模块。 2. 利用该软件进行可编程逻辑器件设计,完成出租车计价器的逻辑仿真功能。 3. 使用编译器将设计实现,下载到 JDEE—10实验箱上进行调试和验证所设计的出租车 计价器的功能。 二、实验器材 1.Pentium—Ⅲ计算机 一台; 2.JDEE—10 实验箱 一只; 三、实验要求 计费器工作原理: 以上海地区的出租车计费器为例,计费标准是: 1. 在刚开始计费时,应有起步费计算。行驶里程不满3公里时,收费10元(包括等候时间 在内)。 2. 行驶里程满 3公里但不超过 10公里时,每公里收费2元,超过10公里,每公里收费3 元。 实现功能: 扳下计费拨码开关,计价器开始工作。此时,数码管显示“10”字样,同时显示行驶 里程。当里程超过 3 公里时,开始按每公里2 元计费。超过 10公里按每公里 3 元计费。 每过一公里改变数码管的显示。 四、方案设计和例程 首先是计程部分的显示。这里,直接用两个 10进制的计数器进行里程计数,然后输 出显示即可。 对于计价部分,可以内置计数器,当判断里程超过3 后,每次计数单位为加2;当里 程超过10后,每次计数单位为加3。这可以方便的用判断语句和DFF内置计数器嵌套实 现。 需要注意的是,由于计价改变的是费用的个位,因此内置一个10 进制的计数器,同 时在外部使用两个10进制的计数器。 计数脉冲通过对2048Hz进行11次分频得到。4MHz 的脉冲用来实现扫描显示。 下面给出部分源程序及顶层图: 计费处理模块 mainprocess.tdf subdesign mainprocess ( clk: input; %1Hz 信号输入 dlow[3..0],dhigh[3..0]: input; %输入里程 - 92 - diglow[3..0],dighigh[3..0]: output; %里程输出(只处理计费,里程不变) out[3..0]: output; %计费结果输出 clkout: output; %片选 ) variable count[3..0]: dff; %内部计数器 begin defaults clkout=gnd; %默认值不选中 end defaults; if dlow[]==h0 then %设置预制价格:10 元 if dhigh[]==h0 then clkout=vcc; end if; end if; count[].clk=clk; %3KmX10Km if ((dlow[]=h3) and (dhigh[]==h0)) then if count[].q==h8 thencount[].d=h0;clkout=vcc; %计到8, 下一个状态为10(每次加2) else if count[].q==h9 thencount[].d=h1;clkout=vcc; 同时第二片选中。如果是9,下次 else count[].d=count[].q+2; 就显示11 (不大可能发生)。 end if; end if; end if; %10Km if dhigh[]=h1 then if count[].q==h7 thencount[].d=h0;clkout=vcc; %每次状态加3,7+3=10 else if count[].q==h8 thencount[].d=h1;clkout=vcc; %8+3=11 else if c

文档评论(0)

zhaoxiaoj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档