- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数控分频器
实验:一、1、2控制产生不同分频,进而在扬声器上产生不同的音频。
二、实验仪器与器材
计算机1台,GW48-PK2S实验箱1台,QuartusⅡ 9.0 1套。
三、实验内容
1.设计一个数控分频器
2.利用VHDL语言输入进行设计并进行仿真果并进行硬件下载验证。
四、实验设计原理?
1所示。?
? ?
五、实验步骤
(1)建立工作库目录文件夹为E:/DVF/。
()选择目标器件。Acex1k—EP1K100QC208-3。
Quartus II,选择菜单File→New命令。然后在VHDL文本编辑框窗中输入n位乘法器的VHDL源代码DVF.vhd。
(4)文件存盘。选择File→Save As命令,找到已设立的文件夹E:/DVF/,VHDL文件的存盘文件名应与实体名一致,均为DVF.vhd。
(5)编译和排错。
(6)仿真与分析。
七、源程序LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY DVF IS
PORT ( CLK : IN STD_LOGIC;
D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
FOUT : OUT STD_LOGIC );
END;
ARCHITECTURE one OF DVF IS
SIGNAL FULL : STD_LOGIC;
BEGIN
P_REG: PROCESS(CLK)
VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
IF CLKEVENT AND CLK = 1 THEN
IF CNT8 =THEN
CNT8 := D; --当CNT8计数计满时,输入数据D被同步预置给计数器CNT8
FULL = 1; --同时使溢出标志信号FULL输出为高电平
ELSE CNT8 := CNT8 + 1; --否则继续作加1计数
FULL = 0; --且输出溢出标志信号FULL为低电平
END IF;
END IF;
END PROCESS P_REG ;
P_DIV: PROCESS(FULL)
VARIABLE CNT2 : STD_LOGIC;
BEGIN
IF FULLEVENT AND FULL = 1 THEN
CNT2 := NOT CNT2; --如果溢出标志信号FULL为高电平,D触发器输出取反
IF CNT2 = 1 THEN FOUT = 1; ELSE FOUT = 0;
END IF;
END IF;
END PROCESS P_DIV ;
END;
八、仿真分析
九、硬件逻辑验证
选择实验电路结构图NO.
引脚的锁定:
总的来说,这次设计的数控分频器还是比较成功的。通过实验我初步掌握了分频计数器的设计原理我基本上掌握了实验的步骤,能够脱离课本操作,但熟练程度有待于提高。在硬件下载时遇到了问题,我们做了很多尝试,比如换试验箱,替换管脚等都无法成功。分频计数器输入的源程序是在老师的帮助下完成的,我认为我们应养成独立思索的好习惯,下次我会尝试自己编写程序。一次生,二回熟。我相信只要我敢于编程,勤于编程,就一定会有进步。
文档评论(0)