当前位置:首页 > EDA秒表设计论文
井冈山大学电子与信息工程学院2011届毕业论文
用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法。在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述,而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。
图3.1 顶层电路图
根据数字秒表的系统原理框图(3.2),设计系统的顶层电路图如图3.1所示。根据图所示的数字秒表系统顶层电路图, 按照自顶向下的设计思路, 编写各个模块的源程序, 最后再对各个模块进行组合, 编写顶层描述的源程序。
CLK输入
FPGA 按 键
蜂鸣器 按键消抖处理 分频电路 主控电路 计 时 电 路 报警控制七段数码管译码电路 数字秒表系统原理框图3.2
3.2.1控制模块
计时模块的作用是针对计时过程进行控制。计时控制模块可用俩个按钮来完
七段数码管 井冈山大学电子与信息工程学院2011届毕业论文
成秒表的启动、停止和复位。部分源程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CTRL IS
PORT( CLR,CLK,SP:IN STD_LOGIC; EN :OUT STD_LOGIC); COM:PROCESS(SP,CURRENT_STATE) BEGIN END IF; END PROCESS;
END BEHAVE;
3.2.2时基分频模块
时基分频模块的作用把输入时钟信号变为分频输出信号。源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CB10 IS
PORT( CLK: IN STD_LOGIC; CO : OUT STD_LOGIC); END CB10;
ARCHITECTURE ART OF CB10 IS
SIGNAL COUNT:STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN
IF RISING_EDGE(CLK)THEN
井冈山大学电子与信息工程学院2011届毕业论文
IF COUNT=\ COUNT<=\ CO<='1'; ELSE
COUNT<=COUNT+1; CO<='0'; END IF; END IF; END PROCESS; END ART;
3.2.3计时模块
计时模块执行计时功能,计时方法和计算机一样是对标准时钟脉冲计数。他是由四
个十进制计数器和俩个六进制计数器构成,其中毫秒位、十毫秒位、秒位和分位采用十进制计数器,十秒位和十分位采用六进制计数器。源程序: ①.十进制计数器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CDU10 IS
PORT( CLK:IN STD_LOGIC; CLR,EN:IN STD_LOGIC; CN :OUT STD_LOGIC;
COUNT10:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CDU10; END IF; END IF;
井冈山大学电子与信息工程学院2011届毕业论文
END PROCESS; END ART;
②六进制计数器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CDU6 IS END IF; END IF; END PROCESS; END ART;
③计数器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT IS END ART;
3.2.4显示模块
计时显示电路的作用是将计时值在LED数码管上显示出来。计时电路产生的值经过BCD七段译码后,驱动LED数码管。计时显示电路的实现方案采用扫描显示。部分源程序: ①数据选择器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY MULX IS
PORT( CLK,CLR,EN:IN STD_LOGIC;
S_1MS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
共分享92篇相关文档