当前位置: 主页 > FPGA 应用 > FPGA 应用入门 - 中级班 > 逻辑实验题目1-led流水灯
逻辑实验题目1-led流水灯
摘要
逻辑实验题目1-led流水灯 实验模版: 实验目的: 学习使用Quartus软件建立工程,熟悉软件操作过程。 实验原理: 主时钟分频得到一个低频时钟,之后控制接口板上的LED流动闪亮。 实验
  

逻辑实验题目1-led流水灯

 


 工程请到论坛的专区下载

 

 

 

实验目的:

 

学习使用Quartus软件建立工程,熟悉软件操作过程。

实验原理:

主时钟分频得到一个低频时钟,之后控制接口板上的LED流动闪亮。

实验现象:

下载程序后,可以看到接口板上的LED灯左右来回闪动。

 

 

参考程序:

 1 /*
 2     EP2C5/8 Q208 开发板测试程序
 3     by  艾米电子工作室
 4     2009-03-17 上午 10:04:32
 5     
 6     led water module
 7 
 8 */
 9 
10 module ledwater(
11                 led,
12                 clk
13                 );          // 模块名ledwater
14 
15 output[7:0] led;                    // 定义LED输出口
16 input       clk;                 // 定义时钟输入口
17 
18 reg[8:0]    led_r = 9'b0_0000_0001;            // 定义输出寄存器
19 
20 assign led = led_r[7:0];            // 寄存器输出
21 
22 reg dir = 1;        // 循环方向控制
23 
24 
25 always @(posedge clk)               // 过程
26 begin
27 
28     if(led_r == 9'b0_0000_0001)                // 循环完毕低位?
29     begin
30         dir = 1;              // 改变方向
31         led_r <= 9'b0_0000_0001;          // 重新赋初值
32     end
33 
34     if(led_r == 9'b1_0000_0000)
35     begin
36         dir = 0;          // 改变方向
37         led_r <= 9'b1_0000_0000;          // 重新赋初值
38     end
39 
40     if(dir)
41         led_r <= led_r << 1;          // 输出左移一位  
42     else
43         led_r <= led_r >> 1;          // 输出右移一位
44 
45 end
46 endmodule