📄 max7219驱动程序 .txt
字号:
MAX7219驱动程序
吾人 发表于 2007-6-22 11:12:00
/*MAX7219驱动程序**********************************************/
/*版本 V1.0 **********************************************/
/*2007-6-22 **********************************************/
/*吾人 **********************************************/
/*属个人原创 转载请注明出处! 谢谢*********************/
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
/*MAX7219寄存器功能说明****************************************/
#define max7219_shutdown 0x0c //0 关闭 1 开启
#define max7219_decodemode 0x09 //0 ndecode all
//1 decode 0
//0f decode 0-3
//ff decode all
#define max7219_intensity 0x0a //亮度控制寄存器 0-f
/*显示位控制寄存器*********************************************/
/*0-第一位 1-第一、二位 ......7-全显示***********************/
#define max7219_scanlimit 0x0b
#define max7219_testreg 0x0f //测试模式 0 普通模式 1显示测试模式
#define max7219_dataaddr 0x01 //显示基址
/*MAX7219寄存器功能说明结束************************************/
#define max7219_set0(X) X=0
#define max7219_set1(X) X=1
sbit max7219_clk=P1^0;
sbit max7219_load=P1^1;
sbit max7219_din=P1^2;
void max7219_initial()
{
max7219_set0(max7219_clk);
max7219_set0(max7219_load);
max7219_set0(max7219_din);
}
void max7219_datasend(uchar addr,uchar data_send) //两个无符号字符型
{
uchar i,a;
max7219_set0(max7219_load);
for(i=0;i<4;i++)
{
max7219_set0(max7219_clk);
max7219_set1(max7219_clk);
}
addr=addr<<4;
for(i=0;i<4;i++)
{
max7219_set0(max7219_clk);
a=addr&0x80;
if(a) max7219_set1(max7219_din);
else max7219_set0(max7219_din);
addr=addr<<1;
max7219_set1(max7219_clk);
}
for(i=0;i<8;i++)
{
max7219_set0(max7219_clk);
a=data_send&0x80;
if(a) max7219_set1(max7219_din);
else max7219_set0(max7219_din);
data_send=data_send<<1;
max7219_set1(max7219_clk);
}
max7219_set1(max7219_load);
}
/*MAX7219驱动程序结束**********************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -