数电实验报告发光二极管走马灯电路设计与实现

上传人:桔**** 文档编号:488184569 上传时间:2022-11-08 格式:DOC 页数:9 大小:133.50KB
返回 下载 相关 举报
数电实验报告发光二极管走马灯电路设计与实现_第1页
第1页 / 共9页
数电实验报告发光二极管走马灯电路设计与实现_第2页
第2页 / 共9页
数电实验报告发光二极管走马灯电路设计与实现_第3页
第3页 / 共9页
数电实验报告发光二极管走马灯电路设计与实现_第4页
第4页 / 共9页
数电实验报告发光二极管走马灯电路设计与实现_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《数电实验报告发光二极管走马灯电路设计与实现》由会员分享,可在线阅读,更多相关《数电实验报告发光二极管走马灯电路设计与实现(9页珍藏版)》请在金锄头文库上搜索。

1、北京邮亀大学数字电路与逻辑设计实验实验报告实验名称:发光二极管走马灯电路设计与实现学院:班级:姓名:学a .任课老师:实验日期:绩:一.实验名称和实验任务要求实验名称:发光二极管走马灯电路设计与实现实验目的:进一步了解时序电路描述方法;熟悉状态机的设计方法。实验任务要求:设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功 能,并下载到实验板测试。单点移动模式:一个点在8个发光二极管上来回的亮;幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后 再向中间点灭,依次往复。二.设计思路和过程设计实现过程:(D设计的电路拥有两种功能,所以设定d_in控制输出实现两种功能,规定当d_in=O时

2、,实现单 点移动模式;当d_in=1时,实现幕布式。同时, 时序电路中钟控是必不可少的,所以引入clk.in 来实现钟控。最终需输出在实验板上的8个发光 二极管上验证,所以输出f需设定为8端口输出, 女口: f:out std_Iog i c_vector (7 downto 0)。(2)单点移动模式的实现:来一个时钟沿,实现一次 变化。单点移动模式需实现发光二极管来回亮, 所以需定义一个16变量的数据类型。利用 CASE-WHEN语句实现状态的转移。状态转移 00000001 - 00000010T 00000100T T10000000T01000000T 幕布式的实现:需实现发光二极管从

3、中间两个点, 同时向两边依次点亮直至全亮,然后再向中间点 灭,往复。需要8变量数据类型,利用单点式中 信号类型定义给状态转移。状态转移需满足:00011000-00111100- Toooooooo-三.VHDL程序发光二极管走马灯电路VHDL程序:library ieee;use ieeelogic 1164use ieeelogic unsigned .all;S entity colorlamp is port (78910111213141516171819clJc_in: in stdlogic;d in:in scd logic;f: out std_logic_vector (7

4、 downto 0 ); end colorlamp;S architecture a of colorlamp isH type all_state is (sOz slz s2z s3z s4r s5f s6z s7z s8r s9z S10z811,812,813,314,315);signal state:all_state; begin process (clk_in)beginH if(clk_inevent and clk_in=,11 then20 if (d_in= 021S casest-ate22whens0=23whensl=24whens2=25whens3=26wh

5、ens4=27whens5=28whens6=)thenis3tate=sl; f=r,00000001r,;3tate=s2; f=r,00000010r,;3tate=s3; f=r,00000100r,;3tate=s4; f=r,00001000r,;3tate=s5; f=r,00010000r,;3tate=s6; f=r,00100000r,;3tate=s7; fs8=s9=sl0=sll=sl2=sl3=sl4=stace=s8; f=r, 10000000rr; stace=s9; f=r,01000000rr; stat.e=slO; f=r,00100000r,;sta

6、te=sll; f = r,00010000r,; state=sl2; f = r,00001000r,; state=sl3; f = r,00000100r,; state=sl4; f = r,00000010r,; state=sl5; f stace=sO; fstate=sl; f state=s2; fstate=s3; fstateatate=s5; fstate=s6; fstate=s7; fstate=s0; f srate=sO; f=r,00011000r,;case; if; if;process; a;仿真波形发光二极管走马灯电路的仿真波形图:五.仿真波形分析单

7、点移动模式功能的仿真波形图分析:由波形可见,当控制信号d_in=O时,输出的8个端口依次出现正脉冲,波形呈现阶梯状,代表一个发光的点在8个发光二极管上来回的亮,实现了功能要求;幕布式功能的仿真波形图的分析:当控制信号d_inh时,输出的8个端口出现正脉冲的时间与 脉冲的长度呈现“中间宽,两头窄”的形状,先是中间的两个灯亮, 接下来是中间四个灯亮,接下来是中间六个灯亮,两旁两个灯不亮, 最后全亮,接着中间六个灯亮,两旁两个灯不亮,继而循环下去, 实现了幕布式的点灯方式。由图可知,该电路实现了要求的逻辑。六. 故障及问题分析开始设计时想到用计数器实现,导致全用case语句实现当设 计电路,但是仿真

8、是发现:不论是单点移动式还是幕布式只能实现单 方向的移动,而无法进行反方向的移动。最后,查阅书籍决定改为引 入类型定义语句,利用类型第一语句来完成实验,所以引进了 16个 信号数据类型进行状态转移。(2)电路拥有两个功能,不能同时将这两个功能实现,所以需引进 控制信号来控制功能的实现。(3)引入时钟,控制状态的变化,此次的时钟的周期不用分频器来 分频,利用实验板上先用的低频率时钟,可以实现发光二极管的状态 变化。实验的程序设计基本上问题不大,主要是要熟练掌握IF-THEN, CASE-WHEN 语句等。七. 总结和结论这学期的数字电路与逻辑设计实验在这一周结束了。这学期学 了一门新课程,接触了

9、关于课程的实验,我发现理论联系实际,实验 验证理论的方法令人感到很满足。每次做实验都会期待这次的电路设 计自己会做出一个什么东西出来。实验课结束了,回顾这几周的实验, 现在的我可以很高兴的说:现在自己已经基本上掌握了数字电路的设 计了。这几周的数字逻辑电路设计实验,我明白了一个重要的道理:进 行实验,理论分析是十分重要的一环,只有逻辑分析透彻无误了,才 能用语言进行描述,进而用硬件实现。这几次实验让我对VHDL这样 一门硬件描述语言有了更加深刻的认识。同时,我也明白了做任何实验之前预习的要求是极为重要的。 做好预习工作,不仅可以减少实验课上应无知而浪费的时间,还可以 更深入的明白仿真实验所蕴含的原理。总的来说,数字逻辑电路与设计实验课对我的帮助真的很大。我 更加深刻的理解了理论课上老师所教授的知识,同时对于自己能够将 理论知识运用到实验中感到十分高兴,相信下学期的数字逻辑电路与 设计实验将会带给我更多新奇与经验。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号