复习单片机:8*8点阵--->点亮第一个点(内含:1LED 点阵介绍+2 硬件设计+3 软件设计+4.原始代码+5 实验现象)

在前面章节,我们介绍过静态数码管和动态数码管显示,其中动态数码管是
一种应用非常多的显示设备,除此之外还有很多应用广泛的显示装置,比如 LED
点阵屏、LCD 液晶显示器等。我们开发板上使用了 64 个红色 LED 按照行列排布
组成的 8*8LED 点阵。本章就来介绍 LED 点阵的使用,通过本章的学习,让大家
能够在 8*8LED 点阵屏上显示信息。本章所要实现的功能是:在 8*8LED 点阵屏上
点亮一个点,上述功能实现后再显示数字图形等。学习本章可以参考前面的实验
章节内容。本章分为如下几部分内容:
1 LED 点阵介绍
2 硬件设计
3 软件设计
4 实验现象
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
51单片机的8*8点阵可以使用行列扫描的方法来实现数字的显示,可以先定义一个8*8的二维数组存储数字的点阵信息,然后通过循环控制每一列的点亮和熄灭,从而实现数字的倒数。 以下是一个简单的示例代码,可以实现9-0的倒数显示: ```c #include <reg51.h> // 数字0-9的点阵信息 unsigned char code num[10][8]={ {0x3c,0x42,0x81,0x81,0x81,0x81,0x42,0x3c}, // 0 {0x00,0x21,0x7f,0x01,0x01,0x01,0x01,0x00}, // 1 {0x21,0x43,0x45,0x49,0x51,0x61,0x43,0x7f}, // 2 {0x22,0x63,0x41,0x49,0x49,0x49,0x36,0x00}, // 3 {0x0c,0x14,0x24,0x44,0x7f,0x04,0x04,0x00}, // 4 {0x72,0x51,0x51,0x51,0x51,0x51,0x4e,0x00}, // 5 {0x1c,0x22,0x41,0x41,0x41,0x41,0x22,0x1c}, // 6 {0x7f,0x49,0x09,0x09,0x09,0x09,0x09,0x00}, // 7 {0x36,0x49,0x49,0x49,0x49,0x49,0x36,0x00}, // 8 {0x32,0x49,0x49,0x49,0x49,0x49,0x3e,0x00} // 9 }; void delay(unsigned int t) // 延时函数 { unsigned int i,j; for(i=0;i<t;i++) for(j=0;j<125;j++); } void main() { unsigned char i,j,k; while(1) { for(k=9;k!=255;k--) // 倒数循环 { for(i=0;i<8;i++) // 列循环 { P0=num[k%10][i]; // 显示数字的一列 for(j=0;j<50;j++) // 列延时 { delay(1); } P0=0x00; // 熄灭该列 } } } } ``` 在这个程序中,我们使用了一个循环来倒数显示数字,每次循环显示一个数字的点阵信息,然后通过循环控制每一列的点亮和熄灭,从而实现数字的倒数显示。循环中的延时函数可以控制数字的显示速度,可以适当调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力成为焦耳定律鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值