📄 max7219.h
字号:
/**************************************************************************
MAX7219 8-Digit LED Display
File Name: MAX7219.h
Author: Lin Qian
Created: 2008/04/27
Modified: NO
Revision: 1.0
***************************************************************************/
#ifndef MAX7219_H
#define MAX7219_H
#ifdef __MAX7219
#define EXTERN
#else
#define EXTERN extern
#endif
// 系统库文件 ******************************
#include <REGX52.H>
#include <intrins.h>
// 全局变量 ******************************
sbit CLK = P2^3; // 串行时钟输入
sbit LOAD = P2^4; // 显示数据锁存控制
sbit DIN = P2^5; // 串行数据输入
// 子函数 ******************************
//-------- 编译选择区 -------(将需要编译的函数定义为1, 否则为0)
#define MAX7219_Internal_Func_en 1 // 内部函数
#define MAX7219_Initial_en 1 // MAX7219初始化
#define SendDigitLED_en 1 // 将num发送到显示缓冲区
//-------------------------
EXTERN void MAX7219_Initial(void);
EXTERN void SendDigitLED(long num, uchar point);
#undef EXTERN
// 宏定义 ******************************
#define NUMLED_LENGTH 4 // 数码管位数
#define NoOp 0x00 // 空操作寄存器
#define Digit0 0x01 // 数码管1寄存器
#define Digit1 0x02 // 数码管2寄存器
#define Digit2 0x03 // 数码管3寄存器
#define Digit3 0x04 // 数码管4寄存器
#define Digit4 0x05 // 数码管5寄存器
#define Digit5 0x06 // 数码管6寄存器
#define Digit6 0x07 // 数码管7寄存器
#define Digit7 0x08 // 数码管8寄存器
#define DecodeMode 0x09 // 译码模式寄存器
#define Intensity 0x0a // 亮度寄存器
#define ScanLimit 0x0b // 扫描位数寄存器
#define ShutDown 0x0c // 低功耗模式寄存器
#define DisplayTest 0x0f // 显示测试寄存器
#define ShutdownMode 0x00 // 低功耗方式
#define NormalOperation 0x01 // 正常操作方式
#define ScanDigit 0x07 // 扫描位数设置,显示8位数码管
// 译码设置
#define AllBCD 0xff // 8位均为BCD码
#define NoDecode 0x00 // 不进行译码
#define IntensityGrade 0x0a // 亮度级别设置
// 工作模式
#define TestMode 0x01 // 显示测试模式
#define TextEnd 0x00 // 显示测试结束,恢复正常工作模式
//外部文件*****************************************************************
//************************************************************
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -