频率计课程设计实验报告Word格式.docx

上传人:b****1 文档编号:4236055 上传时间:2023-05-03 格式:DOCX 页数:18 大小:152.61KB
下载 相关 举报
频率计课程设计实验报告Word格式.docx_第1页
第1页 / 共18页
频率计课程设计实验报告Word格式.docx_第2页
第2页 / 共18页
频率计课程设计实验报告Word格式.docx_第3页
第3页 / 共18页
频率计课程设计实验报告Word格式.docx_第4页
第4页 / 共18页
频率计课程设计实验报告Word格式.docx_第5页
第5页 / 共18页
频率计课程设计实验报告Word格式.docx_第6页
第6页 / 共18页
频率计课程设计实验报告Word格式.docx_第7页
第7页 / 共18页
频率计课程设计实验报告Word格式.docx_第8页
第8页 / 共18页
频率计课程设计实验报告Word格式.docx_第9页
第9页 / 共18页
频率计课程设计实验报告Word格式.docx_第10页
第10页 / 共18页
频率计课程设计实验报告Word格式.docx_第11页
第11页 / 共18页
频率计课程设计实验报告Word格式.docx_第12页
第12页 / 共18页
频率计课程设计实验报告Word格式.docx_第13页
第13页 / 共18页
频率计课程设计实验报告Word格式.docx_第14页
第14页 / 共18页
频率计课程设计实验报告Word格式.docx_第15页
第15页 / 共18页
频率计课程设计实验报告Word格式.docx_第16页
第16页 / 共18页
频率计课程设计实验报告Word格式.docx_第17页
第17页 / 共18页
频率计课程设计实验报告Word格式.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

频率计课程设计实验报告Word格式.docx

《频率计课程设计实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《频率计课程设计实验报告Word格式.docx(18页珍藏版)》请在冰点文库上搜索。

频率计课程设计实验报告Word格式.docx

BCD显示

被测信号

1、分频模块:

由于测频时不同量程档需要不同的时基信号,分频模块是必不可少的。

系统通过试验箱给定的50MHZ的频率通过分频变成0.5HZ,即1秒钟得计数时间,通过1秒钟的记数时间里待测频率上升沿的数量实现频率测定,待测频率通过分频,多路器等实现各频率的测定

2计数模块:

想要实现频率的测定,其实就是在1秒钟的计数时间里对待测频率信号上升沿进展计数,所以计数模块是不可缺少的,本计数器需输出指示超量程和欠量程状态的信号。

3量程控制模块:

对待测频率的量程进展判断,确定量程以后,根据不同的量程,在试验箱上显示,我们的设计是4个量程〔1,2,3量程和超量程〕。

4BCD译码模块:

用到实验箱SOPC上的6个静态共阳数码管中的后三个数码管,并且试验箱内部有译码器,只需要输入4位数就可以在数码管上显示。

三、各模块程序如下:

1、分频模块程序:

1〕百分频模块程序:

moduleplj(clk,dingshi);

inputclk;

outputdingshi;

reg[40:

0]counter;

regdingshi;

always@(posedgeclk)

begin

if(counter==49)//计数时钟上升沿数量,100次时钟周期

begin//输出一周期信号,得到100分频信号。

dingshi<

=~dingshi;

counter<

=0;

end

else

begin

=counter+1;

endmodule

给定时钟频率,时钟周期过100次,输出一个周期信号。

得到原信号的100分频信号;

2〕非常频模块程序:

moduleFP_SHI(clk,dingshi);

if(counter==4)//计数时钟上升沿数量,10次时钟周

begin//期,输出一次周期信号,得到10

//分频信号

给定时钟频率,时钟周期过10次,输出一个周期信号。

得到原信号的10分频信号;

3〕2分频模块程序:

moduleFP_wu(clk,dingshi);

//在时钟信号的上升沿,输出翻转一次,得到时钟的

//2分频信号

给定时钟频率,时钟周期过5次,输出一个周期信号。

得到原信号的5分频信号;

2.计数模块程序:

modulejishu(clk,shuruxinhao,shuchu);

inputclk,shuruxinhao;

output[40:

0]shuchu;

0]counter,counter2;

regi;

always@(posedgeshuruxinhao)

if(clk==1)

begin//假如输入信号有变化,而且时钟来了上升沿,那么计数器加1;

if(counter!

=0)//假如时钟电平为低电平,而且counter不是低电

shuchu<

=counter;

//平,把计数的值往下一模块传递,然后把计数

//器的值清零。

end

在定时信号的高电平,数待测信号的上升沿的数量。

在输出管脚输出1秒钟待测信号的上升沿数量,即是待测频率的频率。

3.量程控制模块程序:

moduleliangcheng(shuru,shuchu,clk,liangcheng);

//clkhighfrequency

input[40:

0]shuru;

inputclk;

outputliangcheng,shuchu;

reg[1:

0]liangcheng;

reg[40:

always@(clk)

begin

if(shuru<

10000)//假如频率<

10000,量程00;

begin//假如10000<

频率<

100000,量程01;

liangcheng<

=2'

b00;

//假如100000<

1000000,量程10;

=shuru;

//假如频率大于1M,量程为11;

elseif(shuru>

=10000&

&

shuru<

100000)

b01;

elseif(shuru>

=100000&

=1000000)

b10;

b11;

endmodule

输入9800显示量程00,输入12000显示量程01。

,输入120000量程显示10

4.显示模块程序:

modulexianshi(liangcheng,x1,x2,x3,shuru,clk,point1,point2,led3);

0]shuru;

output[3:

0]led3;

reg[3:

input[1:

outputx1,x2,x3,point1,point2;

reg[4:

0]x1,x2,x3;

regpoint1,point2;

0]temp1,temp2;

if(liangcheng==2'

b00)//量程1;

if(shuru>

1000)//频率大于1000,那么用K做单位

x1<

=shuru/1000;

temp1<

=shuru%1000;

x2<

=temp1/100;

temp2<

=temp1%100;

x3<

=temp2/10;

point1<

point2<

=1;

led3<

=4'

b0001;

end

else//频率小于1000,显示三位,不用K做单位

=shuru/100;

=shuru%100;

=temp1/10;

=temp1%10;

=temp2;

elseif(liangcheng==2'

b01)//量程2

=shuru/10000;

//分出3位显示,并显示小数点2

=shuru%10000;

=temp1/1000;

=temp1%1000;

=temp2/100;

b0010;

b10)//量程3

begin//分出3位显示,并不显示小数点

=shuru/100000;

=shuru%100000;

=temp1/10000;

=temp1%10000;

=temp2/1000;

b0011;

b11)//量程4

begin//超过量程,显示FFF;

b0100;

量程00,测得待测信号频率1200HZ,X1显示1,X2显示2,X3显示0;

point1低电平,point2高电平。

5.译码模块:

moduledecode(x,liangcheng,clk,led);

input[4:

0]x;

outputled;

0]led;

begin

b00||liangcheng==2'

b01||liangcheng==2'

b10)

case(x)

4'

b1001:

led=4'

b1001;

b1000:

b1000;

b0111:

b0111;

b0110:

b0110;

b0101:

b0101;

//根据传递来的数据,决定是直接显示数据

b0100:

//还是显示FFF;

b0011:

b0010:

b0001:

b0000:

b0000;

default:

led=4'

endcase

b11)

led<

b1111;

6.选频模块程序:

modulexuanpin(a,b,c,d,e,f,g,h,p,q,r,HZout);

inputa,b,c,d,e,f,g,h,p,q,r;

outputHZout;

regHZout;

always@(aorborcordoreorforgorh)

case({p,q,r})

3'

b000:

HZout<

=a;

b001:

=b;

//根据拨码开关p,q,r决定选择哪一个频率。

b010:

=c;

b011:

=d;

b100:

=e;

b101:

=f;

b110:

=g;

b111:

=h;

HZout<

endmodule

p,q,r上下电平组合决定HZout选择的频率源〔a,b,c,d,e,f,g,h〕

四、调试过程分析、遇到的问题及解决方法:

对于技术模块的总数据的传输控制,之前由于控制条件没有写好,传输时总是把数据清零了,然后传输,这样传输来的数据总是0,得不到我们想要的结果,经过考虑,改变了控制条件〔counter!

=0〕然后传递值,counter清零,这样得到我们想要的计数值。

而且一旦待测信号频率改变,能及时更新结果。

刚开场以为需要一个译码器,来用7段数码管显示数字,于是写了一个译码器,后来发现不用译码,能直接显示2进制数字,于是把译码模块改为传递值的模块,省去了做大的改动的费事。

五、设计总结:

通过此次课程设计,使我更加扎实的掌握了有关QuartusII软件,重新学习了我们忘记的VerilogHDL语言,使我们对EDA的知识重新稳固了。

也暴露出了前期我在这方面的知识欠缺和经历缺乏。

理论出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

实验过程中,也对团队精神的进展了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。

果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。

此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑考虑,动手理论,就没有弄不懂的知识,收获颇丰

六、参考资料

书名出版社作者名

EDA课程设计教程与应用人民邮电出版社王金明

EDA数字系统设计教程北京航空航天大学出版社安金立

EDA程序设计与应用人民邮电出版社陈佳

VerilogHDL设计理论与指导机械工业出版社刘秋云王维

VerilogHDL实验与应用系统设计北京航空航天大学出版社常小明

附件1原理电路图

附件2管脚分配图

附件3频率列表

0500HZ第一位显示量程1

12.5K第一位显示量程1

25K第一位显示量程1

325K第一位显示量程2

450K第一位显示量程2

5250K第一位显示量程3

6500K第一位显示量程3

750M第一位显示量程4

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2