跑马灯的设计与仿真1(电子科大版)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档