一、这里以mbi5026来说明(以下是DATASHEET说明)。
二、以下是C代码实现写8字节的数据方法。
(1)、共写入mbi5026芯片64位数据(上升沿写入)。
void write_number(unsigned char number, char colour) /* 将单组数字的8个字节编码写入4个16位寄存器(MBI5026) */
{
char byte_data =0;
unsigned char rel =0;// 单组编码内相对偏移量
unsigned char i =0;
SD1 =0; //绿色不显示
for(rel=0; rel<8; rel++){
byte_data = char_encoding[ number*8+rel ];
/* write one byte */
for(i=0; i<8; i++){
CLK =0;
// 注意C51中才可以使用这种形式取信号,ST MCU不可以
if(colour == GRN){ SD1 = byte_data &0x80; SD =0; }
else if(colour == RED){ SD1 =0; SD = byte_data &0x80; }
else if(colour == ALL){ SD1 = byte_data &0x80; SD = byte_data &0x80;}
// _nop_(); //视情况加延时
CLK =1;
byte_data = byte_data<<1;
}
}
// LE =1;
// LE =0;
}
(2)、以下是前两个数据的写入电平数据。
OE=0;
write_number(9, RED); // 0xfe,0x7f,0xfe,0x00,0x00,0x7f,0xfe,0x7f, //9,dot black
//write_number(8, RED);
LE=1;
LE=0;