2023年7月14日发(作者:)
北京化工大学北方学院
课程设计报告
课程名称 控制工程课程设计
专业、班级
学 号
姓 名
指导教师
设计时间 2012.9.24-2012.10.19
2012年 10 月 20 日
1 一、
引言(简要说明设计题目的目的、意义、内容、主要任务等)
目的:学习跑马灯的设计;
增进对一些实际问题的软、硬件知识的掌握;
初步掌握VHDL语言中时序逻辑的设计实现;
熟练掌握根据波形仿真结果进行验证设计的过程;
内容:学习VHDL的CASE语句应用, 学习简单时序电路的设计、仿真;
任务:按照老师的课堂要求,完成规定的跑马灯的设计;
意义: 锻炼学生的动手能力以及学习软件与硬件结合的能力;
让我们达到实际操作的要求,为以后步入社会打下一点基础;
二、 正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的有关要求。)
仪器设备:数字电路实验箱EDA软件;
设计要求:
控制8个LED进行花式显示,设计4种显示模式:
S0:从左到右逐个点亮LED;
S1:从右到左逐个点亮LED;
S2:从两边到中间逐个点亮LED;
S3:从中间到两边逐个点亮LED;
4种模式循环切换,复位键(rst)控制系统的运行和停止。
2
设计方法:
采用文本编辑法,即利用VHDL语言描述跑马灯,代码如下;
软件程序:
LIBRARY ieee;
USE _logic_;
USE _logic_;
ENTITY led IS
PORT(clk:in std_logic;
rst:in std_logic;
q:out std_logic_vector(7 downto 0));
end;
architecture one of led is
type states is(s0,s1,s2,s3);
signal present:states;
signal q1:std_logic_vector(7 downto 0);
signal count:std_logic_vector(3 downto 0);
begin
process(clk,rst)
begin if rst='1' then
present<=s0;
q1<=(others=>'0');
elsif clk'event and clk='1' then
case present is
when S0=>if q1="00000000"then
q1<="10000000";
else
if count="0111"then
count<=(others=>'0');
q1<="00000001";
present<=s1;
else q1<=q1(0)&q1(7 downto 1);
count<=count+1;
present<=s0;
end if;
end if;
when s1=>if count="0111"then
count<=(others=>'0');
q1<="10000001";
present<=s2;
else q1<=q1(6 downto 0)&q1(7);
3 count<=count+1;
present<=s1;
end if;
when s2=>if count="0111"then
count<=(others=>'0');
q1<="00011000";
present<=s3;
else q1(7 downto 4)<=q1(4)&q1(7 downto 5);
q1(3 downto 0)<=q1(2 downto 0)&q1(3);
count<=count+1;
present<=s2;
end if;
when s3=>if count="0111" then
count<=(others=>'0');
q1<="10000000";
present<=s0;
else q1(7 downto 4)<=q1(6 downto 4)&q1(7);
q1(3 downto 0)<=q1(0)&q1(3 downto 1);
count<=count+1;
present<=s3;
end if;
end case;
end if;
end process;
q<=q1;
end;
仿真结果:
跑马灯的功能仿真结果如图a,b所示,其时序仿真结果如图c,d所示.观察波形可知,随着不同输入信号的输入,从而得到不同的输出,最终实现了跑马灯的功能。
4
功能仿真图如下:
图a
图 b
时序仿真图如下:
5 图c
图d
6 三、 结论(应当准确、完整、明确精练;也可以在结论或讨论中提出建议、设想、尚待解决问题等。)
心得体会:
我意识到了知识的乐趣性,并且感觉到当知识运用于实践的时候是一件多么开心的事情。我也发现自己的知识功底还远远不够,平时不仅要将知识点理解掌握,还得勤动手做实验,在以后的学习中我会更加努力,在掌握理论知识的基础上,提高自己的动手能力。
建议:
我希望老师在我们做设计之前应先告诉我们一些关于EDA实验的一些相关知识以及软件知识的一些介绍,如何理解性的记忆软件程序的操作与应用,这样会有助于我们更加理解设计的思路,进一步的进入状态完成设计,以及将来应用到实际工作当中。
结论:
系统完成了一种显示方式后就会自动进入下一种设定好的显示模式,如此反复循环。当需要程序复位时,只需按下rst键即可,程序不管走都那里,执行那条语句,只要确定复位键按下时,程序立刻返回到程序执行语句的第一步,程序接着进行新的循环点亮。
四、
参考文献
【1】张艳春. 《数字电子系统的EDA设计方法研究 》. 现代电子技术 2009年;
【2】赵伟军;《Protel99se教程》.北京 . 人民邮电出版社 1996年;
【3】金西.《VHDL与复杂数字系统设计》.西安 .西安电子科技大学出版社 2003年;
7
【4】汉泽西《EDA技术及其应用》 .北京 .北京航空航天大学出版社. 2004年;
【5】贾士鹃. 基于USB2.0的综合虚拟测试仪的研究与开发 . 南京理工大学 2008年;
【6】马花萍. 基于单片机的数据采集卡的设计 . 内江科技 2010年;
五、
指导教师评语
签名:
年 月 日
课程设计成绩(五级分制)
8
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689328709a230669.html
评论列表(0条)