有谁做过用G2553或者其他430系列,通过74HC595,来驱动8个LED么?希望能指导一下,最近在写这个程序,但是,没法让LED灯亮,找不到问题的原因。贴上595的代码,高手帮忙看看对么这样写。
void writ_595(uchar dat)
{
uchar i;
P1OUT&=~MR; //寄存器清0,避免数据错位MR=0
P1OUT|=MR; //MR=1
for(i=0;i<8;i++)
{
P1OUT&=~CLK; //CLK=0
if((dat&0x80) == 0x80)
P1OUT|=DS;//DS = 1; //串行数据输入
else
P1OUT&=~DS; //DS = 0;
P1OUT|=CLK; //CLK=1; //移位输入时钟,上升沿输入
dat<<=1;
}
P1OUT&=~RCK; //RCK=0; //并行输出时钟
P1OUT|=RCK; //RCK=1;
}
此帖出自
小平头技术问答
一周热门 更多>