骑行码数表设计VHDL代码Quartus仿真
名称:骑行码数表设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
骑行码数表设计
设计一个骑行码速表,其功能要求如下:
1、速度和距离:码速表可以实时显示骑行速度和行驶距离,帮助骑行者了解自己的骑行表现。
2、时间管理:记录骑行时间,帮助骑行者制定和调整训练计划。
其余功能根据自己调研情况自由发挥。
提示:
1、使用频率为10Hz的时钟信号(频率太高耗电量高),做一个时钟,用于时间管理。
2、设置按钮,用于显示切换,时钟设置、数据清零、轮毂尺寸设置等,一个供系统“复位”用。
3、显示使用OLED显示屏。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1、工程文件
2、程序文件
3、程序编译
4、RTL图
5、Testbench
6、仿真图
整体仿真图
上图可以看出,总共骑行3分26秒,骑行距离478米。计算的骑行速度为2.3米每秒
分频器模块
模式设置模块
轮毂尺寸设置模块
控制模块
显示模块
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; USE ieee.std_logic_arith.all; -- 控制模块 ENTITY control IS PORT ( clk_in : IN STD_LOGIC; -- 10Hz时钟输入 reset : IN STD_LOGIC; -- 重置信号 Wheel_pulse : IN STD_LOGIC;--车轮脉冲,骑行一圈对应一个脉冲 start_key : IN STD_LOGIC; --开始骑行按键 end_key : IN STD_LOGIC; -- 停止骑行按键 clk_1Hz : IN STD_LOGIC; -- 1Hz时钟信号 perimeter : IN STD_LOGIC_VECTOR(11 DOWNTO 0);--轮毂周长(单位cm) speed : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);--速度(米每秒) all_distance : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);--里程(米) hour_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -- 小时输出 minute_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -- 分钟输出 second_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) -- 秒输出 ); END control; ARCHITECTURE bahave OF control IS SIGNAL time_en : STD_LOGIC; SIGNAL hour : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000"; -- 小时信号 SIGNAL minute : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000"; -- 分钟信号 SIGNAL second : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000001"; -- 秒信号 SIGNAL hour_int : integer; -- 小时信号 SIGNAL minute_int : integer; -- 分钟信号 SIGNAL second_int : integer; -- 秒信号 SIGNAL distance : STD_LOGIC_VECTOR(15 DOWNTO 0);--路程 SIGNAL distance_int : integer;--路程 SIGNAL distance_int_100 : integer;--路程(米) SIGNAL total_second : integer := 0; SIGNAL speed_int : integer;--速度 BEGIN --控制计时使能信号 PROCESS (clk_in) BEGIN IF (clk_in'EVENT AND clk_in = '1') THEN -- 检测到时钟上升沿 IF (reset = '1') THEN time_en <= '0'; -- 计时使能 ELSIF(start_key = '1')THEN time_en <= '1'; -- 开始计时使能 ELSIF(end_key = '1')THEN time_en <= '0'; -- 停止计时使能 END IF; END IF; END PROCESS;
代码文件(付费下载):
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 骑行码数表设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 骑行码数表设计VHDL代码Quartus仿真
发表评论