简易数字频率计设计报告

合集下载

简易数字频率计设计报告

简易数字频率计设计报告

简易数字频率计设计报告目录一.设计任务和要求 (2)二.设计的方案的选择与论证 (2)三.电路设计计算与分析 (4)四.总结与心得..................................... 错误!未定义书签。

2五.附录........................................... 错误!未定义书签。

3六.参考文献....................................... 错误!未定义书签。

8一、 设计任务与要求1.1位数:计4位十进制数。

1.2.量程第一档 最小量程档,最大读数是9.999KHZ ,闸门信号的采样时间为1S. 第二档 最大读数是99.99KHZ ,闸门信号采样时间为0.1S.第三档 最大读数是999.9KHZ ,闸门信号采样时间为10mS.第四档 最大读数是9999KHZ ,闸门信号采样时间为1mS.1.3 显示方式(1)用七段LED 数码管显示读数,做到能显示稳定,不跳变。

(2)小数点的位置随量程的变更而自动移动(3)为了便于读数,要求数据显示时间在0.5-5s 内连续可调1.4具有自检功能。

1.5被测信号为方=方波信号二、设计方案的选择与论证2.1 算法设计频率是周期信号每秒钟内所含的周期数值。

可根据这一定义采用如图 2-1所示的算法。

图2-2是根据算法构建的方框图。

被测信号图2-2 频率测量算法对应的方框图 输入电路 闸门 计数电路 显示电路闸门产生整体方框图及原理频率测量:测量频率的原理框图如图2-3.测量频率共有3个档位。

被测信号经整形后变为脉冲信号(矩形波或者方波),送入闸门电路,等待时基信号的到来。

时基信号有555定时器构成一个较稳定的多谐振荡器,经整形分频后,产生一个标准的时基信号,作为闸门开通的基准时间。

被测信号通过闸门,作为计数器的时钟信号,计数器即开始记录时钟的个数,这样就达到了测量频率的目的。

周期测量:测量周期的原理框图2-4.测量周期的方法与测量频率的方法相反,即将被测信号经整形、二分频电路后转变为方波信号。

简易频率计实验报告

简易频率计实验报告

实验二简易数字频率计实验目的:(1)学会各种简易数字频率计的设计方法(2)学会VHDL的多进程及多层次设计方法实验原理:设计一个四位数字频率计,此频率计共分四档。

一档:0~9999Hz二档:10~99.99kHz三档:100~999.9kHz四档:1~10MHz分频器模块FEN通过对1Hz的时钟的分频得到0.5Hz的时钟信号。

测频模块FTEST,是整个程序的核心,此模块完成在1s的时间内对被测信号计数的功能,并通过输出数据实现自动换挡的功能。

LOCK模块用来锁存数据。

实验内容:在MAX+plusII中用VHDL语言输入FEN2 、MUX21、CD源程序,保存名字与实体名一致,后缀为vhd,选择目标器件为EP1K30TC144-3,然后进行编译、仿真。

参考程序:1、FEN通过对1Hz的时钟的分频得到0.5Hz的时钟信号。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fen ISPORT(clk:IN STD_LOGIC;q:OUT STD_LOGIC);END fen;ARCHITECTURE fen_arc OF fen ISBEGINPROCESS(clk)VARIABLE x:STD_LOGIC;BEGINIF clk'EVENT AND clk='1'THENx:=NOT x;END IF;q<=x;END PROCESS;END fen_arc;波形仿真图:2、FTSET此模块完成在1s的时间内对被测信号计数的功能,并通过输出数据实现自动换挡的功能。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ftest ISPORT(clr,Fx,door:IN STD_LOGIC;alm:OUT STD_LOGIC;q3,q2,q1,q0,dang:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END ftest;ARCHITECTURE CORN_ARC OF ftest ISBEGINPROCESS(door,Fx)VARIABLE c0,c1,c2,c3,c4,c5,c6 :STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE x:STD_LOGIC;BEGINIF Fx'EVENT AND Fx='1'THENIF door='1'THENIF c0<"1001"THENc0:=c0+1;ELSEc0:="0000";IF c1<"1001"THENc1:=c1+1;ELSEc1:="0000";IF c2<"1001"THENc2:=c2+1;ELSEc2:="0000";IF c3<"1001"THENc3:=c3+1;ELSEc3:="0000";c4:=c4+1;ELSEc4:="0000";IF c5<"1001"THEN c5:=c5+1;ELSEc5:="0000"; IF c6<"1001"THEN c6:=c6+1;ELSEc6:="0000";alm<='1';END IF;END IF;END IF;END IF;END IF;END IF;END IF;ELSEIF clr='0'THENalm<='0';END IF;c6:="0000";c5:="0000";c4:="0000";c3:="0000";c2:="0000";c1:="0000";c0:="0000";END IF;IF c6/="0000"THENq3<=c6;q2<=c5;q1<=c4;q0<=c3;dang<="0100";ELSIF c5/="0000"THEN q3<=c5;q2<=c4;q1<=c3;q0<=c2;dang<="0011";q3<=c4;q2<=c3;q1<=c2;q0<=c1;dang<="0010";ELSEq3<=c3;q2<=c2;q1<=c1;q0<=c0;dang<="0001";END IF;END IF;END PROCESS;END CORN_ARC;波形仿真图:3、LOCK模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LOCK ISPORT(A0,A1,A2,A3,A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);q0,q1,q2,q3,q4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);clk:IN STD_LOGIC);END LOCK;ARCHITECTURE ART OF LOCK ISBEGINPROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THEN q0<=A0;q1<=A1;q2<=A2;q3<=A3;q4<=A4;END IF;END PROCESS;END ART;波形仿真图:顶层仿真波形:实验结果:实现了四位数字频率计的设计。

数频率计的设计实验报告

数频率计的设计实验报告

数频率计的设计实验报告一、实验目的本实验的目的是设计并实现一个能够准确测量输入信号频率的数频率计。

通过本次实验,深入理解频率测量的原理和方法,掌握数字电路的设计与实现技能,提高解决实际问题的能力。

二、实验原理频率是指单位时间内信号周期性变化的次数。

数频率计的基本原理是在给定的时间间隔内对输入信号的脉冲个数进行计数,然后根据时间间隔和计数值计算出输入信号的频率。

常见的数频率计测量方法有直接测频法和间接测频法。

直接测频法是在单位时间内(通常为 1 秒)对输入信号的脉冲进行计数,得到的计数值即为输入信号的频率。

间接测频法是先测量输入信号的周期,然后通过计算周期的倒数得到频率。

在本实验中,我们采用直接测频法。

使用计数器对输入信号在 1 秒内的脉冲个数进行计数,计数结果通过数码管显示出来,即为输入信号的频率值。

三、实验设备与器材1、数字电路实验箱2、示波器3、函数信号发生器4、集成电路芯片(如计数器、译码器、数码管驱动芯片等)5、电阻、电容、导线等四、实验设计1、计数器模块选用合适的计数器芯片,如 74LS160 十进制计数器。

通过级联多个计数器实现对较大频率范围的测量。

2、控制模块设计一个控制电路,产生 1 秒的测量时间间隔。

可以使用 555 定时器和相关的电阻、电容组成单稳态触发器来实现。

3、显示模块选用数码管作为频率显示器件。

使用译码器芯片(如 74LS48)将计数器的输出转换为数码管的驱动信号。

五、实验步骤1、按照设计原理图在实验箱上连接电路,确保连接正确无误。

2、打开函数信号发生器,产生一个已知频率的正弦波信号,作为输入信号。

3、接通实验箱电源,观察数码管的显示值。

4、调整输入信号的频率,观察数码管显示值的变化,并与已知频率进行对比,验证测量的准确性。

5、使用示波器同时观察输入信号和计数器的输出信号,检查电路的工作状态。

六、实验结果与分析1、当输入信号频率较低时,测量结果较为准确,与已知频率的误差较小。

数字频率计设计报告

数字频率计设计报告

数字频率计设计报告数字频率计设计报告一、设计目标本次设计的数字频率计旨在实现对输入信号的准确频率测量,同时具备操作简单、稳定性好、误差小等特点。

设计的主要目标是实现以下功能:1. 测量频率范围:1Hz至10MHz;2. 测量精度:±0.1%;3. 具有数据保持功能,可在断电情况下保存测量结果;4. 具有报警功能,可设置上下限;5. 使用微处理器进行控制和数据处理。

二、系统概述数字频率计系统主要由以下几个部分组成:1. 输入信号处理单元:用于将输入信号进行缓冲、滤波和整形,以便于微处理器进行准确处理;2. 计数器单元:用于对输入信号的周期进行计数,并通过微处理器进行处理,以得到准确的频率值;3. 数据存储单元:用于存储测量结果和设置参数;4. 人机交互单元:用于设置参数、显示测量结果和接收用户输入。

三、电路原理数字频率计的电路原理主要包括以下步骤:1. 输入信号处理:输入信号首先进入缓冲器进行缓冲,然后通过低通滤波器进行滤波,去除高频噪声。

滤波后的信号通过整形电路进行整形,以便于微处理器进行计数。

2. 计数器单元:整形后的信号输入到计数器,计数器对信号的周期进行计数。

计数器的精度直接影响测量结果的精度,因此需要选择高精度的计数器。

3. 数据存储单元:测量结果和设置参数通过微处理器进行处理后,存储在数据存储单元中。

数据存储单元一般采用EEPROM或者Flash 存储器。

4. 人机交互单元:人机交互单元包括显示屏和按键。

用户通过按键设置参数和查看测量结果。

显示屏用于显示测量结果和设置参数。

四、元器件选择根据系统设计和电路原理,以下是一些关键元器件的选择:1. 缓冲器:采用高性能的运算放大器,如OPA657;2. 低通滤波器:采用一阶无源低通滤波器,滤波器截止频率为10kHz;3. 整形电路:采用比较器,如LM393;4. 计数器:采用16位计数器,如TLC2543;5. 数据存储单元:采用EEPROM或Flash存储器,如24LC64;6. 显示屏:采用带ST7565驱动的段式液晶显示屏,如ST7565R。

简易数字频率计(数字电路课程设计)

简易数字频率计(数字电路课程设计)

数字电路课程设计报告1)设计题目简易数字频率计2)设计任务和要求要求设计一个简易的数字频率计,测量给定信号的频率,并用十进制数字显示,具体指标为:1)测量范围:1H Z—9.999K H Z,闸门时间1s;10 H Z—99.99K H Z,闸门时间0.1s;100 H Z—999.9K H Z,闸门时间10ms;1 K H Z—9999K H Z,闸门时间1ms;2)显示方式:四位十进制数3)当被测信号的频率超出测量范围时,报警.3)原理电路和程序设计:(1)整体电路数显式频率计电路(2)单元电路设计;(a)时基电路信号号(b)放大逻辑电路信号通信号(c)计数、译码、驱动电路号(3)说明电路工作原理;四位数字式频率计是由一个CD4017(包含一个计数器和一个译码器)组成逻辑电路,一个555组成时基电路,一个9014形成放大电路,四个CD40110(在图中是由四个74LS48、四个74LS194、四个74LS90组成)及数码管组成。

两个CD40110串联成一个四位数的十进制计数器,与非门U1A、U1B构成计数脉冲输入电路。

当被测信号从U1A输入,经过U1A、U1B两级反相和整形后加至计数器U13的CP+,通过计数器的运算转换,将输入脉冲数转换为相应的数码显示笔段,通过数码管显示出来,范围是1—9。

当输入第十个脉冲,就通过CO输入下一个CD40110的CP+,所以此四位计数器范围为1—9999。

其中U1A与非门是一个能够控制信号是否输入的计数电路闸门,当一个输入端输入的时基信号为高电平的时候,闸门打开,信号能够通过;否则不能通过。

时基电路555与R2、R3,R4、C3组成低频多谐振荡器,产生1HZ的秒时基脉冲,作为闸门控制信号。

计数公式:]3)2243[(443.1CRRRf++=来确定。

与非门U2A与CD4017组成门控电路,在测量时,当时基电路输出第一个时基脉冲并通过U2A反相后加至CD4017的CP,CD4017的2脚输出高电平从而使得闸门打开。

简易数字频率计设计报告

简易数字频率计设计报告

根据系统设计要求, 需要实现一个 4 位十进制数字频率计, 其原理框 图如图 1 所示。

主要由脉冲发生器电路、 测频控制信号发生器电路、 待测 信号计数模块电路、 锁存器、 七段译码驱动电路及扫描显示电路等模块组 成。

由于是4位十进制数字频率计, 所以计数器CNT10需用4个,7段显示译 码器也需用4个。

频率测量的基本原理是计算每秒钟内待测信号的脉冲个 数。

为此,测频控制信号发生器 F_IN_CNT 应设置一个控制信号时钟CLK , 一个计数使能信号输出端EN 、一个与EN 输出信号反 向的锁存输出信号 LOCK 和清零输出信号CLR 。

若CLK 的输入频率为1HZ ,则输出信号端EN 输出 一个脉宽恰好为1秒的周期信号, 可以 作为闸门信号用。

由它对频率计的 每一个计数器的使能端进行同步控制。

当EN 高电平时允许计数, 低电平时 住手计数,并保持所计的数。

在住手计数期间,锁存信号LOCK 的上跳沿 将计数器在前1秒钟的计数值锁存进4位锁存器LOCK ,由7段译码器译出 并稳定显示。

设置锁存器的好处是: 显示的数据稳定, 不会由于周期性的标准时钟 CLKEN待测信号计数电路脉冲发 生器待测信号F_INLOCK锁存与译 码显示驱 动电路测频控制信 号发生电路CLR扫描控制数码显示清零信号而不断闪烁。

锁存信号之后,清零信号CLR对计数器进行清零,为下1秒钟的计数操作作准备。

时基产生与测频时序控制电路主要产生计数允许信号EN、清零信号CLR 和锁存信号LOCK。

其VHDL 程序清单如下:--CLK_SX_CTRLLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLK_SX_CTRL ISPORT(CLK: IN STD_LOGIC;LOCK: OUT STD_LOGIC;EN: OUT STD_LOGIC;CLR: OUT STD_LOGIC);END;ARCHITECTURE ART OF CLK_SX_CTRL ISSIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF Q="1111"THENQ<="0000";ELSEQ<=Q+'1';END IF;END IF;EN<=NOT Q(3);LOCK<=Q(3)AND NOT(Q(2))AND Q(1);CLR<=Q(3)AND Q(2)AND NOT(Q(1));END PROCESS;END ART;测频时序控制电路:为实现系统功能,控制电路模块需输出三个信号:一是控制计数器允许对被测信号计数的信号EN;二是将前一秒计数器的计数值存入锁存的锁存信号LOCK;三是为下一个周期计数做准备的计数器清零信号CLR。

数字频率计设计报告

数字频率计设计报告

数字频率计设计报告学院:姓名:学号:专业:指导老师:2008-11-11一.内容介绍数字频率计是用来测量信号频率的装置。

它可以测量正弦波、方波、三角波和尖脉冲信号的频率。

在进行模拟、数字电路的设计、安装、调试过程中,经常要用到频率计。

由于其用十进制数显示,测量速度、精度高、显示直观,因此频率计得到广泛的应用。

二.设计内容、技术指标及框图设计内容:设计只用一只数码管显示结果的数字频率计。

技术指标:1.被测量信号频率范围:1KHZ-999KHZ2.测量精度:测量显示3位有效数字3.时基时间宽度:1ms4.测试和显示方法:(1)只用一只数码管显示结果。

(2)每2秒钟自动测试一次,按百、十、个、全灭的顺序逐位显示测试结果,每位的显示时间为0.5秒。

数字频率计的框图:如图1。

图1 频率计系统框图三.单元电路设计1. 时基产生电路时基信号的产生电路可用石英晶体振荡器经分频后得到高稳定度的时基信号。

图2采用CC4060十四级计数器构成0.5s脉冲(3)和毫秒脉冲1ms时基信号。

12脚接地。

图2 秒脉冲和毫秒脉冲时基产生电路2.节拍信号发生器设计要求每2秒自动测试一次,按百、十、个、灭的顺序逐位显示测试结果。

由此可知,节拍信号发生器需产生四种状态的变化,变化周期为2秒。

四种状态信号可以提供给数据选择器的地址端,用来逐位显示百、十、个、灭,2秒的周期信号用来控制计数器计数,保持和清零。

如图3。

节拍信号发生器图3 节拍信号发生器及波形3.整形电路将输入的被测信号送入施密特触发器74LS132的输入端,其输入将得到矩形波至闸门输入如图4。

图4 整形电路4.控制电路(门控电路)要求控制器每2秒向主闸门输入一个时间为2秒,采样脉宽为1ms的周期信号,如图5。

采用2个D触发器,以时基信号T=1ms作为同步时钟脉冲。

控制器电路图5 控制器电路及波形图5.译码显示电路计数器锁存百、十、个数据传送到数据选择器,数据选择器受节拍信号的控制,分时地送入译码显示电路,故译码显示由数据选择器、译码器及数码管组成。

简易数字频率计设计实验报告1赵勇

简易数字频率计设计实验报告1赵勇

南理工紫金学院课题实验设计报告学生姓名:赵勇学号:100405268专业:电气工程及其自动化题目:电子综合应用实践:简易数字频率计设计课程设计任务书课程设计任务书(1)封面:课程设计题目、班级、姓名(2)设计任务书(3)目录(4)设计方案简介(5)设计条件及主要参数表(6)设计主要参数计算(7)设计结果(8)设计评述,设计者对本设计的评述及通过设计的收获体会目录第一章设计要求...................................................................................................................整体功能要求.....................................................................................................系统结构要求.....................................................................................................测试指标.............................................................................................................第二章整体方案设计.............................................................................................................2.1 算法设计......................................................................................................2.2 整体方框图及原理......................................................................................第三章单元电路设计...............................................................................................................3.1 模电部分设计..............................................................................................3.2数电部分设计...............................................................................................第四章测试与调整...................................................................................................................4.1 模拟电路的调测..........................................................................................4.2 数字电路的调测..........................................................................................第五章设计小结.......................................................................................................................5.1 设计任务完成情况......................................................................................5.2心得体会.......................................................................................................第一章设计要求1.整体功能要求频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值。

课程设计实验报告(简易频率计)

课程设计实验报告(简易频率计)

实验二:简易电子琴一、实验目的(1)学习采用状态机方法设计时序逻辑电路。

(2)掌握ispLEVER 软件的使用方法。

(3)掌握用VHDL 语言设计数字逻辑电路。

(4)掌握ISP 器件的使用。

二、实验所用器件和设备在系统可编程逻辑器件ISP1032一片示波器一台万用表或逻辑笔一只TEC-5实验系统,或TDS-2B 数字电路实验系统一台三、实验内容设计一个简易频率计,用于测量1MHz 以下数字脉冲信号的频率。

闸门只有1s 一档。

测量结果在数码管上显示出来。

不测信号脉宽。

用一片ISP芯片实现此设计,并在实验台上完成调试。

实验设计:1.产生准确闸门信号(1s)。

100kHz时钟经100K分频(一次完成),再经2分频产生方波,1s 用于计数,1s用于显示结果(及清零);2. 利用闸门信号控制一个计数器对被测脉冲信号进行计数, 1s内计数的结果就是被测信号的频率;3.每次对被测信号计数前,自动清零;4. 计数器采用十进制;5.显示频率值上下浮动,要修改源代码。

6.数码管高低位的接线。

VHDL源代码:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fget isport(clk:in std_logic; --输入时钟源 bclk:in std_logic;kout:out std_logic_vector(26 downto 0));end fget;architecture top of fget iscomponent divideport(clk1:in std_logic;cl:out std_logic;co:out std_logic;ro:out std_logic);end component;component gateport(bc1:in std_logic;cl1:in std_logic;co1:in std_logic;op:out std_logic_vector(26 downto 0));end component;component saveport(op1:in std_logic_vector(26 downto 0);ro1:in std_logic;eout:out std_logic_vector(26 downto 0));end component;signal scl:std_logic;signal sco:std_logic;signal sro:std_logic;signal sop:std_logic_vector(26 downto 0);BEGINu1:divide PORT MAP(clk,scl,sco,sro);u2:gate PORT MAP(bclk,scl,sco,sop);u3:save PORT MAP(sop,sro,kout);end;--闸门模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity gate isport(bc1:in std_logic;cl1:in std_logic;co1:in std_logic;op:out std_logic_vector(26 downto 0) --5个8421,一个七段译码);end;architecture art2 of gate iscomponent cnt10 --十进制计数模块port(clk2:in std_logic;en:in std_logic;--使能端clr:in std_logic;--重置qout:out std_logic_vector(3 downto 0 );cout:out std_logic);end component;component seventranse --七段模块port(clk6:in std_logic_vector(3 downto 0 );op2:out std_logic_vector(6 downto 0 ));end component;signal scout1:std_logic;--输出(十进制)signal scout2:std_logic;signal scout3:std_logic;signal scout4:std_logic;signal scout5:std_logic;signal scout6:std_logic;signal qout1:std_logic_vector(3 downto 0);--8421(下同)signal qout2:std_logic_vector(3 downto 0);signal qout3:std_logic_vector(3 downto 0);signal qout4:std_logic_vector(3 downto 0);signal qout5:std_logic_vector(3 downto 0);signal qout6:std_logic_vector(3 downto 0);signal op2: std_logic_vector(6 downto 0);--七段beginr1:cnt10 PORT MAP(bc1,co1,cl1,qout1,scout1);r2:cnt10 PORT MAP(scout1,co1,cl1,qout2,scout2);r3:cnt10 PORT MAP(scout2,co1,cl1,qout3,scout3);r4:cnt10 PORT MAP(scout3,co1,cl1,qout4,scout4);r5:cnt10 PORT MAP(scout4,co1,cl1,qout5,scout5);r6:cnt10 PORT MAP(scout5,co1,cl1,qout6,scout6);t1:seventranse PORT MAP(qout6,op2);process(co1)beginif (co1'event and co1='0') thenop<=op2&qout5&qout4&qout3&qout2&qout1;--结果显示end if;end process;end;--寄存器模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity save isport(op1:in std_logic_vector(26 downto 0);ro1:in std_logic;eout:out std_logic_vector(26 downto 0));end entity;architecture art4 of save issignal temp:std_logic_vector(26 downto 0);beginprocess(ro1)beginif ro1'event and ro1='1'then --上升沿判断temp<=op1;end if;eout<=temp;end process;end art4;--十进制计数器模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity cnt10 isport(clk2:in std_logic;en:in std_logic;clr:in std_logic;qout:out std_logic_vector(3 downto 0 );cout:out std_logic);end entity;architecture art3 of cnt10 issignal temp:std_logic_vector(3 downto 0 );beginprocess(clk2,en,clr)beginif (clr='1') then --重置时清0temp<="0000";elsif (en='1') thenif(clk2'event and clk2='1')then --上升沿判断进位if(temp="1001")thentemp<="0000";elsetemp<=temp+1;end if;end if;end if;end process;qout<=temp;cout<='1' when temp="1001" else '0';end art3;--分频模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity divide isport(clk1:in std_logic;cl:out std_logic;co:out std_logic;ro:out std_logic);end;architecture art1 of divide issignal preclk:std_logic;signal temp1:std_logic;signal temp2:std_logic;beginp1: process(clk1) --先进行2500分频variable count:integer range 0 to 2500;beginif clk1'event and clk1='1'thenif count=2499 thencount:=0;preclk<='1';else count:=count+1;preclk<='0';end if;end if;end process;p2: process(preclk) --依次二分频实现闸门beginif preclk'event and preclk='1'thentemp2<=not temp2;end if;end process;p3: process(temp2)variable count2:std_logic;beginif temp2'event and temp2='1'thencount2:=not count2;if count2='1'thenco<='1';temp1<='0';else co<='0';temp1<='1';end if;end if;end process;p4:process(temp2)beginif (temp1='1' and temp2='0') thencl<='1';elsecl<='0';end if;end process;ro<=temp1;end;--七段译码器模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity seventranse isport(clk6:in std_logic_vector(3 downto 0 );op2:out std_logic_vector(6 downto 0 ));end entity;architecture art5 of seventranse isbeginprocess(clk6)begincase clk6 iswhen "0000"=> op2<="1111110";when "0001"=> op2<="0110000";when "0010"=> op2<="1101101";when "0011"=> op2<="1111001";when "0100"=> op2<="0110011";when "0101"=> op2<="1011011";when "0110"=> op2<="1011111";when "0111"=> op2<="1110000";when others=> op2<="0000000";end case;end process;end art5;四、实验小结:实验要求用闸门信号控制计数器计时,于是在十进制计数器模块中添加使能信号en(en=‘1’计数器进行加1 计数,en=‘0’时计数器保持),将闸门信号作为使能信号接入,即可实现1s计数,1s显示。

简易频率计课程设计报告

简易频率计课程设计报告

简易频率计课程设计报告一、课程目标知识目标:1. 理解频率的基本概念,掌握频率的定义及计算方法;2. 了解简易频率计的原理,学会使用简易频率计进行频率测量;3. 能够运用频率知识解释日常生活中的相关现象。

技能目标:1. 学会使用简易频率计进行实验操作,提高实验操作能力;2. 能够运用频率计算公式进行数据处理,提高数据分析能力;3. 通过小组合作,提高沟通协作能力。

情感态度价值观目标:1. 培养学生对物理实验的兴趣,激发学生的探究欲望;2. 培养学生严谨的科学态度,注重实验数据的准确性;3. 增强学生的环保意识,关注频率相关领域的科技发展。

本课程针对初中物理学科,结合学生年级特点,注重理论与实践相结合,提高学生的实验操作能力和数据分析能力。

在教学过程中,关注学生的个体差异,激发学生的学习兴趣,培养学生的团队合作精神。

通过本课程的学习,使学生能够掌握简易频率计的使用,并将其应用于实际生活中,达到学以致用的目的。

同时,注重情感态度价值观的培养,引导学生关注科学进步,提高学生的综合素质。

二、教学内容1. 频率基本概念:引入频率的定义,解释频率与周期的关系,阐述频率在实际应用中的重要性。

2. 简易频率计原理:介绍简易频率计的结构、工作原理及使用方法,结合教材相关章节,进行图文并茂的讲解。

3. 频率测量实验:组织学生进行简易频率计的实验操作,包括搭建实验装置、进行频率测量以及数据处理。

- 教材章节:第三章第三节《频率与振动》- 内容列举:频率的定义、频率与周期的关系、简易频率计的结构与原理、实验操作步骤。

4. 数据处理与分析:指导学生运用频率计算公式进行数据处理,分析实验结果,探讨影响频率测量结果的因素。

5. 课堂讨论与总结:针对实验过程中遇到的问题和现象,组织学生进行讨论,引导学生运用所学知识进行解释,总结实验经验和教训。

教学内容根据课程目标进行科学性和系统性的组织,注重理论与实践相结合。

在教学过程中,依据教材章节进行教学大纲的制定,明确教学内容的安排和进度,确保学生在掌握频率知识的基础上,能够顺利进行简易频率计的实验操作和数据分析。

数字频率计设计实验报告

数字频率计设计实验报告

数字频率计设计实验报告1.实验目的本实验旨在通过设计数字频率计的电路,使学生掌握数字电路的设计与运用,加深对计数器、分频器等数字电路的理解,同时熟悉数字电路及测量方法。

2.实验原理数字频率计的原理基于时间测量,将待测信号的周期或频率转化为时间或计数值,再转化为显示在数码管上的频率或周期。

其电路主要由时基、型切换及显示部分组成。

时基部分是实现数字频率计最核心的部分,具有准确的定频测量功能。

根据时基频率的稳定性,数字频率计还可分为光学时基式和晶体时基式,后者是目前数字频率计设计中较为主流和有效的方案。

型切换部分是将输入信号的周期或频率转化为电平,经一个比较器进行比较,输出脉冲后送到后端的计数器。

可分为一级型切换和两级型切换,一级型切换分频系数较小,能测量的频率范围较宽,但精度相对较低;两级型切换分频系数较多,能够实现更高的精度,但测量范围相对较窄。

显示部分主要由解码器、数码管、驱动器等构成,将计数器输出的数字部分经过解码器解码,以驱动数码管显示实际测量结果。

3.实验内容3.1电路设计本实验按照晶体时基式数字频率计的设计原理,设计一个简单的频率计电路。

时基部分采用简单的晶体振荡器电路,输入3V的电源电压,晶体振荡频率为6M,采用CD4066B型CMOS开关实现时填充寄存器与计数控制部分的切换。

型切换部分采用两级型切换,以加强精度,输入信号经过第一级分频后送到S1端,S1端接CD4066B的开关控制引脚,在S1位置上的6dB衰减电阻衰减输入信号再经过第二级分频后进入计数控制部分。

显示部分采用三片74LS47数码管显示器驱动芯片将数码转移至共阴数码管,选用CD4052B组成的位选开关循环驱动数码管。

3.2电路测试将方法频率计电路搭建完成后,接通电源,输入300Hz、3kHz、30kHz和300kHz的信号,观察数码管的测量结果。

并与示波器进行对比,计算相对误差。

4.实验结果通过实验测试,本设计可以稳定地测量300Hz至300kHz范围内的信号频率,并且测量误差相对较小。

简易数字频率计课程设计报告

简易数字频率计课程设计报告

一、课题名称与技术要求<1>名称:简易数字频率计<2>主要技术指标和要求:1. 被测信号的频率X围100HZ~100KH2. 输入信号为正弦信号或方波信号3. 四位数码管显示所测频率,并用发光二极管表示单位4. 具有超量程报警功能二、摘要以门电路,触发器和计数器为核心,由信号输入、放大整形、闸门电路、计数、数据处理和数据显示等功能模块组成。

放大整型电路:对被测信号进行预处理;闸门电路:由与门电路通过控制开门关门,攫取单位时间内进入计数器的脉冲个数;时基信号:周期性产生一秒高电平信号;计数器译码电路:计数译码集成在一块芯片上,计单位时间内脉冲个数,把十进制计数器计数结果译成BCD码;显示:把BCD码译码在数码管显示出来。

关键字:比较器,闸门电路,计数器,锁存器,逻辑控制电路三、方案论证与选择<1>频率测量原理与方法对周期信号的测量方法,常用的有下述几种方法。

1、测频法(M法)对频率为f的周期信号,测频法的实现方法,是用以标准闸门信号对被测信号的重复周期数进行计数,当计数结果为N时,其频率为:f1=N1/TG。

TG为标准闸门宽度,N1是计数器计出的脉冲个数,设在TG期间,计数器的精确计数值为N,根据计数器的技术特性可知,N1的绝对误差是△N1=N ±1,N1的相对误差为&N1=(N1-N)/N=(N±1-N)/N=±1/N,由N1的相对误差可知,N(或N1)的数值愈大,相对误差愈小,成反比关系。

因此,在f已确定的条件下,为减小N1的相对误差,可通过增大TG的方法来降低测量误差。

但是,增大TG会使频率测量的响应时间长。

当TG为确定值时(通常取TG=1s),则有f=N,固有f1的相对误差:&f1=(f1-f)/f=(f±1-f)/f=±1/f由上式可知,f1的相对误差与f成反比关系,即信号频率越高,误差越小;而信号频率越低,则测量误差越大。

简易数字频率计课程设计报告

简易数字频率计课程设计报告

简易数字频率计课程设计报告《简易数字频率计课程设计报告》一、设计目的和背景随着科技的不断发展和普及,计算机已经成为人们生活中不可或缺的一部分。

而数字频率计作为一种常见的电子测量仪器,在工业控制、电信通讯等领域有着广泛的应用。

本课程设计旨在通过设计一款简易的数字频率计,以帮助学生深入了解数字频率计的工作原理和设计方法。

二、设计内容和步骤1. 学习数字频率计的基本原理和工作方式:介绍数字频率计的基本功能、硬件组成和工作原理。

2. 设计数字频率计的主要电路:通过研究数字频率计的电路原理图,设计出适用于本设计要求的主要电路。

3. 制作数字频率计的原型:使用电子元器件将电路图中设计的电路进行实际制作,制作出数字频率计的原型。

4. 测试数字频率计的性能:通过对数字频率计进行各种频率波形的测试,验证其测量准确性和稳定性。

5. 优化和改进设计:根据测试结果和用户反馈,对数字频率计的电路和功能进行进一步优化和改进。

三、预期效果和评价标准通过本课程设计,预期学生能够掌握数字频率计的基本工作原理、主要电路设计和制作方法,并且能够针对实际需求进行优化和改进。

评价标准主要包括学生对数字频率计原理的理解程度、电路设计的准确性和创新性,以及对数字频率计性能进行测试和改进的能力。

四、开展方式和时间安排本课程设计可以结合理论学习和实践操作进行,建议分为以下几个阶段进行:1. 第一阶段(1周):学习数字频率计的基本原理和工作方式。

2. 第二阶段(1周):设计数字频率计的主要电路。

3. 第三阶段(2周):制作数字频率计的原型,并进行性能测试。

4. 第四阶段(1周):优化和改进数字频率计的设计。

总共需要约5周的时间来完成整个课程设计。

五、所需资源和设备1. 教材教辅资料:提供数字频率计的基本原理和电路设计方法的教材或教辅资料。

2. 实验设备和工具:数字频率计的主要电路所需的电子元器件、测试仪器和焊接工具等。

3. 实验环境:提供安全、稳定的实验室环境,以及必要的计算机软件支持。

简易数字频率计课程设计报告 .

简易数字频率计课程设计报告  .

目录第一章概述1.1 数字频率计功能及特点1.2 数字频率计应用意义第二章设计方案2.1 设计指标与要求2.2 设计原理2.3方案论证第三章数字频率计分析及参数设计3.1 电路基本原理3.2 时基电路设计3.3闸门电路设计3.4控制电路设计3.5 小数点显示电路设计3.6 整体电路图第四章设计总结4.1 整体电路图4.2 元器件列表4.3 设计心得与体会4.4 附录4.5 参考文献第一章、概述数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。

它不仅可以测量正弦波、方波、三角波、尖脉冲信号和其他具有周期特性的信号的频率,而且还可以测量它们的周期。

经过改装,可以测量脉冲宽度,做成数字式脉宽测量仪;可以测量电容做成数字式电容测量仪;在电路中增加传感器,还可以做成数字脉搏仪、计价器等。

因此数字频率计在测量其他物理量如转速、振动频率等方面获得广泛应用。

1.1 整体功能及特点1,频率计主要用于测量正弦波、矩形波、三角波和尖脉冲及其它各种周期信号。

2,测量信号复制范围0.5-5v3,显示方式:四维十进制LED显示4,测量范围:1HZ-10HZ5,测量误差:≤±0.1%6,自动检测切换量程1.2 数字频率计应用意义数字频率计是一种应用很广泛的仪器电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路。

数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。

集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2大类。

数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。

一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上却有着严格的要求,这是数字电路的一个特点。

数字集成电路作为电子技术最重要的基础产品之一,已广泛地深入到各个领域。

第二章设计方案2.1 设计指标与要求2.1.1 设计指标1,频率计主要用于测量正弦波、矩形波、三角波和尖脉冲及其它各种周期信号。

简易数字频率计报告

简易数字频率计报告

长安大学电子技术课程设计课题名称简易数字频率计班级___ ______姓名____ _ ________指导教师日期____ ____声明:首先这个不是论文的格式,老师如果要求写论文就自己改吧!其次,老师都是按自己和往届的思路给分的,这篇老师的评分不高,祝大家好运了!一、课题名称与技术要求<1>名称:简易数字频率计<2>主要技术指标和要求:1. 被测信号的频率范围100HZ~100KH2. 输入信号为正弦信号或方波信号3. 四位数码管显示所测频率,并用发光二极管表示单位4. 具有超量程报警功能二、摘要本课题主要选择以集成芯片作为核心器件,设计了一个简易数字频率计,以门电路,触发器和计数器为核心,由信号输入、放大整形、闸门电路、计数、数据处理和数据显示等功能模块组成。

放大整型电路:对被测信号进行预处理;闸门电路:由与门电路通过控制开门关门,攫取单位时间内进入计数器的脉冲个数;时基信号:周期性产生一秒高电平信号;计数器译码电路:计数译码集成在一块芯片上,计单位时间内脉冲个数,把十进制计数器计数结果译成BCD码;显示:把BCD码译码在数码管显示出来。

三、方案论证与选择<1>频率测量原理与方法对周期信号的测量方法,常用的有下述几种方法。

1、测频法(M法)对频率为f的周期信号,测频法的实现方法,是用以标准闸门信号对被测信号的重复周期数进行计数,当计数结果为N时,其频率为:f1=N1/TG。

TG为标准闸门宽度,N1是计数器计出的脉冲个数,设在TG期间,计数器的精确计数值为N,根据计数器的技术特性可知,N1的绝对误差是△N1=N±1,N1的相对误差为&N1=(N1-N)/N=(N±1-N)/N=±1/N,由N1的相对误差可知,N(或N1)的数值愈大,相对误差愈小,成反比关系。

因此,在f已确定的条件下,为减小N1的相对误差,可通过增大TG的方法来降低测量误差。

数字频率计设计实训报告

数字频率计设计实训报告

一、实训目的1. 熟悉数字频率计的原理和设计方法。

2. 学会使用数字电路设计工具进行电路设计。

3. 提高实际动手能力,培养创新思维。

4. 增强团队协作意识。

二、实训内容本次实训以设计一款简易数字频率计为目标,主要内容包括:1. 确定设计指标和功能要求。

2. 设计数字频率计的硬件电路。

3. 编写程序实现频率计的功能。

4. 进行电路调试和测试。

三、设计指标和功能要求1. 频率测量范围:1Hz~99.99kHz。

2. 波形测量:正弦波、方波、三角波等。

3. 数码显示:LCD1602液晶显示屏。

4. 量程选择:手动切换。

5. 误差:≤±1%。

四、硬件电路设计1. 信号输入电路:采用LM324运算放大器作为信号放大和整形电路,确保信号幅度在1Vpp以上。

2. 分频电路:采用74HC390计数器进行分频,将输入信号频率降低到计数器可计数的范围内。

3. 计数电路:采用74HC595移位寄存器实现计数功能,计数结果通过串口输出。

4. 显示电路:采用LCD1602液晶显示屏显示频率值。

5. 控制电路:采用AT89C52单片机作为主控制器,负责信号处理、计数、显示和量程切换等功能。

五、程序设计1. 初始化:设置计数器初值、波特率、LCD1602显示模式等。

2. 主循环:检测信号输入、计数、计算频率、显示结果。

3. 信号处理:对输入信号进行放大、整形、分频等处理。

4. 计数:根据分频后的信号频率,对计数器进行计数。

5. 计算频率:根据计数结果和分频系数计算实际频率。

6. 显示:将计算出的频率值通过串口发送到LCD1602显示屏。

7. 量程切换:根据手动切换的量程,调整分频系数。

六、电路调试与测试1. 调试信号输入电路,确保信号幅度在1Vpp以上。

2. 调试分频电路,确保分频后的信号频率在计数器可计数的范围内。

3. 调试计数电路,确保计数器能够正确计数。

4. 调试显示电路,确保LCD1602显示屏能够正确显示频率值。

简易频率计设计实验报告

简易频率计设计实验报告

(2) 、T1 25ms 定时中断服务程序 系 统 时 钟 为 24MHz , 机 器 周 期 为 0.5us , 最 大 定 时 时 间 为

65536 0.5us 32.768ms ,我们选用的定时时间为 25ms,定时中断 40 次即可实现 1s 定 时,T1 中断服务程序的流程图如下:
姓 学 专
名: 号: 业:
胡 嗣 维 021240*** 物 理 学 杨 老 师
指导老师:
2015 年 7 月 5 日
简易数字频率计的设计
实验目标:设计一个简易的数字频率计,能实时测量周期信号的频率,并将结果显示出 来,频率测量范围为 0~1MHz
总体方案
1.频率测量基本原理 数字频率计的主要功能是测量周期信号的频率。频率是单位时间内(1s)信号发生周期变 化的次数。如果能在给定的 1s 时间内对周期信号进行计数,并将计数结果显示出来,就实 现了对被测信号的频率测量。 2 实现方法 单片机 AT89S51 内部具有两个 16 位定时/计数器,如果用 T0 对外界周期信号进行计数, T1 作为定时器产生 1s 的定时中断, 在 T1 的定时中断服务程序中读取 T0 的计数值, 即可实 现频率的测量。由于测量的频率范围是 0~1000000Hz(1MHz) ,根据单片机对外部信号的计 数需要两个机器周期才能识别一个脉冲, 所以外部计数脉冲的频率应该小于振荡频率的 1/24. 所以选择 24MHz 才能实现频率测量范围为 0~1000000Hz(1MHz) 。如果系统的频率测量范 围更大,则可以在周期脉冲信号接入 T0 引脚前加分频电路即可。 3 系统硬件设计 系统硬件连接电路图如图所示。系统比较简单,数据处理量不大,因此选用 AT89S51 作为 控制系统的核心。其特点是低功耗、高性能的 CMOS 单片机。AT89S51 单片机采用静态时 钟方式,时钟频率为 0~33MHz。本次我们采用的是 24MHz 的工作频率。频率测量没有大量 的运算和暂存数据,现有的 128B 片内 RAM 已经满足要求,因此不必要外扩片外 RAM。系 统选用 LCD1602 显示频率,因为系统外扩的元件先对比较少,LCD1602 采用 I/O 并行接口 方式和单片机相连。图中

数字式频率计设计报告

数字式频率计设计报告

数字式频率计设计报告一、内容摘要在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。

本次课程设计的目的是根据已经学到的知识,按照这次课程设计的要求设计一个简易的数字式频率计,要求频率计范围内能测出所输入信号的频率。

测量频率的方法有多种,中电子计数器测量频率具有精度高、使用方便、测量迅速,其以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。

二、设计内容及要求:1、被测量信号:方波、正弦波、三角波,0~4V;2、测量频率范围: 1Hz~9999Hz;3、测量精度误差为1HZ;4、显示方式:用LED数码管显示4位十进制频率数值;5、时基电路由555构成的多谐振荡器产生三、设计原理及方案数字频率计就是直接用十进制的数字来显示被测信号频率。

可以测的方波的频率,通过放大正行处理,它可还以测量正弦波、三角波和尖脉冲信号的频率。

所谓频率就是在单位时间(1s)内周期信号的脉冲个数。

若在一定时间间隔T内测得周期信号的脉冲个数N,则其频率为f=N/T,据此,设计方案框图如图1所示:图1 数字频率计组成框图图中脉冲形成的电路的作用是将被测信号变成脉冲信号,其重复频率等于被。

,时间基准信号发生器提供标准的时间脉冲信号,若其周期为测信号的频率fX1s,则门控电路的输出信号也就是闸门信号持续时间也会等于1s。

闸门电路由闸门信号进行控制当闸门号到来时,闸门开通,被测脉冲信号通过闸门被送到计数器译码显示电路。

闸门信号结束时,闸门关闭,计数器得的脉冲数N是在1= N Hz。

秒时间内的累计数,所以被测频率fX1.设计原理由逻辑电路组成的频率计,大多是由中小规模的集成芯片按照逻辑原理组合而成,其结构复杂,组装、调试比较麻烦;但是我们所学的知识大部分是集成芯片,所以只用中小型规模的集成芯片组成的逻辑电路,有多个单元组成而成的简易数字频率计。

图2原理方框图测频法:又称为M法测量频率的原理框图如图2.测量频率共有4个档位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.系统设计方案根据系统设计要求,需要实现一个4位十进制数字频率计,其原理框图如图1所示。

主要由脉冲发生器电路、测频控制信号发生器电路、待测信号计数模块电路、锁存器、七段译码驱动电路及扫描显示电路等模块组成。

图1 数字频率计组成原理框图由于是4位十进制数字频率计,所以计数器CNT10需用4个,7段显示译码器也需用4个。

频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。

为此,测频控制信号发生器 F_IN_CNT应设置一个控制信号时钟CLK,一个计数使能信号输出端EN、一个与EN输出信号反向的锁存输出信号LOCK和清零输出信号CLR。

若CLK的输入频率为1HZ,则输出信号端EN输出一个脉宽恰好为1秒的周期信号,可以作为闸门信号用。

由它对频率计的每一个计数器的使能端进行同步控制。

当EN高电平时允许计数,低电平时停止计数,并保持所计的数。

在停止计数期间,锁存信号LOCK的上跳沿将计数器在前1秒钟的计数值锁存进4位锁存器LOCK,由7段译码器译出并稳定显示。

设置锁存器的好处是:显示的数据稳定,不会由于周期性的清零信号而不断闪烁。

锁存信号之后,清零信号CLR对计数器进行清零,为下1秒钟的计数操作作准备。

二. 单元电路设计:1.时基产生与测频时序控制电路模块时基产生与测频时序控制电路主要产生计数允许信号EN、清零信号CLR和锁存信号LOCK。

时基产生电路:图2 时基产生模块顶层图其VHDL程序清单如下:--CLK_SX_CTRLLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLK_SX_CTRL ISPORT(CLK: IN STD_LOGIC;LOCK: OUT STD_LOGIC;EN: OUT STD_LOGIC;CLR: OUT STD_LOGIC);END;ARCHITECTURE ART OF CLK_SX_CTRL ISSIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF Q="1111"THENQ<="0000";ELSEQ<=Q+'1';END IF;END IF;EN<=NOT Q(3);LOCK<=Q(3)AND NOT(Q(2))AND Q(1);CLR<=Q(3)AND Q(2)AND NOT(Q(1));END PROCESS;END ART;测频时序控制电路:为实现系统功能,控制电路模块需输出三个信号:一是控制计数器允许对被测信号计数的信号EN;二是将前一秒计数器的计数值存入锁存的锁存信号LOCK;三是为下一个周期计数做准备的计数器清零信号CLR。

上述三个信号产生的顺序是:先提供计数信号,这种信号使计数器在1s提供锁存信号,这种信号对计数值进行锁存;最后是发出清零信号,这种信号可对计数器清零。

计数器清零结束后又可重新计数,计数进入第二个周期。

不难看出,控制电路模块实际上就是一个控制器,它需要一个周期为1s 的信号作为产生并控制控制器输出的时基信号CLK0。

控制电路模块中控制器及端口如图3 所示:图3 测频时序控制模块顶层图其VHDL程序清单如下:--F_IN_CNT.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY F_IN_CNT ISPORT(CLK:IN STD_LOGIC;EN:IN STD_LOGIC;CLR:IN STD_LOGIC;QA,QB,QC,QD:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0 ));END F_IN_CNT;ARCHITECTURE ART OF F_IN_CNT ISCOMPONENT CNT10PORT(CLK,EN,CLR:IN STD_LOGIC;COUNT10:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNAL S2:STD_LOGIC;SIGNAL S3:STD_LOGIC;SIGNAL S4:STD_LOGIC;BEGINS2<=NOT QA(3);S3<=NOT QB(3);S4<=NOT QC(3);U1:CNT10 PORT MAP(CLK,EN,CLR,QA);U2:CNT10 PORT MAP(S2,EN,CLR,QB);U3:CNT10 PORT MAP(S3,EN,CLR,QC);U4:CNT10 PORT MAP(S4,EN,CLR,QD);END ART;2. 待测信号脉冲计数电路模块待测信号脉冲信号脉冲计数电路是对待测脉冲信号的频率进行测量,它可由4个十进制加法计数器组成,其中EN为计数选通控制信号,CLR 为计数器清零信号。

在计数器清零信号CLR清零后,当计数选通控制信号EN有效时,开始对待测信号进行计数。

如果计数选通控制信号EN的宽度为1s,那么计数结果就为待测信号的频率;如果计数选通控制信号EN的宽度为100ms,那么待测信号的频率等于计数结果的10倍。

该模块将对输入信号进行十进制计数。

它虽然由多个十进制计数器组成,但采用CPLD 后,设计时只要先制作一个单个的十进制计数器,然后再将多个结构相同的单个十进制计数器在CPLD 内部进行连接就可组合成为一个完整的计数电路模块。

为实现系统功能,十进制计数器需要设置三个输入端:即被测信号输入端CLK、计数器状态清零端CLR 和计数器工作使能端EN。

需要设置四个输出端,即COUNT0、COUNT1、COUNT2 和COUNT3 ,并由这四个输出端输出四位BCD码来表示十进制数。

需要说明,上述十进制计数器都是满10进1 ,且进位时计数器清零并重新计数。

计数电路模块中的单个计数器符号及端口功能如图4 所示:图4 待测信号脉冲计数模块顶层图其VHDL程序清单如下:--CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK,EN,CLR: IN STD_LOGIC;COUNT10 :BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT10;ARCHITECTURE ONE OF CNT10 ISBEGINPROCESS(CLK,CLR,EN)BEGINIF CLR='1' THENCOUNT10<="0000";ELSIF(CLK'EVENT AND CLK='1')THENIF(EN='1')THENIF COUNT10="1001"THENCOUNT10<="0000";ELSECOUNT10<=COUNT10+'1';END IF;END IF;END IF;END PROCESS;END ONE;3. 锁存与译码显示控制电路模块锁存与译码显示控制电路用于实现记忆显示,在测量过程中不刷新新的数据,直到测量过程结束后,锁存显示测量结果,并且保存到下一次测量结束。

其功能是对四位BCD码进行锁存并且转换成为对应的4组七段码,用于驱动数码管。

锁存电路模块该模块可使系统显示电路的工作稳定而可靠,避免计数电路模块清零时引起显示闪烁的现象。

锁存电路模块是由多个锁存器组成。

每个锁存器都是用来锁存与其单独相连的计数器的输出数据。

由于每个锁存器锁存的都是4 位2 进代码表示的十进制数,其功能完全相同,因此只需要设计制作一个锁存器就可连接组合成一个锁存电路模块。

为实现系统功能,锁存器需设置四个数据输入端:即QA、QB、QC 和QD ,并由它们输入计数器的计数值。

需设置一个使锁存器工作的使能端L0CK。

还需设置四个锁存数据的输出端:即LEDA 、LEDB 、LEDC和LEDD 。

锁存电路模块中单个锁存器的符号及端口功能如图5 所示。

图5 4位锁存模块顶层图其VHDL程序清单如下:--LOCK.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LOCK ISPORT(LOCK:IN STD_LOGIC;QA,QB,QC,QD:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LEDA,LEDB,LEDC,LEDD:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;ARCHITECTURE ART OF LOCK ISSIGNAL L0,L1,L2,L3:STD_LOGIC_VECTOR(3 DOWNTO 0); COMPONENT SEG7PORT(BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END COMPONENT;BEGINPROCESS(LOCK)BEGINIF(LOCK'EVENT AND LOCK='1')THENL0<=QA;L1<=QB;L2<=QC;L3<=QD;END IF;END PROCESS;U0:SEG7 PORT MAP(L0,LEDA);U1:SEG7 PORT MAP(L1,LEDB);U2:SEG7 PORT MAP(L2,LEDC);U3:SEG7 PORT MAP(L3,LEDD);END ART;译码电路模块:该模块可对表示转换后的十进制数的4 位2 进制代码进行编码,此模块可直接连接数码管驱动器, 从而驱动数码管显示出相应阿拉伯数字等字符。

与上述电路模块设计一样,它也只需要先设计一个单个的译码器,然后通过连接组合就可构成系统的译码电路模块,从而实现系统的译码功能。

为实现系统的功能,单个译码器需要设置4个数据输入端:即BCD0、BCD1、BCD2 和BCD3 ,并由这些端口输入锁存电路模块输出的4 位2 进制数据。

需要设置7个输出端:即DOUT、DOUT1、DOUT2、DOUT3、DOUT4、DOUT5 和DOUT6 ,它们分别连接7段数码管的7个显示输入端。

相关文档
最新文档