当前位置:文档之家› LED点阵C语言程序

LED点阵C语言程序

LED点阵C语言程序
LED点阵C语言程序

LED点阵C语言程序

2009年09月06日星期日 22:41

/* 本程序的功能是在LED点阵上循环显示五个汉字

“爱你一万年”

字库码通过字库扫描码生成程序得到 */

#include //51芯片管脚定义头文件

#include //内部包含 _nop_();

#define uchar unsigned char

#define uint unsigned int

sbit SDATA_595=P0^0; //串行数据输入

sbit SHCP_595 =P2^7; //移位时钟脉冲,上升沿时数据寄存器的数据移位sbit STCP_595 =P0^2; //输出锁存器控制脉冲,上升沿时移位寄存器的数据进入数据存储寄存器

sbit XS_74138 =P2^4; //显示允许控制信号端口

void write_data(uchar dat); //写数据函数声明

void hangxuan(uchar i); //行选函数声明

//16X16的显示代码

uchar code

daima[][32]={{0xff,0x87,0xc0,0x7f,0xee,0xef,0xf6,0xdf,0x80,0x1,0xbd ,0xfd,0x7d,0xfb,0x80,0x7,0xfb,0xff,0xf8,0xf,0xf5,0xdf,0xf6,0xbf,0xe f,0x7f,0xee,0x9f,0xdd,0xe3,0xf3,0xf7},//爱的字库码

{0xee,0xff,0xee,0xff,0xee,0xff,0xdc,0x3,0xdd,0x fb,0x9b,0xf7,0x57,0xbf,0xdf,0xbf,0xde,0xaf,0xde,0xb7,0xdd,0xb3,0xdb ,0xbb,0xdf,0xbf,0xdf,0xbf,0xde,0xbf,0xdf,0x7f},//你

{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf f,0xff,0xfb,0x0,0x1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x ff,0xff,0xff,0xff,0xff,0xff,0xff},//一

{0xff,0xff,0xff,0xfb,0x0,0x1,0xfd,0xff,0xfd,0xff,0xfd,0xef, 0xfc,0x7,0xfd,0xef,0xfd,0xef,0xfb,0xef,0xfb,0xef,0xfb,0xef,0xf7,0xe f,0xef,0xef,0xdf,0x5f,0xbf,0xbf},//万

{0xf7,0xff,0xf7,0xf7,0xe0,0x3,0xee,0xff,0xde,0xff,0xbe,0xef,0 xe0,0x7,0xee,0xff,0xee,0xff,0xee,0xfb,0x0,0x1,0xfe,0xff,0xfe,0xff,0 xfe,0xff,0xfe,0xff,0xfe,0xff},//年

};

/*---------延时函数-------------*/

void delay(unsigned int ms)

{

unsigned int i;

while(ms--)

{

for(i=0;i<80;i++);

}

}

//主函数开始

void main()

{

uchar shuju,i,j,m,hang; //定义变量

shuju=0; //给变量赋初值

hang=0;

P2=0X00;

XS_74138=1;//禁止显示

while(1)//无限循环

{

for(i=0;i<5;i++)//三个汉字

{

for(m=0;m<100;m++)//每个字显示一段时间

{

for(j=0;j<32;j+=2)//每个汉字有32个代码

{

shuju=daima[i][j+1];//选择某行,某列,先写某一行代码的右半边部分,因为在移位时,它会移到下一个595

STCP_595=0;//为锁存数据,即产生上升沿信号做准备

write_data(shuju);//写代码

shuju=daima[i][j];//选择某行某列,某一行的左半部分,

write_data(shuju);//写代码

hangxuan(hang);//行选函数

hang++;//行号自增

if(hang==16)//如果等于16了,说明已经扫描完一整屏幕的数据,行好代码就要清零

hang=0;

STCP_595=1;//产生一个上升沿

delay(1);//发送完一行代码延时一下

}

}

}

}

}

//向74HC595写数据

void write_data(uchar dat)

{

uchar i;

for(i=0;i<8;i++)//数据是八位的

{

SHCP_595=0;//时钟信号的上升沿,数据进入移位寄存器

_nop_();

_nop_();

SDATA_595=dat&0x80;//只要最高位

_nop_();

_nop_();

dat=dat<<1;//左移一位

SHCP_595=1;//产生上升沿

}

}

//行选函数

void hangxuan(uchar i)

{

uchar k;

k=P2&0XF0;//读回行号

XS_74138=1;//关显示

i&=0x0f;//只要低四位

P2=i|k;//高四位不变,只把低四位赋给P2口XS_74138 =0;//开显示

}

微机接口实验-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 ;行扫描信号

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。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

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版

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口

LED点阵显示屏实验报告

16?16点阵LED电子显示屏的设计 摘要:文章介绍了基于单片机AT89C51的16?16点阵LED电子显示屏的设计。分别阐述了显示屏显示的基本原理,硬件设计、控制方法及其程序的实现。经过调试和分析,设计的结果能够实现对汉字的静态和动态显示,动态显示的内容有多种方式,同时又可通过上位机更新显示的内容。 关键字:AT89C51;16?16点阵;LED;显示屏 一绪论 LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。 1 LED点阵显示屏概述 LED点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。 目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。国内的另一种LED显示屏——可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。 2 LED显示屏控制技术状况 显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。

16X16点阵显示综合实验eda

北华航天工业学院 《EDA技术综合设计》 课程设计报告 报告题目:16X16点阵显示综合实验作者所在系部:电子工程系 作者所在专业:自动化 作者所在班级:B08221 作者姓名:王建超 指导教师姓名:崔瑞雪 完成时间:2010-11-30

内容摘要 EDA技术是现代电子信息工程领域的一门新兴技术,它是在现代先进的计算机工作平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进的电子系统设计方法。随着EDA技术的不断发展,开发人员完全可以通过自己的电子系统设计来定制其芯片内部的的电路功能,使之成为设计者自己的专门集成电路芯片。 在本次课设中,设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮,点亮方式为使点阵显示器显示“沈小兰王建超袁利宏”九个字和一种花样,其中列选信号为16-4编码器编码输出。 列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。 字体、格式,注意本次为课设报告、不是实验报告 关键词:EDA、可编程逻辑器件、时钟信号、16*16点阵字符发生器

目录 一、设计要求 (1) 二、实验目的 (1) 三、硬件要求 (1) 四、实验原理 (1) 五、程序设计 (2) 16进制计数器 (2) 16*16点阵的行列驱动器 (2) 六、原理图 (12) 七、仿真波形 (12) 八、实验总结 (13) 参考文献 (13)

课程设计任务书

一、实验要求 设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮,点亮方式为使点阵显示器显示“沈小兰王建超袁利宏”九个字和一种花样,其中列选信号为16-4编码器编码输出。 二、实验目的 1、了解点阵字符的产生和显示原理。 2、了解E2PROM和16×16点阵LED的工作机理。 3、加强对于总线产生,地址定位的CPLD实现的理解。 三、硬件要求 1.主芯片EPF10K10LC84-4。 2.可变时钟源。 3.带有事先编程好字库/字符的E2PROM 2864。 4.16×16扫描LED点阵。 四、实验原理 16×16扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。所以其扫描译码地址需4位信号线。要使16点阵上某个点亮,如第10行第4列的LED点亮,只要让列选信号为“0100”,从而选中第4列,再给第10行一个高电平,即可点亮该LED。本实验通过FPGA芯片写入字形,产生扫描信号。为了显示整个汉字,首先分布好汉字的排列,以行给汉字信息;然后以大于24HZ的频率扫描列,即每行逐一加高电平,根据人眼的视觉残留特性,使之形成整个汉字的显示。 由于要显示不同的字,需要给一个信DIN,对不同字不同花样进行选择。而该信号的产生可以通过一个16进制计数器完成。 本设计由16进制计数器,行驱动和列驱动组成。输出包括了如下图所示的列选信号SEL0—SEL3。

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:元件清单

点阵屏显示原理及实验详解

标题:LED点阵屏学习攻略共享资料

LED点阵屏学习攻略 在经历了将近一个学期断断续续的点阵屏学习后,最后终于在AVR平台下完成了128*32点阵屏的无闪烁显示。现把整个学习过程总结如下: 无论是51单片机还是AVR单片机,点阵屏的显示原理是一样的,所以首先从51讲起。 说明:以下所有试验如无特殊说明均在Keil uVision3 + Proteus 6.9 SP5下仿真完成。 一.基于51的点阵屏显示:(1)点亮第一个8*8点阵: 1.首先在Proteus下选择我们需要的元件,AT89C52、74LS138、MATRIX-8*8-GREEN(在这里使用绿色的点阵)。在Proteus 6.9中8*8的点阵总共有四种颜色,分别为MATRIX-8*8-GREEN,MATRIX-8*8-BLUE,MATRIX-8*8-ORANGE ,MATRIX-8*8-RED。 在这里请大家牢记:红色的为上列选下行选;其它颜色的为上行选下列选!而所有的点阵都是高电平选中列,低电平选中行!也就是说如果某一个点所处的行信号为低,列信号为高,则该点被点亮!此结论是我们编程的基础。 2.在选择完以上三个元件后,我们开始布线,具体如下图: 这里P2是列选,P3连接38译码器后作为行选。 选择38译码器的原因:38译码器每次可输出相应一个I/O口的低电平,正好

与点阵屏的低电平选中行相对,并且节省了I/O口,大大方便了我们的编程和以后的扩展。 3.下面让我们把它点亮,先看一个简单的程序: (将奇数行偶数列的点点亮,效果如下图) 下面是源代码: /************8*8LED点阵屏显示*****************/ #include void delay(int z) //延时函数 { int x,y; for(x=0;x

单片机课程设计报告——16x16LED滚动显示

16x16LED滚动显示课程设计:单片机课程设计 专业名称:电气工程及其自动化 学号: 学生姓名: 同组人员: 指导教师: 2014年12月8日

课程设计任务书 2014 ~2015 学年第1学期 学生姓名: 专业班级:电气工程及其自动化2012级(2)班 指导教师:工作部门: 一、课程设计题目:16x16LED滚动显示 二、课程设计内容 1. 根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进行方案论证和电路设计,完成仿真操作。要求概念清楚、方案合理、方法正确、步骤完整; 2. 熟悉、掌握各种外围接口电路芯片的工作原理和控制方法; 3. 熟练使用单片机汇编语言或C51进行软件设计; 4. 熟练使用Proteus、Keil软件进行仿真电路测试; 5. 熟练使用Protel软件设计印刷电路板; 6. 学会查阅有关参考资料和手册,并能正确选择有关元器件和参数; 7. 编写设计报告,参考毕业设计论文格式。 (1)根据课题要求确定系统设计方案; (2)绘制系统框图、系统仿真原理图(印刷电路板图),列出元器件明细表; (3)计算电路参数和选择元器件,画出软件框图,列出程序清单; (4)打印仿真结果,根据测试结果进行误差分析与修改调整; (5)对设计进行全面总结。 三、进度安排

2.执行要求 单片机应用课程设计共9个选题,学生可自选课题。每组不超过2人,为避免雷同,在设计中每个同学所采用的方案不可一样。 四、课程设计考核办法与成绩评定 六、课程设计参考资料 [1]贺哲荣.AT89S51单片机硬件设计与编程实例.北京:中国电力出版社.2012 [2]李泉溪.单片机原理与应用实例仿真.北京:北京航空航天大学出版社,2012. [3]王平.单片机应用设计与制作.北京:清华大学出版社, 2012. [4]彭为等.单片机典型系统设计实例精讲. 北京:电子工业出版社,2007 [5]王庆利等.单片机设计案例实践教程.北京:北京邮电大学出版社,2008 [6]韩志军等.单片机应用系统设计——入门向导与设计实例.北京:机械工业出版社,2005 [7]皮大能等. 单片机课程设计指导书. 北京:北京理工大学出版社,2010 指导教师: 2014年12月8日 教研室主任: 2014年12 月8 日

16×16 LED点阵显示实验

16×16 LED点阵显示实验 一、实验目的 1、了解16×16矩阵LED显示的基本原理和功能 2、掌握16×16矩阵LED和单片机的硬件接口和软件设计方法 二、实验说明 汉字显示屏广泛应用与汽车报站器,广告屏等。实验介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,采用了16×16的点阵模块;汉字显示的原理我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。所以在这个汉字屏上不仅可以显示汉字,也可以显示在256像素范围内的任何图形。 我们以显示汉字“大”为例,来说明其扫描原理:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。一般我们把它拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00---p07口。方向为p00到p07 ,显示汉字“大”时,p05点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。即二进制00000100,转换为16进制为 04h.。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04h。这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“大”。 三、实验内容及步骤 本实验需要用到单片机最小应用系统(F1区)和16*16点阵显示模块(I6区)。 1、单片机最小应用系统的 P0口JD4F接16*16点阵单元的JD4I,P3口JD3F分别接16*16点阵单元的JD5I,最小系统的P1.0,P1.1,P1.2,P1.3分别接点阵模块的A,B,C,D;把点阵显示的电源开关打到VCC处。

16x16点阵显示实验报告

16*16点阵显示实验报告 一、实验目的 (1)学习点阵显示字符的基本原理。 (2)掌握用数控分频控制速度,实现点阵扫描的基本方式。 (3)会使用Quartus II软件中的Verilog HDL语言实现点真的行列循环显示。 二、实验设备与器件 Quartus II 软件、EP2C8Q208C8实验箱 三、实验方案设计 1.实验可实现的功能 可通过编写Verilog HDL语言,实现点阵的行列交替扫描。先是行扫描,扫描间隔为1s,16行都扫描完之后开始列扫描,扫描间隔仍然为1s,16列扫描完之后,行继续扫描,依次循环。 2.点阵基本知识 16*16扫描LED点阵只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。 LED点阵每个点都有一个红色的发光二极管。点阵内的二极管间的连接都是行共阳,列共阴。本实验采用共阴,当二极管的共阳极为高电平,共阴极为低电平时,所接点发光;反之处于截止状态,不放光。 3.系统工作原理 本系统用了两个模块,其中dianzhen.v是顶层文件,而hangsaomiao.v和liesaomiao.v是两个子模块,总体的系统功能框图如图3.3.1所示。

50MHz 时钟信号 1Hz 分频16s 计时器 开始满16s ? 当前状态为行扫描? N Y 行扫描 列扫描 N Y 点阵 结束 图3.3.1 系统功能图示 通过流程图可以看到,体统是先将试验箱的50MHz 时钟信号分频为1s ,因为要实现16*16的点阵扫描,所以用一个16s 的计时器计时,每经过16s 行扫描与列扫描的状态转换一次,通过点阵显示出来。 4.模块化程序设计 (1)点阵显示顶层程序设计 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 [4:0] cnt1=0; //16s 计数子 assign sel0=1'b0; assign sel1=1'b1; assign sel2=1'b0; assign sel3=1'b0; always@(posedge clk50mhz) begin

16X16点阵LED电子显示屏设计

单片机应用系统实验设计16X16点阵LED电子显示屏设计 班级:物电学院电信2班 组员:吕勇军学号:201011020219 黄波201011020220 指导老师:彭建英

日期:2012年12月1号 第一章绪论 1.1单片机的应用 单片机是生活必不可缺的,顾名思义单片机的应用是很广泛的,导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯和数据传输、工业自动化过程和实时控制数据处理、广泛使用的智能IC卡、民用豪华轿车的安全保障系统、录像机和摄像机、全自动洗衣机的控制、以及程控玩具、电子宠物等等。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。 1.2电子显示屏 随着现代光电技术、微电子技术及计算机技术的飞速发展和普及,LED显示屏已遍及社会 的各个领域。简单的讲,显示屏就是由若干个可组合拼接的显示单元构成屏体,再加上一套适当的控制器。所以多种规格的显示板配合不同技术的控制器就可以组成许多种LED显示屏, 以满足不同环境,不同显示要求的需要。LED显示屏是由几万到几十万个半导体发光二极管 像素点均匀排列组成。禾I」用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是 红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED显示屏的分类:按颜色可以分为单基色显示屏、 双基色显示屏、全基色显示屏;按显示器分类LED数码显示屏、LED点阵图文显示屏;按实 用场合分类有室内显示屏和室外显示屏。仔细分解一个LED显示屏,它有以下一些要素构成:金属结构框架、显示单元、扫描控制板、开关电源、双绞线传输电缆、主控制仪、专用显示卡及多媒体卡、电脑及其外设、其它信息源。

汉字显示16X16点阵2

16X16点阵汉字显示89C51(测试OK)

1汉字显示的原理: 我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示 汉字,也可以显示在256像素

我们以显示汉字“大”为例,来说明其扫描原理: 在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用 8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。 一般我们把它拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。 在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00---p 07口。方向为p00到p07 ,显示汉字“大”时,p05点亮,由上往下排列,为p0. 0 灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。即二进制00000100,转换为16进制为 04h.。 上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。 然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04 h. 这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“大” 的扫描代码为:

LED16X16点阵实验

哈尔滨理工大学单片机原理及接口技术 课程设计报告 设计题目: LED16*16点阵实验 专业: 目录 1课程设计意义 (3) 1.1本次课程设计的目的 (3)

2.2本次课程设计的意义 (3) 2设计功能 (3) 3设计思路 (3) 4设计步骤 (3) 4.1总体设计 (3) 4.2 硬件设计 (4) 4.2.1 LED显示及其驱动 (4) 4.2.2 可编程并行接口芯片8155 (5) 4.3 软件设计 (5) 4.3.1 程序框图 (6) 4.3.2整体程序 (6) 5调试过程 (7) 5.1 硬件调试 (7) 5.2 软件调试 (7) 6结果分析与心得体会 (7) 6.1结果分析 (7) 6.2心得与体会 (8) 7附录:整体程序 (8) 1课程设计目的与意义 1.1本次课程设计的目的 1)熟悉单片机编程原理。 2)熟练掌握 51 单片机的控制电路和最小系统。 3)单片机基本应用系统的设计方法。

2.2本次课程设计的意义 LED显示屏具有亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定等特点。广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。因此16*16LED 点阵实验的课程设计对实际的生产和生活具有非常重要的指导意义 2 设计功能 设计一个能显示16X16点阵图文LED显示屏,要求能显示文字,文字应稳定、清晰,文字以卷帘形式向上滚动显示“欢迎使用星研实验仪”。 3 设计思路 16×16点阵LED电子显示屏的设计:能依次显示“欢迎使用星研软件”几个字符。LED点阵中没有16X16的点阵,可以通过四个8X8的LED点阵对应的行和列分别连接起来构成16X16点阵,此时共需要32根行列控制线,对单片机来说明显不够,需要外扩I/O接口。可以选择的芯片有8255、8155等。设计过程中注意LED的驱动电压。 本实验单片机采用AT89C51,扩展采用74LS244N、8255A、8155A、74LS240N。 LED采用动态扫描的显示方法。这样扫描驱动电路就可以实现多行的同名列共用一套驱动器。具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快,由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。 采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。 4 设计步骤 4.1 总体设计

16乘16点阵显示实验报告

实验报告 实验名称: [16×16点阵显示实验] 姓名: [] 学号: [201] 指导教师: [解*] 实验时间: [2013年4月25日] 信息与通信工程学院

16×16点阵显示实验 1实验要求 任务1:将所给程序改正使结果为正显示; 任务2:使显示四个字、八个字。 2实验原理 2.1 LED显示器结构和原理 1>8*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点阵显示器最大的特点是亮度高、功耗较低、寿命长、容易控制等,因此它的应用很广,常用在广场、车站、商业广告等室外的显示。 2>8*8LED点阵的封装和引脚规律 64个发光二极管按照行共阳、列共阴4个一组的方式封装成一个模块,这样8*8LED 点阵模块就有8行、8列共16个引脚。其实物图如图2,电路模块符号图如图3。 图2 8*8LED点阵实物图图3 8*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.2 LPM_ROM的应用 该模块为逻辑宏模块存储器。其应用过程如下。 1选择模块

16X16led点阵显示原理

Proteus仿真16*16LED点阵显示汉字 技术分类:EDA工具与服务 | 2008-11-08 例.利用Proteus仿真一块16×16LED点阵,并在其上循环显示汉字“郑州大学”。 Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本例的显示任务。 首先,从Proteus元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。 连接好的16×16点阵如下图所示: 连接成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如下图所示:

我们可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如下图所示:

可以看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。然后,我们将其保存,以便以后使用。 制作好16×16LED点阵,我们接下来来进行本例的实验。 由于本例的软件程序需要首先注意硬件连接,所以,我们首先来看一下本例的电路图。电路图中用到了74159集成芯片,其功能是将4位输入译为16输出(低电平有效),刚好满足我们的要求。电路图中的其他元器件我们在以前的仿真实例中都已介绍过,此处不再赘述。最终完成的电路图如下所示: 绘制好电路图,下面我们来编辑程序源文件,如下图:

16X16点阵LED电子显示屏设计资料

单片机应用系统实验设计 16X16点阵LED电子显示屏设计 班级:物电学院电信2班 组员:吕勇军学号:2 黄波 2 指导老师:彭建英 日期:2012年12月1号

第一章绪论 1.1 单片机的应用 单片机是生活必不可缺的,顾名思义单片机的应用是很广泛的,导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯和数据传输、工业自动化过程和实时控制数据处理、广泛使用的智能IC卡、民用豪华轿车的安全保障系统、录像机和摄像机、全自动洗衣机的控制、以及程控玩具、电子宠物等等。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。 1.2电子显示屏 随着现代光电技术、微电子技术及计算机技术的飞速发展和普及,LED显示屏已遍及社会的各个领域。简单的讲,显示屏就是由若干个可组合拼接的显示单元构成屏体,再加上一套适当的控制器。所以多种规格的显示板配合不同技术的控制器就可以组成许多种LED显示屏,以满足不同环境,不同显示要求的需要。LED显示屏是由几万到几十万个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED显示屏的分类:按颜色可以分为单基色显示屏、双基色显示屏、全基色显示屏;按显示器分类LED数码显示屏、LED点阵图文显示屏;按实用场合分类有室内显示屏和室外显示屏。仔细分解一个LED显示屏,它有以下一些要素构成:金属结构框架、显示单元、扫描控制板、开关电源、双绞线传输电缆、主控制仪、专用显示卡及多媒体卡、电脑及其外设、其它信息源。

16x16LED点阵动态显示

#include unsigned char code han1[]= { //定义表格一定要使用code,这样会做到程序存储区中 /*-- 文字: 因为移动汉字,所以首尾都填充一些0 --*/ /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: 河--*/ /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x7F,0x10,0x10,0x13,0x12,0x12,0x12,0x12,0x13,0x12,0x10,0x10,0x14,0x08, /*-- 文字: 南--*/ /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x7F,0x00,0x00,0x3F,0x24,0x22,0x27,0x20,0x20,0x2F,0x20,0x20,0x28,0x10, /*-- 文字: 科--*/ /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x04,0x04,0x04,0x7F,0x04,0x04,0x04,0x3F,0x21,0x11,0x12,0x0A,0x04,0x0A,0x11,0x60, /*-- 文字: 技--*/ /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x08,0x08,0x09,0x09,0x08,0x08,0x09,0x09,0x08,0x78,0x0F,0x08,0x08,0x08,0x08,0x08, /*-- 文字: 大--*/ /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x01,0x01,0x02,0x02,0x04,0x08,0x10,0x60, /*-- 文字: 学--*/ /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x10,0x10,0x08,0x04,0x7F,0x40,0x20,0x07,0x02,0x01,0x7F,0x00,0x00,0x00,0x00,0x00, /*-- 文字: 因为移动汉字,所以首尾都填充一些0 --*/ /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, };

相关主题
文本预览
相关文档 最新文档