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