硬件环境:MAX_II EPM1270 CPLD开发板
软件环境:Quartus II 、Windows10.
每过1秒亮一个灯将板子上的12给灯依次亮完并循环
代码解析:
12行:接收复位信号,LED1亮
14行:设置一个寄存器变量,每次时钟上升沿来临时加一
15:若时间超过12秒(600000000个计数时间),即所以灯轮流亮后,cnt值清零,避免变量值一直累加
16:判断时间是否过去一秒,芯片的晶振为50MHZ,50000000个计数单位为一秒
17-18:out后四位进行移位操作,使一行灯从左到右依次亮灭
19:定义一个寄存器变量,使其每过一秒值加一
21:判断其是否经过四秒(即灯亮完四次,一行)
22-23:out前三位进行移位操作,使一列灯从上到下依次亮灭
效果如视频所示
VID_20220422_201722