分频器和计数器的应用

分频器和计数器的应用

ID:37817146

大小:1.16 MB

页数:10页

时间:2019-05-31

分频器和计数器的应用_第1页
分频器和计数器的应用_第2页
分频器和计数器的应用_第3页
分频器和计数器的应用_第4页
分频器和计数器的应用_第5页
资源描述:

《分频器和计数器的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数电实验实验五:分频器和计数器的应用专业:信息工程班级:09031201学号:2012302250姓名:周康鹏同组人:魏东(2011302282)一、实验目的1、熟悉分频器的原理;2、了解计数器74160(十进制计数器)的工作原理,任意进制计数器的改装;3、了解共阳极七波段数码管的工作原理和使用方法。二、实验要求1、利用开发板上的50M时钟,用VHDL或VerilogHDL实现两路分频输出,一路为50M分频占空比50%的1Hz信号输出,另一路5M分频占空比20%的10Hz信号输出。(不做波形仿真)2、根据

2、所学过的门电路、中规模器件和计数器,用原理图方法实现计数方式如下电路(两位BCD显示)(需要做波形仿真):00,01,02,..............09;11,12,.................19;22,...................29;33,..................39;44,................49;55..............59;66............69;77..........79;88........89;99;3、用上述实验要求1已经

3、实现的分频信号1Hz和10Hz,作为时钟信号,驱动实验要求2的计数电路,并结合上次实验实现的乘法器,实现99乘法表显示并能够用开关控制显示速率(1Hz或10Hz显示)(不做波形仿真)。4、利用上次实验实现的加法电路,能够用开关实现99乘法表和99加法表的切换(不做波形仿真)。三、实验设备1.计算机(QuartusⅡ9.0)2.FPGA开发电路板(芯片型号:EP3C16F484C6)四、实验原理1、分频器:7由于FPGA开发板上的时钟频率为50MHz,即1s内计数510次,脉冲周期为20ns;○1要将其分

4、频为1Hz的脉冲输出,即脉冲周期为1s,且占空比为50%,可以777设置输入CP脉冲在计数0~5.210期间为低电平,5.210~510期间为高电平;○2要将其分频为10Hz的脉冲输出,即脉冲周期为0.1s,且占空比为20%,666可以设置输入CP脉冲在计数0~110期间为低电平,110~510期间为高电平;2、实验要求2图1计数器仿真电路图五、实验步骤及结果分析步骤1、分频器封装用VHDL编写程序fenpin.vhd(分频程序(附录显示))并将此程序封装为:图2分频封装(fenpin.bsf

5、)步骤2、乘法器封装用VHDL编写程序mul4a.vhd(乘法程序(附录显示))并将此程序封装为:图3乘法器封装(mul4a.bsf)步骤3、加法器封装图4加法器仿真电路图并将图4所示电路图封装为:图5加法器封装(add4a.bsf)步骤4、计数器封装将图1所示电路图封装为:图6计数器封装(jishu.bbsf)步骤5、图7实验要求中3的电路图(注:要将fenpin.vhd、mul4a.vhd和add4a.bdf加入到所在工程的顶层文件中)步骤6、附加要求的实现:将图7中添加一加法器的封装文件,并将计数器

6、的个位、十位分别作为加法器的两个加数,在数码管显示时,对积与和对应为分别作二选一数据选择器,共八个,将这八个数据选择器的开关共在一起,即可完成乘法表和加法表的切换。实验结果:1、图8计数器的仿真结果显示2、硬件结果检测将实验要求3与附加要求中的电路图设置好引脚并下载到FPGA开发板上,以检测实验结果是否符合预期结果。经检测实验电路满足预期的结果,可以控制计数在1s和0.1s的速率下切换,同时也可以控制乘法表和加法表的切换。六、实验心得与体会通过本次实验我对VHDL语言在实现函数或逻辑功能方面有了更深入的了

7、解,对Quartus在封装*.vhd文件与*.bdf文件的操作进行了初步的了解,同时在工程中如何应用这些用户封装文件有了基本的掌握。除此以外,对在自己在理论设计方面的不足有了一些有了确切的掌握。附录:1.分频程序(fenpin.vhd)libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityfenpinisport(CP_in:instd_logic;cp_1:outstd_logic;cp_10:outstd

8、_logic);endfenpin;architecturefwmoffenpinissignaltemp1:std_logic;signaltemp2:std_logic;beginprocess(CP_in)variablecount1:integerrange0to50000000;variablecount2:integerrange0to5000000;beginif(CP_in'eventandCP_in='1')

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

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

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