51单片机学习之led点阵

led点阵

  1. 作用:通过16*16点阵显示一些字符汉字等。
  2. 实现方式:通过74HC595芯片,用4个595芯片串联把三个I/O口扩展成32个。
    在这里插入图片描述
    在这里插入图片描述
汉字的实现和动态数码管一样是动态实现。(我这里是每次显示一列)

几个注意点:

  1. 前面的二维数组是通过软件取模生成的。
  2. 核心重点在 _74hc595( ) 函数
    输入的顺序依次是点阵的下右,下左,右下,右上。(下面高位到低位,右边高位到低位)
  3. 仔细去对应二维数组里面内容
    (数字是软件生成的,上8位一列一列生成的,下八位一列一列生成的)
    (位底是为了对应只让当前动态扫描的那一列亮,其余不亮。)

代码如下:

#include <REGX52.H>
#include <intrins.h>
sbit sck=P0^1;
sbit ser=P0^0;
sbit rck=P0^2;
//typedef P1 led;
typedef unsigned char u8;

u8 code shuzi[22][32]=
{
   
{
   0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0x20,0xFF,0x20,0x22,0x2C,0xA0,0x20,0x00,
0x00,0x08,0x48,0x84,0x7F,0x02,0x41,0x40,0x20,0x13,0x0C,0x14,0x22,0x41,0xF8,0x00}, //wo
{
   0x80,0x64,0x2C,0x34,0x24,0x24,0xEC,0x32,0x22,0x22,0x32,0x2E,0x23,0xA2,0x60,0x00,
0x00,0x41,0x21,0x91,0x89,0x87,0x4D,0x55,0x25,0x25,0x55,0x4D,0x81,0x80,0x80,0x00}, //ai
{
   0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,
0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00},  //xue
{
   0x00,0x02,0x02,0x02,0x12,0x22,0xC2,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
0x00,0x08,0x18,0x08,0x04,0x04,0x04,0x02,0x02,0x41,0x81,0x40,0x3F,0x00,0x00,0x00},  //xi
{
   0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,
0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值