电子技术课程设计
-----8位十六进制频率计设计
学院:
专业:
班级:
姓名:
学号:
指导老师:
目录
设计任务和要求----------------------------(1)
总体框图----------------------------------(1)
选择器件----------------------------------(1)
----------------------------------(2)
----------------------------(7)
----------------------------------(9)
---------------------------------(10)
8位十六进制频率计设计
一、设计任务和要求
T_EN能产生一个1秒脉宽的周期信号,并对频率计中的32位二进制计数器COUNTER32B的ENABL使能进行同步控制。当CNT_EN高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前一秒钟的计数值锁存进各锁存器REG32B中,并由外部的十六进制7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清零信号而不断闪烁。锁存信号后,T对计数器进行清零,为下一秒的计数操作作准备。
二、总体框图
计数器
锁存器
译码器
三、选择器件
1、配有 max+plus11软件的计算机一台。
2、选用FPGA芯片,如FLEX10K系列的EPF10KLC84-4。
3、FPGA适配器板:标准配置是EPF10K10接口板。
4、下载接口是数字芯片的下载接口,主要用于FPGA芯片的数据下载。
5、发光二极管。
四、功能模块
1、测频控制电路
设计频率极的关键是设计一个测频率控制信号发生器,产生测量频率的控制时序。控制时钟信号clk取为1Hz,2分频后即可查声一个脉宽为1秒的时钟test-en,一此作为计数闸门信号。当test-en为高电平时,允许计数;当test-en由高电平变为低电平(下降沿到来)时,应产生一个锁存信号,将计数值保存起来;锁存数据后,还要在下次test-en上升沿到哦来之前产生零信号clear,将计数器清零,为下次计数作准备。
VHDL程序:
LIBRARY IEEE;
USE ;
USE ;
ENTITY FTCTRL IS
PORT(CLKK:IN STD_LOGIC;
CNT_EN:OUT STD_LOGIC;
T:OUT STD_LOGIC;
Load:OUT STD_LOGIC);
END FTCTRL;
ARCHITECTURE behav OF FTCTRL 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 CLKK='0' AND Div2CLK='0' THEN T<='1';
ELSE T<='0';END IF;
END PROCESS;
Load<=NOT Div2CLK; CNT_EN<=Div2CLK;
END behav;
仿真结果:
2、32位锁存器
当test-en下降沿到来时,将计数器的计数值锁存,这样可由外部的七段译码器译码并在数码管显示。设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存器的位数应跟计数器完全一样。
VHD程序:
LIBRARY IEEE;
USE ;
ENTITY REG32B IS
PORT(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 LK'EVENT AND LK = '1' THEN DOUT <= DIN;
电子技术课程设计 8位十六进制频率计设计 来自淘豆网www.taodocs.com转载请标明出处.