跑马灯的设计与仿真1(电子科大版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
光电信息学院
数字电路课程设计报告
课程名称:数字设计原理与实践
设计题目:跑马灯设计及仿真
专业:光电工程与光通信
学号:2905103032 2905402009
姓名:生艳梅周高翔
选课号:60 71
2011年06月08日
光电学院数字电路课程设计
任务名称:跑马灯的设计及仿真
专业:光电工程与光通信姓名:生艳梅周高翔
指导教师:周建华
(1)课程设计应达到的目的、任务及要求:
控制8 个LED 进行花式显示,设计4 种显示模式:S0,从左到右逐个点亮LED;S1,从右到左逐个点亮LED;S2,从两边到中间逐个点亮LED;S3,从中间到两边逐个点亮LED。4 种模式循环切换,复位键(rst)控制系统的运行与停止。跑马灯的状态转换图如图所示:
(2)设计思路
要达到跑马灯的灯依次亮的效果。我们只需要将跑马灯的8 盏灯用8 位二进制数表示,1 代表灯亮,0 代表灯灭,然后设计若干个状态,让clk 在上升沿处带动状态的改变。按照要求,初始状态是全灭,即00000000 然后由左往右依次亮,既:1000000 →11000000→11100000 →………依次类推。
(3)程序如下:
module ledwalk(clk,rst,led);
input clk,rst;
output [7:0] led;
reg [7:0] led;
reg [24:0] count;
reg [4:0] state;
wire clk;
always @ (posedge clk,negedge rst) begin
if(!rst)
count<=0;
else
count=count+1;
end
always @ (posedge clk)
begin :AA
case(state)
5'b00000: led=8'b00000000;
5'b00001: led=8'b10000000;
5'b00010: led=8'b11000000;
5'b00011: led=8'b11100000;
5'b00100: led=8'b11110000;
5'b00101: led=8'b11111000;
5'b00110: led=8'b11111100;
5'b00111: led=8'b11111110;
5'b01000: led=8'b11111111;
5'b01001: led=8'b00000000;
5'b01010: led=8'b00000001; 5'b01011: led=8'b00000011; 5'b01100: led=8'b00000111; 5'b01101: led=8'b00001111; 5'b01110: led=8'b00011111; 5'b01111: led=8'b00111111; 5'b10000: led=8'b01111111; 5'b10001: led=8'b11111111; 5'b10010: led=8'b00000000; 5'b10011: led=8'b10000001; 5'b10100: led=8'b11000011; 5'b10101: led=8'b11100111; 5'b10110: led=8'b11111111; 5'b10111: led=8'b00000000; 5'b11000: led=8'b00011000; 5'b11001: led=8'b00111100; 5'b11010: led=8'b01111110; 5'b11011: led=8'b11111111; default: disable AA; endcase
end
always @ (posedge clk) begin
state=state+1;
if(state==5'b11100) state=5'b00000;
end
endmodule
(4)仿真结果:
(5)收获、体会及改进想法等:
通过本次设计,我们巩固了时序逻辑的理论知识,同时也掌握了QUARTUS II时序设计的基本方法和技巧,在这个过程中遇到很多困难,比如:总线、支线、数据分配、源信号丢失等编译错误,但最终通过查阅相关资料解决了这些问题。与上次课程设计不同的是,这次课程设计的题目是时序逻辑,难度较大,我们通过组队的方式,合理分配了任务,减小了每个人的工作量,节约了不少时间。这次设计过程,也使我们深刻地认识到,任何一个实际的问题都不是简单的问题,跑马灯在生活中随处可见,但它的设计对于初学者来讲还是有一定难度的。因此,在今后的学习中,我们要更加刻苦,学习理论知识的同时积极实践,解决更多的实际问题。
主要参考文献
数字设计原理与实践(原书第四版)(美)John F.Wakerly