51单片机 | LED点阵实验 | 点亮一个点 | 显示数字 | 显示图像


  开发板上使用了 64 个红色 LED 按照行列排布组成的 8*8 LED 点阵。下面介绍 LED点阵的使用。

一、LED点阵介绍

  LED 点阵是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。如下所示:
在这里插入图片描述
  通常应用较多的是 8*8 点阵,然后使用多个 8*8 点阵可组成不同分辨率的 LED点阵显示屏,比如 16*16 点阵可以使用 4 个 8*8 点阵构成。因此理解了 8*8LED点阵的工作原理,其他分辨率的 LED 点阵显示屏都是一样的。这里以 8*8LED 点阵来做介绍。其内部结构图如下所示:
在这里插入图片描述
  8*8 点阵共由 64 个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置 1 电平,某一列置 0 电平,则相应的二极管就亮;如要将第一个点点亮,则 1 脚接高电平 a 脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第 1 脚要接高电平,而(abcdefgh )这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第 a 脚接低电平,而(1、2、3、4、5、6、7、8)接高电平,那么第一列就会点亮。由此可见,LED点阵的使用也是非常简单的。

二、硬件设计

  本实验使用到硬件资源如下:

  • 8*8LED 点阵模块
  • 74HC595 模块

  74HC595 模块、8*8LED 点阵模块电路在前面章节都介绍过,电路如下:
在这里插入图片描述
从上图中可以看出,74HC595 需要用到的控制管脚 SERRCLKSRCLK 直接连接到 51 单片机的 P3.4-P3.6 IO 口上,输出端则是直接连接到 LED 点阵模块的行端口上,即为 LED 发光二极管的阳极,LED 点阵的列则为发光二极管的阴极。
  要想控制 LED 点阵,可以将单片机管脚按照 74HC595 芯片的通信时序要求来传输数据,这样即可控制 LED 点阵的行数据。根据 LED 发光二极管导通原理,当阳极为高电平,阴极为低电平则点亮,否则熄灭。因此通过单片机 P0 口可控制点阵列,74HC595 可控制点阵行。

三、软件设计

  本节所要实现的功能是:在点阵屏上点亮一个点,上述功能实现后再显示数字和图形。

1.LED点阵(点亮一个点)

  我们直接复制前面创建好的工程模板,将复制过来的模板文件夹重新命名为“11-LED点阵实验”。打开工程直接在 main.c 源文件内进行编程,main.c 内代码如下:

/*
实验名称:LED 点阵实验(点亮一个点)
接线说明:
实验现象:下载程序后,8*8LED 点阵点亮左上角第一个点
注意事项:LED 点阵旁的 J24 黄色跳线帽短接到 GND 一端
*/

#include "reg52.h"

//对系统默认数据类型进行重定义 
typedef unsigned char u8;
typedef unsigned int u16;

//定义74HC595控制管脚
sbit SER = P3^4;	//串行数据输入
sbit rCLK = P3^5;	//存储寄存器时钟输入
sbit SrCLK = P3^6;	//移位寄存器时钟输入

//使用宏定义点阵列控制口
#define LEDDZ_COL_PORT P0

/*
函 数 名 : delay_10us
函数功能 : 延时函数,ten_us=1 时,大约延时 10us
输 入 : ten_us
*/
void delay_10us(u16 ten_us)
{
   
	while (ten_us--);
}

/*
函 数 名 : hc595_write_data(u8 dat)
函数功能 : 向 74HC595 写入一个字节的数据,一位一位的传输
输 入 : dat:数据
输 出 : 无
*/
void hc595_write_data(u8 dat)
{
   
	u8 i = 0;
	//循环8次将一个字节写入移位寄存器
	for (i=0;i<8;i++)
	
  • 6
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值