pjl 发表于 2020-11-6 14:37:12

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]
查看完整版本: 51单片机led点亮一个点总是点亮竖排,程序和教程基本一致呀