您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 北京邮电大学信通院2010级数字电路跑马灯实验报告
北京邮电大学数字电路实验报告实验名称:发光二极管走马灯电路设计与实现姓名:武文爵班级:21班班内序号:9学院:信息与通信工程学院日期:2012年4月一、发光二极管走马灯电路设计与实现1.实验目的(1)进一步了解时序电路描述方法;(2)熟悉状态机的设计方法。2.实验所用仪器及元器件(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。3.实验任务与要求设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。4.设计思路和过程(1)设计一个模8计数器和一个模5计数器,在输入的时钟信号的上升沿触发。(2)对于模8计数器,当计数值达到“001”时,计数标志位设置为‘0’,进行加计数;当计数值达到“110”时,计数标志位设置为‘1’,进行减计数。(3)模5计数器的设计思路与模8计数器相同。(4)对于输入的控制信号,当控制信号为“1”时,利用3线至8线译码器输出控制信号,实现单点移动模式;当控制信号为“0”时,利用3线至8线译码器输出控制信号,利用其中的5个状态,实现幕布式;5.VHDL代码这是库申明和实体申明,有三个输入端分别为控制端,时钟,复位。一个八位的输出端。TEMP用作输出;TEMP1,TEMP2为计数器状态,用作计数器的设计FLAG1,FLAG2标记计数器的计数方式,当为1是加计数,为0时减计数。当控制端为1时实现单点移动模式,能够自启动。当控制端为0时实现幕布式,将TEMP的值赋给输出Q。6.仿真波形及分析(1)仿真波形(2)波形分析由波形可见,当控制信号输入为“1”时,输出的8个端口依次出现正脉冲,代表一个发光的点在8个发光二极管上来回的亮;当输入为“0”时,输出的8个端口出现正脉冲的时间与脉冲的长度呈现“中间宽,两头窄”的形状,实现了幕布式的点灯方式.由图可知,该电路实现了要求的逻辑。7.故障及问题分析(1)开始设计时没有想到用计数器实现,导致全用case语句实现当设计单点移动时正确,但当实现幕布式是导致条件有重复故改用模8计数器实现,其实单点移动可以不用计数器而直接使用case语句,但为了统一思路都改为用计数器实现。(2)一开始设计模8计数器时,将程序下载到电路板上,拨动拨码开关使电路工作在单点移动状态时,发现只有两边的两个灯轮流亮,其他灯都不亮,即计数变量记到“111”时,计数标志位的值仍为0,下一状态计数变量变为“000”时,计数标志位才变为1,这就导致输出的信号只有两种状态。可能是因为是同步变化,then执行有时钟延时的关系,于是将计数变量改变为当为“001”时变为1,“110”时变为0就解决了这一问题。(3)仿真波形时发现都没有输出,因为忘了将TEMP赋值给Q。加上后正确。9.本实验总结与结论1.经过逻辑分析,编写VHDL代码,然后调试,进行波形仿真,最后下载到实验板实现,经过一系列工序,成功实现了数码管扫描显示控制器及发光二极管走马灯电路。2.进行数字电路实验,理论分析是十分重要的一环,只有逻辑分析透彻无误了,才能用语言进行描述,进而用硬件实现。这次实验让我对VHDL这样一门硬件描述语言有了更加深刻的认识。3.通过这次实验,我对VHDL状态机有了更深层次的理解,也进一步理解了课堂上关于时序逻辑电路的内容,对于计数器、译码器的应用,有了更深层次的理解。通过这次实验,我巩固了在数字电路与逻辑设计课上学习到的理论知识,加深了对理论知识的理解。
本文标题:北京邮电大学信通院2010级数字电路跑马灯实验报告
链接地址:https://www.777doc.com/doc-5433461 .html