void sent (unsigned char Data)
{
unsigned char i;
for (i=0;i<8;i++)
{
Max7221CLK = 0;
Max7221DIN = (Data&(0x80>>i)) ? 1:0;
_nop_();
_nop_();
Max7221CLK = 1;
_nop_();
_nop_();
}
}
void write1(unsigned char add1,unsigned char dat1)
{
Max7221CS = 0;
sent(add1);
sent(dat1);
Max7221CS = 1;
}
void write2(unsigned char add2,unsigned char dat2)
{
Max7221CS =0;
sent(add2);
sent(dat2);
Max7221CLK=1;
sent(0x00);
sent(dat2);
Max7221CS=1;
}这是我写的两片max7221的驱动程序 ,求高手指点指点,哪儿有问题?
|