7段数码管控制引脚Word文件下载.docx
- 文档编号:16907068
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:13
- 大小:66.13KB
7段数码管控制引脚Word文件下载.docx
《7段数码管控制引脚Word文件下载.docx》由会员分享,可在线阅读,更多相关《7段数码管控制引脚Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
名称
完成
时间
2011.
12.12
指导
教师
胡辉
职称
副教授
学生
庄仲
班级
B09212
总体设计要求和技术要点
通过本课程的学习使学生掌握可编程器件、EDA开发系统软件、硬件描述语言和电子线路设计与技能训练等各方面知识;
提高工程实践能力;
学会应用EDA技术解决一些简单的电子设计问题。
具体要求:
1.设计一个共阴7段数码管控制接口,在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,同时显示2、3、4所要求的计数器。
2.设计一个带使能输入、进位输出及同步清0的增1十进制计数器。
3.设计一个带使能输入及同步清0的六十进制同步加法计数器;
4.设计一个四位二进制可逆计数器;
工作容及时间进度安排
第16周:
周一、周二:
设计项目的输入、编译、仿真
周三:
器件编程下载与硬件验证
周四:
成果验收与总结
周五:
撰写课程设计总结报告
课程设计成果
把编写好的程序下载到试验箱,使数码管能够按照编写的程序显示出正确的结果,实验成功。
一、概述
设计一个共阴7段数码管控制接口,在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号。
一个带使能输入、进位输出及同步清0的增1十进制计数器。
一个带使能输入及同步清0的六十进制同步加法计数器和一个四位二进制可逆计数器。
要求:
在时钟信号的控制下,使6位数码管动态刷新显示上述计数器的计数结果。
二、方案设计与论证
首先VHDL语言编写底层文件和三个计数器的程序,再编写分频器和数码管的程序,最后用例化语句编写顶层文件,分别都调试在确认无误后把顶层文件下载到试验箱,连接导线,完成后实现在时钟信号的控制下,6位数码管动态刷新显示三个计数器的技术结果。
三、单元电路设计
1.数码管译码器程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitydeledis
port(num:
instd_logic_vector(3downto0);
led:
outstd_logic_vector(6downto0));
enddeled;
architecturefunofdeledis
begin
--abcdefg
led<
="
1111110"
whennum="
0000"
else
"
0110000"
0001"
"
1101101"
0010"
1111001"
0011"
0110011"
0100"
1011011"
0101"
1011111"
0110"
1110000"
0111"
1111111"
1000"
1111011"
1001"
1110111"
1010"
0011111"
1011"
1001110"
1100"
0111101"
1101"
1001111"
1110"
1000111"
1111"
;
endfun;
原理图
2.十进制计数器程序
entityt10is
port(clk,clr,en:
instd_logic;
co:
outstd_logic;
q:
bufferstd_logic_vector(3downto0));
endt10;
architecturebehaveoft10is
begin
process(clk,clr,en)
begin
if(en='
0'
)thenq<
elsif(clk'
eventandclk='
1'
)then
if(clr='
elsif(q=9)thenq<
co<
='
elseq<
=q+1;
endif;
endprocess;
endbehave;
仿真波形图
3.六十进制计数器程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYt60IS
PORT(clk,clr,en:
INSTD_LOGIC;
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDt60;
ARCHITECTUREbehaveOFt60IS
SIGNALqh,ql:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
PROCESS(clk,clr,en)
IF(en='
)THENql<
qh<
ELSIF(clk'
)THEN
IF(clr='
ELSIF(ql=9)THENql<
IF(qh=5)THENqh<
ELSEqh<
=qh+1;
ENDIF;
ELSEql<
=ql+1;
q<
=qh&
ql;
ENDPROCESS;
ENDbehave;
波形图
4.四位二进制可逆计数器程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitykn4is
port(clk,clr,plus_sub:
q:
endkn4;
architecturebehaveofkn4is
begin
process(clk,clr,plus_sub)
if(clk'
if(clr='
elsif(plus_sub='
)then
if(q=15)thenq<
elseq<
endif;
if(q=0)thenq<
=q-1;
endprocess;
endbehave;
5.时间数据扫描分时选择模块程序
useieee.std_logic_arith.all;
entityseltimeis
port(clk,reset,ci:
Kn4,cnt10:
t60:
instd_logic_vector(7downto0);
daout:
outstd_logic_vector(3downto0);
dp:
sel:
outstd_logic_vector(2downto0));
endseltime;
architecturefunofseltimeis
signalcount:
std_logic_vector(2downto0);
sel<
=count;
process(clk,reset)
begin
if(reset='
count<
000"
elsif(clk'
if(count>
101"
else
=count+1;
endif;
casecountis
when"
=>
daout<
=cnt10(3downto0);
dp<
001"
daout(3downto1)<
daout(0)<
=ci;
010"
=kn4(3downto0);
011"
=cnt60(7downto4);
whenothers=>
=cnt60(3downto0);
endcase;
endprocess;
6.顶层文件程序
entityss_topis
port(clk,clr,en,plus_sub,clkdsp:
a,b,c,d,e,f,g,dpout:
sel:
endss_top;
architectureoneofss_topis
componentt60
port(clk,clr,en:
outstd_logic_vector(7downto0));
endcomponent;
componentkn4
componentt10
co:
componentdeled
PORT(num:
componentseltime
t60:
kn4:
t10:
dp:
daout:
signalt60_out:
std_logic_vector(7downto0);
signalkn4_out:
std_logic_vector(3downto0);
signalt10_out:
signalt10_co:
std_logic;
signalledout:
std_logic_vector(6downto0);
signalseltime_out:
Begin
a<
=ledout(6);
b<
=ledout(5);
c<
=ledout(4);
d<
=ledout(3);
e<
=ledout
(2);
f<
=ledout
(1);
g<
=ledout(0);
u1:
deledportmap(num=>
seltime_out,led=>
ledout);
u2:
cnt10portmap(clk=>
clk,clr=>
clr,en=>
en,co=>
cnt10_co,q=>
cnt10_out);
u3:
cnt60portmap(clk=>
en,q=>
cnt60_out);
u4:
kn4portmap(clk=>
clr,plus_sub=>
plus_sub,q=>
cnt16_out);
u5:
seltime
portmap(clk=>
clkdsp,reset=>
clr,ci=>
cnt10_co,cnt60=>
cnt60_out,
kn4=>
kn4_out,cnt10=>
cnt10_out,
daout=>
seltime_out,dp=>
dpout,sel=>
sel);
endone;
四、总的原理图
五、器件编程与下载
用VHDL语言编译四种计数器的、译码器和分时器的程序,然后把他们用例化语句编译成顶层文件,仿真成功以后下载到试验箱通过数码管显示出结果,试验成功。
六、性能测试与分析
各个程序编译完成以后,通过波形图检测程序的正确性,当源程序en=1时程序才能运行,当clr=1时清零,等于零时工作,在两个都工作的情况下在clk的上升沿时数据进位,clk=0时保持,等于1时运行。
如果程序按以上所说正常循环说明程序正确。
七、实验设备
计算机一台,EDA实验箱一台,下载电缆一根,导线若干。
八、心得体会
通过一周的EDA课设实践,虽然时间不是很长,但是我学到了很多。
通过实践让我能够熟练的运用VHDL语言和Quartus‖软件,发现这个软件功能十分的强大,而且用途也很广。
在实践中我们遇到了挺多的困难,在开始的程序编写中其实还挺顺利的,但是把它编写到EDA试验箱中让它通过数码管显示出结果时,事实并不是想象中的那样,通过多次的更改和实验,最终实验成功。
到最后找到失败的原因时让我们都感到很惊讶,它仅仅是一个让我们所有人都忽略的小小的细节,这也让我明白了一个道理,做任何事,不管大小都要认真仔细,要集中百分之百的注意力在上面,保证没有一丝遗漏,才能把事情做好。
还有在遇到困难时要有不抛弃不放弃的劲头,要相信在任何时候办法总比困难多。
这次实践让我收获很多,为我以后的学习打下了坚实的基础,也为我以后的学习生活增添的信心。
九、参考文献
1.国洪,胡辉,明山《EDA技术与实验》机械工业
2.徐惠民,安德宁《数字逻辑设计与VHDL描述》机械工业
3.璇,臧春华《数字系统设计与PLD应用技术》电子工业
4.赜,朱如琪《在系统可编程技术实践教程》科学
5.曙光,郭万有等《可编程逻辑器件原理、开发与应用》电子科技大学出版
指导教师评语及设计成绩
评语
课程设计成绩:
日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 控制 引脚