预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

北华航天工业学院 《EDA技术综合设计》 课程设计报告 重写 报告题目:用六位数码管动态显示计数器的计数结果 作者所在系部:电子工程系 作者所在专业:自动化 作者所在班级:B08221班03号 作者姓名:肖茂林 指导教师姓名:崔瑞雪 完成时间:2010年12月1日 课程设计任务书 2010年 课题名称用六位数码管动态显示计数器的计数结果完成时间 11月30日 指导教师崔瑞雪职称教授学生姓名肖茂林班级B08221 总体设计要求和技术要点 ①总体设计要求:设计一个能在7段数码管上动态刷新显示十进制、十二进制、六十进制、 四位二进制计数器计数结果的VHDL语言程序并在EDA实验开发系统上实现该功能。 ②技术要点:VHDL语言编辑程序、共阴7段数码管及FPGA可编程芯片的工作原理与连线。 工作内容及时间进度安排 2010年11月18日—28日编辑VHDL语言程序 2010年11月29日在教二实验室调试程序 2010年11月30日在实验室答辩验收 课程设计成果 2 1.与设计内容对应的软件程序 2.课程设计报告书 3.成果使用说明书 4.设计工作量要求 内容摘要 用VHDL语言在MAX+PLUS2环境下 设计一个带使能输入、进位输出及同步清零的十进制计数器。 设计一个带使能输入及同步清零的十二进制计数器。 设计一个带使能输入及同步清零的六十进制加法计数器。 设计一个四位二进制可逆计数器。 设计一个共阴7段数码管控制接口,在时钟信号的控制下,使 六位数码管动态刷新显示上述计数器的计数结果。 最后在EDA实验开发系统实验操作。 关键词 计数器、EDA实验开发系统、动态显示 3 目录 一、课程设计要求……………………………………1 二、题目分析…………………………………………1 三、设计思路…………………………………………1 四、VHDL语言程序设计…………………………2 五、顶层文件截图……………………………………7 六、在EDA实验开发系统上的功能实现…………8 七、实验总结…………………………………………8 八、参考文献…………………………………………8 4 一、课程设计要求 用VHDL语言在MAX+PLUS2环境下 设计一个带使能输入、进位输出及同步清零的十进制计数器。 设计一个带使能输入及同步清零的十二进制计数器。 设计一个带使能输入及同步清零的六十进制加法计数器。 设计一个四位二进制可逆计数器。 设计一个共阴7段数码管控制接口,在时钟信号的控制下,使六位数码 管动态刷新显示上述计数器的计数结果。 最后在EDA实验开发系统实验操作。 二、题目分析 四个计数器同时开始计数,通过计数器的使能端可以随时控制计数器是否 继续工作,通过同步清零端可以随时把任何一个计数器清零重新开始计数。四 位二进制可逆计数器可以随时进行加计数或减计数。 通过六进制计数器扫描数码管和作为对其他4个计数器的选择信号,再通过 一个数据选择器选择出计数器的输出信号,通过4-7译码器的输出信号在数码 管上显示出计数结果。 三、设计思路 当时钟信号频率足够大时可以实现六个数码管“同时”显示各计数 5 器的计数结果。因为人的眼睛分辨不出各数码管的快速跳变。所以能实 现所要求的同步计数的目的。 四、VHDL语言程序设计 1.十进制计数器: LIBRARYIEEE; USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYJISHU10IS PORT(CLK,E,L:INSTD_LOGIC; I:INSTD_LOGIC_VECTOR(3DOWNTO0); C:OUTSTD_LOGIC; O:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0)); ENDJISHU10; ARCHITECTUREABCOFJISHU10IS BEGIN PROCESS(I) BEGIN IFRISING_EDGE(CLK)THEN IFL='1'THENO<=I; ELSIFE='1'THEN IF ELSEO<=O+1; ENDIF; ENDIF; ENDIF; ENDPROCESS; ENDABC; 2.十二进制计数器: LIBRARYIEEE; USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYJISHU12IS PORT(CLK,E,L:INSTD_LOGIC; I:IN