跑马灯效果的实现本科论文.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
跑马灯效果的实现本科论文

目录 摘要 1 1设计目的及要求 2 1.1设计目的 2 1.2设计要求 2 2设计思路 3 3电路设计 4 3.1 集成分频器模块 4 3.2 32进制计数器模块 7 3.3 彩灯控制模块 8 3.4 4选1选择器模块 11 3.5 4进制计数器模块 12 4 系统结构及仿真 15 5.总结 16 参考资料: 17 摘要 EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。 EDA设计可分为系统级、电路级和物理实现级。 1设计目的及要求 1.1设计目的 通过本环节巩固和深化已学课程的知识,培养学生综合运用这些知识,分析和解决实际问题,逐步树立正确的设计思想,培养严谨认真的科学态度和严谨务实的工作作风。系统设计采用自顶向下的设计方法,使用简单的EDA程序实现跑马灯显示效果设计。并且熟悉可编程逻辑器件的使用,通过制作来了解跑马灯控制系统。 1.2设计要求 要求:控制8个指示灯的循环点亮,包括指示灯控制、速度控制和点亮效果控制。 2设计思路 彩灯控制器的设计核心主要是分频器的使用,显示部分的设计较简易。分频的方法有很多种,本次设计之采用了其中较简易的一种,通过计数器的分频,将控制器外接的频率分为几个我们预先设定的值。当计数器达到预先设定的值,即产生一个上升沿,从而实现分频。同样发光二极管和数码管的显示速度也由其中分出来的一种频率控制(控制显示频率在1~4之间为宜)。通过使能端的控制可以控制不同的数码管显示预先设定的图案,并随着发光二极管同步动态显示。本次设计还带有复位功能,通过复位可以使彩灯控制器恢复到最初的状态 3电路设计 3.1集成分频器模块 1)设计要求显示不同的跑马灯的时候要伴随不同的音乐,所以设计分频器来用不同的频率控制不同的音乐输出。 模块说明: Rst:输入信号 复位信号 用来复位集成分频器的输出使输出为“0”,及没有音乐输出。 Clk:输入信号 模块的功能即为分频输入的频率信号。 Clk_4、clk_6、clk_8、clk_10:输出信号 即为分频模块对输入信号clk的分频,分别为1/4分频输出、1/6分频输出、1/8分频输出、1/10分频输出。 图3.1 集成分频器 2)分频器VHDL程序编写及仿真结果 LIBRARY ieee; USE ieee.std_logic_1164.all; -- IEEE库使用声明 ENTITY fenpinqi IS -- 实体端口声明 PORT(clk,rst : IN std_logic; -- 类型的输入端口 clk_10,clk_4,clk_6,clk_8: OUT std_logic); -- 输出口 END fenpinqi; ARCHITECTURE cd OF fenpinqi IS --结构体功能描述语句 begin p1:process(clk,rst) --进程语句 variable a:integer range 0 to 20; begin if rst=1 then clk_4=0; ---复位信号控制部分 else if clkevent and clk=1then --时钟信号clk,上升沿有效边沿 if a=3 then a:=0; --当a大于等于3时,则a等于0 clk_4=1; else a:=a+1; --否则a等于a加1 clk_4=0; end if; end if; end if; end process p1; p2:process(clk,rst) variable b:integer range 0 to 20;

您可能关注的文档

文档评论(0)

jiqinyu2015 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档