【摘要】:实验目的:使FPGA电路板上的4个LED灯顺序点亮并熄灭,循环往复产生流水现象。表5-5流水灯实验管脚分配图5-12LED灯硬件原理图本实验中,系统时钟、按键复位以及LED端口的管脚分配如下表5-5所示。表5-5流水灯实验管脚分配由于二极管的阳极分别与FPGA相应的管脚相连,只需要改变与LED灯相连的FPGA管脚的电平,LED灯的亮灭状态就会发生变化。
实验目的:使FPGA电路板上的4个LED灯顺序点亮并熄灭,循环往复产生流水现象。
实验原理:发光二极管与普通二极管一样具有单向导电性。给它加上阳极正向电压后,通过5mA左右的电流就可以使二极管发光。通过二极管的电流越大,发出的光亮度越强。不过我们一般将电流限定在3~20mA之间,否则电流过大就会烧坏二极管。
发光二极管的原理图如图5-12所示,LED0到LED3这4个发光二极管的阴极都连到地(GND)上,阳极分别与FPGA相应的管脚相连。原理图中LED与地之间的电阻起到限流作用。
图5-12 LED灯硬件原理图
本实验中,系统时钟、按键复位以及LED端口的管脚分配如下表5-5所示。
表5-5 流水灯实验管脚分配
由于二极管的阳极分别与FPGA相应的管脚相连,只需要改变与LED灯相连的FPGA管脚的电平,LED灯的亮灭状态就会发生变化。当FPGA管脚为高电平时,LED灯点亮;为低电平时,LED灯熄灭。本次设计的模块端口及信号连接如图5-13所示。
(www.daowen.com)
图5-13 流水灯模块原理图
由于人眼的视觉暂留效应,流水灯状态变换间隔时间最好不要低于0.1s,否则就不能清晰地观察到流水效果。这里我们让流水灯每间隔0.2s变化一次。在程序中需要用一个计数器累加计数来计时,计时达0.2s后计数器清零并重新开始计数,这样就得到了固定的时间间隔。每当计数器计数满0.2s就让led灯发光状态变化一次。
实验流程:理解任务、分析原理、硬件设计、程序编码、仿真验证、具体实现。
示例程序:
在Modelsim中对流水灯程序进行仿真时用到的测试程序如下所示:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关电子系统设计与应用的文章