#include <SPI.h>
//引脚定义
int cs=9;
//字模数组
byte heart[]={0xFF,0xC3,0xCF,0x87,0xBF,0x99,0xC3,0xFF};
byte smile[]={0x42,0xe7,0x42,0x00,0x81,0x42,0x3C,0x00};
void setup(){
pinMode(cs,OUTPUT);
SPI.begin();
Init_MAX7219();
Serial.begin(9600);//设定波特率为9600
}
void loop(){
for(byte i=1;i<9;i++){//段码
Write_Max7219(i,smile[i-1]);
}
delay(1000);
for(byte i=1;i<9;i++){//段码
Write_Max7219(i,heart[i-1]);
}
delay(1000);
}
void Write_Max7219(byte address, byte dat){//digNum从0开始
digitalWrite(cs,0);
SPI.transfer(address);
SPI.transfer(dat);
digitalWrite(cs,1);
}
void Init_MAX7219(void)
{
Write_Max7219(0x09, 0x00); //译码方式:BCD码
Write_Max7219(0x0a, 0x01); //亮度
Write_Max7219(0x0b, 0x07); //扫描界限;8个数码管显示
Write_Max7219(0x0c, 0x01); //掉电模式:0,普通模式:1
Write_Max7219(0x0f, 0x00);
delay(10);
}