文档视界 最新最全的文档下载
当前位置:文档视界 › 16X16点阵显示实验

16X16点阵显示实验

16X16点阵显示实验
16X16点阵显示实验

实验报告

实验名称: [16X16点阵显示实验]

姓名:

学号:

指导教师:

实验时间: [2013年6月15日]

信息与通信工程学院

16X16点阵显示实验

1、实验要求:

理解并掌握点阵显示符号的原理,理解原有程序,会使用动态扫描的方式使点阵显示汉字,明白点阵滚动显示的原理。根据原有程序,掌握LPM_ROM的应用,会应用LPM_ROM

存储需要显示的内容。参照液晶显示程序,编写16*16点阵显示程序。

任务一:实现点阵列扫描。点亮点阵的一列,并让其不断的向右移动。

任务二:在点阵上循环滚动显示“嵌入式系统设计”。

2、实验原理:

2.1点阵基本原理

本实验对点阵的扫描使用列扫描的方式。就是将要显示的数据分成16列,在某一时刻只选中一列,并向点阵传送该列需要显示的数据,那么如果从左往右依次循环选中所有列,并且循环的速度足够快,因为视觉停留效应,我们就能看到完整的显示了。

如果要显示大于16列的信息,比如要显示多个汉字,由于只能同时显示16列,那么就需要在一个比较慢的时钟的指挥下,不断更新要显示的连续的16列数据,使用这样的方法就能实现滚动显示。

2.2任务原理

8*8LED点阵共由64个发光二极管组成,每个发光二极管放置在行线和列线的交叉点上,当对应的某一行高电平(置1),且某一列低电平(置0),则相应的发光二极管就亮;因此要用8*8LED点阵来显示一个字符或汉字,只需要根据字符或汉字图形中的线条或笔画,通过点亮多个发光二极管来勾勒出字符或汉字的线条或笔画就行了。

当要比较完美的显示一般的汉字,单个8*8LED点阵模块很难做到,因为LED的点数(也称为像素点)不够多,因此要显示汉字的话,需要多个8*8LED点阵拼合成一个显示屏。假如用4个8*8LED点阵模块拼成16*16的点阵,即能满足一般汉字的显示。

16×16扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯,所以其扫描译码地址需4位信号线(SEL0-SEL3),其汉字扫描码由16位段地址(0-15)输入。通过时钟的每列扫描显示完整汉字。

2.3、实验设计流程:

任务一系统结构图如图1所示。

图1 任务一系统结构图

任务二系统结构图如图2所示。

图2 任务二系统结构图

3.管脚分配:

choose[3] PIN_139

choose[2] PIN_137

choose[1] PIN_134

choose[0] PIN_127

clk_50M PIN_23

data[15] PIN_46

data[14] PIN_44

data[13] PIN_41

data[12] PIN_39

data[11] PIN_35

data[10] PIN_33

data[9] PIN_30

data[8] PIN_15

data[7] PIN_13

data[6] PIN_11

data[5] PIN_10

data[4] PIN_8

data[3] PIN_6

data[2] PIN_5

data[1] PIN_4

data[0] PIN_3

l5 PIN_142

rst PIN_56

sel[2] PIN_146

sel[1] PIN_145

sel[0] PIN_144

4、实验结果:

使用QuartusII软件将实验工程分别下载到实验箱中,能够看到预期的现象:

将任务一的工程下载到实验箱后,可以看到一竖条向右移动,移动速度为1s每列。

将任务二的工程下载到实验箱后,点阵上滚动显示汉字“嵌入式系统设计”,字体移动速度为0.34秒每列。

实验现象表明实验程序符合要求,能够完成实验要求任务。

5实验心得

通过这次实验,我学到了一个有时序功能的器件如何用verilog语言实现其功能。学会了8*8LED点阵共由64个发光原理,要用8*8LED点阵来显示一个字符或汉字,只需要根据字符或汉字图形中的线条或笔画,通过点亮多个发光二极管来勾勒出字符或汉字的线条或笔画就行了。如何用点阵拼合成一个显示屏假如用4个8*8LED点阵模块拼成16*16的点阵,即能满足一般汉字的显示。而16×16扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯,所以其扫描译码地址需4位信号线(SEL0-SEL3),其汉字扫描码由16位段地址(0-15)输入。通过时钟的每列扫描显示完整汉字。并通过模块和模块的嵌套或者连接实现相应功能。

通过这次实验,学到了很多东西,同时也认识到了自己只是FPGA道路上的新手,还有很多未知的知识需要学习。真正学习的历程需要在课下多努力,希望通过这学期的学习自

己能熟练掌握一些编程的技术,培养良好的思维模式。

6 参考文献

[1] 王金明. 《数字系统设计与Verilog HDL》第3版、第2版, 电子工业出版社, 2009、2005. TP271/W24.

[2] 夏宇闻. 《Verilog数字系统设计教程》, 北京航空航天大学出版社, 第1、2版, 2008. TP312VH/X31.

[3] 蒋璇,臧春华. 《数字系统设计与PLD应用技术》, 电子工业出版社, TP271/J63.

[4] 侯伯亨,顾新. 《VHDL硬件描述语言与数字逻辑电路设计》(修订版), 西安电子科技大学出版社. TP312/H490.

[5] (美)John 威廉斯著; 李林,陈亦欧,郭志勇译. 《Verilog数字VLSI设计教程》, 电子工业出版社. 2010.7.

[6] 潘松,黄继业. 《EDA技术实用教程》, 科学出版社, 2006. TN702/P18.

附录:程序清单

任务一:

module scan (clk_50M,rst,choose,data,sel,l5); input clk_50M;

input rst;

output reg[3:0] choose;

output reg[15:0] data;

output wire[2:0] sel;

output wire l5;

assign sel=3'b010;

assign l5=1'b0;

// +++++++++++++++++++++++++++++++++++++

// 分频模块开始

// +++++++++++++++++++++++++++++++++++++

reg scan_clk;

reg [40:0] count_div;

always @(posedge clk_50M)

begin

if(count_div == 24'd49999999999)

begin

scan_clk <= ~scan_clk;

count_div<= 24'b000000000000000000000000;

end

else

begin

count_div <= count_div+1;

end

end

// -------------------------------------

// 分频模块结束

// ------------------------------------

always @(posedge scan_clk,negedge rst)

begin

if(!rst)

choose <= 0;

else

choose <= choose +1'b1;

end

always data=16'hffff;

endmodule

任务二:

`define BETA_TIME 8'h02

module scan (clk_50M,rst,choose,data,sel,l5,rom_addr,romdata); input clk_50M;

input rst;

output reg[3:0] choose;

output reg[15:0] data;

output wire[2:0] sel;

output wire l5;

reg[15:0] disp_memery[0:15];

reg[15:0] rom[0:128];

assign sel=3'b010;

assign l5=1'b0;

// +++++++++++++++++++++++++++++++++++++

// 分频模块开始

// 分频得到的时钟用于改变显示内容

// +++++++++++++++++++++++++++++++++++++

reg disp_change_clk;

reg [40:0] count_div;

//

always @(posedge clk_50M)

begin

if(count_div == 24'd49999999999)

begin

disp_change_clk <= ~disp_change_clk;

count_div<= 24'b000000000000000000000000; end

else

begin

count_div <= count_div+1;

end

end

// -------------------------------------

// 分频模块结束

// ------------------------------------

// +++++++++++++++++++++++++++++++++++++

// 分频得到的时钟用于改变屏幕扫描

// +++++++++++++++++++++++++++++++++++++

reg disp_scan_clk;

reg [40:0] count_div1;

always @(posedge clk_50M)

begin

if(count_div1 == 24'd4999)

begin

disp_scan_clk <= ~disp_scan_clk;

count_div1<= 24'b000000000000000000000000;

end

else

begin

count_div1 <= count_div1+1;

end

end

// -------------------------------------

// 分频模块结束

// ------------------------------------

reg [6:0] rom_addr;

//wire [15:0] romdata;

output[6:0] rom_addr;

output[15:0] romdata;

always @ (posedge clk_50M or negedge rst) begin

if(!rst)

rom_addr <= 7'h0;

else

if(rom_addr==7'b000_1111)

rom_addr <=0;

else

rom_addr <= rom_addr+7'b000_0001;

end

always @(posedge disp_scan_clk or negedge rst) begin

if(!rst)

choose <= 4'hf;

else

choose <= choose +1'b1;

end

reg [6:0] disp_count;

always @(posedge disp_change_clk or negedge rst) begin

if(!rst)

disp_count <= 7'h00;

else

disp_count <= disp_count +1'b1;

end

always@(posedge clk_50M)

begin

disp_memery[rom_addr ] <= rom[rom_addr+disp_count]; end

always data=disp_memery[4'hf-choose];

always @(*)

begin

rom[7'h00]= 16'h0000;

rom[7'h01]= 16'h0200;

rom[7'h02]= 16'h6FFE;

rom[7'h03]= 16'h2248;

rom[7'h04]= 16'h2248;

rom[7'h05]= 16'h2FFE;

rom[7'h06]= 16'h2201;

rom[7'h07]= 16'hE082;

rom[7'h08]= 16'h2104;

rom[7'h09]= 16'h2E18;

rom[7'h0a]= 16'h22E0;

rom[7'h0b]= 16'h2210;

rom[7'h0c]= 16'h628C;

rom[7'h0e]= 16'h0004; rom[7'h0f]= 16'h0000; rom[7'h10]= 16'h0002; rom[7'h11]= 16'h0004; rom[7'h12]= 16'h0008; rom[7'h13]= 16'h0010; rom[7'h14]= 16'h8060; rom[7'h15]= 16'hC180; rom[7'h16]= 16'h6E00; rom[7'h17]= 16'h1800; rom[7'h18]= 16'h0600; rom[7'h19]= 16'h0100; rom[7'h1a]= 16'h00C0; rom[7'h1b]= 16'h0020; rom[7'h1c]= 16'h0018; rom[7'h1d]= 16'h000C; rom[7'h1e]= 16'h0008; rom[7'h1f]= 16'h0000; rom[7'h20]= 16'h0000; rom[7'h21]= 16'h1004; rom[7'h22]= 16'h1106; rom[7'h23]= 16'h110C; rom[7'h24]= 16'h11F8; rom[7'h25]= 16'h1108; rom[7'h26]= 16'h1110; rom[7'h27]= 16'h1010; rom[7'h28]= 16'hFF00; rom[7'h29]= 16'h10E0;

rom[7'h2b]= 16'h7004; rom[7'h2c]= 16'h5002; rom[7'h2d]= 16'h1001; rom[7'h2e]= 16'h000E; rom[7'h2f]= 16'h0000; rom[7'h30]= 16'h0000; rom[7'h31]= 16'h0002; rom[7'h32]= 16'h4084; rom[7'h33]= 16'h44C8; rom[7'h34]= 16'h4D90; rom[7'h35]= 16'h55A0; rom[7'h36]= 16'h6682; rom[7'h37]= 16'h4681; rom[7'h38]= 16'h44FE; rom[7'h39]= 16'h8880; rom[7'h3a]= 16'hB2A0; rom[7'h3b]= 16'h8190; rom[7'h3c]= 16'h80C8; rom[7'h3d]= 16'h8046; rom[7'h3e]= 16'h0000; rom[7'h3f]= 16'h0000; rom[7'h40]= 16'h0404; rom[7'h41]= 16'h0C44; rom[7'h42]= 16'h34C4; rom[7'h43]= 16'hC548; rom[7'h44]= 16'h0648; rom[7'h45]= 16'h0849; rom[7'h46]= 16'h2102;

rom[7'h48]= 16'h25F0; rom[7'h49]= 16'hB900; rom[7'h4A]= 16'h6100; rom[7'h4B]= 16'h21FC; rom[7'h4C]= 16'h2502; rom[7'h4D]= 16'h2382; rom[7'h4E]= 16'h210E; rom[7'h4F]= 16'h0000; rom[7'h50]= 16'h0200; rom[7'h51]= 16'h8200; rom[7'h52]= 16'h73FE; rom[7'h53]= 16'h2004; rom[7'h54]= 16'h0009; rom[7'h55]= 16'h0101; rom[7'h56]= 16'h0202; rom[7'h57]= 16'h7DC2; rom[7'h58]= 16'h4134; rom[7'h59]= 16'h4108; rom[7'h5A]= 16'h4108; rom[7'h5B]= 16'h7D34; rom[7'h5C]= 16'h03C2; rom[7'h5D]= 16'h0203; rom[7'h5E]= 16'h0202; rom[7'h5F]= 16'h0000; rom[7'h60]= 16'h0400; rom[7'h61]= 16'h8400; rom[7'h62]= 16'h7400; rom[7'h63]= 16'h27FE;

rom[7'h65]= 16'h0008; rom[7'h66]= 16'h0410; rom[7'h67]= 16'h0400; rom[7'h68]= 16'h0400; rom[7'h69]= 16'h0400; rom[7'h6A]= 16'hFFFF; rom[7'h6B]= 16'h0400; rom[7'h6C]= 16'h0400; rom[7'h6D]= 16'h0400; rom[7'h6E]= 16'h0400; rom[7'h6F]= 16'h0000; rom[7'h70]= 16'h0000; rom[7'h71]= 16'h0000; rom[7'h72]= 16'h0000; rom[7'h73]= 16'h0000; rom[7'h74]= 16'h0000; rom[7'h75]= 16'h0000; rom[7'h76]= 16'h0000; rom[7'h77]= 16'h0000; rom[7'h78]= 16'h0000; rom[7'h79]= 16'h0000; rom[7'h7A]= 16'h0000; rom[7'h7B]= 16'h0000; rom[7'h7C]= 16'h0000; rom[7'h7D]= 16'h0000; rom[7'h7E]= 16'h0000; rom[7'h7F]= 16'h0000; end

Endmodule

汉字点阵显示屏设计报告

广西交通职业技术学院信息工程系 作品设计报告书 课程名称电子电路设计与制作_____________ 题目16*16 汉字点阵显示屏 _________________ 班级___________ 电信2011-1班_____________ 学号007 032 ____________________ 姓名_________________ 范杰________________

任课老师_____________ 韦家正 _______________ 二O 一三年一月 目录 摘要 一、系统方案选择和论证 (2) 1.1设计要求 (2) 2.1系统基本方案 (2) 2.1.1.主控电路选择 (2) 2.1.2.点阵显示屏部分 (2) 2.1.3.显示屏控制部分 (3) 二、电路模块的设计与分析 (3) 2.1.系统程序的设计 (3) 2.2.单片机系统及外围电路 (4) 23 LED点阵显示 (6) 24.汉字扫描的原理 (7) 25.方案的实现 (7) 三、系统软件设计 (8) 四、系统测试与分析 (10) 4.1点阵显示屏的仿真与程序调试 (10) 4.2整机测试 (10) 4.3系统主程序............................... 错误!未定义书签。 4.4系统测试结果分析 (21) 五、设计制作总结 (21) 5.1 总结 (21) 5.2 致谢词 (22) 六、参考文献 (22)

附录一:系统主要元件清单 (14)

摘要 摘要 LED点阵显示屏作为一种新兴的显示器件,是由多个独立的高亮度的LED发光二极管封装而成。LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等灵活的动态显示。文章给出了一种基于MCS-51/52单片机的 16X16点阵LED显示屏的设计方案,包括系统具体的硬件设计方案,软件流程图和汇编语言程序等方面内容。在负载范围内,只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉、亮 度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定的图文显示方案。 Abstract LED dot matrix display, as a new display device, by a nu mber of in depe ndent high- bright ness LED light-emitt ing diode packages. LED dot matrix display can display nu mbers or symbols, usually used to display time, speed, system status, and a flexible dyn amic display. Pap er, a microcomputer-based MCS-51/52 16 16 dot matrix LED display desig n, in cludi ng the system specific hardware desig n, software flowcharts and assembly Ian guage programs and other aspects. Withi n the load range, by simply cascad ing Jiu expa nsion can right display Jin Xin g, is a low cost, high brightness, low voltage Gong Hao Xiao, miniaturization, Yi Yu IC match, Qu Dong simple, Shou Ming Ion g, impact resista nee, stable performa nee, graphics and display opti ons.

微机接口实验-16x16点阵显示

实验04·LED显示器 王梦硕 0930******* 实验目的: 在理解LED点阵工作原理的基础上,实践使用点阵显示字符。 实验原理: 1·点阵式显示器: 发光二级管排列成矩阵,由亮与暗来产生字符或图形。 每一样的阳极连在一起,每一列的阴极连在一起,如右图所 示。 点阵显示器每一列的阴极连在一起,对每一列而言相当 于一个共阴显示器。同时每一行的阳极连在一起,相当于七 段显示器的比划。可采用动态显示电路,以笔画锁存器控制 行信号,以位锁存器控制列信号。 2·74HC595 实验中使用两片8位输出锁存移位寄存器74HC595(三态输出、串入并出),将单片机I/O口发出的串行数据转换为并行数据LD_QA~LD_QP,作为16x16 LED点阵显示器的行线,使用另外两片8位74HC595作为16x16 LED点阵显示器的列线LD_1~LD_16。当行输出高电平、列输出低电平时,可以点亮点阵。74HC595的工作时序图和推荐的连接方法如下: 下图中: ?LD-QA~LD-QP:点阵行控制信号 ?LD-1~LD-16:点阵列控制信号 ?SER(14脚):串行数据输入端 ?-SCLR(10脚):低电平时将移位寄存器的 数据清零。通常将它接Vcc。 ?SCK(11脚):上升沿时将串行数据移入移 位寄存器。 ?RCK(12脚):上升沿时移位寄存器的数据 锁存入数据寄存器。 ?-G(13脚): 高电平时禁止输出(高阻态)。

实验内容: 在16×16LED点阵上分别用静态方式和滚屏方式显示自己的姓(行扫描)。 两个实验部分的电原理图是相同的,如下所示:

1·静态方式: 流程图: 程序代码: L_DAT_H BIT P1.0 L_DAT_L BIT P1.1 L_STR BIT P1.2 L_CLK BIT P1.3 L_OE BIT P1.4 ROWH EQU 40H ;字模信号(顺向取膜,高位在前)ROWL EQU 41H SELH EQU 42H ;行扫描信号

基于FPGA的LED16×16点阵汉字显示设计(VHDL版)

毕业设计(论文)开题报告 设计(论文)题目基于FPGA的LED 16×16点阵汉字显示设计 一、选题的背景和意义: LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国LED 显示屏应用逐步增多。目前,LED已经广泛应用在银行、火车站、广告、体育场馆之中。而随着奥运会、世博会的临近,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。 因此,本设计是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。并且采用编写灵活的VHDL 语言编写主程序。本设计可以方便的应用到各类广告宣传中。 二、课题研究的主要内容: 1. 实现16×16点阵的汉字显示; 2. 实现有限汉字显示; 4. 实现汉字的滚动显示; 5. 完成方案论证。 三、主要研究(设计)方法论述: 通过去图书馆查阅书籍收集资料,同时在搜索引擎上检索资料,分析借鉴已有类似产品、设计方案与成功经验,选择几种可行方案比对,最后确定最切实可行的方案展开设计。 通过Multisim或Quartus软件对系统进行模拟仿真,对电路功能进行改进与完善。 在EDA试验箱上进行调试。 四、设计(论文)进度安排:

时间(迄止日期)工作内容 2010.5.17-5.23 理解并确认毕业设计任务书,撰写完成毕业设计开题报告(第1周) 2010.5.24-5.30 完成调研与资料收集、整理 (第2周) 2010.5.31-6.6 设计方案及原理框图确定 (第3周) 2010.6.7-7.4 电路资料收集,单元电路设计 (第4、5、6、7周) 2010.7.5-7.18 电路仿真与改进、完善 (第8、9周) 2010.19-8.1 资料整理 (第10、11周) 2010..8.2-8.8 书写毕业设计报告 (第12周) 2010.8.9-8.16 (第13周)修改毕业设计报告并整理装订 五、指导教师意见: 指导教师签名:年月日六、系部意见: 系主任签名:年月日 目录

单片机课程设计---16×16点阵式汉字显示

目录 摘要 (1) Abstract (2) 1设计原理 (3) 1.1 MCS-51单片机的结构及编程方法 (3) 1.2 16*16点阵LED原理 (5) 1.3 3-8译码器原理 (6) 2.设计方案介绍 (7) 2.1 设计总体思路 (7) 2.2 与题目相关的具体设计 (7) 2.3程序设计流程图 (8) 3.源程序,原理图和仿真图 (9) 3.1程序清单(见附录) (9) 3.2电路图 (9) 3.2.1电路原理图 (9) 3.2.2电路图分析 (9) 3.3仿真图 (9) 4性能分析 (10) 5.总结和心得 (11) 6.参考文献 (12) 附录:程序代码 (13)

摘要 LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。 关键词:MCS-51;LED;单片机

Abstract As a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode). The LED dot-matrix display board can display the number or sign, and it is usually used to show time, speed, the state of system etc. This paper introduces a kind of simple 16x16 LED display screen design process based on MCS-51 single chip minicomputer . The detail hardware scheme, software flow and assemble language programmer design and so on is followed. The display part can be cascaded to meet the need. The practice proves the design is low-cost and effective. Key words: MCS-51;LED;MCU

EDA 16x16点阵显示

课程设计报告 课程名称数字系统与逻辑设计 课题名称16*16点阵显示 专业通信工程 班级 学号 姓名 指导教师乔汇东胡瑛 2012年7月2日

湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题16*16点阵显示 专业班级通信工程1001班 学生姓名 学号 指导老师乔汇东胡瑛 审批乔汇东 任务书下达日期2012 年6月23日 任务完成日期2012 年7月2日

《数字系统与逻辑设计》课程设计任务书 一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 三、进度安排 第二十周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

16 16点阵LED循环显示汉字汇编语言设计

LED16X16点阵显示 课程设计报告 学院信息工程学院 专业通信工程 班级0801 学生姓名 指导老师 二0一0年十二月 一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计内容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故

使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。 以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。 在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED 全点亮。 现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图3.1 图3.1用动态扫描显示字符“B”的过程 Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本次设计。

51单片机16X16LED点阵式汉字电子显示屏设计_毕业设计(论文)

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

16X16点阵LED显示

毕业设计说明书 课题名称: 16乘16点阵显示电路的电路原理图及pcb绘制 学生姓名 专业 班级 时间 指导教师

姓名 设计题目16乘16点阵显示电路的原理图及pcb 绘制 指导教师 设计目的利用单片机控制显示屏,显示相应字幕掌握PROTEL99SE软件的操作和应用 理解和运用芯片 设计摘要 本设计是一16×16点阵LED电子显示屏的设计。 整机以单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器 74LS168和两个列驱动器74LS164来驱动显示屏显示。采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。 单片机控制系统程序采用单片机以C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。 论文着重介绍点阵显示的制作过程,即元器件的制作,单个封装,原理图的绘制以及PCB版布线的过程 设计规划1.建立库原件里面的没有的原件,并做出封装 2.绘制点阵点阵显示的原理图 3.对原理图里面的原件进行封装 4.创建链接表 5.导入到PCB里面,并排列连接 6.制造PCB版 7.

姓名 设计题目16乘16点阵显示电路的原理图及pcb绘制指导教师 设计目的利用单片机控制显示屏,显示相应字幕掌握PROTEL99SE软件的操作和应用 理解和运用芯片 设计摘要 本设计是一16×16点阵LED电子显示屏的设计。 整机以单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器 74LS168和两个列驱动器 74LS164来驱动显示屏显示。采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。 单片机控制系统程序采用单片机以C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。 论文着重介绍点阵显示的制作过程,即元器件的制作,单个封装,原理图的绘制以及PCB版布线的过程 设计规划1.建立库原件里面的没有的原件,并做出封装 2.绘制点阵点阵显示的原理图 3对原理图里面的原件进行封装 4创建链接表 5导入到PCB里面,并排列连接 6制造PCB版

16-16点阵LED显示汉字汇编语言

LED16X16点阵显示课程设计报告 学院 专业 班级 学生 指导老师

一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED 动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视

基于51单片机的汉字点阵显示设计

湖南科技大学测控技术与仪器专业
单 片 机 课 程 设 计
题 姓 学 名 号

指导教师 成 绩 ____________________
湖南科技大学机电工程学院 二〇一五年十二月制

湖南科技大学课程设计
摘要
LED 显示屏在我们的周围随处可见,它的应用已经普及到社会中的方方面面。作为 一种新型的显示器件,在许多场合都可以见到它的身影,不仅是它的应用使呈现出来的 东西更加美观,更重要的是它的应用方便,成本很低,除了能给人视觉上的冲击外,更 能给人一种美的享受。LED 显示屏是由多个发光二极管按矩阵形式排列封装而成,通常 用来显示时间、图文等各种信息。本设计是基于 ATS52 单片机的 16*16 点阵式显示屏, 该 LED 显示屏能实现 16*16 个汉字,简单的显示图像, 然后一直循环着显示下去。该设 计包含了硬件、软件、调试等方案,只需简单的级联就能实现显示屏的拓展,但要注意 不要超过负载能力。本次设计的作品体积小、功能多、方便实用、花费小,电路具有结 构简单、操作方便、精度高、应用广泛的特点。 关键词: LED,ATS51 单片机,显示屏
-2-

湖南科技大学课程设计
目录
摘要…………………………………………………………………………i 第一章 系统功能要求 ……………………………………………………1 1.1 系统设计要求 ……………………………………………………1 第二章 方案论证 …………………………………………………………1 2.1 方案论证 …………………………………………………………1 第三章 系统硬件电路设计 ………………………………………………1 3.1 AT89S51 芯片的介绍 ………………………………………………1 3.1.1 系统单片机选型…………………………………………………1 3.1.2 AT89S51 引脚功能介绍 …………………………………………2 3.2 LED 点阵介绍………………………………………………………2 3.2.1LED 点阵……………………………………………………………2 3.3 系统各硬件电路介绍 ………………………………………………3
3.3.1 系统电源电路设计介绍……………………………………………3 3.3.2 复位电路……………………………………………………………4 3.3.3 晶振电路……………………………………………………………4 3.4 系统的总的原理图……………………………………………………5 第四章 系统程序设计 ………………………………………………………5 4.1 基于 PROTEUS 的电路仿真……………………………………………5 4.2 用 PROTEUS 绘制原理 ………………………………………………6
4.3PROTEUS 对单片机内核的仿真 ………………………………………6
-3-

16×16点阵LED显示汉字

以下程序在16×16点阵LED上依次显示“梅川酷子”四个字,分别用正向显示和反向显示,间隔两秒钟变换一次,电路图和效果图下图所示。 AT89c52晶振频率为24MHz,用T0定时,改变变量flag值,从而让程序确定显示哪个汉字和显示方式(正向or反向)。 #include 或者#include #define int8 unsigned char #define int16 unsigned int #define int32 unsigned long int8 flag; /* flag变量 MSB 7 6 5 4 3 2 1 0 LSB × ×× Bit5=1,Bit4=0 时,负向显示 Bit5=0,Bit4=1 时,负向显示 Bit[2..0]74HC138的片选信号 */ int8 n; int8 code table[][32]={ {0x88,0x00,0x88,0x00,0x88,0x7F,0x48,0x00,0xDF,0x1F,0xA8,0x10,0x9C,0x1 2,0xAC,0x14,0xEA,0x7F,0x8A,0x12,0x89,0x14,0x88,0x10,0x88,0x7F,0x08,0x 10,0x08,0x14,0x08,0x08},/*"梅",0*/ {0x08,0x20,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x2 1,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x04,0x 21,0x04,0x20,0x02,0x00},/*"川",1*/ {0x00,0x08,0xFE,0x08,0x28,0x0A,0x28,0x7E,0xFE,0x0A,0xAA,0x09,0xAA,0xF F,0xEA,0x00,0x86,0x00,0x82,0x7E,0xFE,0x42,0x82,0x42,0x82,0x42,0xFE,0x 7E,0x82,0x42,0x00,0x00},/*"酷",2*/ {0x00,0x00,0xF8,0x1F,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x0 1,0x00,0x41,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x 01,0x40,0x01,0x80,0x00}/*"子",3*/ }; void delay(void); void main(void){ int8 i; int8 j; int8 index;

8×8LED点阵显示汉字课程设计

目录 第1章本设计的研究背景及目的要 求 0 1.1凌阳单片 机 0 1.2 LED(8×8)点阵模块简 介 (1) 第2章设计方案和基本原 理 (3) 2.1设计方 案 (3) 2.2 基本原 理 (3) 1. 8×8LED点阵的工作原 理 (3) 第3章程序设 计 (6) 3.1程序流程 图 (6) 3.2 程序代 码 (6) 第4章调试结果及分 析 (8) 4.1调试结 果 (8) 4.2结果分 析 (9) 第5章结论与体 会 (10) 参考文 献 .................................................................. 11 附 录 .................................................................. . (12) 第1章本设计的研究背景及目的要求

1.1凌阳单片机 (1)来源 随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理数据处理以及数字信号处理,DSP(Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。 (2)构造 它的CPU内核采用凌阳最新推出的Microcontroller and Signal Processor 16 位微机处理器芯片,以下简称μ'nSP?。围绕μ'nSP?所形成的16位μ'nSP?系 列单片机,以下简称μ'nSP? 家族。采用的是模块式集成结构,它以μ'nSP?内核为中心集成不同规模的ROM PAM和功能丰富的各种外设部件。μ'nSP?内核 是一个通用的和结构。除此之外的其它功能模块均为可选结构。以及这种结构可大可小可有可无,借助这种通用结构附加可选结构的积木式的构成,便可成为各种系列的派生产品,以适合不同场合,这样做无疑会使每种派生产品具有更强的功能和更低的成本。μ'nSP?家族有有以下特点:体积小,集成度高,可靠性 好易于扩展。μ'nSP? 家族把各功能把各功能部件模块化地集成在一个芯片里。内部采用总线结构,因为减少了各功能部件之间的连接,提高了其可靠性和抗干扰能力,另外,模块化的结构易于系列的扩展,以适应不同用户的需求。具有较强的中断处理能力。μ'nSP?家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域。高性能价格比:μ'nSP?家族片内带有高寻址能力的ROM,静态RAM和多功能的I/O口,另外μ'nSP?的指令系统提供出具有较高运算速度的16位,16位的乘法运算指令和内积运算指令,为其应用添加了DSP功能,使得μ'nSP?家族运用在复杂的数字信号处理方面既很便利又比专用的DSP芯片廉价。 优点: 功能强、效率高的指令系统:μ'nSP?的指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。低功耗、低电压:μ'nSP?家族采用CMOS制造工艺,同时增加了软件激发的弱振方式,空闲方式和掉电方式,极大地降低了其功耗,另外,μ'nSP?家族的工 作电压范围大,能在低电压供电时正常工作,且能用电池供电,这对于其在野外作业等领域中的应用具有特殊的意义。 (3)应用领域 凌阳单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控例且功能比起采用电子或数字电路更加强大。智能化、微型化,制使得仪器仪表数字化、. 。如精密的测量设备(功率计,示波器,各种分析仪)在工业控制中的应用2. 例如工厂流水线的智能化管数据采集系统。用单片机可以构成形式多样的控制系统、

8 16X16LED点阵显示程序

16×16按字显示程序: ;P0和P2口输出字型码,P1口输出列线扫描。 ORG 0000H SJMP LOOP ORG 0080H LOOP:MOV A,#00H ;开机初始化,清除画面MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口 MOV R2,#200 D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$ DJNZ R2,D100MS

MOV 20H,#00H ;字型码指针赋初值 L100: MOV R1,#10 ;每个字的停留时间 L16: MOV R6,#16 ;每个字16个16位码 MOV R4,#00H ;列线扫描指针清零,接4-16译码器,。 MOV R0,20H ;字型码指针存入R0 L3: MOV A,R4 ;列线扫描指针存入A MOV P1,A ;列线扫描输出 INC R4 ;扫描指针加1,指向下一列 MOV A,R0 ; 取码指针存入A MOV DPTR,#TABLE ;取数据表的上半部分的代码 MOVC A,@A+DPTR MOV P0,A ; 输出到P0 INC R0 ;取字型码指针加1,取下一个码。 MOV A,R0 MOV DPTR,#TABLE ;取数据表下半部份的代码 MOVC A,@A+DPTR MOV P2,A ;输出到P2口 INC R0 ;取字型码指针加1,取下一个码。 MOV R3,#02 ;扫描1毫秒 DELAY2:MOV R5,#248 DJNZ R5,$ DJNZ R3,DELAY2 MOV A,#00H ;清除屏幕 MOV P0,A ANL P2,#00H DJNZ R6,L3 ;一个字16个码是否完成? DJNZ R1,L16 ;每个字的停留时间是否到了? MOV 20H,R0 ;取码指针存入20H(静态显示) CJNE R0,#224,L100 ;7个字224个码是否完成? JMP LOOP ;反复循环 16×16滚动显示程序: ORG 0000H SJMP LOOP ORG 0080H LOOP:MOV A,#00H ;开机初始化,清除画面 MOV P0,A ;清除P0口

16x16点阵显示LED

开封大学 学生毕业设计 题目点阵式汉字电子显示屏设计 年级 11级专业电子信息工程技术 班级电子3班 学生姓名苗本朋起止时间 2013.11,4-2014,05.26指导教师肖兴达职称副教授 2014年 5 月 26 日

摘要 电子显示屏的应用范围越来越广泛,它作为一个重要的宣传平台,已经受到全社会的普遍认可。本课题以单片机为控制核心,通过8x8 LED电子显示屏及相关的外围电路,设计制作了一个16x16 点阵LED电子显示屏。 本文介绍了基于AT89C51单片机点阵显示屏的设计方案,阐述了16×16点阵LED 显示屏的设计原理与思路,详细叙述了系统硬件、软件设计的具体实现过程。论文重点阐述了显示模块及相关驱动模块等的模块化设计思路与制作方法。软件部分同样也采用模块化的设计思想,显示模块,并采用简单流通性强的汇编语言编程实现。系统能实现清晰的图文伴随左移出显示功能。在实际设计调试过程中,通过肉眼观察该显示屏显示的图文是否稳定、清晰无串扰,查找造成图文不清晰的根源,确定调整方案,尽可能的使显示图文与要求相符合。 关键词:单片机;LED显示屏

目录 1 引言 (3) 1.1 课题的背景 (3) 1.2 研究目的和意义 (4) 1.3 研究内容 (5) 2 系统方案论证 (5) 2.1 方案论证 (6) 2.2模块方案确定 (6) 2.2.1 电源模块 (6) 2.2.2 单片机控制模块 (6) 2.2.3 时钟信号电路 (6) 2.2.4 复位电路 (7) 2.2.5 显示驱动模块 (7) 3 系统硬件电路设计 (8) 3.1硬件电路设计 (8) 3.2各单元电路说明 (8) 3.2.1 单片机主控模块的设计 (8) 3.2.2 16X16点阵显示模块设计 (11) 3.2.3 驱动模块电路设计 (13) 3.2.4 电源电路设计 (15) 4 系统软件设计 (18) 4.1点阵显示原理 (18) 4.2系统程序流程图 (20) 4.3系统程序 (22) 5 单片机I/O口分配 (26) 6 结果分析及总结 (26) 6.1结果分析 (26) 6.2总结 (26) 参考文献 附录1:电路图 附录2:元件清单

16×16点阵LED显示屏整个过程及C语言程序

16×16点阵LED显示屏整个过程及C语言程序 7.1功能要求 设计一个室内用16×16点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。 7.2方案论证 从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。 动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;……第十六行之后又重新燃亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。 采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。 采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。 解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图7.1为显示屏电路实现的结构框图。

Verilog程序(汉字点阵显示

中国石油大学 数电课程设计报告题目: 学院: 班级: 姓名: 学号: 日期: 2012 年 12月

摘要 设计要求: 利用EDA/SOPC 实验开发平台提供的16*16点阵LED以及EPC235核心板,实现循环显示“中国石油大学”这6个汉字(左移或者右移均可)。 (1)手动生成“中国石油大学”这6个汉字在16*16点阵LED 上的6个字模(即控制某些LED亮,某些LED灭)。 (2)实现循环显示“中国石油大学”这6个汉字(左移或者右移均可)。 (3)拓展要求:自主设计(如控制循环速度,方向)。 关键词: 扫描分频,控制速度,点阵,点阵汉字显示,

设计原理及方案: 1、16*16点阵LED内部结构如下图所示。 2、总体设计框图: 3、各子模块的设计: (1)、分频,扫描: module fenpin (clk_50Mhz,clk_4hz,k2,k3); input clk_50Mhz,k2,k3; // 输入端口声明

output clk_4hz; // 输出端口声明reg[24:0] count,ccount; reg clk_4hz; always @(posedge clk_50Mhz) begin if ((k2==0) && (k3==0)) ccount<=500000000; if ((k2==0) && (k3==1)) ccount<=100000000; if ((k2==1) && (k3==0)) ccount<=50000000; if ((k2==1) && (k3==1)) ccount<=10000000; if(count

相关文档
相关文档 最新文档