📄 led8x8.c
字号:
/**********************************************************************
*
* 文件名: LED8X8.C (for ELITE-III)
*
* 版本号: 0.1
*
* 原作者: ZeroStar < boylinxing@tom.com >
*
* 修改者: ZeroStar < boylinxing@tom.com >
*
* 创建日期: 01 / 17 / 2007
*
* 更新日期: 01 / 17 / 2007
*
* 文件功能:
*
* 占用资源:
*
* 使用说明:
*
**********************************************************************/
#include <reg51.h>
#include <intrins.h>
#include "elite-iii.h"
#include "led8x8.h"
// 调用 LED8X8_SET_ROW(row_mask[i]) 将选中第 i 行
static unsigned char code row_mask[8] = {
0xfe, 0xfd, 0xfb, 0xf7, 0xbf, 0xdf, 0xef, 0x7f
};
/*
* 函数:delay
* ------------------------------------------------------------------
* 延时函数
*/
static void delay(unsigned char t) { while (t--) ; }
/*
* 函数:led8x8_display
* ------------------------------------------------------------------
* 将点阵数据 mat[] 中 8 个元素的值分别在 8 x 8 LED 点阵的 8 行上
* 动态扫描显示一遍。例如:
*
* unsigned char code H[8] = {
* 0xff, 0xff, 0x18, 0xbd, 0x81, 0xbd, 0x18, 0xff
* };
* while (1) {
* led8x8_display(H);
* }
*
* 将显示:
*
* . . . . . . . .
* . . . . . . . .
* o o o . . o o o
* . o . . . . o .
* . o o o o o o .
* . o . . . . o .
* o o o . . o o o
* . . . . . . . .
*/
void led8x8_display(unsigned char mat[])
{
unsigned char i;
for (i = 0; i < 8; i++) {
LED8X8_SET_ROW(row_mask[i]);
LED8X8_SET_COL(mat[i]);
delay(100);
LED8X8_SET_COL(0xff);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -