网站开发使用什么技术,集成装修全屋定制,中国万网域名注册官网,施工企业如何获取竞争优势名称#xff1a;出租车计价器VHDL计费器
软件#xff1a;Quartus
语言#xff1a;VHDL
要求#xff1a;
启动键start表示汽车启动#xff0c;起步价7元#xff0c;同时路程开始计数#xff0c;停止键stop表示熄火#xff0c;车费和路程均为0#xff0c;当暂停键pa…名称出租车计价器VHDL计费器
软件Quartus
语言VHDL
要求
启动键start表示汽车启动起步价7元同时路程开始计数停止键stop表示熄火车费和路程均为0当暂停键pause为1时车费和路程停止计数当档位分别取0,1,2,3,时路程计数逐渐加快路程超过3Km后按设定逐步递增。对设计进行仿真实现出租车计价器功能。 代码下载出租车计价器VHDL计费器quartus_Verilog/VHDL资源下载
代码网hdlcode.com 部分代码展示
LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY taxi ISPORT (clk : IN STD_LOGIC;start : IN STD_LOGIC;--启动money : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--金额distance : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--里程stop : IN STD_LOGIC;--停止pause : IN STD_LOGIC;--暂停gears : IN STD_LOGIC_VECTOR(1 DOWNTO 0)--档位);
END taxi;ARCHITECTURE behave OF taxi ISTYPE State_type IS (s_stop, s_start, s_charge, s_pause_start ,s_pause_charge); -- 定义状态SIGNAL state : State_Type; -- 创建信号--定义中间信号SIGNAL money_buf : STD_LOGIC_VECTOR(7 DOWNTO 0) : 00000000;SIGNAL distance_buf : STD_LOGIC_VECTOR(7 DOWNTO 0) : 00000000;SIGNAL count : STD_LOGIC_VECTOR(2 DOWNTO 0) : 000;SIGNAL charge_cnt : STD_LOGIC_VECTOR(2 DOWNTO 0) : 000;SIGNAL charge_en : STD_LOGIC : 0;
BEGIN
--档位根据不同档位对count进行不同赋值用于后面控制计费速率PROCESS (gears)BEGINCASE gears ISWHEN 00 count 111;--7WHEN 01 count 101;--5WHEN 10 count 011;--3WHEN 11 count 001;--1WHEN OTHERS END CASE;END PROCESS;--charge_en为计费脉冲根据count控制计费脉冲档位越高脉冲频率越大PROCESS (clk)BEGINIF (clkEVENT AND clk 1) THENIF (charge_cnt count) THENcharge_cnt 000;charge_en 1;--计数到count后charge_en拉高ELSEcharge_cnt charge_cnt 001;charge_en 0;END IF;END IF;END PROCESS;--出租车状态机控制设计文档(文档点击可下载)
1. 工程文件 2. 程序文件 CPLD器件可以根据具体需求自由选择 3. 程序编译 4. RTL图 5. 状态图 6. 仿真文件 7. 仿真图 下图所示gears表示档位档位越高路程及计费越快。 本代码已在开发板验证开发板资料 CPLD开发板原理图.pdf