




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除物理与电子科学学院EDA简易数字频率计实验报告 实验名称: EDA简易数字频率计 试验日期: 专 业: 电子信息工程 姓 名: 班 级: 物电 学 号: 一、实验目的: 简易数字频率计就是要计算出输入信号在1秒钟的时间内所变化的次数。所以设计中需要用计数器来进行计数,用七段数码管来显示结果。计数器在各个档位要被重复使用,而且在测周期和频率的时候,计数器的时钟信号和输入信号要进行调换,所以可以将计数器设计成一个独立的模块而被计数的频率范围是0.1HZ到99999999HZ,并且将输入的50M频率通过分频模块分为1HZ的频率。然后把信号传入数据缓冲模块,最后将得到的信号在8个数码管上显示出来。二、系统总述 整体框图3、 实验步骤 1、时钟分频精准1HZ模块该模块用于将50M频率分频为1HZ频率。即将50M转化为十六进制数,利用D触发器不断进行二分频,直至分频为1HZ,计数从50到0,也就是需要25个D触发器。当COUNT计数到50M时,如果count=h16,则S为高电频;否则将继续计数并输出。源程序如下:module yihz(clk50M,clko);input clk50M;output clko;parameter N=50000000; parameter n=50; reg n:0cnt;reg clko;always (posedge clk50M) begin if(cnt=N) begin cnt=0;clko=1; end else begin cnt=cnt+1; clko = 0;endendendmodule 2、数码管扫描显示模块 扫描时钟源程序:module clk_div(cki,f,cko);input cki;input 24:0f;output cko;reg24:0cnt;reg cko;always(posedge cki)begin if(cnt=25D25000000)begin cnt=0; cko=!cko; end else cnt=cnt+f; endEndmodule扫描显示源程序:module saomiao(n,clk,sel,q);input 31:0n;input clk;output 2:0sel;output 3:0q;reg 2:0sel;reg 3:0q;always (posedge clk)begin sel=sel+1;endalways (sel) begin case(sel) 3b000:q=n3:0; 3b001:q=(n31:4=0)?10: n7:4; 3b010:q=(n31:8=0)?10: n11:8; 3b011:q=(n31:12=0)?10: n15:12; 3b100:q=(n31:16=0)? 10:n19:16; 3b101:q=(n31:20=0)?10: n23:20; 3b110:q=( n31:24=0)?10: n27:24; 3b111:q=(n31:28=0)?10:n31:28; endcase endendmodulemodule xianshi(q,out);input 3:0q;output 6:0out;reg 6:0out;always (q)begin case(q) 4b0000:out=7b0111111; 4b0001:out=7b0000110; 4b0010:out=7b1011011; 4b0011:out=7b1001111; 4b0100:out=7b1100110; 4b0101:out=7b1101101; 4b0110:out=7b1111101; 4b0111:out=7b0000110; 4b1000:out=7b1111111; 4b1001:out=7b1100111; 4b1010:out=7b0000000;endcaseendendmodule 3、 记数部分 此部分主要是需要一个99999999记数器,由于在前面课程中学过99计数器和999计数器,由此原理可以得出99999999计数器的设计方案:其原代码为:module jishu(clk,clr,q);input clk,clr;output 31:0q;reg 31:0q;always (posedge clk or negedge clr)beginif(!clr) q=0;else if (q3:09) q=q+4h1;else if (q7:49) q=q+4h7;else if (q11:89) q=q+8h67;else if (q15:129) q=q+12h667;else if (q19:169) q=q+16h6667;else if (q23:209) q=q+20h66667;else if (q27:249) q=q+24h666667;else if (q31:289) q=q+28h6666667;else q=0;endendmodule4、 缓存模块 数据缓冲模块,由于我先前觉得这个部分是多余的,就没有将其画入电路中,经过验证,得不出所需要的结果,数码管上出现的是快速跳动的数字,所以才将此模块加进来,加了数据缓冲后,当用计数器对输入信号计数,这些数据都暂时存在这个里面,每当时钟的上升沿到来的时候,它就向后面的模块输送数据,这样就可以得到相对稳定的显示。module buffer(m,clk,n);input clk;input31:0m;output 31:0n;reg 31:0n;always ( posedge clk)n=m;Endmodule5、 顶层文件程序:module pinlvji(clk50M,clkx,outy,sell);input clk50M,clkx;output 6:0outy;output 2:0sell; wire clk1;wire clr1=!clk1;wire 31:0q1;wire 31:0n1;wire 2:0sell;wire 31:0q2;wire clk_400;yihz A(.clk50M(clk50M),.clko(clk1);jishu B (.clk(clkx),.clr(clr1),.q(q1);/计数清零用非门buffer C (.m(q1),.clk(clk1),.n(n1);clk_div D(.cki(clk50M),.f(400),.cko(clk_400);saomiao E(.n(n1),.clk(clk_400),.sel(sell),.q(q2);xianshi F(.q(q2),.out(outy);endmodule三、实验步骤及仿真结果:利用数字钟计数的原理只是增加到了8位每一位到9后向前面进一位。计数器模块的仿真波形: 把存储的数据分别分给8个数码管,利用循环扫描即可显示出所要显示的数据。扫描显示模块的仿真波形: 精密1HZ,由于50M为1S时间太长,用比较小的可以得到类似如下仿真图形,其中处于低电平的时间为1S,高电平的时间很短,再进行清零后重新开始计数这样就可得到精密1HZ的时钟。波形仿真图如下:4、 实验小结: 在本次设计过程中,一开始信心不足,总觉得之前上课时学得不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三农工作新质生产力
- 宣传工作中的新质生产力实践
- 2025年儿科急救技能考核模拟试卷答案及解析
- 2025年全科医生全科门诊诊疗流程规范性考核答案及解析
- 2025年康复护理康复护理操作技能评估模拟考试答案及解析
- 2025年感染病学防控知识考核模拟试卷答案及解析
- 2025年神经外科手术后并发症管理考试答案及解析
- 2025年心血管内科急救实操模拟考试答案及解析
- 2025年康复医学常见治疗方案考察试卷答案及解析
- 2025年肿瘤科化疗药物应用考核答案及解析
- 输电线路基础知识培训
- GB/T 38020.2-2019表壳体及其附件金合金覆盖层第2部分:纯度、厚度、耐腐蚀性能和附着力的测试
- GB 7956.2-2014消防车第2部分:水罐消防车
- FZ/T 21001-2009自梳外毛毛条
- 职业感知与安全用电二
- 二年级语文《称赞》练习题
- 湘教版高中音乐(鉴赏)《黄河大合唱》课件
- CNAS体系基础知识培训课件
- 体育心理学(第三版)课件第三章运动兴趣和动机
- Unit1Developingideaslittlewhitelies课件-高中英语外研版必修第三册
- 培训反馈意见表
评论
0/150
提交评论