My title page contents

基于FPGA的简单数字钟设计VHDL代码Quartus仿真

名称:基于FPGA的简单数字钟设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

简单数字钟设计

1、设计24进制计数器,可以通过按键调整计数值

2、设计60进制计数器,可以通过按键调整计数值

3、设计显示模块

4、将上述模块组成时、分、秒数字钟,可以调时,并显示在数码管


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

框图

3. 程序编译

4. RTL图

5. 仿真图

整体仿真图

60进制模块仿真图

24进制模块仿真图

显示模块仿真


部分代码展示:


LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
--小时模块--24进制
ENTITY wy_counter_24 IS
   PORT (
      clk      : IN STD_LOGIC;
      set_key  : IN STD_LOGIC;--校时
      cnt_ten  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--计数值十位
      cnt_one  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--计数值个位
   );
END wy_counter_24;
ARCHITECTURE behave OF wy_counter_24 IS
   SIGNAL clk_cnt      :  STD_LOGIC:='0';
   SIGNAL cnt_ten_buf : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000";--计数值十位
   SIGNAL cnt_one_buf : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000";--计数值个位
BEGIN
   --输出
   cnt_ten <= cnt_ten_buf;
   cnt_one <= cnt_one_buf;
clk_cnt<=clk OR set_key;--校时和时钟或运算,即校时也可以控制时间
   
   PROCESS (clk_cnt)
begin
IF (clk_cnt'EVENT AND clk_cnt = '1') THEN--正常计时
         IF (cnt_ten_buf = "0010" AND cnt_one_buf = "0011") THEN--23时后变为00
            cnt_ten_buf <= "0000";
            cnt_one_buf <= "0000";
         ELSIF (cnt_ten_buf = "0000" AND cnt_one_buf = "1001") THEN--09变为10
            cnt_ten_buf <= "0001";
            cnt_one_buf <= "0000";
         ELSIF (cnt_ten_buf = "0001" AND cnt_one_buf = "1001") THEN--19变为20
            cnt_ten_buf <= "0010";
            cnt_one_buf <= "0000";
         ELSE--个位累加
            cnt_ten_buf <= cnt_ten_buf;
            cnt_one_buf <= cnt_one_buf + "0001";
         END IF;
      END IF;
   END PROCESS;
   
   
END behave;




代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 基于FPGA的简单数字钟设计VHDL代码Quartus仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员