




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字频率计数显示器数字频率计数显示器一、功能与要求该计数器的功能:对被测试信号进行计数,在1秒定时结束后,将计数器结果送锁存,同时将计数器清零,为下一次采样测量做好准备。要求如下:1、用VHDL完成12位十进制数字频率计的设计及仿真。2、频率测量范围:1HZ10KHZ,分成两个频段,即1999HZ,1KHZ10KHZ,用三位数码管显示测量频率,用LED显示表示单位,如亮绿灯表示HZ,亮红灯表示KHZ。3、具有自动校验和没理两种功能,即能用标准时钟检验、测量精度。4、具有超量程度报警功能,在超出目前量程档的测量范围时,发出灯光和音响信号。二、设计思路图2.1是频率计数器的原理图。图2.1频率计数器的原理图1、基本原理:计算单位时间内待测信号的脉冲个数,各模块设计成process。测量/检验选择模块(test meas)测频控制信号发生器(二分频)(clk process)计数器模块(cnt process)送存选择、报警模块(tostore process)锁存模块(store process)扫描显示模块(cnt3 process,bus process,disp process)2、各模块功能测量/检验选择 test meas CP1 select图2.2测量检验选择如图2.2为测量/检验选择模块,该模块的信号如下:输入信号:选择信号selet,被测信号meas,测试信号test;输出信号:CP1。当selet=0时,为测量状态,CP1=meas;当selet=1时,为检验状态,CP1=test。检验与测量共用一个电路,只是被测信号CP1不同而已。图2.3测频控制信号发生顺(二分频)如图2.3为测频控制信号发生器(二分频),该模块的信号如下:输入信号:1HZ时钟信号;输出信号:1秒定时信号(周期为2秒)。图2.4计数器、送存选择、报警模块1、如图2.4为计数器、送存选择、报警模块,模块的功能如下:设置:量程控制开关K,单位显示信号Y,当K=0时,为1-999HZ量程档,数码管显示的数值为被测信号频率值,unit显示绿色,即单位为HZ;当K=1时,为1KHZ-10KHZ量程档被测信号频率值为数码管显示数值乘1000,unit显示红色,即单位为KHZ。2、其中四级十进制计数模块(带进位C)模块功能如下:输入信号:RD、CP,用于计数开始、清零、锁存输出信号:Q4-Q1设置超出量程档测量范围示警信号alert。若被测信号频率小于1KHZ(K=0),计数器只进行三级十进制计数,最大显示值999HZ;如果被测信号频率超过此范围,示警信号驱动灯光、扬声器报警;若被测信号为1KHZ-10KHZ(K=1),计数器进行四位十进制计数,取高三位显示,最大显示值为9.99KHZ,如果被测信号频率超过此范围,报警。3、送存选择、报警电路状态表如表1。量程控制计数器锁存小数点位置报警信号KQ04CD3 D2 D1alert001101XX0001Q3 Q2 Q1Q3 Q2 Q1Q3 Q2 Q1Q3 Q2 Q1右第一位右第一位右第一位右第一位0101图2.5锁存、扫描显示模块图2.5为锁存、扫描显示模块,该模块功能如下:锁存器输入信号:D3-D1,LD;输出信号:Q3-Q1,小数点单位显示unit。图2.6扫描显示电路如图2.6扫描显示电路,该模块包含两个模块:七段显示译码器电路(DEC LED)分时总线切换电路(SCAN)。三、原理图说明Clkscam led(8:1)Clk1hz Ms123(2:1)KMeas alertSel Unittest图3.1频率计显示原理图如图3.1,输入有扫描时钟clkscan,分频时钟clklhz,单位选择键K,被测信号meas,测试信号test,测试校验选择键sel。输出有数码管信号led,数码管选择信号ms123,报警信号alert,单位显示信号unit。四、源代码说明-实体说明library IEEE;use IEEE.STD LOGIC 1164.ALL;use IEEE.STD LOGIC ARITH.ALL;use IEEE.STD LOGIC UNSIGNED.ALL;entity dig frq is Port(clk1hz : in STD LOGIC; clkscan : in std logic; test : in STD LOGIC; meas : in STD LOGIC; sel : in STD LOGIC; k : in STD LOGIC; alert : out STD LOGIC; unit : out STD LOGIC; ms123 : out STD LOGIC VECTOR(2 downto 1); led : out STD LOGIC VECTOR(8 downto 1);end dig frq;-结构体说明Architecture Behavioral of dig frq is signal cpl:std logic; signal clk05hz:std logic; signal cp:std logic; signal rd:std logic:=1; signal c:std logic; signal q4,q3,q2,q1:std logic vector(4 downto 1):=”0000” signal load:std logic:=0; signal d3,d2,d1:std logic vector(4 downto 1) :=”0000”; signal data3,data2,data1:std logic vector(4 downto 1) :=”0000”; signal disp:std logic vector(4 downto 1) :=”0000”; signal ns123 s:STD LOGIC VECTOR(2 downto 1);begin-时钟电路,1hz信号二分频产生0.5hz信号,1s高电平,1s低电平 clk process:process(clk1hz) begin if(clk1hzevent and clk1hz=1)then clk05hz=not clk05hz; end if; end process; -测试、校验选择模块 test meas:process(sel,meas,test) begin if(sel=1)then-sel为1时cpl为测试信号 cpl=meas; else-sel为0时cpl为校验信号 cpl=test; end if; end process; -锁存的加载信号时load,当分频信号clk05hz上升沿时有效 load=not clk05hz; cp=clk05hz and cpl; -计数清零信号rd,当分频信号clk05hz为0时有效 rd=clk05hz; -四位bcd计数电路 cnt process:process(cp,rd) variable q4 s,q3 s,q2 s,q1 s:integer range 0 to 9; variable c s:integer range 0 to 1; begin if(rd=0)then q4 s:=0; q3 s:=0; q2 s:=0; q1 s:=0; c s:=0; elsif(cpevent and cp=1)then if(q4 s=9 and q3 s=9 and q2 s=9 and q1 s=9 and c s=1)then q4 s:=0; q3 s:=0; q2 s:=0; q1 s:=0; c s:=0; elsif(q4 s=9 and q3 s=9 and q2 s=9 and q1 s=9)then q4 s:=0; q3 s:=0; q2 s:=0; q1 s:=0; c s:=0; elsif(q3 s=9 and q2 s=9 and q1 s=9)then q4 s:= q4 s+1; q3 s:=0; q2 s:=0; q1 s:=0; elsif(q2 s=9 and q1 s=9)then q3 s:= q3 s+1; q2 s:=0; q1 s:=0; elsif(q1 s=9)then q2 s:= q2 s+1; q1 s:=0; elsif q1 s:= q1 s+1; end if; end if; q4=conv std logic vector(q4 s,4); q3=conv std logic vector(q3 s,4); q2=conv std logic vector(q2 s,4); q1=conv std logic vector(q1 s,4); if(c s=0)then c=0; else c=1; end if; end process; -送锁存电路 tostore process:process(q4,q3,q2,q1,c,k) begin if(k=0)then-当计数单位选择k为0时,输出计数器的低三位 d3=q3; d2=q2; d1”0000”or c0)then-此时,当计数超过三位bcd数时,报警信号置1 alert=1; else alert=0; end if; elsif(k=1)then-当计数单位选择k为1时,输出计数器的高三位 d3=q4; d2=q3; d10)then-此时,当计数超过四位bcd数时,报警信号置1 alert=1; else alert=0; end if; end if;end process;-锁存电路stroe process:process(load,d1,d2,d3,k)begin if(loadevent and load=1)then-加载信号load下降时,锁存数据 data3=d3; data2=d2; data1=d1; if(k=0)then-当单位选择键k为0时,单位unit置0,显示绿色 unit=0; else-当单位选择键k为1时,单位unit置1,显示红色 unit=1; end if; end if; end process; -计数到3的计数器,产生数码管选择信号 cnt3 process:process(clkscan) variable cnt:integar range 0 to 2:=0; begin if(clkscanevent and clkscan=1)then if(cnt=2)then cnt:=0; else cnt:=cnt+1; end if; end if; ms123 sdispdispdispdisp=data1; end case; end if; end process; ms123ledledledledledledledledledledled=”00111111”; end case; if(ms123 s=”00”and k=0)then led(8)=1; elsif(ms123 s=”10”and k=1)then led(8)=1; else led(8)=0; end if; end process;end Behavioral;五、仿真结果及说明1、二分频电路仿真结果图5.1clk1hz一个时钟产生一个clk05hz电平,clk05hz电平高低交替。2、测试校验选择电路图5.2sel为0时,cp1为测试信号meas,sel为1时,cpl为校验信号test。3、控制电路图5.3当clk05hz为1,被计数信号cp为cp1,当clk05hz为0,被计数信号cp为0;当clk05hz为1,加载信号load为0,计数清零信号为1,当clk05hz为0,加载信号load为1,计数清零信号为0。4、四位bcd计数电路图5.4当清零信号rd为0时,输出信号q4,q3,q2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国移动南昌市2025秋招企业文化50题速记
- 中国广电石嘴山市2025秋招心理测评常考题型与答题技巧
- 上海市中石油2025秋招笔试模拟题含答案财务与审计岗
- 威海市中石化2025秋招笔试模拟题含答案财务与审计岗
- 中国广电宣城市2025秋招笔试行测题库及答案行业解决方案经理岗
- 企业质量考试试题及答案
- 大唐电力遂宁市2025秋招面试专业追问及参考机械工程岗位
- 中国联通黔西南自治州2025秋招笔试行测题库及答案市场与服务类
- 海南地区中石化2025秋招面试半结构化模拟题及答案油田工程技术岗
- 巴中市中储粮2025秋招财务资产岗高频笔试题库含答案
- 中医课题申报书的范文怎么写
- 2025年公基常识题及答案
- 消防员心理测试题库及答案
- 2024全国职业院校技能大赛ZZ060母婴照护赛项规程+赛题
- 小学数学《分数除法》50道应用题包含答案
- 碳捕集、利用与封存技术课件
- 化工试生产总结报告
- 复句与单句的辨析课件
- 房屋租赁信息登记表
- 食品科学技术词汇
- 栽植土回填及地形检验批质量验收记录
评论
0/150
提交评论