程序设计与仿真。

1. 出租车计价器VHDL程序

--文件名:taxi.hd

--功能:出租车计价器

--最后修改日期:2004.4.9

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity taxi is

port ( clk_240  :in std_logic;                           --频率为240Hz的时钟

start :in std_logic;                               --计价使能信号

stop:in std_logic;                                --等待信号

fin:in std_logic;                                 --公里脉冲信号

cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); --费用数据

km1,km0:out std_logic_vector(3 downto 0);          --公里数据

min1,min0: out std_logic_vector(3 downto 0));       --等待时间

end taxi;

architecture behav of taxi is

signal f_15,f_16,f_1:std_logic;                       --频率为15Hz,16Hz,1Hz的信号

signal q_15:integer range 0 to 15;                     --分频器

signal q_16:integer range 0 to 14;                     --分频器

signal q_1:integer range 0 to 239;                     --分频器

signal w:integer range 0 to 59;                        --秒计数器

signal c3,c2,c1,c0:std_logic_vector(3 downto 0);         --制费用计数器

signal k1,k0:std_logic_vector(3 downto 0);              --公里计数器

signal m1:std_logic_vector(2 downto 0);                --分的十位计数器

signal m0:std_logic_vector(3 downto 0);                --分的个位计数器

signal en1,en0,f:std_logic;                            --使能信号

begin

feipin:process(clk_240,start)

begin

if clk_240'event and clk_240='1' then

if start='0' then q_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';

else

if q_15=15 then q_15<=0;f_15<='1';          --此语句得到频率为15Hz的信号

else q_15<=q_15+1;f_15<='0';

end if;

if q_16=14 then q_16<=0;f_16<='1';          --此语句得到频率为16Hz的信号

else q_16<=q_16+1;f_16<='0';

end if;

if q_1=239 then q_1<=0;f_1<='1';            --此语句得到频率为1Hz的信号

else q_1<=q_1+1;f_1<='0';

end if;

if en1='1' then f<=f_15;                    --此语句得到计费脉冲f

elsif en0='1' then f<=f_16;

else f<='0';

end if;

end if;

end if;

end process;

process(f_1)

begin

if f_1'event and f_1='1' then

if start='0' then

w<=0;en1<='0';en0<='0';m1<="000";m0<="0000";k1<="0000";k0<="0000";

elsif stop='1' then

if w=59 then w<=0;                             --此语句完成等待计时

if m0="1001" then m0<="0000";                --此语句完成分计数

if m1<="101" then m1<="000";

else m1<=m1+1;

end if;

else m0<=m0+1;

end if;

if m1&m0>"0000001"then en1<='1';             --此语句得到en1使能信号

else en1<='0';

end if;

else w<=w+1;en1<='0';

end if;

elsif fin='1' then

if k0="1001" then k0<="0000";                    --此语句完成公里脉冲计数

if k1="1001" then k1<="0000";

else k1<=k1+1;

end if;

else k0<=k0+1;

end if;

if k1&k0>"00000010" then en0<='1';               --此语句得到en0使能信号

else en0<='0';

end if;

else en1<='0';en0<='0';

end if;

cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0;                   --费用数据输出

km1<=k1;km0<=k0;min1<='0'&m1;min0<=m0;              --公里数据、分钟数据输出

end if;

end process;

process(f,start)

begin

if start='0' then c3<="0000";c2<="0001";c1<="0000";c0<="0000";

elsif f'event and f='1' then

if c0="1001" then c0<="0000";                       --此语句完成对费用的计数

if c1="1001" then c1<="0000";

if c2="1001" then c2<="0000";

if c3<="1001" then c3<="0000";

else c3<=c3+1;

end if;

else c2<=c2+1;

end if;

else c1<=c1+1;

end if;

else c0<=c0+1;

end if;

end if;

end process;

end behav;

2. 程序仿真图

注:1. 仿真图中秒跟分的关系为3进制,即w为2时就归0;

2. 出租车总行驶5公里,等待累计时间为4分钟,总费用为16.2元。

图8.22.3 出租计价器程序仿真全图

出租车计费程序php,出租车计价器VHDL程序相关推荐

  1. Java出租车计费问题

    Java出租车计费问题,一个简单小程序助你学会流程控制 出租车问题 出租车计费标准(表1) 任务实施 实现功能 出租车问题 某市出租车计费标准如表1所示. 请根据此标准完成一个出租车计费模拟功能. 能 ...

  2. python出租车计费_python的基础程序——判断语句(以出租车计费为例)

    判断语句用于检测某个条件是否成立.如果成立,则执行判断语句内的程序:否则,跳过判断语句,执行后面的内容.(判断语句分为三类if,else,switch.但python编程语言中一般没有switch). ...

  3. taxi计费器c语言程序,毕业论文:出租车计费系统(全文完整版)

    <毕业论文:出租车计费系统.doc>由会员分享,可免费在线阅读全文,更多与<毕业论文:出租车计费系统>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. ...

  4. 单片机c语言出租车计时程序,基于单片机的出租车计费(c语言).doc

    基于单片机的出租车计费(c语言) 基于单片机的出租车计费(c语言) 基于proteus仿真 一.设计要求: 1.用实现出租车计费器的设计. 出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统 ...

  5. 练手小程序1.1 if相关练习(计算BMI指数,学生成绩,出租车计费)

    一.计算BMI指数 1. 用户输入身高.体重 2. 计算公式: 体质指数(BMI)= 体重(kg) / 身高^2(m) EX: 70kg / (1.75*1.75) = 22.86 3. 判断标准: ...

  6. 出租车计费程序php,一个出租车计费的程序

    class 出租车(): def __init__(self,参数1,参数2,参数3): self.每公里费用 = 参数1 self.最低公里 = 参数2 self.最低费用 = 参数3 def 计费 ...

  7. asp毕业设计——基于asp+access的出租车管理系统设计与实现(毕业论文+程序源码)——出租车管理系统

    基于asp+access的出租车管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的出租车管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 需要 ...

  8. 设计题目:基于CPLD/FPGA的出租车计费器

    一.设计任务及要求: 本设计要求设计一个基于CPLD/FBGA的出租车计费器,其具体要求如下: 1  能够实现计费功能 费用是按行驶的里程进行 计算的,设出租车的起价是6.0元,当里程小于3km时,按 ...

  9. python出租车计费_关于使用Python——写出租车计费系统

    要求: #出租车计费************************************************************************************** # 要 ...

  10. python出租车计费标准_使用Python实现租车计费系统的两种方法

    要求: #出租车计费************************************************************************************** # 要 ...

最新文章

  1. pandasDataFrame 的定位指定文件
  2. Redhat7开机图形或文字界面
  3. linux修改系统时间为北京时间(CentOS)
  4. C:#define用法
  5. Binary Tree Inorder Traversal
  6. 1.svn无法连接,2.svn日志无法显示,3.日志无法修改
  7. ListBox的使用
  8. ASP.NET的错误处理机制之一(概念)
  9. java泛型和类型通配符,java – 泛型,类型参数和通配符
  10. 设计模式学习总结(一)——设计原则与UML统一建模语言
  11. vue环境搭建以及vue-cli使用
  12. 铅笔道区块链实验班_你们抢着要的道地药材,必须用上区块链了
  13. python笔记9-多线程Threading之阻塞(join)和守护线程(setDaemon)
  14. LCT(Link Cut Tree)总结
  15. Spring定时器的配置
  16. SpringCloud 单Eureka简单例子consumer-provider
  17. Kubernetes安装EFK日志收集
  18. 兼容性最好的android模拟器,哪个安卓模拟器好用,性能最好,兼容性最强
  19. Jenkins+Gerrit创建新工程手顺
  20. 皮尔森(pearson)相关系数代码实现

热门文章

  1. 遗传算法bp神经网络原理,bp神经网络 遗传算法
  2. APISpace 尾号限行API接口 免费好用
  3. Origin抗锯齿和出现大C
  4. Java基于POI动态合并单元格
  5. react录制mp3格式音频,输出二进制数据流向后台请求音频的url
  6. 基于TCP/IP的IEC60870-5-104远动通信协议
  7. 软著申请详细图文步骤(附模板)
  8. ENSP之STP协议基本配置教程
  9. js字符串分割split()
  10. java字节码分析(jclasslib)-synchronized原理