逻辑实验题目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

