16乘16点阵显示实验报告.docx
- 文档编号:19652351
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:15
- 大小:318.35KB
16乘16点阵显示实验报告.docx
《16乘16点阵显示实验报告.docx》由会员分享,可在线阅读,更多相关《16乘16点阵显示实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
16乘16点阵显示实验报告
实验报告
实验名称:
[16×16点阵显示实验]
姓名:
[]
学号:
[]
指导教师:
[]
实验时间:
[]
16×16点阵显示实验
1实验要求
任务1:
将所给程序改正使结果为正显示;
任务2:
使显示四个字、八个字。
2实验原理
2.1LED显示器结构和原理
1>8*8LED点阵的结构
图18*8LED点阵结构图
从图1中可以看出,8*8LED点阵共由64个发光二极管组成,每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1高电平,且某一列置0低电平,则相应的发光二极管就亮;因此要用8*8LED点阵来显示一个字符或汉字,只需要根据字符或汉字图形中的线条或笔画,通过点亮多个发光二极管来勾勒出字符或汉字的线条或笔画就行了。
当要比较完美的显示一般的汉字,单个8*8LED点阵模块很难做到,因为LED的点数(也称为像素点)不够多,因此要显示汉字的话,需要多个8*8LED点阵拼合成一个显示屏。
假如用4个8*8LED点阵模块拼成16*16的点阵,即能满足一般汉字的显示。
但要显示信息量大的图形,则需要n个多个8*8LED点阵,拼装成一个大屏幕才行。
LED点阵显示器最大的特点是亮度高、功耗较低、寿命长、容易控制等,因此它的应用很广,常用在广场、车站、商业广告等室外的显示。
2>8*8LED点阵的封装和引脚规律
64个发光二极管按照行共阳、列共阴4个一组的方式封装成一个模块,这样8*8LED点阵模块就有8行、8列共16个引脚。
其实物图如图2,电路模块符号图如图3。
图28*8LED点阵实物图图38*8LED点阵符号图
但8*8LED点阵的16个引脚并不是很有规律,千万不要想象成1~8个引脚是行,9~16个引脚是列。
而且不同产品的点阵外部引脚排列规律还可能不一样。
以下是NLB1388SRA和LDM1388SRA两个型号点阵引脚对应行、列的关系表:
行号
H0
H1
H2
H3
H4
H5
H6
H7
引脚号
9
14
8
12
1
7
2
5
列号
L0
L1
L2
L3
L4
L5
L6
L7
引脚号
13
3
4
10
6
11
15
16
假如你买到一块新的8*8LED点阵,又没有关于它的相关资料,那你只有自己用万用表或通过VCC电源串接一个510欧姆的电阻来检测了。
2.2LPM_ROM的应用
该模块为逻辑宏模块存储器。
其应用过程如下。
1选择模块
2点击ok后,得到
3属性编辑:
可以根据实际需要选择数据宽度和内存的容量,默认是8bit,32个字空间。
修改空间和数据属性,Cyclone系列支持最大存储深度4k。
该界面可以选择输出引脚的属性,
需要把hex文件或者mif
其中mif文件或者hex文件可以由多种形式生成。
或由多种工具获得,如Quartus的TextFile编辑器、Matlab等。
完成设置:
放置该模块:
按照基本操作步骤添加引脚,并进行编译,排除错误。
注意总线形式的引脚设置方法。
双击引脚标识,修改对话框中的内容,获得总线连接方式。
3实验结果
通过对程序及原理图的修改,逐步完成了老师的要求,最后使显示器显示“面朝大海,春暖花开。
”
4实验心得
这次实验比之前更加深入一点,通过这次实验,我了解了16*16点阵的基本工作原理,学习了用VerilogHDL语言编写点阵扫描的程序。
虽然在实验中遇到了一些问题,尤其是四个字变八个字的过程,只因为一个小小的接线问题,始终看不到“春暖花开”。
但是自己看着问题一步一步的解决,知识一点一点的积累,确实很有成就感,这又增加了我对FPGA学习的热情。
虽然还不能完全读懂本实验上的所有程序,但是能够通过修改部分程序来完成老师要求的任务,也是有意义的。
附录:
实验程序清单
moduledianzhen(clk50mhz,row,sel0,sel1,sel2,sel3,line);
inputclk50mhz;//实验箱提供50MHz时钟信号
outputsel0,sel1,sel2,sel3;//设置引脚选通点阵
outputreg[15:
0]row;//列
outputreg[3:
0]line;//行
wire[15:
0]row1,row2;
wire[3:
0]line1,line2;
reg[24:
0]cnt=0;//1Hz计数子
reg[5:
0]cnt1=0;//16s计数子
assignsel0=1'b0;
assignsel1=1'b1;
assignsel2=1'b0;
assignsel3=1'b0;
always@(posedgeclk50mhz)
begin
if(cnt>=25'd50000000)
begin
cnt<=25'b0;//1Hz计时器
cnt1<=cnt1+1;//16s计时器
end
else
cnt<=cnt+1;
end
hangsaomiaou1(.clk50mhz(clk50mhz),.row(row1),.line(line1));
liesaomiaou2(.clk50mhz(clk50mhz),.row(row2),.line(line2));
always@(*)
if(cnt1<=5'd31)
begin
row<=row1;//行扫描
line<=line1;
end
else
begin
row<=row2;//列扫描
line<=line2;
end
Endmodule
行扫描
modulehangsaomiao(clk50mhz,line,row);
inputclk50mhz;//实验箱输入50MHz时钟信号
outputreg[15:
0]row;//列
outputreg[3:
0]line;//行
reg[24:
0]cnt1,cnt2;//计数子
regclkrow,clkline;//列脉冲、行脉冲
always@(posedgeclk50mhz)
begin
if(cnt1>=25'd50000000)
begin
cnt1<=25'b0;
clkrow=~clkrow;//1s列脉冲
end
else
cnt1<=cnt1+1;
end
always@(posedgeclk50mhz)
begin
if(cnt2>=25'd500)
begin
cnt2<=25'b0;
clkline=~clkline;//100KHz行脉冲
end
else
cnt2<=cnt2+1;
end
always@(posedgeclkline)
begin
case(line)
4'd0:
line<=4'd1;//高速行扫描
4'd1:
line<=4'd2;
4'd2:
line<=4'd3;
4'd3:
line<=4'd4;
4'd4:
line<=4'd5;
4'd5:
line<=4'd6;
4'd6:
line<=4'd7;
4'd7:
line<=4'd8;
4'd8:
line<=4'd9;
4'd9:
line<=4'd10;
4'd10:
line<=4'd11;
4'd11:
line<=4'd12;
4'd12:
line<=4'd13;
4'd13:
line<=4'd14;
4'd14:
line<=4'd15;
4'd15:
line<=4'd0;
default:
line<=4'd0;
endcase
end
always@(posedgeclkrow)//时间间隔为1s的列扫描
begin
case(row)
16'b0000000000000001:
row<=16'b0000000000000010;
16'b0000000000000010:
row<=16'b0000000000000100;
16'b0000000000000100:
row<=16'b0000000000001000;
16'b0000000000001000:
row<=16'b0000000000010000;
16'b0000000000010000:
row<=16'b0000000000100000;
16'b0000000000100000:
row<=16'b0000000001000000;
16'b0000000001000000:
row<=16'b0000000010000000;
16'b0000000010000000:
row<=16'b0000000100000000;
16'b0000000100000000:
row<=16'b0000001000000000;
default:
row<=16'b0000000000000001;
endcase
end
endmodule
列扫描
moduleliesaomiao(clk50mhz,row,line);
inputclk50mhz;//实验箱输入50MHz时钟信号
outputreg[15:
0]row;//行
outputreg[3:
0]line;//列
reg[24:
0]cnt;//计数子
regclk;
always@(posedgeclk50mhz)
begin
if(cnt>=25'd50000000)
begin
cnt<=25'b0;
clk=~clk;//1s
end
else
cnt<=cnt+1;
end
always@(posedgeclk)//列扫描
begin
case(line)
default:
line<=4'h0;
endcase
end
endmodule
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 点阵 显示 实验 报告