乘16点阵显示实验报告.doc

上传人:jian****018 文档编号:9502732 上传时间:2020-04-06 格式:DOC 页数:11 大小:351.50KB
返回 下载 相关 举报
乘16点阵显示实验报告.doc_第1页
第1页 / 共11页
乘16点阵显示实验报告.doc_第2页
第2页 / 共11页
乘16点阵显示实验报告.doc_第3页
第3页 / 共11页
点击查看更多>>
资源描述
实 验 报 告 实验名称: 1616点阵显示实验姓 名: 学 号: 指导教师: 实验时间: 1616点阵显示实验1 实验要求任务1:将所给程序改正使结果为正显示;任务2: 使显示四个字、八个字。2 实验原理2.1 LED显示器结构和原理18*8LED点阵的结构 图1 8*8LED点阵结构图 从图1中可以看出,8*8LED点阵共由64个发光二极管组成,每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1高电平,且某一列置0低电平,则相应的发光二极管就亮;因此要用8*8LED点阵来显示一个字符或汉字,只需要根据字符或汉字图形中的线条或笔画,通过点亮多个发光二极管来勾勒出字符或汉字的线条或笔画就行了。当要比较完美的显示一般的汉字,单个8*8LED点阵模块很难做到,因为LED的点数(也称为像素点)不够多,因此要显示汉字的话,需要多个8*8LED点阵拼合成一个显示屏。假如用4个8*8LED点阵模块拼成16*16的点阵,即能满足一般汉字的显示。但要显示信息量大的图形,则需要n个多个8*8LED点阵,拼装成一个大屏幕才行。LED点阵显示器最大的特点是亮度高、功耗较低、寿命长、容易控制等,因此它的应用很广,常用在广场、车站、商业广告等室外的显示。28*8LED点阵的封装和引脚规律 64个发光二极管按照行共阳、列共阴4个一组的方式封装成一个模块,这样8*8LED点阵模块就有8行、8列共16个引脚。其实物图如图2,电路模块符号图如图3。 图2 8*8LED点阵实物图 图3 8*8LED点阵符号图但8*8LED点阵的16个引脚并不是很有规律,千万不要想象成18个引脚是行,916个引脚是列。而且不同产品的点阵外部引脚排列规律还可能不一样。以下是NLB1388SRA和LDM1388SRA两个型号点阵引脚对应行、列的关系表:行号H0H1H2H3H4H5H6H7引脚号9148121725列号L0L1L2L3L4L5L6L7引脚号1334106111516假如你买到一块新的8*8LED点阵,又没有关于它的相关资料,那你只有自己用万用表或通过VCC电源串接一个510欧姆的电阻来检测了。2.2 LPM_ROM的应用 该模块为逻辑宏模块存储器。其应用过程如下。 1选择模块2点击ok后,得到3属性编辑:可以根据实际需要选择数据宽度和内存的容量,默认是8bit,32个字空间。修改空间和数据属性,Cyclone系列支持最大存储深度4k。该界面可以选择输出引脚的属性,需要把hex文件或者mif其中mif文件或者hex文件可以由多种形式生成。或由多种工具获得, 如 Quartus 的 Text File编辑器、Matlab 等。完成设置:放置该模块:按照基本操作步骤添加引脚,并进行编译,排除错误。注意总线形式的引脚设置方法。双击引脚标识,修改对话框中的内容,获得总线连接方式。3 实验结果 通过对程序及原理图的修改,逐步完成了老师的要求,最后使显示器显示“面朝大海,春暖花开。” 4 实验心得 这次实验比之前更加深入一点,通过这次实验,我了解了16*16点阵的基本工作原理,学习了用Verilog HDL语言编写点阵扫描的程序。虽然在实验中遇到了一些问题,尤其是四个字变八个字的过程,只因为一个小小的接线问题,始终看不到“春暖花开”。但是自己看着问题一步一步的解决,知识一点一点的积累,确实很有成就感,这又增加了我对FPGA学习的热情。虽然还不能完全读懂本实验上的所有程序,但是能够通过修改部分程序来完成老师要求的任务,也是有意义的。附录:实验程序清单module dianzhen (clk50mhz,row,sel0,sel1,sel2,sel3,line);input clk50mhz; /实验箱提供50MHz时钟信号output sel0,sel1,sel2,sel3; /设置引脚选通点阵output reg 15:0 row; /列output reg 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计数子 assign sel0=1b0;assign sel1=1b1;assign sel2=1b0;assign sel3=1b0;always(posedge clk50mhz) beginif(cnt=25d50000000)begincnt=25b0; /1Hz计时器cnt1=cnt1+1; /16s计时器endelsecnt=cnt+1;endhangsaomiao u1(.clk50mhz(clk50mhz),.row(row1),.line(line1);liesaomiao u2(.clk50mhz(clk50mhz),.row(row2),.line(line2);always(*)if(cnt1=5d31)beginrow=row1; /行扫描line=line1;endelsebeginrow=row2; /列扫描line=25d50000000)begincnt1=25b0;clkrow=clkrow; /1s列脉冲endelsecnt1=25d500)begincnt2=25b0;clkline=clkline; /100KHz行脉冲endelsecnt2=cnt2+1;endalways(posedge clkline)begincase(line)4d0:line=4d1; /高速行扫描4d1:line=4d2;4d2:line=4d3;4d3:line=4d4;4d4:line=4d5;4d5:line=4d6;4d6:line=4d7;4d7:line=4d8;4d8:line=4d9;4d9:line=4d10;4d10:line=4d11;4d11:line=4d12;4d12:line=4d13;4d13:line=4d14;4d14:line=4d15;4d15:line=4d0;default:line=4d0;endcaseendalways(posedge clkrow) /时间间隔为1s的列扫描begincase(row)16b0000000000000001: row=16b0000000000000010;16b0000000000000010: row=16b0000000000000100;16b0000000000000100: row=16b0000000000001000;16b0000000000001000: row=16b0000000000010000;16b0000000000010000: row=16b0000000000100000;16b0000000000100000: row=16b0000000001000000;16b0000000001000000: row=16b0000000010000000;16b0000000010000000: row=16b0000000100000000;16b0000000100000000: row=16b0000001000000000;16b0000001000000000: row=16b0000010000000000;16b0000010000000000: row=16b0000100000000000;16b0000100000000000: row=16b0001000000000000;16b0001000000000000: row=16b0010000000000000;16b0010000000000000: row=16b0100000000000000;16b0100000000000000: row=16b1000000000000000;16b1000000000000000: row=16b0000000000000001;default: row=25d50000000)begincnt=25b0;clk=clk; /1sendelsecnt=cnt+1;end always (posedge clk) /列扫描begincase(line) 4h0:begin row=16b1111111111111111;line=4h1;end4h1:begin row=16b1111111111111111;line=4h2;end4h2:begin row=16b1111111111111111;line=4h3;end4h3:begin row=16b1111111111111111;line=4h4;end4h4:begin row=16b1111111111111111;line=4h5;end4h5:begin row=16b1111111111111111;line=4h6;end4h6:begin row=16b1111111111111111;line=4h7;end4h7:begin row=16b1111111111111111;line=4h8;end4h8:begin row=16b1111111111111111;line=4h9;end4h9:begin row=16b1111111111111111;line=4ha;end4ha:begin row=16b1111111111111111;line=4hb;end4hb:begin row=16b1111111111111111;line=4hc;end4hc:begin row=16b1111111111111111;line=4hd;end4hd:begin row=16b1111111111111111;line=4he;end4he:begin row=16b1111111111111111;line=4hf;end4hf:begin row=16b1111111111111111;line=4h0;enddefault:line=4h0;endcaseendendmodule
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!