新人求大神解答关于74hc595驱动8位led灯的问题!

2019-07-15 17:59发布

74HC595有数据输入 可是无论怎么数据8位led一直灯常亮!下面是我的程序: (求大神帮我看看 万分感谢!)

#include<reg52.h>
#include <intrins.h>
sbit DATA = P0^0;//串行数据输入
sbit SCK = P0^1;//位移锁存器时钟讯号
sbit LCK = P0^2;//平行锁存器时钟讯号
void main()
{
unsigned char i = 0,SJ = 0xAA;
unsigned int  p = 0;
   while(1)
   {
   LCK = 0;
   for(i=0;i<8;i++)
   {
      SCK = 1;
      if((SJ<<p)&0x80)
   {
     DATA = 1;
   }
   else
   {
     DATA = 0;
   }
   SCK = 0;
   _nop_();
   _nop_();
   SCK = 1;   
   p++;
   }
LCK = 1;
  _nop_();
  _nop_();
LCK = 0;
p=0;
    i=0;  
   }
}
QQ图片20141223160853.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。