数字逻辑与数字系统课程设计报告.docx
- 文档编号:4717252
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:14
- 大小:205.74KB
数字逻辑与数字系统课程设计报告.docx
《数字逻辑与数字系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《数字逻辑与数字系统课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
数字逻辑与数字系统课程设计报告
数字逻辑与数字系统
课程设计
计083-1
200825503103
李晓斌
指导老师:
沙丽杰心得
一、系统简介
a)具有以下二十四小时制计时器、显示、整点报时、时间设置的功能。
b)设计精度要求为1秒。
二、系统功能
计时:
正常工作状态下,每日按24小时计时制计时并显示,蜂鸣器无声,逢整点报时。
校时:
在计时显示状态下,
1)按下“h键”,将以频率为4HZ调节小时。
2)按下“m键”,将以频率为4HZ调节分钟。
3)按下“rscl键”,将会使秒钟清零。
整点报时:
逢整点蜂鸣器在“59”分钟的第51、53、55、57秒发频率为512Hz的低音,在“59”分钟的第59秒发频率为1024Hz的高音。
三、总体结构逻辑框图
四、各模块程序、符号图、仿真图
模块一:
动态显示器
1)模八计数器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityco_8is
port(clk,clr:
instd_logic;
en:
instd_logic;
ql:
outstd_logic_vector(2downto0);
c8:
outstd_logic);
endco_8;
architecturertlofco_8is
signalqcl:
std_logic_vector(2downto0);
begin
process(clk)
begin
if(clr='0')then
qcl<="000";
elsif(clk'eventandclk='1')then
if(en='1')then
if(qcl="111")then
qcl<="000";c8<='1';
else
qcl<=qcl+'1';c8<='0';
endif;
endif;
endif;
endprocess;
ql<=qcl;
endrtl;
2)8选1多路选择器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned;
entitymux8_1is
port(d0,d1,d2,d3,d4,d5,d6,d7:
instd_logic_vector(3downto0);
sel:
instd_logic_vector(2downto0);
y:
outstd_logic_vector(3downto0));
endmux8_1;
architecturearchofmux8_1is
begin
process(sel)
begin
caseselis
when"000"=>y<=d0;
when"001"=>y<=d1;
when"010"=>y<=d2;
when"011"=>y<=d3;
when"100"=>y<=d4;
when"101"=>y<=d5;
when"110"=>y<=d6;
when"111"=>y<=d7;
whenothers=>y<="XXXX";
endcase;
endprocess;
endarch;
3)BCD—7段译码器
LIBRARYieee;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmxh7448_1IS
PORT(xin:
INSTD_LOGIC_VECTOR(3downto0);
x:
OUTSTD_LOGIC_VECTOR(6downto0));
ENDmxh7448_1;
ARCHITECTUREseg7448OFmxh7448_1IS
SIGNALsig_xin:
STD_LOGIC_VECTOR(3downto0);
BEGIN
sig_xin<=xin;
PROCESS(sig_xin)
BEGIN
CASEsig_xinIS
WHEN"0000"=>x<="1111110";
WHEN"0001"=>x<="0110000";
WHEN"0010"=>x<="1101101";
WHEN"0011"=>x<="1111001";
WHEN"0100"=>x<="0110011";
WHEN"0101"=>x<="1011011";
WHEN"0110"=>x<="1011111";
WHEN"0111"=>x<="1110000";
WHEN"1000"=>x<="1111111";
WHEN"1001"=>x<="1111011";
WHENothers=>x<="0000001";
ENDCASE;
ENDPROCESS;
ENDseg7448;
模块二:
时钟控制信号
1)模60计数器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycount_60is
port(clk,clr:
instd_logic;
en:
instd_logic;
ql:
outstd_logic_vector(3downto0);
qh:
outstd_logic_vector(3downto0);
co:
outstd_logic);
endcount_60;
architecturebehavofcount_60is
signalqcl:
std_logic_vector(3downto0);
signalqch:
std_logic_vector(3downto0);
begin
process(clk)
begin
if(clr='0')then
qcl<="0000";qch<="0000";
elsif(clk'eventandclk='1')then
co<='0';
if(en='1'andqch="0101"andqcl="1001")then
qcl<="0000";qch<="0000";co<='1';
else
if(en='1'andqcl<"1001")then
qcl<=qcl+'1';
elsif(en='1'andqcl="1001")then
qch<=qch+'1';qcl<="0000";
endif;
endif;
endif;
qh<=qch;
ql<=qcl;
endprocess;
endbehav;
2)模24计数器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycountt_24is
port(clk,clr:
instd_logic;
en:
instd_logic;
ql:
outstd_logic_vector(3downto0);
qh:
outstd_logic_vector(3downto0);
co:
outstd_logic);
endcountt_24;
architecturebehavofcountt_24is
signalqcl:
std_logic_vector(3downto0);
signalqch:
std_logic_vector(3downto0);
begin
process(clk)
begin
if(clr='0')then
qcl<="0000";qch<="0000";
elsif(clk'eventandclk='1')then
co<='0';
if(en='1'andqch="0010"andqcl="0011")then
qcl<="0000";qch<="0000";co<='1';
else
if(en='1'andqcl<"1001")then
qcl<=qcl+'1';
elsif(en='1'andqcl="1001")then
qch<=qch+'1';qcl<="0000";
endif;
endif;
endif;
qh<=qch;
ql<=qcl;
endprocess;
endbehav;
模块三:
报时
1)报时控制器
libraryieee;
useieee.std_logic_1164.all;
entitybaoshikongzhiis
port(m2,m1,s2,s1:
instd_logic_vector(3downto0);
clk:
instd_logic;
h500,h1000:
outstd_logic);
endbaoshikongzhi;
architecturesss_arcofbaoshikongzhiis
begin
process(clk)
begin
ifclk'eventandclk='1'then
ifm2="0101"andm1="1001"ands2="0101"then
ifs1="0001"ors1="0011"ors1="0101"ors1="0111"then
h500<='1';
else
h500<='0';
endif;
endif;
ifm2="0101"andm1="1001"ands2="0101"ands1="1001"then
h1000<='1';
else
h1000<='0';
endif;
endif;
endprocess;
endsss_arc;
2)响铃
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityringis
port(h500,h1000,clk,clk1k:
instd_logic;
rg:
outstd_logic);
endring;
architecturertlofringis
begin
process(h500,h1000)
begin
if(h500='1')then
rg<=clk;
elsif(h1000='1')then
rg<=clk1k;
else
rg<='0';
endif;
endprocess;
endrtl;
模块四:
分频器
1)分频器的组成
2)模二计数器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycount_2is
port(clk,clr:
instd_logic;
en:
instd_logic;--'1'--count'0'---keep
ql:
outstd_logic_vector(1downto0);
co:
outstd_logic);
endcount_2;
architecturertlofcount_2is
signalqcl:
std_logic_vector(1downto0);
begin
process(clk)
begin
if(clr='0')then
qcl<="00";
elsif(clk'eventandclk='1')then
if(en='1')then
if(qcl="01")then
qcl<="00";co<='1';
else
qcl<=qcl+'1';co<='0';
endif;
endif;
endif;
ql<=qcl;
endprocess;
endrtl;
3)模四计数器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycount_4is
port(clk,clr:
instd_logic;
en:
instd_logic;--'1'--count'0'---keep
ql:
outstd_logic_vector(1downto0);
co:
outstd_logic);
endcount_4;
architecturertlofcount_4is
signalqcl:
std_logic_vector(1downto0);
begin
process(clk)
begin
if(clr='0')then
qcl<="00";
elsif(clk'eventandclk='1')then
if(en='1')then
if(qcl="11")then
qcl<="00";co<='1';
else
qcl<=qcl+'1';co<='0';
endif;
endif;
endif;
endprocess;
ql<=qcl;
endrtl;
五:
感悟
数字逻辑课程设计昨天下午才刚刚验完,眼前的一切还是很熟悉。
经过了几天的写程序、仿真、下载和调试,我觉得相比考试而言,课程设计才是最能锻炼认的能力的一个过程,也是学好这门课最好的方法。
从最开始的一无所知,问老师,问同学,反复研究别人写的程序,慢慢整理思路,才开始对数字钟这个课题有了一定的了解,才有了自己大体的框架,知道要实现什么功能,需要哪些变量、哪些语句才能够实现它。
程序是一个很虚幻的东西,它发生错误的时候,自己是看不到的,而不像别的东西一样可以一目了然,如果系统可以给出提示还好,就有了大体的方向去改正它,那种编译不出来的错误才是最可怕的,结果就只能是重新来过。
但是在错误中才能得到最大的提高,从错误中吸取教训就是一个不断成长的过程,MUX+PLUS
像是一个蛮横的孩子,结果只能是你去迁就他,而他不会为你做任何改变,并且这是唯一的途径去解决问题。
无形的东西给了足够大的空间去改变,所以当把程序下载到实验箱上以后,所面对的一切不正常都是有可能的,它需要你有足够的耐心和充沛的精力去修改它,并且要勇于用各种方法去尝试,直至得出正确的结果。
这次课程设计只是大学中的一个小小插曲,过程是最重要的,在这个过程中收获到了许多知识,提高了动手能力,并且在这个过程中体会到了同学之间的合作的快乐,在大家的“相互改错”中增进了友谊。
随着课程学习的加深,工科女的快乐与心酸只能是属于自己人生中亮丽的风景线。
最后,感谢老师的谆谆教导,为我们改正错误,传授给我们知识,谢谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 逻辑 系统 课程设计 报告