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位数码管
}


