📄 max7219.h
字号:
#ifndef _MAX7219_LED_DRIVER
#define _MAX7219_LED_DRIVER
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit Max7219DIN=P3^3;
sbit Max7219CS=P3^4;
sbit Max7219CLK=P3^5;
uchar dig[8];
void WriteMax7219(uchar Address,uchar Data)
{
uchar i;
Max7219CS = 0;
for (i=0;i<8;i++)
{
Max7219CLK = 0;
Max7219DIN = (Address&(0x80>>i)) ? 1:0;
_nop_();
_nop_();
Max7219CLK = 1;
_nop_();
_nop_();
}
for (i=0;i<8;i++)
{
Max7219CLK = 0;
Max7219DIN = (Data&(0x80>>i)) ? 1:0;
_nop_();
_nop_();
Max7219CLK = 1;
_nop_();
_nop_();
}
Max7219CS = 1;
}
void InitialMax7219(void)
{
WriteMax7219(0x0A,0x04);
WriteMax7219(0x0B,0x07);
WriteMax7219(0x0C,0x01);
WriteMax7219(0x09,0xFF);
}
void display(uint t)
{
uchar i;
if(t>=10000&&t<=65535)
{
dig[0]=15;
dig[1]=15;
dig[2]=15;
dig[3]=(t/10000)%10;
dig[4]=(t/1000)%10;
dig[5]=(t/100)%10;
dig[6]=(t/10)%10;
dig[7]=(t/1)%10;
}
if(t>=1000&&t<=9999)
{
dig[0]=15;
dig[1]=15;
dig[2]=15;
dig[3]=15;
dig[4]=(t/1000)%10;
dig[5]=(t/100)%10;
dig[6]=(t/10)%10;
dig[7]=(t/1)%10;
}
if(t>=100&&t<=999)
{
dig[0]=15;
dig[1]=15;
dig[2]=15;
dig[3]=15;
dig[4]=15;
dig[5]=(t/100)%10;
dig[6]=(t/10)%10;
dig[7]=(t/1)%10;
}
if(t>=10&&t<=99)
{
dig[0]=15;
dig[1]=15;
dig[2]=15;
dig[3]=15;
dig[4]=15;
dig[5]=15;
dig[6]=(t/10)%10;
dig[7]=(t/1)%10;
}
if(t>=0&&t<10)
{
dig[0]=15;
dig[1]=15;
dig[2]=15;
dig[3]=15;
dig[4]=15;
dig[5]=15;
dig[6]=15;
dig[7]=(t/1)%10;
}
for(i=0;i<8;i++)
{
WriteMax7219(i+1,dig[i]);
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -