51单片机led点亮一个点总是点亮竖排,程序和教程基本一致呀
这是程序,怎么改都是亮一排#include<reg51.h>
#include<intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
void send595ziduan(u16 dat)
{
u8 a=0;
SRCLK=0;
RCLK=0;
for(a=0;a<8;a++)
{
SER=dat;
dat<<=1;
SRCLK=1;
_nop_();
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
_nop_();
RCLK=0;
}
void main()
{
while(1)
{
send595ziduan(0x80);
P0=0x7f;
}
}
页:
[1]