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

📄 max7221.c

📁 凌阳单片机控制ad9850来产生正弦波信号1KHz-10MHz的源代码
💻 C
字号:
//从最高位开始写入;串行SPI接口;

#include "bit.h"
#include "MAX7221.h"



Uint InitSPI7221()
{
	PA_Dir->bit.bit1=1;
	PA_Attrib->bit.bit1=1;
	LSDA=0;
	PA_Dir->bit.bit3=1;
	PA_Attrib->bit.bit3=1;
	LSEN=1;
	PA_Dir->bit.bit5=1;
	PA_Attrib->bit.bit5=1;
	LSCK=0;
}

Uint SendData7221(Uint Addr,Uint Data)
{
	Uint i;
	Data=Addr+Data;
	LSEN=0;
	LSDA=0;
	LSCK=0;
	for(i=0;i<4;i++)
	{
		LSCK=1;
		__asm("nop");
		LSCK=0;
	}
	
	for(i=0;i<12;i++)
	{
		LSCK=0;
		LSDA=(Data>>(11-i))&1;
		LSCK=1;
	}
	LSEN=1;
	LSCK=0;
}


int MAX7221(int string[8])
{
//	Uint i;
	InitSPI7221();
	SendData7221(Shutdown,1);
	SendData7221(Display,0);
	SendData7221(Decode,0xff);
	SendData7221(Brightness,0x8);
	SendData7221(Digitals,0x7);
	SendData7221(Digital0,string[7]);
	SendData7221(Digital1,string[6]);
	SendData7221(Digital2,string[5]);
	SendData7221(Digital3,string[4]);
	SendData7221(Digital4,string[3]);
	SendData7221(Digital5,string[2]);
	SendData7221(Digital6,string[1]);
	SendData7221(Digital7,string[0]);
	
/*	while(1)
	{
		for(i=0;i<15;i++)
		{
			Delay(100);
			SendData7221(Brightness,i);
		}

	}*/
}

⌨️ 快捷键说明

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