利用按键开关控制数码管进行十六进制数字显示说明书 2.docx

上传人:b****5 文档编号:7669453 上传时间:2023-01-25 格式:DOCX 页数:11 大小:238.25KB
下载 相关 举报
利用按键开关控制数码管进行十六进制数字显示说明书 2.docx_第1页
第1页 / 共11页
利用按键开关控制数码管进行十六进制数字显示说明书 2.docx_第2页
第2页 / 共11页
利用按键开关控制数码管进行十六进制数字显示说明书 2.docx_第3页
第3页 / 共11页
利用按键开关控制数码管进行十六进制数字显示说明书 2.docx_第4页
第4页 / 共11页
利用按键开关控制数码管进行十六进制数字显示说明书 2.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

利用按键开关控制数码管进行十六进制数字显示说明书 2.docx

《利用按键开关控制数码管进行十六进制数字显示说明书 2.docx》由会员分享,可在线阅读,更多相关《利用按键开关控制数码管进行十六进制数字显示说明书 2.docx(11页珍藏版)》请在冰豆网上搜索。

利用按键开关控制数码管进行十六进制数字显示说明书 2.docx

利用按键开关控制数码管进行十六进制数字显示说明书2

中北大学

课程设计说明书

 

 

 

学生姓名:

XXX

学号:

XXX

学院:

仪器与电子学院 

专业:

微电子科学与工程

题目:

利用按键开关控制数码管进行十六进制

 

数字显示 

 

 

指导教师:

李圣昆职称:

讲师

 

 

 

 

2014年6月22日

\

 

1、课程设计目的

(1)学习操作数字电路设计实验开发系统,掌握数码管的工作原理及应用。

(2)掌握组合逻辑电路、时序逻辑电路的设计方法。

(3)学习掌握可编程器件设计的全过程。

2、课程设计内容和要求

2.1、设计内容

利用按键开关控制数码管进行十六进制显示。

2.2、设计要求

(1)学习掌握拨码开关控制模块、数码管的工作原理及应用;

(2)熟练掌握VHDL编程语言,编写按键开关控制模块的控制逻辑;

(3)仿真所编写的程序,模拟验证所编写的模块功能;

(4)下载程序到芯片中,硬件验证所设置的功能,能够实现十六进制数字的显示;

(5)整理设计内容,编写设计说明书。

 

3、设计方案及其实现

3.1、设计思路

由于七段数码管是共阴极的,顾可以用七个电平驱动数码管的显示。

通过对不同管脚的点亮,使数码管显示十六进制的每个数字。

可以用四个拨码开关组合成4位BCD以表示十六进制。

当四位BCD变化时,在输出端输出相应的高低电平以驱动七段数码管的显示。

 

3.2、工作原理及框图

七段共阴极数码管由数码管由abcdefg七段组成,分别对不同的引脚写高电平可以点亮。

总体原理图如下图:

 

图1总体原理图

七段数码管如下图所示:

图2七段数码管原理图

由图知,如果要显示数字“0”,只需点亮abcdef段,对应的输出端电平为1111110.要显示数字“1”,只需点亮bc段,对应的输出端电平为0110000.要显示数字“2”,只需点亮abdeg段,对应的输出端电平为1101101.同理可以显示其他数字和字母

 

3.3、模块功能描述

根据输出功能的要求,写出如下vhdl代码已实现所需的功能。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityshiliuis

port(clk:

instd_logic;

reset:

instd_logic;

con:

instd_logic_vector(3downto0);

q:

outstd_logic_vector(6downto0));

endmzg;

architecturebehaveofmzgis

signalconi:

std_logic_vector(6downto0);

begin

process(clk,reset,con)

begin

if(reset='1')

thenconi<="1111111";

else

if(clk'eventandclk='1')

then

caseconis

when"0000"=>coni<="0111111";

when"0001"=>coni<="0000110";

when"0010"=>coni<="1011011";

when"0011"=>coni<="1001111";

when"0100"=>coni<="1100110";

when"0101"=>coni<="1101101";

when"0110"=>coni<="1111101";

when"0111"=>coni<="0000111";

when"1000"=>coni<="1101111";

when"1001"=>coni<="1111011";

when"1010"=>coni<="1110111";

when"1011"=>coni<="1111100";

when"1100"=>coni<="0111001";

when"1101"=>coni<="1011110";

when"1110"=>coni<="1111001";

when"1111"=>coni<="1110001";

whenothers=>coni<=coni;

endcase;

endif;

q<=coni;

endif;

endprocess;

endbehave;

 

3.4、仿真结果

通过拨动开关对输入端依次输入BCD码,然后仿真得出以下波形图。

图3仿真波形图

 

3.5、实验箱验证情况

将程序仿真编译后下载到FPGA芯片,拨动拨码开关,可以在数码管上依次显示十进制的数字,如下面的图所示:

图4显示0图图5显示1图

图62显示图图73显示图

图84显示图图95显示图

图106显示图图117显示图

图128显示图图139显示图

图1410(A)显示图图1511(b)显示图

图1612(C)显示图图1713(d)显示图

图1612(C)显示图图1713(d)显示图

 

4、课程设计总结

PLD的发展趋势:

向高集成度、高速度方向进一步发展,最高集成度已达到400万门;向低电压和低功耗方向发展,内嵌多种功能模块RAM,ROM,FIFO,DSP,CPU方向发展;向数、模混合可编程方向发展。

以此我们必须掌握FPGA的开发及应用。

要实现某一功能,首先应根据要求查找相关资料,确定实现方案。

然后设计输入,对输入的文件编译后波形仿真。

经过仿真后下载到FPGA再进行验证,最终实现功能。

同时本次课程设计对数字电子技术有了更进一步的熟悉,实际操作和课本上的知识有很大联系,但又高于课本,一个看似很简单的电路,要动手把它设计出来就比较困难了,因为是设计要求我们在以后的学习中注意这一点,要把课本上所学到的知识和实际联系起来,同时通过本次电路的设计,不但巩固了所学知识,也使我们把理论与实践从真正意义上结合起来,增强了学习的兴趣,考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力。

通过设计拔河游戏机控制电路,让我对数字逻辑这门课有了更深刻的了解,对电子器件的认识也不再停留在字面上,实现了从理论到实践的飞跃。

我了解到理论和实践是分不开的。

只有理论不行,当你面对一堆元气件时,你会茫然不知所措;可只懂实践也不行,当别人问你为什么会这样,怎么样才算正确,你如果说凭感觉是不足以服人的。

学习的目的就是去应用,只有实践才能将书本知识转化为实用的技能。

 

5、参考文献

1.任勇峰,庄新敏.VHDL与硬件实现速成.北京:

国防工业出版社,2005

2.侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计.西安:

西安电子科技大学出版社,1999

3.基于FPGA的数字系统设计.西安:

西安电子科技大学出版社,2008

4.罗苑棠.CPLD/FPGA常用模块与综合系统设计实例精讲.北京:

电子工业出版社,2007

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1