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

📄 max7219.txt

📁 max7219 数码管驱动芯片的c51 代码
💻 TXT
字号:
sbit DIN 	= P3^7;
sbit CLK 	= P3^5;
sbit LOAD 	= P3^6;
sbit SDA 	= P2^0;
sbit SCL 	= P2^1;
sbit AD_IN 	= P2^7;
sbit AD_C 	= P2^6;
sbit STARE 	= P2^5;
sbit OE 	= P2^4;
sbit EOC 	= P2^3;
sbit BGY1 	= P1^0;
sbit BGY2 	= P1^1;



#define Noop 				0x00	//空操作寄存器
#define Digit0 				0x01	//数码管0寄存器
#define Digit1 				0x02	//数码管1寄存器
#define Digit2 				0x03	//数码管2寄存器
#define Digit3 				0x04	//数码管3寄存器
#define Digit4 				0x05	//数码管4寄存器
#define Digit5 				0x06	//数码管5寄存器
#define Digit6 				0x07	//数码管6寄存器
#define Digit7 				0x08	//数码管7寄存器
#define Digit8 				0x09	//数码管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 DecodeDigit 		0xff   	//译码设置,8位均为BCD码
#define IntensityGrade 		0x0a	//亮度级别设置

#define TestMode 			0x01 	//显示测试模式
#define TextEnd 			0x00	//显示测试结束,恢复正常工作模式


/*========================================//
//向MAX7219写入字节数(8位)
//========================================*/
void SendChar(uchar ch)
{
	uchar i,temp;
	_nop_();
	for (i = 0;i<8;i++)
	{
		temp = ch&0x80;
		ch = ch<<1;
		if(temp)
		{
			DIN = 1;
			CLK = 0;
			CLK = 1;
		}
		else
		{
			DIN = 0;
			CLK = 0;
			CLK = 1;
		}
	}
}
/*=============================================//
//向MAX219写入字(16位7)
//分成两个8位
//addr为地址输入
//num为写入的数据
//============================================*/
void WriteWord(uchar addr,uchar num)
{
	LOAD = 0;
	_nop_();
	SendChar(addr);
	_nop_();
	SendChar(num);
	_nop_();
	LOAD = 1;
}
/*===========================================//
//MAX7219初始化
//===========================================*/
void InitDisplay(void)
{
	WriteWord(ScanLimit,ScanDigit);
	WriteWord(DecodeMode,DecodeDigit);
	WriteWord(Intensity,IntensityGrade);
	WriteWord(ShutDown,NormalOperation);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -