8位16进制频率计设计.docx

上传人:小飞机 文档编号:3151135 上传时间:2023-03-11 格式:DOCX 页数:6 大小:38.36KB
返回 下载 相关 举报
8位16进制频率计设计.docx_第1页
第1页 / 共6页
8位16进制频率计设计.docx_第2页
第2页 / 共6页
8位16进制频率计设计.docx_第3页
第3页 / 共6页
8位16进制频率计设计.docx_第4页
第4页 / 共6页
8位16进制频率计设计.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《8位16进制频率计设计.docx》由会员分享,可在线阅读,更多相关《8位16进制频率计设计.docx(6页珍藏版)》请在三一办公上搜索。

1、8位16进制频率计设计实验六:8位十六进制频率机设计 一 实验目的: 设计8位16进制频率计,学习较复杂的数字系统设计方法。 二 实验原理: 根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为 1 秒的输入信号脉冲计 数允许的信号;1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。测频控制信号可以 由一个独立的发生器来产生,即图7-34中的FTCTRL。根据测频原理,测频控制时序可以如图7-33所示。 设计要求是:FTCTRL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计中的32位二进制计数器 COUNTER32B的ENABL使能端

2、进行同步控制。当CNT_EN高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进锁存器REG32B中,并由外部的16进制7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清0信号而不断闪烁。锁存信号后,必须有一清0信号RST_CNT对计数器进行清零,为下1秒的计数操作作准备。 三 实验内容: 1:分别仿真测试模块例7-7、例7-8和例7-9,再结合例7-10完成频率计的完整设计和硬件实现,并给出其测频时序波形及其分析。建议选实验电路模式5;8个数码管以16进制形式显示测频输出;待

3、测频率输入FIN由clock0输入,频率可选4Hz、256HZ、3Hz.50MHz等;1HZ测频控制信号CLK1HZ可由clock2输入(用跳线选1Hz)。 注意,这时8个数码管的测频显示值是16进制的。 2:参考例3-22,将频率计改为8位10进制频率计,注意此设计电路的计数器必须是8个4 位的10 进制计数器,而不是1个。此外注意在测频速度上给予优化。 3:用LPM模块取代例7-8和例7-9,再完成同样的设计任务。 四 实验步骤: 实验程序如下 1. 测频控制电路程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LO

4、GIC_UNSIGNED.ALL; ENTITY FTCTRL IS PORT (CLKK : IN STD_LOGIC; - 1Hz CNT_EN : OUT STD_LOGIC; - 计数器时钟使能 RST_CNT : OUT STD_LOGIC; - 计数器清零 Load : OUT STD_LOGIC ); - 输出锁存信号 1 END FTCTRL; ARCHITECTURE behav OF FTCTRL IS SIGNAL Div2CLK : STD_LOGIC; BEGIN PROCESS( CLKK ) BEGIN IF CLKKEVENT AND CLKK = 1 THEN

5、 - 1Hz时钟2分频 Div2CLK = NOT Div2CLK; END IF; END PROCESS; PROCESS (CLKK, Div2CLK) BEGIN IF CLKK=0 AND Div2CLK=0 THEN RST_CNT=1;- 产生计数器清零信号ELSE RST_CNT = 0; END IF; END PROCESS; Load = NOT Div2CLK; CNT_EN = Div2CLK; END behav; 2. 32位锁存器程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG32B IS P

6、ORT ( LK : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END REG32B; ARCHITECTURE behav OF REG32B IS BEGIN PROCESS(LK, DIN) BEGIN IF LKEVENT AND LK = 1 THEN DOUT = DIN; END IF; END PROCESS; END behav; 3. 32位计数器程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC

7、_1164.ALL; 2 USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNTER32B IS PORT (FIN : IN STD_LOGIC; - 时钟信号 CLR : IN STD_LOGIC; - 清零信号 ENABL : IN STD_LOGIC; - 计数使能信号 DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); - 计数结果 END COUNTER32B; ARCHITECTURE behav OF COUNTER32B IS SIGNAL CQI : STD_LOGIC_VECTOR(31 DOWNTO 0

8、); BEGIN PROCESS(FIN, CLR, ENABL) BEGIN IF CLR = 1 THEN CQI 0); - 清零 ELSIF FINEVENT AND FIN = 1 THEN IF ENABL = 1 THEN CQI = CQI + 1; END IF; END IF; END PROCESS; DOUT CLK1HZ,CNT_EN=TSTEN1, RST_CNT =CLR_CNT1,Load =Load1); U2 : REG32B PORT MAP( LK = Load1, DIN=DTO1, DOUT = DOUT); U3 : COUNTER32B PORT

9、 MAP( FIN = FSIN, CLR = CLR_CNT1, ENABL = TSTEN1, DOUT=DTO1 ); END struc; 五 实验结果: 1.内容一: 仿真时, 1HZ 测频控制信号CLK1HZ用的是T=1ms,即频率为1000Hz 待测频率输入FIN用的是T=10us, 即频率为100000Hz 二者差100倍。 输出的8 个数码管的测频显示值是16 进制的。故显示应为00000064, 波形图如下: 2. 内容二: 频率计为8 位10 进制频率计,设计电路的计数器是8 个4 位的10 进制计数器, 同理, 波形图如下: 4 3.内容三: 用LPM 模块取代例7-8 和例7-9,来完成设计 原理图如下: 5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号