微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 595编程出现问题,求助

595编程出现问题,求助

时间:10-02 整理:3721RD 点击:
#include <at89x51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint  unsigned int
#define  SI   P2_1
#define  SCK  P2_0
#define  RCK  P2_2
void delaynms( int num )     //延时NMS
{ char i,j;
  while(--num!=0)
   {
     for(i=10;1>0;i--)
   for(j=33;j>0;j--);
   }
}
void xie(uchar shuju)   //595写入数据
{
   char i=0;
   SCK=0;
   for(i=0;i<8;i++)
{   
  if(shuju&0x80==0x80)
    SI=1;
    else
    SI=0;
  delaynms(2);
   shuju=shuju<<1;
    SCK=0;
    SCK=1;
}
  SCK=0;
}
void out()    //595输出
{
    RCK=0;
    delaynms(1);
RCK=1;
delaynms(1);
RCK=0;
}
void main()
{
  uint M=0x3F;  //调试显示0
  while(1)
   {
      xie(M);
     out();
     }
}

大家看看那里有错

你现在是个什么效果,电路是怎么样的,确保硬件没问题

延时程序里,for循环里是i>0吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top