同步计数器的实验总结(共7篇).docx
文本预览下载声明
同步计数器的实验总结(共7篇)
学生实验报告 实验课名称:VHDL硬件描述语言实验项目名称:同步计数器专业名称:电子科学与技术班学 级:电子科学与技术一班号: 学生姓名:黄红涛教师姓名:程鸿亮 _____XX___年_11___月__13__日 组别_____________________ 同组同学_刘增辉 实验日期:XX年11月13日实验室名称______成绩____一、实验名称: 同步计数器 二、实验目的与要求: 实验目的: 设计一个同步二十四进制计数器,理解触发器同步计数工作机制,掌握同步触发控制的VHDL描述方法以及异步清零的描述方法。 实验要求: 通过VHDL编程,实现一个同步二十四进制计数器,要求有1个异步清零端、1个时钟脉冲输入、驱动7段数码管显示的个位和十位信号端,具体接口说明如下图所示。 clk:计数时钟脉冲输入; clr:异步清零信号,高电平有效,此 时输出显示为“00” ten[6..0]:十位数的7段数码管显示输出;one[6..0]:个位数的7段数码管显示输 出; 首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。在硬件实现中,要求: 1.用实验平台的按键实现清零(clr):采用模式2的输入方式,要求用键1实现清零。2.用实验平台的数码管实现计数输出的显示:要求使用数码管8显示十位、数码管7显示 个位。3.用实验平台的LED发光阵列的LED8显示进位信号,要求当数码管输出“23” 时,进位输出有效。 4.计数器的时钟信号采用实验平台的clock0时钟资源: 可以通过跳线选择不同的时钟频率,clock0的时钟范围是~20MHz。此频率不能选择的太高,一般应选择16Hz以下,同学们可以调节此跳线观察计数效果。 三、实验内容: 实验步骤: 1.打开QuartusII软件,建立一个新的工程:2.建立VHDL文件:3.建立矢量波形文件4.进行功能仿真5.进行时序仿真6.器件的下载 四、实验条件: 1.WindowsXP操作系统 2.QuartusIIEDA开发系统3.杭州康芯SOPC硬件开发平台 五、实验原理: 1.程序流程图: 开始 结束 开始 结束 2 硬件设置与调试原理: 1)采用模式2的输入方式,用验平台的按键实现清零(clr),用LED8作为进位输出指示灯,用数码管8显示十位、数码管7显示个位,当异步清零端为高电平‘1’时,无论当前计数器的输出为多少,即可改变输出结果为“00”,数码管8,数码管7分别显示输出的十位和个位,计数结果直接可以通过数码管的显示数据读出来,当计数到达“23”时,此LED上面为高电平,正常发光。 2)计数器的输出信号随时钟信号clk的变化具有规律性,他们的变化遵循以下规律: 3)计数器的时钟信号采用实验平台的clock0时钟资源:可以通过跳线选择不同的时钟频率,clock0的时钟范围是~20MHz。此频率不能选择的太高,一般应选择16Hz以下.开发平台的适配板上有20MHz时钟资源,通过适配板上的跳线可以选择采用适配板的固定20MHz频率信号或者I/O板上的clock0时钟资源(此两类时钟在管脚映射表中都称为clock0,当然对于此实验计数时钟频率不能太高,所以必须通过跳线选择较低的频率). 六、源代码:libraryieee; use_logic_;entitycnt24is port(clk,clr:instd_logic; ten,one:outstd_logic_vector(6downto0)co:outstd_logic); endentity; architectureoneofcnt24is signalcnt_temp:integerrang0to23; functionint_to_seg7(data:integerrang0to10)returnstd_logic_vectorisvariableout_temp:std_logic_vector(6downto0); begin casedatais when0=out_temp:=;when1=out_temp:=;when2=out_temp:=;when3=out_temp:=;when4=out_temp:=;when5=out_temp:=;when6=out_temp:=;when7=out_temp:=;when8=out_temp:=;when9=out_temp:=;whenothers=out_temp:=;endcas
显示全部