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();
}
}
大家看看那里有错
#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吧