出租车计费程序php,出租车计价器VHDL程序
程序设计与仿真。
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程序相关推荐
- Java出租车计费问题
Java出租车计费问题,一个简单小程序助你学会流程控制 出租车问题 出租车计费标准(表1) 任务实施 实现功能 出租车问题 某市出租车计费标准如表1所示. 请根据此标准完成一个出租车计费模拟功能. 能 ...
- python出租车计费_python的基础程序——判断语句(以出租车计费为例)
判断语句用于检测某个条件是否成立.如果成立,则执行判断语句内的程序:否则,跳过判断语句,执行后面的内容.(判断语句分为三类if,else,switch.但python编程语言中一般没有switch). ...
- taxi计费器c语言程序,毕业论文:出租车计费系统(全文完整版)
<毕业论文:出租车计费系统.doc>由会员分享,可免费在线阅读全文,更多与<毕业论文:出租车计费系统>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. ...
- 单片机c语言出租车计时程序,基于单片机的出租车计费(c语言).doc
基于单片机的出租车计费(c语言) 基于单片机的出租车计费(c语言) 基于proteus仿真 一.设计要求: 1.用实现出租车计费器的设计. 出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统 ...
- 练手小程序1.1 if相关练习(计算BMI指数,学生成绩,出租车计费)
一.计算BMI指数 1. 用户输入身高.体重 2. 计算公式: 体质指数(BMI)= 体重(kg) / 身高^2(m) EX: 70kg / (1.75*1.75) = 22.86 3. 判断标准: ...
- 出租车计费程序php,一个出租车计费的程序
class 出租车(): def __init__(self,参数1,参数2,参数3): self.每公里费用 = 参数1 self.最低公里 = 参数2 self.最低费用 = 参数3 def 计费 ...
- asp毕业设计——基于asp+access的出租车管理系统设计与实现(毕业论文+程序源码)——出租车管理系统
基于asp+access的出租车管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的出租车管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 需要 ...
- 设计题目:基于CPLD/FPGA的出租车计费器
一.设计任务及要求: 本设计要求设计一个基于CPLD/FBGA的出租车计费器,其具体要求如下: 1 能够实现计费功能 费用是按行驶的里程进行 计算的,设出租车的起价是6.0元,当里程小于3km时,按 ...
- python出租车计费_关于使用Python——写出租车计费系统
要求: #出租车计费************************************************************************************** # 要 ...
- python出租车计费标准_使用Python实现租车计费系统的两种方法
要求: #出租车计费************************************************************************************** # 要 ...
最新文章
- pandasDataFrame 的定位指定文件
- Redhat7开机图形或文字界面
- linux修改系统时间为北京时间(CentOS)
- C:#define用法
- Binary Tree Inorder Traversal
- 1.svn无法连接,2.svn日志无法显示,3.日志无法修改
- ListBox的使用
- ASP.NET的错误处理机制之一(概念)
- java泛型和类型通配符,java – 泛型,类型参数和通配符
- 设计模式学习总结(一)——设计原则与UML统一建模语言
- vue环境搭建以及vue-cli使用
- 铅笔道区块链实验班_你们抢着要的道地药材,必须用上区块链了
- python笔记9-多线程Threading之阻塞(join)和守护线程(setDaemon)
- LCT(Link Cut Tree)总结
- Spring定时器的配置
- SpringCloud 单Eureka简单例子consumer-provider
- Kubernetes安装EFK日志收集
- 兼容性最好的android模拟器,哪个安卓模拟器好用,性能最好,兼容性最强
- Jenkins+Gerrit创建新工程手顺
- 皮尔森(pearson)相关系数代码实现