八位十进制频率计Word下载.docx

上传人:b****3 文档编号:16662858 上传时间:2022-11-25 格式:DOCX 页数:12 大小:169.26KB
下载 相关 举报
八位十进制频率计Word下载.docx_第1页
第1页 / 共12页
八位十进制频率计Word下载.docx_第2页
第2页 / 共12页
八位十进制频率计Word下载.docx_第3页
第3页 / 共12页
八位十进制频率计Word下载.docx_第4页
第4页 / 共12页
八位十进制频率计Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

八位十进制频率计Word下载.docx

《八位十进制频率计Word下载.docx》由会员分享,可在线阅读,更多相关《八位十进制频率计Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

八位十进制频率计Word下载.docx

六、实验心得·

13

一、实验目的

1、巩固和加深对EDA技术基本知识和概念的理解,提高自己对专业知识的利用能力

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

二、实验内容

设计并调试好一个8位十进制频率计并使用MAX+plusII10.2软件进行系统仿真、硬件是使用ZY11EDA13BE型实验箱。

并由外接试验箱实时显示。

根据8位十进制频率计的设计原则以及电路的基本原理,本实验所设计的频率计由三个模块组成:

测频控制信号发生器TESTCTL、8个有时钟使能的十进制计数器CNT10和一个32位锁存器REG32B。

三、实验原理

总框图如下:

测频控制信号发生器的设计要求:

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

这就要求测频控制信号发生器TESTCTL的计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的使能端ENA进行同步控制。

当TSTEN为高电平时,允许计数;

为低电平时停止计数,并保持其计数结果。

在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B中,并由外部的7段译码器译出,并稳定显示。

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

锁存信号之后,必须有一个清零信号CLR_CNT对计数器进行清零,为下1秒钟的计数操作做准备。

测频控制信号发生器的工作时序如下图27-1所示。

为了产生这个时序图,需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上升沿到来时其值翻转。

图27-1测频控制信号发生器的工作时序

图中控制信号时钟CLK的频率取1HZ,那么信号TSTEN的脉宽恰好为1S,可以用作计数闸门信号。

然后根据测频的时序要求,可得出信号LOAD和CLR_CNT的逻辑描述。

由图27-1可见,在计数完成后,即计数使能信号TSTEN在1S的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,0.5S后CLR_CNT产生一个清零信号上跳沿。

高质量的测频控制信号发生器的设计十分重要,设计中要对其进行仔细的实时仿真,防止可能产生的毛刺。

寄存器REG32B设计要求是:

若已有32位BCD码存在于此模块的输入口,在信号LOAD的上升沿后即被锁存到寄存器REG32B的内部,并由REG32B的输出端输出,然后由7段译码器译成能在数码管上显示输出的相应数值。

计数器CNT10设计要求:

有一时钟使能输入端,用于锁定计数值。

当高电平时计数允许,低电平时禁止计数。

四、实验设计

模拟电路图如下:

各模块仿真如下

1、测频信号发生器TESTCTL

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitytestctlis

port(

clk:

instd_logic;

tsten:

outstd_logic;

clr_cnt:

load:

outstd_logic);

endtestctl;

architecturebehavoftestctlis

signaldiv2clk:

std_logic;

begin

process(clk)

if(clk'

eventandclk='

1'

)then

div2clk<

=notdiv2clk;

endif;

endprocess;

process(clk,div2clk)

if(clk='

0'

anddiv2clk='

)then

clr_cnt<

='

;

else

load<

tsten<

=div2clk;

endbehav;

2、锁存器REG32B部分

entityreg32bis

port(load:

rst:

din:

instd_logic_vector(31downto0);

dout:

outstd_logic_vector(31downto0));

endreg32b;

architecturebehavofreg32bis

signaldata:

std_logic_vector(31downto0);

process(rst,load)

ifrst='

then

data<

=(others=>

'

);

elsif(load'

eventandload='

data<

=din;

dout<

=data;

3、数码管扫描显示电路Seltime

useieee.std_logic_unsigned.all;

entityseltimeis

port(

clk:

din:

daout:

outstd_logic_vector(3downto0);

sel:

outstd_logic_vector(2downto0));

endseltime;

architecturebehavofseltimeis

signalsec:

std_logic_vector(2downto0);

begin

if(clk'

if(sec="

111"

sec<

="

000"

=sec+1;

endif;

process(sec,din(31downto0))

casesecis

when"

=>

daout<

=din(3downto0);

001"

=din(7downto4);

010"

=din(11downto8);

011"

=din(15downto12);

100"

=din(19downto16);

101"

=din(23downto20);

110"

=din(27downto24);

=din(31downto28);

whenothers=>

null;

endcase;

sel<

=sec;

锁存信号输出给DIN[31…0],然后由seltime进行扫描输出,当sel为“000”时,选通第一个从cnt10,输出到deled进行译码。

4、七段数码显示译码器

entitydeledis

s:

instd_logic_vector(3downto0);

a,b,c,d,e,f,g,h:

enddeled;

architecturebehavofdeledis

std_logic_vector(3downto0);

signaldout:

std_logic_vector(7downto0);

=s;

process(data)

casedatais

0000"

00111111"

0001"

00000110"

0010"

01011011"

0011"

01001111"

0100"

01100110"

0101"

01101101"

0110"

01111101"

0111"

00000111"

1000"

01111111"

1001"

01101111"

1010"

01110111"

1011"

01111100"

1100"

00111001"

1101"

01011110"

1110"

01111001"

1111"

01110001"

00000000"

h<

=dout(7);

g<

=dout(6);

f<

=dout(5);

e<

=dout(4);

d<

=dout(3);

c<

=dout

(2);

b<

=dout

(1);

a<

=dout(0);

5、计数器部分

entitycnt10is

port(clk:

clr:

ena:

cq:

outintegerrange0to9;

carry_out:

endcnt10;

architecturebehavofcnt10is

signalcqi:

integerrange0to9;

process(clr,clk,ena)

if(clr='

cqi<

=0;

elsif(clk'

if(ena='

if(cqi=9)then

cqi<

carry_out<

else

=cqi+1;

cq<

=cqi;

实现十进制计数功能,当第一个CNT10计数输出CQ时,下一秒时钟上升沿到来时,将产生一个CARRY-OUT信号作为下一个CNT10的时钟信号,同时CQ信号清零。

五、实验现象

从时钟源TJ4~TJ6输入一方波信号,数码管则将显示该信号的频率值。

如下所示:

六、实验心得

通过该设计课程,提高自己对硬件设计、软件设计以及系统调试的基本思路与方法,并熟练的掌握MAX+plusII等软件的使用。

同时学会了电路的仿真、检查和纠正。

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

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1