计数器及数码显示综合设计二.docx
- 文档编号:24139928
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:14
- 大小:160.13KB
计数器及数码显示综合设计二.docx
《计数器及数码显示综合设计二.docx》由会员分享,可在线阅读,更多相关《计数器及数码显示综合设计二.docx(14页珍藏版)》请在冰豆网上搜索。
计数器及数码显示综合设计二
北华航天工业学院
综合实践总结报告
综合实践名称:
EDA技术与实践
计数器及数码显示综合设计
(二)
综合实践地点、时间
专业班级:
姓名:
学号:
同组人员:
指导教师姓名:
完成时间:
目录
1、课程设计概述
2、方案设计与论证
3、综合实践的目的
4、综合实践理论基础和核心内容
五、综合实践具体内容和记录(图、表或程序等)
六、综合实践所需仪器设备
七、参考资料
八、心得体会
一、课程设计概述
对可编程器件FLEX10k84_3编程下载十二进制和六十进制可逆计数器分时显示及译码电路模块的顶层文件,根据分配的引脚连接硬件电路。
硬件电路中由四个数码管来分时显示十二进制、六十进制可逆计数器的计数脉冲。
将使能端、清零端分别接三个开关控制计数的启停、清零、六十进制可逆计数器的加减。
位选信号的频率5MHZ实现数码管显示不闪烁,计数脉冲的频率较小为1.25HZ。
实验中的数码管是共阴极由三—八译码器来输出低电平控制数码管的公共端使数码管可以显示计数脉冲。
用了三个数码管对应实验箱上的678三个第6个显示的是十二进制的计数器第七个显示六十进制的高位第八个显示六十进制的低位
二、方案设计与论证
本次设计中将任务分成几个部来完成分别是:
十二进制计数器、六十进制可逆计数器、译码部分、时间扫描模块和顶层文件
十二进制计数器:
在这个部分中要实现带使能输入、同步清0的增1十二进制的计数器计数功能。
使能端en低电平有效计数器开始计数,高电平停止计数,清零端rst高电平清零低电平正常计数。
六十进制可逆计数器:
在这个部分中要实现带使能输入、同步清0的增1六十进制的可逆计数器计数功能。
计数部分分为计数的个位和十位,使能端en低电平有效计数器开始计数,高电平停止计数,清零端rst高电平清零低电平计数,可逆计数器的控制端up_down低电平实现加法计数器的功能,高电平实现减法计数器的功能。
分时扫描及译码部分:
在这个部分需设计一个共阴7段数码管控制接口,在时钟信号的控制下,分时选择数码管显示相应计数器的计数脉冲,使4位数码管动态刷新显示两个计数器的计数结果,并将送来的计数器的计算值转换为相应的段码在数码管上显示计数脉冲的个数。
顶层文件:
在这一部分确定上述几个部分中相应输入输出端口的连接关系。
三、综合实践的目的
1.熟悉MAX+PLUSⅡ工具软件
2.熟悉VHDL语言设计
3.学习EDA课程的综合设计
4.学习计数器的VHDL语言设计
5.了解器件编程和下载及硬件接口连接.
四、综合实践理论基础和核心内容
1.学习EDA开发软件和MAX+PLUSⅡ的使用方法,熟悉可编程逻辑器件的使用。
2.根据系统设设计要求,系统的底层设计主要有十二进制计数器模块,六十进制可逆计数器模块,时间扫描模块,七段译码显示模块,
3.顶层设计
五、综合实践具体内容和记录(图、表或程序等)
5.1十二进制计数器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycounter12is
port(clk,en,rst:
instd_logic;
q12l,q12h:
outstd_logic_vector(3downto0));
endcounter12;
architecturefunofcounter12is
signalq11,q22:
std_logic_vector(3downto0);
begin
process(clk)
begin
ifclk'eventandclk='1'then
if(rst='1')thenq11<="0000";q22<="0000";
elsif(en='0')then
q11<=q11+1;
ifq11=9thenq11<=(others=>'0');
q22<=q22+1;
endif;
ifq22=1andq11=1then
q22<="0000";q11<="0000";
endif;
endif;
endif;
endprocess;
q12l<=q11;q12h<=q22;
Endfun;
5.2六十进制可逆计数器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycounter60is
port(clk,rst,en,up_down:
instd_logic;
q60l,q60h:
outstd_logic_vector(3downto0));
endcounter60;
architecturefunofcounter60is
signaldout:
std_logic_vector(7downto0);
signalq11,q22:
std_logic_vector(3downto0);
begin
process(clk)
begin
ifclk'eventandclk='1'then
if(en='0')then
if(rst='1')then
q22<="0000";q11<="0000";
else
if(up_down='0')then
q11<=q11+1;
ifq11=9thenq11<=(others=>'0');q22<=q22+1;endif;
ifq22=5andq11=9thenq22<="0000";q11<="0000";endif;
elsif(up_down='1')then
q11<=q11-1;
ifq11=0thenq11<="1001";q22<=q22-1;endif;
ifq22=0andq11=0thenq22<="0101";q11<="1001";endif;
endif;
endif;
endif;
endif;
endprocess;
q60l<=q11;q60h<=q22;
Endfun;
5.3时间扫描模块
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityseltimeis
port(clk:
instd_logic;
q12l,q12h,q60l,q60h:
instd_logic_vector(3downto0);
sel:
outstd_logic_vector(2downto0);
led:
outstd_logic_vector(3downto0));
end;
architectureaviofseltimeis
begin
process(clk)
variablea:
std_logic_vector(1downto0):
="00";
begin
ifclk'eventandclk='1'thena:
=a+1;
endif;
caseais
when"00"=>led<=q12l;sel<="000";
when"01"=>led<=q12h;sel<="001";
when"10"=>led<=q60l;sel<="010";
when"11"=>led<=q60h;sel<="011";
whenothers=>null;
endcase;
endprocess;
endfun;
5.4译码器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitydeledis
port(dout:
instd_logic_vector(3downto0);
led:
outstd_logic_vector(6downto0));
enddeled;
architecturefunofdeledis
begin
led<="1111110"whendout="0000"else
"0110000"whendout="0001"else
"1101101"whendout="0010"else
"1111001"whendout="0011"else
"0110011"whendout="0100"else
"1011011"whendout="0101"else
"1011111"whendout="0110"else
"1110000"whendout="0111"else
"1111111"whendout="1000"else
"1111011"whendout="1001"else
"1110111"whendout="1010"else
"0011111"whendout="1011"else
"1001110"whendout="1100"else
"0111101"whendout="1101"else
"1001111"whendout="1110"else
"1000111"whendout="1111";
endfun;
5.5顶层设计
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityled_cntis
port(clk:
instd_logic;
rst_12:
instd_logic;
en_12:
instd_logic;
rst_60:
instd_logic;
en_60:
instd_logic;
up_down:
instd_logic;
sel:
instd_logic_vector(2downto0);
led:
outstd_logic_vector(6downto0));
endled_cnt;
architecturetopofled_cntis
signalclk_cnt:
std_logic_vector(21downto0);
signalq12:
std_logic_vector(3downto0);
signalq60h:
std_logic_vector(3downto0);
signalq60l:
std_logic_vector(3downto0);
signaldata:
std_logic_vector(3downto0);
componentcounter12is
port(clk:
instd_logic;
rst:
instd_logic;
en:
instd_logic;
q:
outstd_logic_vector(3downto0));
endcomponent;
componentcounter60is
port(clk:
instd_logic;
rst:
instd_logic;
en:
instd_logic;
up_down:
instd_logic;
qh:
outstd_logic_vector(3downto0);
ql:
outstd_logic_vector(3downto0));
endcomponent;
componentseltimeis
port(clk:
instd_logic;
q12:
instd_logic_vector(3downto0);
q60h:
instd_logic_vector(3downto0);
q60l:
instd_logic_vector(3downto0);
sel:
instd_logic_vector(2downto0);
dout:
outstd_logic_vector(3downto0));
endcomponent;
componentdeledis
port(clk:
instd_logic;
din:
std_logic_vector(3downto0);
led:
outstd_logic_vector(6downto0)--g~a);
endcomponent;
begin
process(clk)
begin
ifrising_edge(clk)then
ifclk_cnt="111111111111111111111"then
clk_cnt<=(others=>'0');
else
clk_cnt<=clk_cnt+"000000000000000000001";
endif;
endif;
endprocess;
init_counter12:
counter12portmap(
clk=>clk_cnt(21),
rst=>rst_12,
en=>en_12,
q=>q12);
init_counter60:
counter60portmap(
clk=>clk_cnt(21),
rst=>rst_60,
en=>en_60,
up_down=>up_down,
qh=>q60h,
ql=>q60l);
init_seltime:
seltimeportmap(
clk=>clk_cnt(21),
q12=>q12,
q60h=>q60h,
q60l=>q60l,
sel=>sel,
dout=>data);
init_deled:
deledportmap(
clk=>clk_cnt(21),
din=>data,
led=>led);
endtop;
锁定引脚图:
六、综合实践所需仪器设备
计算机、EL教学实验箱、MAX+PLUSⅡ工具软件
七、参考资料
1.李国洪胡辉沈明山《EDA技术与实验》机械工业出版社
2.阎石《数字电子技术基础》高等教育出版社
3.谭会生《EDA技术综合应用实例与分析》西安电子科技大学出版社
4.曹昕燕周凤臣聂春燕《EDA技术实验与课程设计》清华大学出版社
八、实验心得
通过这次实践进一步加深了我对实践与理论相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合并从理论得出结论。
在实践中检验理论知识和结论,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说是困难重重,毕竟是第一次做,难免会遇到各种问题,
总的来说,这次设计的课程设计还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。
最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
成绩评定表
指导教师评定
平时表现
总结报告
验收
及
答辩情况
总评
评定成绩:
指导教师:
综合实践考核小组评定
评定成绩:
综合实践负责人:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计数器 数码 显示 综合 设计