资源描述:
《简易频率计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二简易数字频率计实验目的:(1)学会各种简易数字频率计的设计方法(2)学会VHDL的多进程及多层次设计方法实验原理:设计一个四位数字频率计,此频率计共分四档。一档:0~9999Hz二档:10~99.99kHz三档:100~999.9kHz四档:1~10MHz分频器模块FEN通过对1Hz的时钟的分频得到0.5Hz的时钟信号。测频模块FTEST,是整个程序的核心,此模块完成在1s的时间内对被测信号计数的功能,并通过输出数据实现自动换挡的功能。LOCK模块用来锁存数据。实验内容:在MAX+plusII中用VHDL语言输入FEN2、MUX21、CD源程序,保存名字与实体名一致,后缀为vhd,
2、选择目标器件为EP1K30TC144-3,然后进行编译、仿真。参考程序:1、FEN通过对1Hz的时钟的分频得到0.5Hz的时钟信号。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYfenISPORT(clk:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDfen;ARCHITECTUREfen_arcOFfenISBEGINPROCESS(clk)VARIABLEx:STD_LOGIC;BEGINIFclk'EVENTANDclk='1'THENx:=NOTx;ENDIF;q<=x;ENDPROCESS;ENDfen_arc;波形仿
3、真图:1、FTSET此模块完成在1s的时间内对被测信号计数的功能,并通过输出数据实现自动换挡的功能。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYftestISPORT(clr,Fx,door:INSTD_LOGIC;alm:OUTSTD_LOGIC;q3,q2,q1,q0,dang:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDftest;ARCHITECTURECORN_ARCOFftestISBEGINPROCESS(door,Fx)VARIABLEc0,
4、c1,c2,c3,c4,c5,c6:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLEx:STD_LOGIC;BEGINIFFx'EVENTANDFx='1'THENIFdoor='1'THENIFc0<"1001"THENc0:=c0+1;ELSEc0:="0000";IFc1<"1001"THENc1:=c1+1;ELSEc1:="0000";IFc2<"1001"THENc2:=c2+1;ELSEc2:="0000";IFc3<"1001"THENc3:=c3+1;ELSEc3:="0000";IFc4<"1001"THENc4:=c4+1;ELSEc4:="0
5、000";IFc5<"1001"THENc5:=c5+1;ELSEc5:="0000";IFc6<"1001"THENc6:=c6+1;ELSEc6:="0000";alm<='1';ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ELSEIFclr='0'THENalm<='0';ENDIF;c6:="0000";c5:="0000";c4:="0000";c3:="0000";c2:="0000";c1:="0000";c0:="0000";ENDIF;IFc6/="0000"THENq3<=c6;q2<=c5;q1<=c4;q0<=c3;dang
6、<="0100";ELSIFc5/="0000"THENq3<=c5;q2<=c4;q1<=c3;q0<=c2;dang<="0011";ELSIFc4/="0000"THENq3<=c4;q2<=c3;q1<=c2;q0<=c1;dang<="0010";ELSEq3<=c3;q2<=c2;q1<=c1;q0<=c0;dang<="0001";ENDIF;ENDIF;ENDPROCESS;ENDCORN_ARC;波形仿真图:3、LOCK模块LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYLOCKISPORT(A0,A1,A2,A3,A4:INS
7、TD_LOGIC_VECTOR(3DOWNTO0);q0,q1,q2,q3,q4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);clk:INSTD_LOGIC);ENDLOCK;ARCHITECTUREARTOFLOCKISBEGINPROCESS(clk)BEGINIF(clk'EVENTANDclk='1')THENq0<=A0;q1<=A1;q2<=A2;q3<=A3;q4<=A4;ENDIF;ENDPROCES