MAX7219自己写的驱动方法

MAX7219

MAX7219驱动程序(不译码方式) 2009年4月18日写

//共阴段码(只能供7219使用)

uchar code dm[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b};//共阴0-9无点 uchar code dm1[]={0xfe,0xb0,0xed,0xf9,0xb3,0xdb,0xdf,0xf0,0xff,0xfb}; //共阴0-9有点

sbit din=P0^4;//7219数据入

sbit cs=P0^5;//7219片选 (原芯片的LOAD引脚)

sbit clk=P0^6;//7219时钟

void xie7219(uint d) //向7219写入16位 高8位地址,低8位数据

{

uchar i;

clk=0;

cs=0;

for(i=0;i<16;i++) //高位先发

{

clk=0;

if(d&0x8000)

din=1;

else

din=0;

clk=1;

d<<=1;

}

cs=1;

}

void subxianshi(uchar add,uchar date) //子显示函数 显示1位数码管 add是地址,data是段码 {

uint p;

p=add;

p<<=8;

p|=date;//把地址和数据合并为16位

xie7219(p); //写入到7219显示一位

}

void mainxianshi() //主显示

{

subxianshi(0x08,seybol[c1]); //第1位数码管

subxianshi(0x03,dm[k/100]);//第2位数码管

subxianshi(0x02,dm1[k%100/10]); //第3位数码管有小数点

subxianshi(0x01,dm[k%10]);//第4位数码管

}

MAX7219自己写的驱动方法相关文档

最新文档

返回顶部