数字电子技术课程设计报告LED矩形点阵

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【设计题目】LED点阵循环显示设计

【设计任务及要求】

利用EDA/SOPC试验开发平台提供的16*16点阵LED以及EP2C35核心板,实现循环显示设定内容,显示内容为自己的“学号名字”。(1)手动生成“学号XX”这几个字符在16*16点阵LED上的字摸(即控制某些LED亮,某些LED灭,可下载字摸软件帮助确定)。(2)实现循环显示“学号XX”,并要求左移

(3)扩展要求:自主设计(如控制循环速度,方向等)。

设计原理及方案:

1、16*16点阵LED内部结构如下图所示。

2、总体设计框图。

FPGA

3、各子模块的设计:

(1)分频,扫描

module saomiao (clk_50Mhz,clk_1k); input clk_50Mhz;

output clk_1k;

reg[24:0] t;

reg clk_1k;

always (posedge clk_50Mhz)

begin

if (t<25000)

begin

t<=t+1;

clk_1k<=0;

end

else if(t<50000)

begin

t<=t+1;

clk_1k<=1;

end

else t=0;

end

endmodule

封装生成的模块如下:

(2)分频,移动,控制速度

module yidong (clk_50Mhz,clk_fourhz,k2,k3);

input clk_50Mhz,k2,k3; // 输入端口声明output clk_fourhz; // 输出端口声明

reg[24:0] count,ccount;

reg clk_fourhz;

always (posedge clk_50Mhz)

begin

if ((k2==0) && (k3==0))

ccount<=50000000;

if ((k2==0) && (k3==1)) ccount<=100000000;

if ((k2==1) && (k3==0)) ccount<=5000000;

if ((k2==1) && (k3==1)) ccount<=10000000;

if(count

begin

count<=count+1'b1;

clk_fourhz<=0;

end

else

begin

count<=0;

clk_fourhz<=1;

end

end

endmodule

封装生成的模块如下:

(3)显示,控制输出,控制左右移动module xianshi(clk_saomiao,clk_pingyi,row,con,k); input clk_saomiao,clk_pingyi,k;

output[15:0] row;

output[15:0] con;

reg[15:0] row;

reg[15:0] con;

integer t=0,b=0;

reg[15:0] r[111:0];

initial

begin

// 学号:

r[0]<=16'b1111_0111_1011_1111;

r[1]<=16'b1111_0111_1101_1111;

r[2]<=16'b1111_0000_0001_1111;

r[3]<=16'b1111_0111_1111_1111;

r[4]<=16'b1111_0111_1111_1111;

r[5]<=16'b1111_1111_1111_1111;

r[7]<=16'b1111_0111_1101_1111;

r[8] <=16'b1111_0111_1101_1111;

r[9]<=16'b1111_1000_0011_1111;

r[10]<=16'b1111_1111_1111_1111;

r[11] <=16'b1111_1111_1111_1111;

r[12] <=16'b1111_1000_0011_1111;

r[13] <=16'b1111_0111_1101_1111;

r[14]<=16'b1111_0111_1101_1111;

r[15] <=16'b1111_1000_0011_1111; //"100"

r[16] <=16'b1111_0111_1011_1111;

r[17] <=16'b1111_0111_1101_1111;

r[18] <=16'b1111_0000_0001_1111;

r[19] <=16'b1111_0111_1111_1111;

r[20] <=16'b111_0111_1111_1111;

r[21] <=16'b1111_1111_1111_1111;

r[22] <=16'b1111_0011_1011_1111;

r[23] <=16'b1111_0101_1101_1111;

r[24]<=16'b1111_0110_1101_1111;

r[25]<=16'b1111_0111_0011_1111;

r[26]<=16'b1111_1111_1111_1111;

相关文档
最新文档