一、实验目的
掌握流水灯原理并实现流水灯
二、实验要求
流水灯:8 个 LED 以 0.5s 间隔接替闪烁
三、实验原理
相比上一个 LED 闪烁的实现,只需要改变 LED 的状态。将 8 个 LED 灯流水式的点亮;在 C 语言中做流水灯的实验需要用到一个中间变量(代码如下左侧,数据位的搬移如下右图):
在 FPGA 的开发中是基于硬件,语言也是硬件描述语言,verilog 的处理单位就是 1bit;8bit 的位宽数据可看作 8 个独立的信号线,这 8 个信号线之间的排序及相互之间的赋值可以随意组合;代码如下:
四、实验源码设计(完整源码查看 demo 源文件)
Module 的具体内容如下:
五、实验步骤
工程创建及编译流程与前面 Led 闪烁实验一致,在添加文件的步骤,添加本实验的 water_led 的 verilog 文件即可,管脚分配如下:
六、实验现象
8 个 led 依次被点亮,后一个灯被点亮时前一个灯熄灭,依次往返,让亮起来的 led 灯像是在 8 个 led 灯上流动起来一样,故而此实验称之为流水灯。
更多回帖