跑马灯设计方案EDA课程设计方案

合集下载

单片机闪烁灯跑马灯控制课程设计

单片机闪烁灯跑马灯控制课程设计

单片机闪烁灯跑马灯控制课程设计单片机闪烁灯跑马灯控制课程设计报告一、引言本课程设计旨在通过学习和实践单片机(MCU)编程,实现闪烁灯和跑马灯的控制。

我们将使用嵌入式C语言编程,通过了解单片机的内部结构、电路设计和编程流程,深入理解单片机的工作原理和应用。

二、系统硬件设计本课程设计选用51单片机作为主控芯片,外接8个LED灯和1个按键。

硬件电路设计如下:1.单片机:采用AT89C51,该芯片具有32K字节的Flash存储器,256字节的RAM,以及两个16位定时器/计数器。

2.LED灯:采用普通LED灯珠,与单片机引脚相连,通过编程控制LED灯的亮灭状态。

3.按键:采用机械按键,与单片机的外部中断0(EX0)相连,用于触发闪烁灯和跑马灯的切换。

三、系统软件设计1.闪烁灯模式:在此模式下,8个LED灯将按照一定的频率交替闪烁。

我们可以通过计时器和GPIO口控制LED灯的亮灭状态。

void blink_LED(void) {int i;while(1) {for(i = 0; i < 8; i++) {P1_0 = ~P1_0; // 翻转LED状态delay(500); // 延时,控制闪烁频率}}}2.跑马灯模式:在此模式下,8个LED灯将按照一定的顺序依次点亮。

我们可以通过计时器和GPIO口控制LED灯的亮灭状态。

void marquee_LED(void) {int i;int led_state[8] = {0, 1, 0, 1, 0, 1, 0, 1}; // LED状态数组,初始为交替亮灭while(1) {for(i = 0; i < 8; i++) {P1_0 = led_state[i]; // 设置LED状态delay(50); // 延时,控制跑马灯速度}}}四、按键处理程序我们通过外部中断0(EX0)接收按键信号,当按键按下时,将切换闪烁灯和跑马灯模式。

按键处理程序如下:void EX0_ISR(void) interrupt 0 { // EX0中断服务程序if (key_flag) { // 如果按键已经被按下过if (key_value == 0) { // 如果按键状态为低电平marquee_LED(); // 切换到跑马灯模式key_flag = 0; // 标记按键状态已经改变} else { // 如果按键状态为高电平blink_LED(); // 切换到闪烁灯模式key_flag = 0; // 标记按键状态已经改变}key_value = ~key_value; // 翻转按键状态值} else { // 如果按键还没有被按下过key_value = ~key_value; // 翻转按键状态值if (key_value == 0) { // 如果按键状态为低电平blink_LED(); // 切换到闪烁灯模式key_flag = 1; // 标记按键状态已经改变} else { // 如果按键状态为高电平marquee_LED(); // 切换到跑马灯模式key_flag = 1; // 标记按键状态已经改变}}}。

4017跑马灯课程设计

4017跑马灯课程设计

4017跑马灯课程设计一、课程目标知识目标:1. 学生能理解跑马灯的基本原理,掌握跑马灯电路的设计与搭建;2. 学生能运用所学知识,分析跑马灯电路中各个组件的作用及相互关系;3. 学生了解跑马灯在生活中的应用,提高对电子技术的认识和兴趣。

技能目标:1. 学生能独立完成跑马灯电路的搭建,提高动手操作能力;2. 学生能通过跑马灯电路的设计与制作,培养创新思维和问题解决能力;3. 学生能运用跑马灯项目,提高团队协作和沟通能力。

情感态度价值观目标:1. 学生通过跑马灯课程,培养对电子技术的热爱和好奇心,增强学习动力;2. 学生在跑马灯设计与制作过程中,树立自信心,勇于面对挑战,培养克服困难的意志;3. 学生在团队协作中,学会尊重他人,培养良好的合作精神和沟通能力。

课程性质:本课程为电子技术实践课程,结合理论知识与动手操作,培养学生的实际应用能力。

学生特点:四年级学生具有一定的电子技术基础,好奇心强,喜欢动手操作,但注意力容易分散,需要激发兴趣和引导。

教学要求:注重理论与实践相结合,强调学生动手操作和团队协作,注重培养学生的学习兴趣和创新能力。

通过跑马灯课程,使学生在实践中掌握知识,提高技能,培养情感态度价值观。

教学过程中,关注学生个体差异,因材施教,确保每个学生都能达到课程目标。

二、教学内容本课程教学内容围绕跑马灯电路的设计与制作展开,包括以下部分:1. 跑马灯原理及电路设计- 介绍跑马灯基本原理,引导学生理解电路工作过程;- 结合课本相关章节,讲解跑马灯电路的设计方法,分析电路中各组件的作用及选型。

2. 跑马灯电路搭建与调试- 指导学生进行跑马灯电路的搭建,培养学生的动手操作能力;- 引导学生根据电路原理图,连接电路,并调试电路,确保跑马灯正常工作。

3. 跑马灯程序编写与优化- 介绍跑马灯程序的编写方法,结合课本内容,使学生掌握编程技巧;- 引导学生优化程序,实现跑马灯的不同效果,培养学生的创新思维。

EDA实验 跑马灯

EDA实验 跑马灯

实验题目:跑马灯设计一、设计任务:设计8个LED进行花式显示,设计4种显示模式:1、从左到右逐个点亮LED;2、从右到左逐个点亮LED;3、从两边到中间逐个点亮LED;4、从中间到两边逐个点亮LED。

使得四种模式循环切换,由复位键rst控制系统的运行与停止。

二、实验过程⒈设计思路:分析该题目出现的所有状态,用“00000000”表示s0,“10000000”表示s1,“01000000”表示s2,“00100000”表示s3,“00010000”表示s4,“00001000”表示s5,“00000100”表示s6,“00000010”表示s7,“00000001”表示s8,“10000001”表示s9,“01000010”表示s10,“00100100”表示s11,“00011000”表示s12,另外定义了一个中间变量pp,用来表示该种状态的下一个状态为何,用来满足四种状态模式的连接操作。

在程序的结构体中编写两种进程,时序进程和组合进程,它们分别用来控制时钟、复位等时序信息和具体的状态转换关系。

根据状态转换图,对每一种状态编写下一项的确定状态,用pp来引导。

同时在适当的位置,进行pp值的定义变化,分别是“00000000”、“10000000”、“00000001”、“00011000”、“10000001”。

⒉设计方案:将列写出的状态转换图用VHDL语言表达出来,设计好相应的输入输出端口及功能过程,进行设计处理,编译文件,修改其中的错误,再用波形图进行编辑仿真描述,以便检查其功能是否正确,最后下载链接到硬件设备上检查其功能。

⒊设计步骤:(1)用VHDL语言设计实现计数器:运行QuartusII软件,选择菜单File/New Project Wizard...,新建一个项目,选择cyclone系列的芯片;在此项目下新建VHDL文件,编写计数器代码:library ieee;use ieee.std_logic_1164.all;entity test3 isport(clk, reset,stop : in std_logic;qout : buffer std_logic_vector(7 downto 0));end test3;architecture be of test3 istype fsm_st is(s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12);signal current_state, next_state : fsm_st;signal pp : std_logic_vector(1 downto 0);beginreg : process(reset, clk)beginif reset = '1' then current_state <= s0;elsif rising_edge(clk) thencurrent_state <= next_state;end if;end process;com : process(current_state, reset)begincase current_state iswhen s0 => qout <= "00000000";if( reset ='0' and stop='0') then next_state <= s1; pp <= "00"; end if;when s1 => qout <= "10000000";if (pp = "00" and stop='0') then next_state <= s2;elsif (pp = "01" and stop='0')then next_state <= s9; pp <= "10"; end if;when s2 => qout <= "01000000";if (pp = "00" and stop='0')then next_state <= s3;elsif (pp = "01" and stop='0')then next_state <= s1;end if;when s3 => qout <= "00100000";if (pp = "00" and stop='0') then next_state <= s4;elsif (pp = "01" and stop='0')then next_state <= s2;end if;when s4 => qout <= "00010000";if (pp = "00" and stop='0')then next_state <= s5;elsif( pp = "01" and stop='0')then next_state <= s3;end if;when s5 => qout <= "00001000";if( pp = "00" and stop='0')then next_state <= s6;elsif (pp = "01" and stop='0')then next_state <= s4;end if;when s6 => qout <= "00000100";if (pp = "00" and stop='0')then next_state <= s7;elsif( pp = "01" and stop='0')then next_state <= s5;end if;when s7 => qout <= "00000010";if (pp = "00" and stop='0')then next_state <= s8;elsif (pp = "01" and stop='0')then next_state <= s6;end if;when s8 => qout <= "00000001";if (pp = "00" and stop='0')then next_state <= s7; pp <= "01"; end if;when s9 => qout <= "10000001";if (pp = "10" and stop='0')then next_state <= s10;elsif (pp = "11" and stop='0')then next_state <= s1; pp <= "00"; end if;when s10 => qout <= "01000010";if (pp = "10" and stop='0')then next_state <= s11;elsif (pp = "11" and stop='0')then next_state <= s9;end if;when s11 => qout <= "00100100";if (pp = "10" and stop='0')then next_state <= s12;elsif (pp = "11" and stop='0')then next_state <= s10;end if;when s12 => qout <= "00011000";if (pp = "10" and stop='0') then next_state <= s11; pp <= "11"; end if;when others => null;end case;end process;end be;(2)将此文件进行编译.(3)新建一个vector waveform form波形图文件,设置为波形仿真。

数电课程设计(跑马灯)

数电课程设计(跑马灯)

数字电子技术课程设计设计题目:跑马灯目录设计题目 (1)1设计要求及主要技术指标.. ............................. .. (3)1.1 设计要求 (3)1.2 主要技术指标 (3)2 设计过程 (3)2.1题目分析 (3)2.2 整体构思 (3)2.3 具体实现 (4)3 元件说明 (4)3.1 元件说明 (4)4 检查过程 (7)4.1 检查过程 (7)4.2 遇到问题及解决措施..................... . (7)5 心得体会........................... ............. (8)参考文献......................................... (9)附录一:电路原理图 (9)附录二:元件清单 (10)一.设计要求及主要技术指标1.1 设计要求(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。

(2)、列出所用元器件清单并购买。

(3)、安装调试所设计的电路,使之达到设计要求。

(4)、记录实验结果。

(5)、撰写设计报告。

1.2 主要技术指标(1)实现8灯循环点亮。

(2)间隔时间可调。

(3)广告灯的样式自定。

二.设计过程2.1题目分析我们设计的跑马灯实际上是主要使用一个74LS161,一个74LS138,一个74LS20和一个78L05这四个芯片对8个LED进行控制,产生循环控制的效果。

形成一个流水似的广告灯。

2.2 整体构思拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用protel99电路设计软件画出原理图,再生成网络表和PCB板。

对照原理图进行统计要使用的元器件后,在电子市场购买所需要的电子元器件。

最后在指导老师的辅导下在实验室进行下一步工作。

2.3具体实现我们需要使用碳粉打印机把我们设计的原理图打印出来,不过要注意必须要使用不干胶纸的光滑面进行打印。

EDA实验一:流水灯与跑马灯

EDA实验一:流水灯与跑马灯

准备工作注意事项:先听老师进行讲解,然后才可以进行后面的操作。

①先进行软件破解。

破解方法可参考附件《QuartusII的奇幻漂流_v1.0》的第11-13页。

其中“licence.dat”文件在“C:\altera91\91”下,将“licence.dat”文件用记事本打开,将本电脑的网卡Mac地址去替换“HOSTID”后面的那一段,保存。

然后在quartus II菜单栏“tools”-“license setup”里把修改后的license.dat 挂上,即完成破解。

详细方法请听现场老师讲解。

(在破解之前先不要把USB-blaster数据线接到电脑上)②在插拔JTAG数据线的时候,必须保证实验箱的电源是关闭的。

如果通电时进行插拔JTAG数据线,极易损坏JTAG口。

如果不按要求操作造成设备损坏的,学生本人照价赔偿。

③驱动程序的安装。

将USB-blaster数据线接到电脑上,电脑会提示安装驱动,具体的安装方法可参考附件《QuartusII的奇幻漂流_v1.0》的第14-18页,也可听老师现场讲解。

④驱动安装好后,在保证实验箱电源是关闭的情况下,将USB-blaster数据线的JTAG接口连接到实验箱上的JTAG接口上。

连接无误后,再打开实验箱电源。

至此,准备工作就绪。

实验一流水灯与跑马灯一、实验目的1、通过一个简单的流水灯和跑马灯实验,掌握时序电路的设计方法;2、初步了解QUARTUS II 的使用全过程;3、熟悉实验箱的使用流程。

二、实验原理本实验实现的是让实验箱上的4个LED灯实现流水灯和跑马灯功能。

流水灯,就是让LED灯像流水一样地点亮。

如果把流水做慢动作播放,可以想象到其实就是移动,即:水块不断地向同一方向移动,而原来的水块保持不动,就形成了流水。

同样,如果使得最左边的灯先亮,然后,通过移位,在其右侧的灯,由左向右依次点亮,而已经亮的灯又不灭,便形成了向右的流水灯。

而当4个灯都点亮时,需要一个操作使得所有的灯恢复为初始状态,即灯都不亮。

跑马灯设计 电子课程设计

跑马灯设计   电子课程设计

电子课程设计题目:时钟和跑马灯电路
学院:
专业:
学号:
姓名:
指导:
成绩:
一、实习目的
1、了解时钟电路的工作原理。

2、熟悉电路中主要元器件555集成块的作用及特性。

3、了解跑马灯电路的工作原理。

4、熟悉电路中主要电子元器件集成块4017、74HC240的作用
和特性。

5、掌握利用三极管开关特性构成反相器的原理。

6、掌握焊接工艺的基本技能。

二、原件清单
三、电路原理
1.由555时钟电路产生的方波信号,输入到10位计数——分频器(CD4017),分频计数器产生输出信号经过74HC240驱动后输出到发光二极管D10~D19上,D10~D19循环一次点亮。

2.由于74HC240只能对8位二进制数进行反相,所以电路中加入了两个三极管非门。

3.电路图如(1-1)
四、实习成果展示
五、注意事项
1.注意集成块、二极管,三极管的插装位置,电阻阻值的识别和各元件的正负极。

注意线的连接位置要正确,且精简。

往往好的排线方式可以大大的简化电路板,使其更美观!
2.整个电路焊接完成后便可插入集成块进行测试,焊接时应谨慎小心,由于此电路焊点多且密,注意不要出现相临焊点连在一起,不要出现虚焊。

六、小结
这个设计实习非常有意义,让我学会了识别和使用各种电子元件,培养了我对电子技术的兴趣。

初步接触了电路板,使我懂得其设计要点和工作原理。

通过动手实践我发现了一些不足并且通过自己的努力解决了问题,这让我很高兴,对以后的学习大有裨益!。

跑马灯课程设计

跑马灯课程设计

摘要:本设计使用89C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果。

设计的中断程序要对多个按键动作进行响应,灯光变换的花样有4种,用4个按键k0,k1,k2,k3切换。

按下k1键,程序作左向流水灯; 按下k2按键程序作右向流水灯; 按下k3键为亮点向中间移动; 按下k4键为执行亮点向两边移动。

浏览了网上的各种作品及代码,通过各种实现代码的比较,和各种优化,总结出本程序,以较优秀的代码实现各种可控的“跑马”功能。

引言:本设计用4个开关按键控制8个发光二极管,组成为一排跑马灯进行各种样式的亮灯形式,在中断程序中处理多个按键动作的响应,以控制一排跑马灯的工作。

1设计概述本程序设计意在展示跑马灯的色彩样式及“跑马”变换效果,如果将跑马灯做大,会有很高的观赏价值。

我查阅书籍资料,浏览网上的各种作品及代码,通过各种实现代码的比较,和各种优化,总结出本程序,以较优秀的代码实现各种可控的“跑马”功能。

本设计的中断程序要对多个按键动作进行响应,灯光变换的花样有4种,用4个按键k1,k2,k3,k4切换。

进入程序后,程序作双向流水灯;按下k1键,程序作左向流水灯; 按下k2按键程序作右向流水灯; 按下k3键为亮点向中间移动; 按下k4键为执行亮点向两边移动。

2硬件电路设计及描述本设计使用89C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果,连接图如图1所示。

图1:硬件电路连接图1利用P1.0到P1.3这4个端口作为4个控制开关的输入,控制开关连接INT0中断,按键触发中断响应以停止“跑马灯”当前的执行样式,进而改变跑马灯的显示样式。

图2:硬件电路连接图2综上所述,总体的电路连接如图3:图3:总体硬件电路连接图3软件设计流程及描述主程序的设计思路为,开始时执行左右流水灯,在中断服务程序中,首先读取按键状态,然后延时10ms,再次读取按键状态。

单片机课程设计跑马灯

单片机课程设计跑马灯

单片机课程设计跑马灯一、教学目标本节课的教学目标是使学生掌握单片机的基本原理和编程方法,通过设计和实现一个跑马灯项目,培养学生运用单片机技术解决实际问题的能力。

具体目标如下:1.知识目标:a.了解单片机的基本结构和原理;b.掌握单片机的编程语言和编程方法;c.熟悉单片机的硬件接口和外围电路。

2.技能目标:a.能够使用单片机开发工具进行程序编写和烧录;b.能够根据项目需求设计单片机的程序;c.能够搭建单片机的硬件电路并进行调试。

3.情感态度价值观目标:a.培养学生对科技创新的兴趣和热情;b.培养学生团队合作精神和自主学习能力;c.培养学生关注社会问题并运用技术解决实际问题的意识。

二、教学内容本节课的教学内容主要包括以下几个部分:1.单片机的基本原理和结构;2.单片机的编程语言和编程方法;3.跑马灯项目的需求分析和设计;4.跑马灯项目的编程和调试;5.跑马灯项目的硬件电路搭建和调试。

三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解单片机的基本原理、编程语言和编程方法,使学生掌握相关知识;2.案例分析法:通过分析跑马灯项目的需求,引导学生学会项目分析和设计;3.实验法:通过搭建跑马灯项目的硬件电路和编程调试,使学生掌握单片机的实际应用;4.讨论法:在课堂上鼓励学生提问、讨论,促进学生之间的交流和合作。

四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《单片机原理与应用》;2.参考书:单片机技术的相关书籍;3.多媒体资料:单片机的原理讲解、编程方法演示、跑马灯项目案例分析等视频资料;4.实验设备:单片机开发板、外围电路元件、编程器、调试器等。

五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。

具体评估方式如下:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章设计内容与设计方案
1.1课程设计内容
控制8个LED进行花样性显示。

设计4种显示模式:s0,从左到右逐个点亮LED;s1,从右到左逐个点亮LED;s2,从两边到中间逐个点亮LED;s3,从中见到两边逐个点亮LED。

4种模式循环切换,复位键(rst)控制系统的运行停止。

数码管显示模式编号。

可预置彩灯变换速度,4档快、稍快、中速、慢速,默认工作为中速。

1.2设计方案
在掌握常用数字电路功能和原理的基础上,根据EDA技术课程所学知识,以及平时实验的具体操作内容,利用硬件描述语言HDL,EDA软件QuartusⅡ和硬件平台cycloneⅡFPGA进行一个简单的电子系统设计,本次课程设计采用Verilog HDL硬件描述语言编写控制程序,应用Quartus Ⅱ软件实现仿真测试。

采用FPGA芯片对LED灯进行控制,使其达到流水跑马灯显示的效果,LED灯采用共阳极接法,当给它一个低电平时,LED点亮,我们利用移位寄存器使各输出口循环输出高低电平,达到控制的目的。

2.1设计原理及设计流程
本次试验我所完成的内容是跑马灯的设计,下面我简单的进行一下原理的阐述。

跑马灯课程设计的要求是控制8个LED进行花样显示,设计四种显示模块:第一种显示是从左向右逐个点亮LED。

第二种显示:从右向左逐个点亮LED。

第三种显示:从两边向中间逐个点亮LED。

第四种显示:从中间到两边逐个点亮LED。

四种显示模式循环切换,并带有一位复位键控制系统的运行停止。

为了完成要求的效果显示,由于要求比较简单,所以不用分为很多模块来具体控制,所以我先择利用移位寄存器来完成灯的点亮,我们将LED灯采用共阳极接法,当给于低电平时点亮,那么当我们需要点亮某位LED灯时,只需在该位上赋予低电平即可,比如:如果我们要实现8个数码灯从左到右依次点亮,那么我们就可以给这8个数码灯分别赋值10000000,经过一段时间的延时后再给其赋值01000000,再经过一段时间延时后再给其赋值00100000,依次类推,则最后一种赋值状态为00000001,这样就得到了相应的现象。

同理,要实现数码灯从右向左依次点亮,从中间向两端依次点亮,从两端向中间依次点亮都可以采用这样赋值的方法。

为了达到四种显示模式循环切换的目的,可以将以上的所有赋值语句以顺序语句的形式置于进程中,这样在完成了一种显示方式后就会自动进入下一种设定好的显示模式,如此反复循环。

当需要程序复位时,只需按下rst键即可,程序不管走都那里,执行那条语句,只要确定复位键按下时,程序立刻返回到程序执行语句的第一步,程序接着进行新的循环点亮。

3.1 Verilog HDL程序
module ceshi(clk,rst,Q,DIN,CLK,a);
input clk,rst;
input [1:0]DIN; //DIN为变换速度档output signed[7:0]Q; //Q为7个LED output [6:0]a; //a为数码管显示模式output CLK; //自定义时钟parameter DOUT=8'b0111_1111;
reg CLK;
reg [6:0]x;
reg [1:0]cs;
reg [7:0]Q;
reg [6:0]a;
always@(posedge clk)begin
x<=7'b0000000;CLK=0;
case(DIN)
0:begin
x<=x+1'b1;
if(x==20)begin
x<=7'b0;
CLK=~CLK;
end
end
1:begin
x<=x+1'b1;
if(x==15)begin
x<=7'b0;
CLK=~CLK;
end
end
2:begin
x<=x+1'b1;
if(x==10)begin
x<=7'b0;
CLK=~CLK;
end
end
3:begin
x<=x+1'b1;
if(x==5)begin
CLK=~CLK;
end
end
default begin
x<=x+1'b1;
if(x==20)begin
x<=7'b0;
CLK=~CLK;
end
end
endcase
end
always@(posedge CLK or negedge rst)begin if(!rst)begin
Q<=DOUT;cs<=2'b00;a=7'b000_0000;
end
else begin
case(cs)
0:begin Q<=Q>>1;Q[7]<=1'b1;a=7'b0111111;
if(Q==8'b1111_1110)begin
Q<=8'b1111_1101;
cs<=2'b01;
end
end
1:begin Q<=Q<<1;Q[0]<=1'b1;a=7'b0000_110;
if(Q==8'b0111_1111)begin
Q<=8'b0111_1110;
cs<=2'b10;
end
end
2:begin Q[7:4]<=Q[7:4]>>1;
Q[3:0]<=Q[3:0]<<1;
Q[7]<=1'b1;
Q[0]<=1'b1;a=7'b1011_011;
if(Q==8'b1110_0111)begin
Q<=8'b1101_1011;
cs<=2'b11;
end
end
3:begin Q[7:4]<=Q[7:4]<<1;
Q[3:0]<=Q[3:0]>>1;
Q[4]<=1'b1;
Q[3]<=1'b1;a=7'b100_1111;
if(Q==8'b0111_1110)begin
Q<=8'b0111_1111;
end
end
default begin
Q<=DOUT;
cs<=2'b00;
a=7'b0000_000;
end
endcase
end
end
endmodule
第四章设计结果及仿真波形4.1 设计结果
图1 顶层文件原理图
4.2仿真波形
4.3仿真结果分析
当输入DIN为00时选择慢速档,CLK的周期大约为20us,随着CLK上升沿的到来输出Q做移位变化,开始从左向右移,数码管段码输出a显示0,然后从右向左移,数码管段码输出a显示1,然后从中间向两边移,数码管段码输出a显示2,然后从两边向中间移,数码管段码输出a显示3,之后循环显示,当按下复位键rst时系统运行停止,第一个灯点亮,数码管无显示。

当输入DIN为01时选择中速档,CLK的周期大约为15us,执行以上循环显示。

当输入DIN为10时选择稍快档,CLK的周期大约为10us,执行以上循环显示。

当输入DIN为11时选择快速档,CLK的周期大约为5us,执行以上循环显示。

第五章设计总结
通过这次有关于EDA技术的课程设计的学习与应用,我们基本了解了EDA技术的相关应用,也掌握了EDA设计的相关软件Quartus7.2的最基础的使用方法,丰富了我们的设计手段,也让我了解了更多的仿真方法。

在上机操作的过程中,刚开始我们遇到了很多的困难,对软件的不熟悉以及对原理掌握的不透彻,使得刚开始的时候举步维艰,但是经过对最简单的模型的设计及仿真练习过后,我们基本掌握了软件的使用方法,通过软件仿真及对各个参数的设置,我们不断调试仿真出来的波形。

这期间我们也了解到,虽然软件的仿真功能很强大,但是还是需要操作人员仔细的进行观察及调试的,否则也容易出现仿真错误。

这次的学习开阔了我们的视野,使我们了解了更多的专业方面的实际应用,在生产应用方面的用处等,以及专业方面的发展方向等……随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升,它已成为当今电子技术发展的前沿之一。

EDA技术发展迅猛,完全可以用日新月异来描述。

EDA技术的应用广泛,现在已涉及到各行各业。

EDA水平不断提高,设计工具趋于完美的地步,所以我们更加应该多多掌握这方面的知识。

第六章参考文献
[1] 潘松、黄继业编著. EDA技术与VHDL,北京:清华大学出版社
[2] 边计年主编.用VHDL设计电子线路, 北京:清华大学出版社
[3] 王金明,杨吉斌编著.数字系统设计与Verilog HDL.北京:电子工业出版社
[4] 徐志军,徐光辉编著.CPLD/FPGA的开发与应用.北京:电子工业出版社
[5] 叶天迟主编.EDA实用技术实验及课程设计指导书.长春:自编实验指导书。

相关文档
最新文档