- 20
- 0
- 约5.35千字
- 约 11页
- 2016-11-25 发布于贵州
- 举报
大规模数字逻辑课程设计-流水灯设计
大规模数字逻辑课程设计
题目:流水灯设计
学 号: XXX
姓 名: XXX
班 级: XXX
目录
1. 流水灯控制的实验要求与思路 3
1.1实验要求 3
1.2实验思路 3
2. 系统逻辑设计: 4
3.源程序代码 4
(1)分频器部分 4
(2)控制模块 5
4.实验步骤: 7
5. 实验原理图: 7
6.分配管脚 8
7.运行界面: 8
8.总结与体会 10
9.参考文献 10
流水灯控制的实验要求与思路
1.1实验要求
在流水灯控制系统中,要求开发板上的8个LED灯依次以0.5S的时间间隔从上到下再下到上的顺序点亮,然后分别以1S、1.5S、2S的时间间隔和相同顺序点亮8个LED灯,以此为一个循环,重复以上四个步骤就可以实现流水灯系统的自动循环运作。
1.2实验思路
根据时钟信号的脉冲输入,我们以改变每个LED点亮状态的保持的时间来改变LED的变换间隔时间,根据LED的循环点亮和时间间隔的改变设计成为一个直观的LED流水灯自动循环系统,由此思路我们就可以很容易的着手流水灯控制程序的设计。
系统逻辑设计:
根据以上的设计要求,运用模块化的设计思路,我们在Quartus II8.0 软件系统中设计了LED流水灯控制模块、分频器模块,并通过各个模块程序之间的端口合理连接和协调,成功设计出LED流水灯灯控制电路,得到逻辑结构原理图,即为整个流水灯控制电路的逻辑结构。使用VerilogHDL语言设计相应的模块。
3.源程序代码
(1)// 分频器部分 ,获得便于试验观察的时钟信号
module clk_div(clk_out,clk_in);
input clk_in;
output clk_out;
reg clk_out;
integer counter;
parameter cnt=25_000_000;
always @(posedge clk_in)
begin
counter=counter+1;
if(counter==cnt/2-1)
begin
clk_out=!clk_out;
counter=0;
end
end
endmodule
(2)//控制模块:
module lsd(clk,led);
input clk;
output [7:0]led;// 输出端口定义为寄存器型
reg [7:0] count;
reg [7:0] count1;
reg [7:0] count2;
reg [7:0] led;
reg [3:0] state;
always @(posedge clk)// always语句,表示每当CLK的上升沿到来时,完成begin-end之间语句的操作
begin
count=count+1;
if(count17)
begin
state = state + 4b0001; // one clk,one state
case(state)
4b0000: led = 8 //the 1st state
4b0001: led = 8
4b0010: led = 8
4b0011: led = 8
4b0100: led = 8
4b0101: led = 8
4b0110: led = 8
4b0111: led = 8
4b1000: led = 8
4b1001: led = 8
4b1010: led = 8
4b1011: led = 8
4b1100: led = 8
4b1101: led = 8
4b1110: led = 8
4b1111: led = 8
您可能关注的文档
最近下载
- 【数 学】2025-2026学年北师大版数学七年级上册期末测试卷.docx VIP
- 备战2026年高考化学三年(2023-2025)真题汇编(通用版)专题07电化学及其应用(解析版).docx
- 2023中国ESG发展白皮书.pdf VIP
- 2025年高考化学真题分类汇编专题12 有机化学基础(解析版).docx
- 3 天窗(教学课件).ppt VIP
- 2023年医疗招聘中医类-针灸推拿考试历年真题拔高带答案.docx VIP
- 安宁疗护患者生活质量、初次疼痛、埃德蒙顿症状、缓和日常体能评估量表.pdf VIP
- 课堂教学师生言语行为互动的研究.pdf VIP
- 施工现场雨水收集利用系统技术研究与应用.doc VIP
- 施工现场雨水收集利用系统应用完整版.pdf VIP
原创力文档

文档评论(0)