📄 max7221.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 + -