📄 max7219.h
字号:
#define uchar unsigned char
#define DECORD_MODE 0x09
#define INTENSITY 0x0A
#define SCAN_LIMIT 0x0B
#define SHUT_DOWN 0x0C
#define DISPLAY_TEST 0x0F
uchar code table[]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0x0f};
uchar code select[]={0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8};
sbit din=P2^0;
sbit load=P2^1;
sbit clk=P2^2;
void send_all(uchar adds, uchar date);
void max_ini();
void display(uchar *str,uchar length);
void send_word(uchar temp);
void send_word(uchar temp)
{
uchar i;
for(i=0;i<8;i++)
{
clk=0;
din=temp&0x80;
temp=temp<<1;
clk=1;
}
}
void send_all(uchar adds,uchar date)
{
load=0;
send_word(adds);
send_word(date);
load=1;
}
void max_ini()
{
send_all(DECORD_MODE,0xff);
send_all(INTENSITY,0x0f);
send_all(SCAN_LIMIT,0x07);
send_all(SHUT_DOWN,0x01);
send_all(DISPLAY_TEST,0x0);
}
void display(uchar *str,uchar length)
{
uchar t;
for(t=0;t<8;t++)
{
if(t<length)
{
send_all(select[t],table[str[t]]);
}
else
{
send_all(select[t],0x0f);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -