任务一 8×8点阵模块显示数字
- 格式:pptx
- 大小:5.94 MB
- 文档页数:20


第 1 页 共 2 页 利用8×8 LED点阵屏显示心型图形
实验目的
掌握LED点阵显示屏显示图形或汉字的编程控制方法。
实验要求
1) 了解8×8 LED点阵显示屏的基本工作原理;
2) 掌握LED点阵屏显示数据的编码方式;
3) 掌握利用查表法获取8×8点阵显示数据的行、列编码,通过MCU相应的I/O口,送8×8 LED点阵屏显示的编程控制方法。
MCU实验开发板使用注意事项
1) 本实验用到MCU实验开发板上的8×8 LED点阵显示屏和4位拨码开关CS2;
2) 将4位拨码开关CS2设置为1234→0001(ON为1);
3) 8×8 LED点阵显示屏的行位X0~X7(由下至上)分别连接MCU的P0.0~P0.7,高电平有效;
4) 8×8 LED点阵显示屏的列位Y0~Y7(从右至左)分别连接MCU的P2.0~P2.7,低电平有效。
实验内容和参考程序
ST_ADDR EQU 0030H
ORG ST_ADDR
LJMP START
ORG ST_ADDR+30H
START: MOV R0,#00H ;设置显示数据编码表下标初值
DISP: MOV A,R0 ;行编码表下标放入A
MOV DPTR,#XTAB ;取行编码表首地址放入DPTR
MOVC A,@A+DPTR ;取行显示数据放入A
MOV P0,A ;行显示数据送P0口输出 第 2 页 共 2 页 MOV A,R0 ;列编码表下标放入A
MOV DPTR,#YTAB ;取列编码表首地址放入DPTR
MOVC A,@A+DPTR ;取列显示数据放入A
MOV P2,A ;列显示数据送P2口输出
INC R0 ;下标值加1,指向下一个显示数据
CJNE R0,#08H,DISP ;行/列下标是否为8?否,则送出显示
51单片机8x8点阵显示程序参考
本程序用的是51单片机控制8*8点阵显示I(心形)U
#include
#define uint unsigned int
#define uchar unsigned char
//使用的IO口要根据自己接在单片机里的情况来更改
sbit RCK = P3^6; //声明串行输出存储锁存线RCK
sbit SCK = P3^5; //声明串行数据输入时钟线SCK
sbit SER = P3^4; //声明串行数据输入线SER
sbit HC = P0^0; //声明C信号接口
sbit HB = P0^1; //声明B信号接口
sbit HA = P0^2; //声明A信号接口
#define ROW1 HC = 0; HB = 0; HA = 0; //定义使能第1行#define ROW2 HC = 0; HB = 0; HA = 1; //定义使能第2行#define
ROW3 HC = 0; HB = 1; HA = 0; //定义使能第3行#define ROW4
HC = 0; HB = 1; HA = 1; //定义使能第4行#define ROW5 HC = 1;
HB = 0; HA = 0; //定义使能第5行#define ROW6 HC = 1; HB = 0;
HA = 1; //定义使能第6行#define ROW7 HC = 1; HB = 1; HA = 0;
//定义使能第7行#define ROW8 HC = 1; HB = 1; HA = 1; //定义使能第8行
uchar h;
//显示数据,可以用取模软件来获取
uchar iloveu[] = {
0x00,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,
0x00,0x36,0x7F,0x7F,0x3E,0x1C,0x08,0x00,
0x00,0x22,0x22,0x22,0x22,0x22,0x1C,0x00,
用图解法学习8x8点阵静态显示汉字和移动显示汉字
在单片机学习与开发中,部分爱好者对点阵显示器的编程思路和显示汉字的数码表觉得很难理解。本文用图解法,以8×8静态显示"年"字和移动显示"年"字为例给读者讲解电路原理和编程方法.讲解编程方法用图解法这种学习形式时由于其形象直观,容易收到良好效果。之后,读者在自学16×16静态显示任一汉字和移动显示任一汉字的编程思路和方法时会感到轻而易举。
静态显示"年"字的原理及编程
8×8LED点阵显示器的基本工作原理及编程有许多教材进行介绍,我们用以下图文并茂法使学习简捷而明快。
第1步:给出8×8共阳极LED点阵显示器的控制电路
8×8共阳极LED点阵显示器的控制电路由AT89S51(或用AT89c51、AT89C2051)、
74LS07驱动芯片和8×8共阳极LED点阵显示器组成,如图1所示。其中行0~行7由P0口控制,列0~列7由P2口控制。
第2步:给出显示"年"的编码及程序图解(这是最关键的一步)
先看图2中的①:理解P0口第7列至第0列的编码;再看②:理解P2口列扫描的编码,即明确P0口的哪一位为低电平,则扫描哪一列;最后看③:理解静态显示"年"字的编码及程序。在此基础上理解扫描原理:开始扫描第7列时,第7列两个点亮,用时只有几毫秒;当扫描第6列时,第6列两个点亮,虽然第7列的两个点灭,但由于人眼对消失光有40毫秒左右的惰性反应,故第7列的两个点我们仍然感到亮。假如每扫描一列用时3毫秒,则扫描8列用时24毫秒,因此年字呈现在人眼中。
第3步:给出显示"年"字流程图
用扫描法由左向右逐列循环扫描(每隔1ms,扫一列),其流程图见图3:
第4步:静止显示"年"的程序清单
1.静止显示"年"的参考程序(1)-图2中已给出完整程序
2。静止显示"年"的参考程序(2)-用查表法
当有较多重复的程序段时,用查表法可以使程序长度缩短。下面用查表法编写显示汉字"年"程序。
任务一 认识点阵显示模块
LED点阵显示模块是一种能显示图形、字符和汉字显示器件,具有价廉、易于控制和实现、使用寿命长等特点,广泛应用于各种公共场合,如车站、机场公告、商业广告、体育场馆、港口机场、客运站、高速公路、新闻发布、证券交易等方面。一个LED点阵显示模块一般是由8×8个LED发光二极管组成的方阵,有的点阵中的每个发光二极管是由双色发光二极管组成的,即双色LED点阵模块,如图4-1所示。由多个LED点阵显示模块可组成点阵数更高的点阵,如四个LED点阵显示模块可构成16×16点阵。
(a)单色点阵模块 (b)双色点阵模块
图4-1 8×8LED点阵显示模块
一、手工焊接一个8×8点阵
任务要求:用64个发光二极管在万能实验板上焊接一个焊接一个8×8点阵,并引出8根列线和8根行线。
1. 8×8点阵电路图
8×8点阵电路图如图4-2所示。由图可知,每列的8个发光二极管的负极连接在一起,并分别引出8根线,即8根列线DR1~DR8;每行的8个发光二极管的正极连接在一起,并分别引出8根线,即8根行线DC1~DC8。欲点亮某只发光二极管,须在其所在的列线上加低电平,在其所在的行上加高电平。
图4-2 8×8点阵电路图
2. 焊接实物图
焊接时注意列线和行线的正确连接方法。焊接实物图如图4-3所示。
图4-3 由发光二极管构成的8×8点阵
二、LED点阵显示模块的识别和检测
在使用LED点阵显示模块时首先要判别它的引脚,一般它并不会如我们想象的那样按顺序排列好,而是需要用万用表或者测量电路进行判别。
1. 欧姆表检测法
应将万用表转换到欧姆挡的×10K挡,因为一般万用表欧姆挡的×10K挡使用的是9V电池或者15V电池供电,大于发光二极管的导通电压,能够使发光二极管导通而发出微弱的光,欧姆挡的其它挡使用的是1.5V电池供电,测量效果不明显。
随机地找两个引脚测试(其原理与测量二极管基本相同),看着前面的 LED有没有点亮的,没有则改其它引脚再试,有则将引脚位置、点亮的 LED的行、列位置和极性记录下来;如果全没有,则调换表笔,再测一遍。如图4-4所示。