EDA课程设计,16路花样彩灯

合集下载

eda花样彩灯课程设计报告

eda花样彩灯课程设计报告

eda花样彩灯课程设计报告一、课程目标知识目标:1. 学生能理解并掌握EDA(电子设计自动化)花样彩灯的基本原理与设计流程。

2. 学生能识别并运用课程中所学的电子元件,如LED灯、电阻、电容等,并理解其在电路中的作用。

3. 学生能够运用已学的电子知识,设计并搭建简单的EDA花样彩灯电路。

技能目标:1. 学生能够运用计算机软件进行电路设计与仿真,提高实际操作能力。

2. 学生通过小组合作,提高沟通协调能力和团队协作能力。

3. 学生能够运用问题解决策略,对设计过程中出现的问题进行分析、调试和优化。

情感态度价值观目标:1. 学生培养对电子科技的兴趣,增强创新意识和实践能力。

2. 学生在设计和制作过程中,培养耐心、细心的品质,提高面对困难的勇气和毅力。

3. 学生通过课程学习,认识到科技与生活的密切联系,增强环保意识和责任感。

本课程针对五年级学生特点,结合电子设计实际应用,注重培养学生的动手能力、创新能力和团队协作能力。

通过课程学习,使学生能够将所学知识应用于实际生活,激发他们对科技的兴趣,提高科学素养。

课程目标具体、可衡量,便于教师进行教学设计和评估。

二、教学内容本课程教学内容主要包括以下几部分:1. 电子元件的认识:介绍常用电子元件如LED灯、电阻、电容等,使学生了解其性能、特点及在电路中的作用。

2. EDA软件使用:教授学生如何使用EDA软件进行电路设计与仿真,包括电路图的绘制、元件的选取与放置、电路的仿真与调试等。

3. 花样彩灯设计原理:讲解花样彩灯的设计原理,如电路的基本连接方式、控制方法等。

4. 实践操作:指导学生进行EDA花样彩灯的设计与制作,让学生在实际操作中掌握所学知识。

5. 课程总结与展示:学生完成作品后,进行课程总结,分享设计经验,展示作品成果。

教学内容安排如下:1. 第一课时:电子元件的认识及基本电路原理介绍。

2. 第二课时:EDA软件的使用方法教学。

3. 第三课时:花样彩灯设计原理及实践操作指导。

16路彩灯课程设计

16路彩灯课程设计

16路彩灯课程设计一、课程目标知识目标:1. 学生能够理解16路彩灯的基本原理,掌握电路的连接方法和控制方式。

2. 学生能够描述彩灯电路中涉及的电子元件及其功能,如电阻、电容、二极管等。

3. 学生能够运用所学的电子知识,分析16路彩灯电路的工作原理。

技能目标:1. 学生能够独立完成16路彩灯的组装和调试,提高动手实践能力。

2. 学生能够运用编程软件,设计出具有创意的彩灯控制程序,实现不同的灯光效果。

3. 学生能够通过团队协作,解决在制作16路彩灯过程中遇到的问题。

情感态度价值观目标:1. 学生对电子技术产生兴趣,培养主动学习和探索的精神。

2. 学生在制作过程中,培养细心、耐心和专注的品质,提高自我管理能力。

3. 学生通过团队协作,培养沟通、合作和分享的意识,增强团队荣誉感。

本课程旨在让学生将所学的电子知识应用于实践,通过制作16路彩灯,提高学生的动手能力、创新意识和团队协作能力。

针对学生的年级特点,课程内容紧密联系课本知识,注重培养学生的实际操作能力和解决问题的能力,使学生在实践中感受到电子技术的魅力。

二、教学内容本章节教学内容主要包括以下三个方面:1. 电子元件认知:介绍16路彩灯电路中涉及的电子元件,如电阻、电容、二极管等,以及它们在电路中的作用和功能。

关联课本第三章第二节内容。

2. 电路连接与控制:讲解16路彩灯电路的连接方法,包括串联、并联和混联等,以及如何通过编程控制灯光效果。

关联课本第四章第一、二节内容。

3. 实践操作与创意设计:指导学生进行16路彩灯的组装、调试和编程,鼓励学生发挥创意,设计出独特的灯光效果。

关联课本第五章内容。

教学大纲安排如下:第一课时:电子元件认知,介绍电路中各元件的功能和作用。

第二课时:电路连接方法,讲解不同连接方式的特点及适用场景。

第三课时:编程控制原理,介绍如何通过编程实现彩灯的控制。

第四课时:实践操作,指导学生进行16路彩灯的组装和调试。

第五课时:创意设计,鼓励学生发挥创意,设计独特的灯光效果。

十六路彩灯控制器

十六路彩灯控制器

北华航天工业学院《EDA技术综合设计》课程设计报告报告题目:十六路彩灯控制器作者所在系部:电子工程系作者所在专业:自动化专业作者所在班级:B08221班作者姓名:关璐指导教师姓名:崔瑞雪完成时间:2010年11月30日内容摘要随着科技发展,在现代生活中,彩灯作为一种景观应用越来越广泛。

EDA 技术的应用引起电子产品即系统开发的革命性变革,先介绍以VHDL为基础的16路彩灯控制系统。

本文介绍了基于EDA的多路彩灯控制器的设计与分析。

要求该控制器可靠性高、调节灵活、多功能、多花案、使用灵活方便,并且彩灯图案能定时切换。

在MAX+PLUS2环境下采用VHDL语言实现,论述了基于VHDL语言在FPGA芯片的数字设计思想与实现过程。

电子设计自动化技术EDA的发展给电子系统的设计带来了革命性变化,EDA软件设计工具,硬件描述语言,可编程逻辑器件(PLD)使得EDA技术的应用走向普及。

VHDL 语言是EDA的关键技术之一,它采用自顶向下的设计方法,完成系统的整体设计。

关键词EDA、可编程逻辑器件、计数器、显示器、彩灯控制器目录(页码)一、概述 (5)二、八路彩灯控制系统的实现 (5)1 功能描述 (5)2 设计原理 (5)三、模块设计及功能 (6)1 分频器 (6)2 状态机 (8)3 三选一数据选择器 (9)4 七段译码器 (10)四程序下载与实现 (11)1下载 (11)2 硬件测试 (11)五、心得体会 (11)课程设计任务书课题名称十六路彩灯控制器设计完成时间10.11.30指导教师崔瑞雪职称学生姓名关璐班级B08221总体设计要求和技术要点用给定IC设计、安装与调试彩灯控制器,具体要求如下:(1)控制器有四组输出,每组至少能驱动四只LED。

(2)设计用十六只LED组成的彩灯图案。

图案的状态变换至少有三种,并且能定时自动切换。

(3)彩灯图案状态变换的速度至少有快、慢两种。

(4)安装并调试彩灯控制器。

工作内容及时间进度安排(1)做出概括的总框架,作出具体的课设安排于11月17号。

数电课程设计--16路彩灯循环控制设计

数电课程设计--16路彩灯循环控制设计

南京工程学院课程设计说明书题目 16路彩灯循环控制电路设计课程名称数字电路课程设计院(系、部、中心)电力工程学院专业电力系统及其自动化班级电力083 学生姓名张乡农学号 206081245设计地点工程实训中心9-305指导老师卢松玉王玫设计起止时间:2010年1 月10日至2010年1月14日一、设计目的:1、学会了将一个实际情况电路抽象为逻辑电路的逻辑状态的方法。

2、掌握计数、译码、显示综合电路的设计与调试方法。

3、掌握实际输出电路不同要求的实现方法。

4、熟悉Max+plusⅡ9.23软件运行环境,并了解其里面的各部分。

二、设计任务:设计16路彩灯循环控制电路,使得该电路彩灯循环显示频率快慢可调,控制器,具有多路输出,彩灯由发光二极管模拟替代。

根据不同的控制信号进行不同的计数,再通过译码器电路,得出不同的彩灯循环控制结果。

还需满足彩灯的闪烁按一定的规则变化(三种);电路有复位控制;设定彩灯的闪烁的时间。

三、设计步骤:(1)局部电路图详解:彩灯信号输出部分:为实现16路彩灯输出,本案例选用两块集成电路译码器74138进行控制信号的输出。

A、B、C为3个输入,有8种组合,即可输出彩灯的8路,使用两块74138即可实现16路彩灯信号输出。

设定第一块74138输出的灯为L1~L8,第二块为L9~L16。

两块74151对74138进行控制的原理详解:本案中采用了两块集成电路数据选择器74151,用以对两块译码器进行控制,达到实现多种亮法的目的。

这一块74151中,A、C、GN接地,B接全电路的一个开关EN(工作时置1),所以当工作时,此块74151的输出Y恒为0,WN恒为1,这使得两块74138的各有部分控制借口处于工作状态。

这一块74151中,输出端WN悬空;Y的输出结果由输入端B控制,而B即是本电路的亮法控制按钮INPUT2;当input2置0时,Y 输出结果为D0,D0即是计数器74161的QD输出端;当input2置1时,Y=D2,D2是74161 QD的反信号。

16路流水彩灯课程设计

16路流水彩灯课程设计

16路流水彩灯课程设计一、课程目标知识目标:1. 学生能理解并掌握16路流水彩灯电路原理,包括电路组成、工作流程等。

2. 学生能运用所学的电子元件知识,正确识别并使用电阻、电容、二极管等元器件。

3. 学生能运用串并联电路知识,设计并搭建16路流水彩灯电路。

技能目标:1. 学生能够独立完成16路流水彩灯电路的搭建,提高动手实践能力。

2. 学生能够通过调整电路参数,实现流水彩灯的不同变化效果,培养创新思维和问题解决能力。

情感态度价值观目标:1. 学生在课程学习中,培养对电子技术的兴趣和热情,提高学习积极性。

2. 学生通过小组合作完成项目,培养团队协作精神,增强沟通与表达能力。

3. 学生能够关注电子技术在日常生活中的应用,认识到科技与生活的紧密联系,提高社会责任感。

课程性质:本课程为电子技术实践课程,注重理论联系实际,培养学生的动手能力和创新意识。

学生特点:六年级学生具备一定的电子元件知识和电路原理基础,好奇心强,喜欢动手实践。

教学要求:教师应引导学生主动探究,注重培养学生的实际操作能力和问题解决能力,使学生在实践中掌握电子技术知识。

教学过程中,关注学生的个体差异,给予个性化指导。

通过课程目标的分解,确保学生能够达到预期学习成果,为后续教学设计和评估提供依据。

二、教学内容本课程依据课程目标,结合教材内容,组织以下教学大纲:1. 电子元件知识回顾:复习电阻、电容、二极管等常用电子元件的原理与功能,为搭建16路流水彩灯电路打下基础。

2. 电路原理学习:讲解串并联电路的特点,引导学生理解16路流水彩灯电路的工作原理。

- 并联电路的电压、电流特点- 串并联电路在流水彩灯中的应用3. 流水彩灯电路设计:教授如何设计并搭建16路流水彩灯电路。

- 电路图绘制- 电子元件选型- 电路搭建方法4. 实践操作:学生分组进行16路流水彩灯电路的搭建与调试。

- 搭建电路- 调试电路,实现流水彩灯效果- 优化电路,调整变化效果5. 总结与展示:各小组展示搭建的流水彩灯,分享经验与收获。

数电课程设计 16路彩灯循环电路

数电课程设计            16路彩灯循环电路

数电课程设计__16路彩灯循环电路数字电路流水灯的设计与制作任务书一、设计目的1、掌握基于数字集成电路芯片的数字系统设计与制作;2、掌握采用EDA软件绘制电路原理图的技术;3、熟悉基本的电子系统焊接、加工技术;4、掌握555定时器、计数器、译码器等芯片的原理与应用技术。

二、设计内容设计一个基于数字集成电路芯片的流水灯演示系统,采用EDA软件绘制电路原理图,并完成器件选型、焊接,系统调试任务。

三、设计要求1、通电后,该流水灯系统的16支发光二极管能从一端至另一端依次亮起,循环进行,形成“流水”效果。

2、根据要求完成系统设计,确定所需元器件。

3、采用EDA软件绘制电路原理图。

4、采用所选器件在通用线路板上安装、焊接、调试,实现所需的功能。

四、设计步骤1、实验方案:555多谐振荡器附加电容、电阻产生实验所用脉冲信号,74ls191进行计数,两片74ls138扩展成4-16译码器,将计数器所得结果译码成高低电平,用来驱动LED灯。

从而产生循环控制的效果。

2、实验原理:①555多谐振荡器时序模块NE555器件详释NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率之脉波讯号。

图1 NE555内部功能框图Pin 1 (接地) -地线(或共同接地) ,通常被连接到电路共同接地。

Pin 2 (触发点) -这个脚位是触发NE555使其启动它的时间周期。

触发信号上缘电压须大于2/3 VCC,下缘须低于1/3 VCC 。

Pin 3 (输出) -当时间周期开始555的输出输出脚位,移至比电源电压少1.7伏的高电位。

周期的结束输出回到O伏左右的低电位。

于高电位时的最大输出电流大约200 mA 。

Pin 4 (重置) -一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低电位。

16路循环彩灯课程设计

16路循环彩灯课程设计

16路循环彩灯课程设计一、课程目标知识目标:1. 学生能理解16路循环彩灯的基本电路原理,掌握相关电子元件的功能和使用方法。

2. 学生能运用编程软件,编写并优化16路循环彩灯的控制程序。

3. 学生了解彩灯在生活中的应用,掌握相关安全知识。

技能目标:1. 学生能独立完成16路循环彩灯的组装和调试,提高动手实践能力。

2. 学生通过编程实践,提升逻辑思维和问题解决能力。

3. 学生能够进行团队合作,共同完成项目任务,培养沟通协作能力。

情感态度价值观目标:1. 学生对电子技术和编程产生兴趣,激发学习热情,树立科技创新意识。

2. 学生在项目实施过程中,体验成功的喜悦,增强自信心和自主学习能力。

3. 学生关注彩灯在节能环保方面的应用,培养环保意识和可持续发展观念。

本课程针对初中生设计,结合学生的年龄特点和认知水平,注重实践性和趣味性。

课程内容紧密联系教材,旨在提高学生的电子技术和编程能力,同时培养良好的团队合作精神和科技创新意识。

通过具体的学习成果分解,教师可以更好地进行教学设计和评估,确保课程目标的达成。

二、教学内容本课程教学内容分为以下三个部分,确保学生能够系统地掌握16路循环彩灯的制作与应用。

第一部分:基本电路原理及元件功能(1课时)1. 深入学习教材中有关电路基础知识,理解电路的基本原理。

2. 介绍16路循环彩灯所涉及的电子元件,如电阻、电容、二极管、集成电路等,并分析各元件的功能。

第二部分:编程控制与优化(2课时)1. 学习编程软件的使用,掌握基本的编程语法和逻辑。

2. 结合教材内容,编写16路循环彩灯的控制程序,并学会优化程序,提高彩灯显示效果。

第三部分:实践操作与团队协作(2课时)1. 学生分组进行16路循环彩灯的组装、调试和优化。

2. 教材中相关实践操作案例的分析,指导学生解决实际操作过程中遇到的问题。

3. 培养学生团队合作精神,共同完成彩灯制作任务。

教学内容按照教材章节进行合理安排,注重理论与实践相结合。

16路彩灯循环电路课程设计

16路彩灯循环电路课程设计

数电课程设计题目 16路彩灯循环控制电路设计课程名称数字电路课程设计院(系、部、中心)专业电气工程及其自动化班级学生姓名学号设计地点数电实验室指导教师课程设计任务书一.设计要求及主要技术指标 (4)二、实验任务、要求及提示 (4)三、设计方案的选择和电路框图 (5)四、设计原理 (6)五、各单元电路的设计、计算和说明 (6)六、整体电路图 (8)七、所用元件及器材 (9)八、芯片功能 (10)九、课程设计的心得体会 (21)十、参考文献 (21)引言数字电路是一门理论性强、工程应用广的专业基础课程。

为了训练读者对数字电路及系统的设计、安装、调试的实际动手能力,特在数字电路课程中设置了课程设计这一重要的实践环节,以便在实践中掌握数字系统的设计方法。

数字逻辑(电路)课程设计的目的通过完成本章所列的一些设计任务,掌握基于可编程器件的EDA技术,学习Max+plusII软件开发工具,明确数字系统的概念与设计的一般流程,训练从事电子系统设计工作必备的基本技能。

鉴于课程设计设置的主要目的,同时考虑学习的循序渐进、承上启下的过程,所以在本书的数字系统设计中,采用经典方法设计电路原理图,用EDA工具进行仿真,最后用编程逻辑器件实现的方法。

彩灯控制器设计简介利用移位寄存器和计数器等设计一彩灯控制电路,改变电路的不同工作状态,控制彩灯变幻出不同的闪烁效果。

电路实用,也可以通过计算机仿真直观地看到循环彩灯的控制效果,综合运用所学数字电路知识,学会设计和调试方法,从而产生浓厚兴趣。

如果稍微改动控制电路,可以更加完善,完成基于移位寄存器的彩灯控制器设计。

在现代生活中,彩灯作为一种装饰,既可以增强人们的感观,起到广告宣传的作用,又可以增添节日气氛,为人们的生活增添亮丽,用在舞台上增强晚会灯光效果,利用控制电路可使彩灯(例如霓虹灯)按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电(与全部彩灯始终全亮相比)。

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

——EDA课程设计报告16路花样彩灯设计专业年级:电子信息工程2010级学生姓名:安亮学号:12010248258指导教师:杨泽林第一章绪论1.1系统背景EDA代表了当今电子设计技术的最新发展方向,利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在汁算机上自动处理完成。

设计者采用的设计方法是一种高层次的“自顶向下”的全新设计方法,这种设汁方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。

在方框图一级进行仿真、纠错.并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行驶证。

然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路(ASIC)。

设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。

由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次性成功率。

由于现代电子产品的复杂度和集成度的日益提高,一般分离的中小规模集成电路组合已不能满足要求,电路设计逐步地从中小规模芯片转为大规模、超大规模芯片,具有高速度、高集成度、低功耗的可编程朋IC器件已蓬勃发展起来。

在EDA技术中所用的大规模、超大规模芯片被称为可编程ASIC芯片,这些可编程逻辑器件自70年代以来,经历了CPm、IzPGA、CPLD、FPGA几个发展阶段,其中CPm(复杂可编程逻辑器件)/IzPGA(现场可编程逻辑器件)肩高密度可编程逻辑器件,目前集成度已高达200万门/片以上,它将掩模ASIC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转由掩模ASIC实现,因此开发风险也大为降低。

可以说CPLE)/FPGA器件,已成为现代高层次电子设计方法的实现裁体。

硬件描述语言(HDL)是EDA技术的重要组成部分,是EDA设计开发中的很重要的软件工具,VHDL 即:超高速集成电路硬件描述语言,作为电子设计主流硬件的描述语言。

它具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计的可靠性,用V佃L进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。

例如一个32位的加法器,利用图形输入软件需要输入500至1000个门,而利用VHDL语言只需要书写一行“A=B十C”即可。

使用硬件描述语言(HDL)可以用模拟仿真的方式完成以前必须设计和制作好的样机上才能进行的电子电路特性的说明和调试。

能在系统行为级就发现可能出现的错误、问题,并加以多次反复修改论证,避免了物理器件的损伤和多次制作,节约了时间和开发成本,缩短了电子系统开发的周期。

将EDA技术与传统电子设计方法进行比较可以看出,传统的数字系统设计只能在电路板上进行设计,是一种搭积木式的方式,使复杂电路的设计、调试十分困难;如果某一过程存在错误.查找和修改十分不便;对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差;只有在设计出样机或生产出芯片后才能进行实泅,因而开发产品的周期长。

而电子EDA技术则有很大不同,采用可编程器件,通过设计芯片来实现系统功能。

采用硬件描述语言作为设计输入和库(LibraIy)的引入,由设计者定义器件的内部逻辑和管脚,将原来由电路板设计完成的大部分工作故在芯片的设计中进行。

由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量和难度,有效增强了设计的灵活性,提高了工作效率。

并且可减少芯片的数量,缩小系统体积,降低能源消耗,提高了系统的性能和可靠性。

能全方位地利用计算机自动设计、仿真和调试。

本次实验即通过两个按键来实现十六路彩灯按设定的方式运行,第一个按键来调节频率从而控制每种方式下彩灯运行的快慢,第二个按键是用来切换彩灯运行的方式,本次设计实验共设定有5个方式,其中最后一种方式是前4种方式的循环。

第二章系统电路设计2.1 系统总体设计硬件框图按键1用来控制彩灯运行频率;按键2用来切换彩灯运行方式。

2.2 系统硬件单元电路设计2.2.1 分频电路EDA程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FENPIN ISPORT (CLK :IN STD_LOGIC;K:IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK_OUT:OUT STD_LOGIC);END FENPIN;ARCHITECTURE BHV OF FENPIN ISSIGNAL Q:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGINPROCESS(K)BEGINCASE K ISWHEN "0000" =>Q<="00000001";WHEN "0001" =>Q<="00000011";WHEN "0010" =>Q<="00000111";WHEN "0011" =>Q<="00001111";WHEN "0100" =>Q<="00011111";WHEN "0101" =>Q<="00111111";WHEN "0110" =>Q<="01111111";WHEN "0111" =>Q<="11111111";WHEN OTHERS=>Q<="00000001";END CASE;END PROCESS;PROCESS(CLK,Q)VARIABLE QA:STD_LOGIC_VECTOR(7 DOWNTO 0);IF CLK'EVENT AND CLK='1' THENIF QA=QTHEN QA:="00000000";CLK_OUT<='1'; ELSE QA:=QA+1;CLK_OUT<='0';END IF;END IF;END PROCESS;END BHV;封装图:仿真结果图:1分频,4分频,8分频,除上述外,当K=4时实现32分频,当K=5时实现64分频,当K=6时实现128分频,当K=7时实现256分频。

当CLK频率为256Hz时,CLK_OUT的输出频率的取值分别为128Hz、64Hz、32 Hz、16 Hz、8 Hz、4 Hz、2 Hz、1 Hz,即当实验完成后可通过按键K来控制LED 灯的变换快慢。

2.2.2 彩灯控制电路EDA程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY LED ISPORT (CLK :IN STD_LOGIC;SWITCH:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(15 DOWNTO 0));END LED;ARCHITECTURE BHV OF LED ISBEGINPROCESS(CLK)variable k1:STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENif k1="111111" then k1:="000000";else K1:=K1+1;end if;END IF;IF SWITCH="0000" THENCASE K1(3 downto 0) ISWHEN "0000" =>Q<="0000000000000001";WHEN "0001" =>Q<="0000000000000010";WHEN "0010" =>Q<="0000000000000100";WHEN "0011" =>Q<="0000000000001000";WHEN "0100" =>Q<="0000000000010000";WHEN "0101" =>Q<="0000000000100000";WHEN "0110" =>Q<="0000000001000000";WHEN "0111" =>Q<="0000000010000000";WHEN "1000" =>Q<="0000000100000000"; WHEN "1001" =>Q<="0000001000000000";WHEN "1010" =>Q<="0000010000000000";WHEN "1011" =>Q<="0000100000000000";WHEN "1100" =>Q<="0001000000000000";WHEN "1101" =>Q<="0010000000000000";WHEN "1110" =>Q<="0100000000000000";WHEN "1111" =>Q<="1000000000000000"; WHEN OTHERS=>NULL;END CASE;ELSIF SWITCH="0001" THENCASE K1(3 downto 0) ISWHEN "0000" =>Q<="0000000000000011";WHEN "0001" =>Q<="0000000000001111";WHEN "0010" =>Q<="0000000000111111";WHEN "0011" =>Q<="0000000011111111";WHEN "0100" =>Q<="0000001111111111";WHEN "0101" =>Q<="0000111111111111";WHEN "0110" =>Q<="0011111111111111";WHEN "0111" =>Q<="1111111111111111";WHEN "1000" =>Q<="0011111111111111";WHEN "1001" =>Q<="0000111111111111";WHEN "1010" =>Q<="0000001111111111";WHEN "1011" =>Q<="0000000011111111";WHEN "1100" =>Q<="0000000000111111";WHEN "1101" =>Q<="0000000000001111";WHEN "1110" =>Q<="0000000000000011";WHEN "1111" =>Q<="0000000000000000"; WHEN OTHERS=>NULL;END CASE;ELSIF SWITCH="0010" THENCASE K1(3 downto 0) ISWHEN "0000" =>Q<="0000000000000001";WHEN "0001" =>Q<="0000000000000101";WHEN "0010" =>Q<="0000000000010101";WHEN "0011" =>Q<="0000000001010101";WHEN "0100" =>Q<="0000000101010101";WHEN "0101" =>Q<="0000010101010101";WHEN "0110" =>Q<="0001010101010101";WHEN "0111" =>Q<="0101010101010101";WHEN "1000" =>Q<="1101010101010101"; WHEN "1001" =>Q<="1111010101010101";WHEN "1010" =>Q<="1111110101010101";WHEN "1011" =>Q<="1111111101010101";WHEN "1100" =>Q<="1111111111010101";WHEN "1101" =>Q<="1111111111110101";WHEN "1110" =>Q<="1111111111111101";WHEN "1111" =>Q<="1111111111111111"; WHEN OTHERS=>NULL;END CASE;ELSIF SWITCH="0011" THENCASE K1(3 downto 0) ISWHEN "0000" =>Q<="0000000000000011";WHEN "0001" =>Q<="0000000000001100";WHEN "0010" =>Q<="0000000000110000";WHEN "0011" =>Q<="0000000011000000";WHEN "0100" =>Q<="0000001100000000";WHEN "0101" =>Q<="0000110000000000";WHEN "0110" =>Q<="0011000000000000";WHEN "0111" =>Q<="1100000000000000";WHEN "1000" =>Q<="0000000000000011"; WHEN "1001" =>Q<="0000000000001100";WHEN "1010" =>Q<="0000000000110000";WHEN "1011" =>Q<="0000000011000000";WHEN "1100" =>Q<="0000001100000000";WHEN "1101" =>Q<="0000110000000000";WHEN "1110" =>Q<="0011000000000000";WHEN "1111" =>Q<="1100000000000000"; WHEN OTHERS=>NULL;END CASE;ELSIF SWITCH="0011" THENCASE K1(5 downto 0) ISWHEN "000000" =>Q<="0000000000000001";WHEN "000001" =>Q<="0000000000000010";WHEN "000010" =>Q<="0000000000000100";WHEN "000011" =>Q<="0000000000001000";WHEN "000100" =>Q<="0000000000010000";WHEN "000101" =>Q<="0000000000100000";WHEN "000110" =>Q<="0000000001000000";WHEN "000111" =>Q<="0000000010000000";WHEN "001000" =>Q<="0000000100000000";WHEN "001001" =>Q<="0000001000000000";WHEN "001010" =>Q<="0000010000000000";WHEN "001011" =>Q<="0000100000000000";WHEN "001100" =>Q<="0001000000000000";WHEN "001101" =>Q<="0010000000000000";WHEN "001110" =>Q<="0100000000000000";WHEN "001111" =>Q<="1000000000000000"; WHEN "010000" =>Q<="0000000000000011";WHEN "010001" =>Q<="0000000000001111";WHEN "010010" =>Q<="0000000000111111";WHEN "010011" =>Q<="0000000011111111";WHEN "010100" =>Q<="0000001111111111";WHEN "010101" =>Q<="0000111111111111";WHEN "010110" =>Q<="0011111111111111";WHEN "010111" =>Q<="1111111111111111";WHEN "011000" =>Q<="0011111111111111"; WHEN "011001" =>Q<="0000111111111111";WHEN "011010" =>Q<="0000001111111111";WHEN "011011" =>Q<="0000000011111111";WHEN "011100" =>Q<="0000000000111111";WHEN "011101" =>Q<="0000000000001111";WHEN "011110" =>Q<="0000000000000011";WHEN "011111" =>Q<="0000000000000000"; WHEN "100000" =>Q<="0000000000000001";WHEN "100001" =>Q<="0000000000000101";WHEN "100010" =>Q<="0000000000010101";WHEN "100011" =>Q<="0000000001010101";WHEN "100100" =>Q<="0000000101010101";WHEN "100101" =>Q<="0000010101010101";WHEN "100110" =>Q<="0001010101010101";WHEN "100111" =>Q<="0101010101010101";WHEN "101000" =>Q<="1101010101010101"; WHEN "101001" =>Q<="1111010101010101";WHEN "101010" =>Q<="1111110101010101";WHEN "101011" =>Q<="1111111101010101";WHEN "101100" =>Q<="1111111111010101";WHEN "101101" =>Q<="1111111111110101";WHEN "101110" =>Q<="1111111111111101";WHEN "101111" =>Q<="1111111111111111";WHEN "110000" =>Q<="0000000000000011";WHEN "110001" =>Q<="0000000000001100";WHEN "110010" =>Q<="0000000000110000";WHEN "110011" =>Q<="0000000011000000";WHEN "110100" =>Q<="0000001100000000";WHEN "110101" =>Q<="0000110000000000";WHEN "110110" =>Q<="0011000000000000";WHEN "110111" =>Q<="1100000000000000";WHEN "111000" =>Q<="0000000000000011"; WHEN "111001" =>Q<="0000000000001100";WHEN "111010" =>Q<="0000000000110000";WHEN "111011" =>Q<="0000000011000000";WHEN "111100" =>Q<="0000001100000000";WHEN "111101" =>Q<="0000110000000000";WHEN "111110" =>Q<="0011000000000000";WHEN "111111" =>Q<="1100000000000000"; WHEN OTHERS=>NULL;END CASE;END IF;END PROCESS;END BHV;仿真结果图:第一种方式,第二种方式,第三种方式:第四种方式:该程序总共实现LED灯5种变换方式,其中第5种方式是前4种方式的循环,第一种方式依次亮一盏灯,第二种方式依次亮灯且前面亮的灯不熄灭,第三种方式依次间隔亮灯,第四种方式依次亮两盏灯,第五种方式是前四种方式的循环。

相关文档
最新文档