实验十可控脉冲发生器

实验十可控脉冲发生器

ID:30140573

大小:155.58 KB

页数:4页

时间:2018-12-27

实验十可控脉冲发生器_第1页
实验十可控脉冲发生器_第2页
实验十可控脉冲发生器_第3页
实验十可控脉冲发生器_第4页
资源描述:

《实验十可控脉冲发生器》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验十可控脉冲发生器一、实验目的1.掌握脉冲发生器的设计原理。2.掌握脉冲接受和发送的方法。减法计数器脉冲发生控制预置数LOADcontrol计数显示脉冲输出clk接收脉冲器计数显示一、实验原理本次设计由发送脉冲模块和接收脉冲模块组成,发送脉冲模块可由用户设置一次发送过程中脉冲的个数,发送过程中由二极管显示输出脉冲并用数码管记录脉冲个数,接收脉冲模块接收脉冲并输出到数码管显示,接受脉冲模块和发送脉冲模块采用同一个时钟工作。二、实验内容1用VHDL语言设计可控脉冲发生器。2通过仿真或观察波形图验证设计的正确性。3编译下载验证结果。三、设计提示1注意IF语句的嵌套。2注意脉冲的消抖问题和接受脉冲模

2、块的采样方式。四、实验报告要求1写出可控脉冲发生器的VHDL源程序。2叙述模块间通讯的工作原理。3画出模块通讯的工作波形图.LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNTISPORT(CLK,LOAD:INSTD_LOGIC;LI,HI:INSTD_LOGIC_VECTOR(3DOWNTO0);LO,HO,LD,HD:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYCNT;ARCHITECTURECNOFCNTISSIGNALL_COUNT,H_COU

3、NT,L_D,H_D:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(LI,HI,LOAD,CLK)ISVARIABLELTEMP,HTEMP,L_T,H_T:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIF(LOAD='1')THENL_COUNT<=LI;H_COUNT<=HI;L_D<=(OTHERS=>'0');H_D<=(OTHERS=>'0');ELSIF(CLK'EVENTANDCLK='1')THENIF(LOAD='0')THENIF(L_COUNT>0)THENLTEMP:=L_COUNT-1;HTEMP:=H_COUNT

4、;ELSIF(H_COUNT>0)THENHTEMP:=H_COUNT-1;LTEMP:="1001";ELSELTEMP:=(OTHERS=>'0');HTEMP:=(OTHERS=>'0');ENDIF;IF(L_D<9)THENL_T:=L_D+1;ELSIF(H_D<9)THENL_T:=(OTHERS=>'0');H_T:=H_D+1;ELSEL_T:=(OTHERS=>'0');H_T:=(OTHERS=>'0');ENDIF;L_D<=L_T;H_D<=H_T;L_COUNT<=LTEMP;H_COUNT<=HTEMP;ENDIF;ENDIF;LO<=L_COUNT;HO<=H_

5、COUNT;LD<=L_D;HD<=H_D;ENDPROCESS;ENDARCHITECTURECN;说明LIHI,分别为输入的BCD低4位与高4位LO,HO为预置数减计数显示HO(3~0)接M4D~M4A;LO(3~0):M3D~M3ALD,HD为加计数显示HD(3~0)接M2D~M2A;LD(3~0):M1D~M1A使用时首先LI(K1~K4)HI(K5~K8)预置数,再然后LOAD(接K9)调为1,LED会显示预置数,再把LOAD改为0;接着就可以按脉冲了,比如预置数为12(00010010)M4M3显示由12变到0,M2M1显示由0变到12,和总为12;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。