ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:300.24KB ,
资源ID:20343770      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20343770.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课程设计 彩灯控制器Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课程设计 彩灯控制器Word下载.docx

1、通过使能端的控制可以控制不同 的数码管显示预先设定的图案,数码管依次显示的图案为 AA、BB、CC,并随着发光二极 管同步动态显示。AA 为自左向右显示,BB 为自右向左显示,CC 从二边向中间再由中间向 二边发散显示。与此同时,显示不同的花型时扬声器发出不同的声音,代表不同的花型。本 次设计还带有复位功能,通过复位可以使彩灯控制器恢复到最初的状态。 三、程序设计和分析library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;建立设计库和标准程序包 实体部分: entity pan is port(clk:

2、in std_logic;clr:speak:out std_logic;led7s1:out std_logic_vector(6 downto 0);led7s2:out std_logic_vector(7 downto 0);led_selout:end entity;实体名为 pan,定义端口,输入端口为 clk 和 clr ,其中 clk 接脉冲信号,clr 接复位端;输出 端口 speak 接扬声器,led7s1 接数码管的七段显示部分,led7s 接八个发光二极管,led_selout 接八个数码管的使能端,控制数码管的循环显示。结构体部分: architecture one

3、of pan is signal s: std_logic_vector(4 downto 0); signal clk1:std_logic; signal clk2: signal clk3: 定义 4 个信号,cq,cllk1,clk2,clk3. process(clk) variable a:std_logic_vector(5 downto 0);begin if clr=1 then clk1=0;else if clkevent and clk=then if a=110010 a:=000000 clk1else a:=a+1;end if;end process; 以上程序

4、为第一次分频,为 50 分频,当 clk 发生变化,使 a 从 000000 变化到 110010 时 产生一个上升沿 clk1。如果 a 没有变化到 110010 则 a 继续自加,直到 110010 为止产生下一 个上升沿。 variable b:std_logic_vector(4 downto 0);begin if clr= then clk2 -复位信号 else if clkthen if b=11001b:00000 b:=b+1;clk2 end if; end if; 以上程序为对 clk 进行 25 分频,原理同上,产生信号 clk2。 process(clk) vari

5、able c:std_logic_vector(2 downto 0); begin clk3 -复位信号else if c=111 c:000 else c:=c+1; end process;以上程序为对 clk 进行 8 分频,产生一个新的时钟脉冲信号 clk3。 数码管及二极管循环显示时序控制程序: process(clk2) variable z:integer range 0 to 20; s -复位信号 z:=z+1;if z=20then s=s+1;s:=0;if s=10111 then selse sled7s10001000led7s201111111speak=clk

6、1;led_seloutnull;end case; end; 此段程序就是当敏感信号 s 发生变化至 10000 时,对数码管进行置位和置型,1000110 也就是对相应的数码管使之显示花型为 C,通过对数码管使能端的置位,控制显示的数码管 显示为 CC ,并且发光二极管最左边第一个和最右边第一个显示为亮。当 S 每变化一次, 数码管向中间移动一格, 发光二极管也同步中间移动, 可以看到由二边向中间移动再发散到 二边的变化过程。当 s 变化到 10111 之后执行再循环显示 A 花型,同时扬声器发出声音。四、波形仿真分析程序经过编译之后即可进行波形的仿真,为了方便观察显示结果,这里调节仿真时

7、间为 3us ,脉冲频率 clk 的周期为 5ns,复位信号暂且不进行仿真.。执行 Quartus 软件中的 processing- start simulation 选项,即可观察到波形仿真图像。如下图所示为显示花型 AA 的仿真结果。图 2 花型 A 波形仿真图 由图 2 可知,当 clk 发生变化,来上升沿时,led7s1 为 0001000 即数码管首先显示为花 型 A 二极管按规定的显示,首先 led7s2 位 01111111 即最右边的二极管亮灯,led_selout 为 11000000 即最右边的 2 个数码管显示 2 个 A 的花型。当 clk 变化到规定次数时二极管的显

8、示开始按左移动,数码显示管也向左移动。Led7s2 依次变化 0111111111111110,实现二极 管的向左移动;led_selout 也依次变化 1100000000000011 实现数码显示管的向左移动。同 时当 clk 信号变化 50 次时产生一个上升沿 clk1,控制扬声器发出声音。图 3 花型 BB 的波形仿真图由图 3 可知,当 clk 发生变化,来上升沿时,led7s1 为 0000011 即数码管首先显示为花 型 B 二极管按规定的显示,首先 led7s2 位 11111110 即最右边的二极管亮灯,led_selout 为 00000011 即最右边的 2 个数码管显示

9、 2 个 B 的花型。当 clk 变化到规定次数时二极管的显 示开始向右移动,数码显示管也向右移动。Led7s2 依次变化 1111111001111111,实现二极 管的向右移动;led_selout 也依次变化 0000001111000000 实现数码显示管的向右移动。同 时当 clk 信号变化 25 次时产生一个上升沿 clk2,控制扬声器发出声音。图 4 花型 C 的波形仿真图由图 4 可知 当 clk 发生变化, 来上升沿时, led7s1 为 1000110 即数码管首先显示为花 型 C 二极管按规定的显示,首先 led7s2 位 01111110 即最右边和最右边的二极管亮灯,

10、 led_selout 为 10000001 即最右边和最左边的 2 个数码管显示 2 个 C 的花型。 clk 变化到规 当 定次数时二极管的显示开始向中间移动, 数码显示管中的花型也向中间移动, 然后再由中间 向俩边移动。 Led7s2 依次变化 011111101110011101111110, 实现二极管的向中间移动再向 俩边移动; led_selout 也依次变化 100000010001100010000001 实现数码显示管的向中间再 向俩边移动。同时当 clk 信号变化 8 次时产生一个上升沿 clk3,控制扬声器发出声音。波形仿真完成之后即可进行引脚的分配,并进行编程下载至硬

11、件进行测试。在 Quartus 中选择 Assignments-Assignments Editor,在 Assignments Editor 窗口中选择 pin 标签页,即可 分配引脚,引脚的分配情况如图 5 所示。图 5 引脚分配图如上图所示,在实验过程中 clk 的引脚选择 J16 即可外接频率源,实验过程中选择的频 率为 1KHZ。其余数码管和二极管以及 8 个数码管的使能端引脚分配见上图,复位键引脚 T10 对应的按键。选择 process-start compilation,重新编译,完成后形成可配置到 FPGA 的 pan.sof 文件和配置到外部的 pan.pof 文件。 编程

12、下载,在 quartus 软件中,选择 tools/programmer,在 Mode 中选择 JTAG,点击”add file” 按钮添加需要配置的 pan.sof 文件,选中 program /configure,点击 start 按钮对芯片进行 配置,等待一段时间后即可观察到实验结果。 在实验箱上,我们观察到实验结果按我们所设计的那样显示,即可显示我们预先设定的 三种花型 AA、BB、CC 并且能够按要求循环移动,发光二极管也可按设计要求循环闪烁,并与数码显示管的花型变化同步。 同时当显示不同的花型时扬声器发出了不同的声音。 当按 下复位键时我们可以看到数码显示管重新开始再最右边显示花型

13、,并且扬声器停止发声。这些实验结果验证所设计程序的正确性,实现了设计内容和要求,并且有了一定的扩展功能。五、设计体会本次EDA课程设计实验,我选择了彩灯控制器的设计实验,我将理论与实践充分地结合到一起。实践中验证理论,实践中发现新的问题,用所学到的理论知识去解决遇到的问题,在实验的过程中通过思考,摸索以及向老师、同学请教,我学到了不少知识,掌握了相关软件的操作,而这些是在书本中根本无法学到的,只有通过自己亲自实践,才会有所启发,才会有所收获。原来所学的书本知识在学习的时候感到枯燥无味,因此只是理解了个皮毛。但是,现在通过这次设计实验,使得我对书本知识有了一个更深入的理解,从根本上对有些问题有了

14、一个全新的看法,希望以后还有更多这样的实验机会。 由于实验的复杂性,所以在仿真的过程中也遇到了困难。仿真的过程不能急躁,要一步一步来,看波形之前要先检查其静态工作点,如果静态工作点都不满足要求如何能有波形,所以要先调静态,后再调动态。而且静态工作点的位置不好的话,也会导致波形的失真。 这次设计实验是我通过自身去解决,去分析,去探索的,我从中受益匪浅,也更深入地理解理论。本次设计的课题是彩灯控制器的设计,这个课题的关键是计数器和分频器的使用,分频的方法有很多种,对于同一种功能的实现,用 VHDL可以采用多 种方式进行描述,每种方式之间各有优劣,本次设计只采用了其中较简单的一种,应尽量用 最简洁的

15、语言写出所需功能的程序。 通过这次课程设计对E技术有了更进一步的熟悉,VHDL 语言和语言等其他语 言还是有很大的区别。VHDL 是 EDA 技术的重要组成部分,其具有与具体硬件电路无关和与 设计平台无关的特性, 并且具有良好的电路行为描述和系统描述的能力, 并在语言易读性和 层次化、结构化设计方面,表现了强大的生命力和应用潜力。其主要的也是最大的优点就在 于设计者可以专心致力于其功能的实现, 而不需要对不影响功能的与工艺有关的因素花费过 多的时间和精力。在实际操作中发现设计和课本上的知识有很大联系,但又高于课本,一个 简单的原理要把它应用以及和其他功能综合起来就有些困难。 通过设计也巩固了我们的书本 知识以及通过借阅书籍和上网查找资料,也丰富了自己对的了解。 不过本次设计也存在一些不足,暴露了自己对的掌握还有所欠缺。在设计过程中,分频分的太大,频率太小的话,扬声器的声音体现不出显示不同花型时的区别;频率太 大的话,数码管显示速度太快,尝试分频时使用不同的脉冲信号,但没有成功。在反复调试 中,最后还是成功了,但原理还不是很清楚。同时,在课程设计过程中通过与老师、同学的 交流, 也了解了他们对于这门技术的看法和今后这门技术的发展方向, 也感谢老师对我设计的指导和同学对我的帮助。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1