实验四简单频率计的制作课案.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四简单频率计的制作课案

实验目的 1.熟悉Quarters-II软件的使用方法;2.了解VHDL语言编程;3.了解基本的自顶向下模块化设计思想;4.设计频率计并在软件上进行仿真; 二.设计的基本原理 2.1基本原理: 数字频率计是用数字显示被测信号的频率的仪器,被测信号可以是正弦波,方波或者其他周期性变化的信号,它的基本原理是时基信号发生器提供标准的时基脉冲信号,若其周期为1s则门控电路的输出信号持续时间亦准确到1s。闸门电路有标准秒信号控制,当秒信号到来时闸门开通,信号通过闸门送到计数译码显示电路,秒信号结束时闸门关闭,计数器停止计数,由于计数器记得脉冲数N的是一秒内的累积数,所以被测频率是NHZ。闸门时间可以取大于或者小于1秒的值,测得的频率时间间隔与闸门时间的取值成正比,在这里取的闸门时间为1s。 数字频率计由分频器,片选电路,计数器,锁存器,译码电路和显示电路作为主要组成部分。 三.实验内容及步骤 在Quarters-II软件中采用文本编辑的方式(VHDL),生成如下各个模块的元器件。编译完成后点击file - creat/update - creat symbol files for current file .注意工程名与实体名要相同。 3.1分频电路模块 分频器在总电路中有两个作用。由总图框图中分频器有两个输出,一个给计数器,一个给锁存器。时钟信号经过分频电路形成了20分频后的门信号。另一个给锁存器作锁存信号,当信号为低电平时就锁存计数器中的数。 分频模块的程序: library ieee; use ieee.std_logic_1164.all; entity fen is port(clk:in std_logic; q:out std_logic); end fen; architecture fen_arc of fen is begin process(clk) variable cnt:integer range 0 to 9; variable x:std_logic; begin if clkevent and clk=1 then if cnt9 then cnt:=cnt+1; else cnt:=0; x:=not x; end if; end if; q=x; end process; end fen_arc; 分频电路图如图2.1 图3.1 分频电路图 3.2片选信号电路模块 这个电路有两个用途:一是为后面的片选电路产生片选信号,二是为译码模块提供选择脉冲信号。 片选信号模块的程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity sel is port(clk:in std_logic; q:out std_logic_vector(2 downto 0)); end sel; architecture sel_arc of sel is begin process(clk) variable cnt:std_logic_vector(2 downto 0); begin if clkevent and clk=1 then cnt:=cnt+1; end if; q=cnt; end process; end sel_arc; 电路图如图2.2 图3.2 片选信号电路图 3.3计数器模块 计数器模块为该电路中的核心模块,它的功能是:当门信号为上升沿时,电路开始计算半个周期内被测信号通过的周期数,到下升沿后结束。然后送给锁存器锁存。 计数器模块的程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity corna is port(clr,sig,door:in std_logic; alm:out std_logic; q3,q2,q1,q0,dang:out std_logic_vector(3 downto 0)); end corna; architecture corn_arc of corna is begin process(door,sig) variable c3,c2,c1,c0:std_logic_vector(3 downto 0); variable x:std_logic

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档