VHDL八位数码管频率计课程设计.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"VHDL八位数码管频率计课程设计" 本课程设计的目的是设计一个八位数码管显示的频率计,频率分辨率为 1Hz。该设计使用 VHDL 语言实现,基于 Quartus II 软件平台。 一、总体结构框图 系统时钟分频及控制模块是整个系统的核心部分,负责将晶振的 50MHz 时钟信号分频到 1kHz,以提供动态扫描频率。同时,该模块还提供了对频率计数器的控制信号,包括使能信号、锁存信号和清零信号。 二、频率测量原理 频率测量是电子技术中最基本的参数之一,测量频率的方法有很多种,本课程设计中使用的是直接测频法,即在一定的闸门时间内测量被测信号的脉冲个数。该方法适用于高频信号的频率测量。 三、器件的选择 本实验中使用的器件包括装有 Quartus II 软件的计算机、EP 芯片、EDA 实验箱、下载接口(JTAG)和时钟源。 四、功能模块和信号仿真图 系统时钟分频及控制模块的功能模块图如图 2 所示,该模块的作用是将试验箱上的 50MHz 的晶振分频,输出 CLOCK 为数码管提供 1kHz 的动态扫描频率。 图 2 系统时钟分频及控制模块图 该模块的源程序如下: ``` -- 分频 library ieee; use ieee.std_logic_1164.all; entity fdivwangzheng is port(clk0:in std_logic; -- 输入系统时钟 clk1:out std_logic; -- 输出 1hz 时钟信号 clk2:out std_logic); -- 输出显示扫描时钟信号 end fdivwangzheng; architecture a of fdivwangzheng is begin p1:process(clk0) variable cnt:integer range 0 to 49999999; -- 分频系数为 24999999 variable ff:std_logic; begin if clk0'event and clk0='1' then if cnt<49999999 then cnt:=cnt+1; else cnt:=0; ff:=not ff; -- 反向 end if; end if; clk1<=ff; end process p1; p2:process(clk0) variable cnn:integer range 0 to 999; -- 分频系数为 499 variable dd:std_logic; begin if clk0'event and clk0='1' then if cnn<999 then cnn:=cnn+1; else cnn:=0; dd:=not dd; -- 反向 end if; end if; clk2<=dd; end process p2; end a; ``` 五、测频控制器 测频控制器的功能模块图如图 3 所示,该模块的作用是提供频率计数器的控制信号,包括使能信号、锁存信号和清零信号。 图 3 测频控制器模块图 该模块的源程序如下: ``` -- 测频控制器(testctl.vhd) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TESTCTLwanzheng IS PORT (CLKK : IN STD_LOGIC; -- 1Hz CNT_EN,RST_CNT,LOAD : OUT STD_LOGIC); END TESTCTLwanzheng; ARCHITECTURE behav OF TESTCTLwanzheng IS SIGNAL DIV2CLK : STD_LOGIC; BEGIN PROCESS( CLKK ) BEGIN IF CLKK'EVENT AND CLKK = '1' THEN DIV2CLK <= NOT DIV2CLK; END IF; END PROCESS; PROCESS (CLKK, DIV2CLK) BEGIN IF CLK 'EVENT AND CLK = '1' THEN -- 生成使能信号、锁存信号和清零信号 END IF; END PROCESS; END behav; ``` 本课程设计的目的是设计一个八位数码管显示的频率计,频率分辨率为 1Hz。该设计使用 VHDL 语言实现,基于 Quartus II 软件平台。该设计涵盖了系统时钟分频及控制、频率测量原理、器件的选择、功能模块和信号仿真图等方面。
剩余12页未读,继续阅读
- 粉丝: 72
- 资源: 5万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助