欢迎来到天天文库
浏览记录
ID:61487680
大小:14.24 MB
页数:7页
时间:2021-02-05
《顺序脉冲发生器实验.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、顺序脉冲发生器实验一、实验目的1.了解顺序脉冲发生器的工作原理:2.掌握顺序发生器的VHDL描述方法:3.学会用EDA语言进行程序设计。二、实验原理在数控装置和数字计算机中,往往需要机器按照人们事先规定的顺序进行运算和操作,这就要求控制电路不仅能正确的发出各种控制信号,而且要求这些控制信号在时间上有一定的先后顺序,能完成这样功能的电路称为顺序脉冲发生器。顺序脉冲发生器通常由计数器与译码电路构成,如图所示:模M计数器译码器时钟而脉冲发生器的种类分别有技数型和移存型两种,这里我们只做最简单的计数型脉冲发生器。图中的模M计数器取三位
2、二进制计数器、译码器用三线-八线译码器来实现本次的顺序脉冲发生器。当时钟脉冲CP的上升沿到来时,三位二进制计数器输出自加一,输出由000—111八种不同的状态。然后计数器输出的三位二进制数作为3线—8线译码器中的输入,由译码器来实现对三位二进制数对应输出信号的翻译。三、实验过程1.设计3位2进制计数器:程序如下:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;ENTITYcounter3ISPORT(clk:INSTD_LOGIC;q:
3、OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDcounter3;ARCHITECTUREa1OFcounter3ISSIGNALq1:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(clk)BEGINIF(clk'EVENTANDclk='1')THENq1<=q1+1;ENDIF;q<=q1;ENDPROCESS;ENDa1;说明:时钟上升沿时q1自加一,信号q1赋值给q。3位2进制计数器设计完毕2.3线—8线译码器的设计程序如下:libraryieee;useieee.
4、std_logic_1164.all;useieee.std_logic_unsigned.all;entityDECODEisport(data_in:instd_logic_vector(2downto0);data_out:outstd_logic_vector(7downto0);ledshow:outstd_logic_vector(7downto0);weight:outstd_logic_vector(2downto0));enddecode;architectureexampleofDECODEisbeginp
5、rocess(data_in)beginweight<="000";data_out(7)<='0';casedata_iniswhen"000"=>data_out<="";when"001"=>data_out<="";when"010"=>data_out<="";when"011"=>data_out<="";when"100"=>data_out<="";when"101"=>data_out<="";when"110"=>data_out<="";when"111"=>data_out<="";endcase;ca
6、sedata_iniswhen"000"=>ledshow<="";when"001"=>ledshow<="";when"010"=>ledshow<="";when"011"=>ledshow<="";when"100"=>ledshow<="";when"101"=>ledshow<="";when"110"=>ledshow<="";when"111"=>ledshow<="";endcase;endprocess;endexample;说明:这里的译码器的输出用彩灯和数码管一起表示。3.将计数器与译码器封装完毕,用原
7、理图输。入在Quartus实验环境下。原理图如下:4.编译程序,编译无错误,进行下一步5.连线,将ep2c5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPCJTAG口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边。实验板右下方频率源CLK1接任意频率作为扫描频率,将JPLED1短路帽右插,JPLED的短路帽全插。6.进行引脚分配,对于已经编译好的程序进行引脚分配,分配图如下所示:7.将编译好的程序下载到实验板上,结果如下:一共8种结果。8.波形仿真:
此文档下载收益归作者所有