不想用595了,偶然看到了16位横流芯片mbi5024gf,买回来想玩一玩结果什么效果都没有怀疑是买到了坏的。。用万用表量输出端只有0.1几V的电压
有大神可以帮我看一下是不是程序有问题,rext端用的1k电阻手册上说1k电阻可以为输出提供大概20ma所以输出端直接接led了
#include <stc8h.h>
#include <intrins.h>
typedef unsigned short u16;
sbit MBI_SDI = P3^0;
sbit MBI_CLK = P3^1;
sbit MBI_LE = P3^2;
sbit MBI_OE = P3^3;
void Delay3ms() //@24MHz
{
unsigned char i, j;
i = 94;
j = 127;
do
{
while (--j);
} while (--i);
}
void MBI5024_write_Data(u16 dat)
{
u16 k;
MBI_SDI=0;
MBI_CLK=0;
MBI_LE=0;
for(k=0;k<16;k++)
{
MBI_SDI=(dat&0x8000);
MBI_CLK=1;
dat<<=1;
MBI_CLK=0;
}
MBI_LE=1;
Delay3ms();
MBI_LE=0;
}
void main()
{
P3M0=0X00;
P3M1=0X00;
MBI_CLK=0;
MBI_SDI=0;
while(1)
{
MBI5024_write_Data(0xF0F0);
Delay3ms();
MBI_OE=0;
Delay3ms();
MBI_OE=1;
}
}
|