max7219.c

来自「8位LED显示驱动芯片MAX7219的驱动程序」· C语言 代码 · 共 73 行

C
73
字号
#include "intrins.h"
#include "At89x51.h"
/////////////////////////////////////
//采用P1口作控制
//11.0592的晶体
//RST=20K
////////////////////////////////////
#define CLK7219    P2_7
#define DIN7219    P2_6
#define CS7219     P2_5
max7219(unsigned int dat)
{
	char i;
	CS7219=0;
	_nop_();
	
	for(i=0;i<16;i++)
	{
		DIN7219=(dat>>(15-i))&0x1;
		CLK7219=1;
		_nop_();
		CLK7219=0;
	};

	CS7219=1;
}
main()
{
	int i;
	char j;
	unsigned int freshdata;
	CLK7219=0;
	for(i=0;i<31000;i++);
///////////////////////////////////////////////////////
//7219初始化
	max7219(0x0C01);    //shutdown register format 
	max7219(0x09FF);    //decode mode code B 7-0
	max7219(0x0A0F);    //intensity register format 
	max7219(0x0B07);    //sacan limit register format 
	max7219(0x0F00);    //display test register format 
////////////////////////////////////////////////////////
 //display data
	max7219(0x0101);   
	max7219(0x0202);    
	max7219(0x0303);     
	max7219(0x0404);     
	max7219(0x0505);     
	max7219(0x0606);     
	max7219(0x0707);     
	max7219(0x0808);     
	j=0;
	while(1)
	{
		freshdata=0;
		P1_0=~P1_0;
		for(i=0;i<31000;i++);

		max7219(0x0100|j);   
		max7219(0x0200|j);    
		max7219(0x0300|j);     
		max7219(0x0400|j);     
		max7219(0x0500|j);     
		max7219(0x0600|j);     
		max7219(0x0700|j);     
		max7219(0x0800|j);     

		if(j<9)
			j++;
		else 
			j=0;
	}
}

⌨️ 快捷键说明

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