数电实验报告发光二极管走马灯电路设
计与实现
北京邮电大学数字电路与逻辑设计实验实验报告实验名称:
发光一极官走马灯电路设计与头现
学院:班级:姓名:学号:任课老师:
实验日期:
成绩:
实验名称和实验任务要求实验名称:发光二极管走马灯电路设计与
实现实验目的:⑴进一步了解时序电路描述方法;⑵熟悉状态机的
设计方法。
实验任务要求:
设计并实现一个控制88个发光二极管亮灭的电路,仿真验证其功
能,并下载到实验板测试。
⑴单点移动模式:一个点在88个发光二极管上来回的亮;⑵幕
布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间
点灭,依次往复。
二.设计思路和过程设计实现过程:⑴设计的电路拥有两种功
能,所以设定dd」nn控制输出实现两种功能,规定当dd」n0
=0时,实现单点移动模式;当dd」n1=1时,实现幕布式。同
时,时序电路中钟控是必不可少的,所以引入clk_in来实现钟控。
最终需输出在实验板上的88个发光二极管上验证,所以输出ff
需设定为88端口输出,女口:
f:outstd_logic_vector(7downto0)
。
⑵单点移动模式的实现:来一个时钟沿,实现一次变化。单点移
动模式需实现发光二极管来回亮,所以需定义一个616变量的数据
类型。利用CASE--WHE语句实现状态的转移。状态转移
01TT0001T…T-T...T⑶幕布式的实现:需实现发光二极管从中间两个点,同时
向两边依次点亮直至全亮,然后再向中间点灭,往复。需要88变
量数据类型,利用单点式中信号类型定义给状态转移。状态转移需满
足:
0000000111100T…TTT三.VHDL程序发光二极管走马灯电路IVHDI程序:1
libraryleee;2.二二=re■stdlacxc;11€1■a11r3
\iseLeee.stdlcgicunsigned,all;弓E■entitycolor1
aicp±a6Sport(7:insvd._lc?iG;Rd^inrin
?td_loqi.c:;9f:outstdlcgicvectorpdownto0)};10snd
color_airf;11
12Qarchitecturea
匚£colorlaKpis13Qtypeallscacela(3Qf
14310f
31丄F鼻3丄攻r215):15s丄gnalstate:allatate;16
■begm17Sprocess(elkin}IBbegm
5if(ellrin1
eTZEntandulZin=11.1
)then20Hif(d1n=1
01
)then21Scasestate二m22heng0=svate—al;f=nC
DC0OZC;23whenaZ=stavef=wGOGQ?OLQn
;巧-.:
nen32=svaue^=a3;r^=Q9OQ0iOQ;25v?iena3=
state^54;£26whe^3^=svate=35;f=w
OQG10QOO;27whena5-3tate—£28whe^B6
3tate?s7;f?w
■if(din-l1}thenQcasesuatmiswhen
s0=3tate=sl;f=00011COO*;when313ta匸览when
s2=fltat=33;fWhMD?3:=HtHt:P=H4;
f=J*1;:111;when□4-otate-aS;£i-n
01