⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led8x8.c

📁 51开发环境
💻 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 + -