|
发表于 2021-2-8 21:45:10
|
显示全部楼层
#include"reg52.h"
#include"intrins.h"
#define GPIO_LED P0
sbit SRCLK=P3^6;
sbit RCLK1=P3^5;
sbit SER=P3^4;
typedef unsigned int u16;
typedef unsigned char u8;
//先编写每一列哪个灯亮,再编写哪一列亮
u8 ledlie[]= {0x00,0x00,0x3c,0x42,0x42,0x3c,0x00,0x00};
u8 ledwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
u8 j;
void delay(u16 i)
{while(i--);}
void HC595Send(u8 date)
{ u8 a;
SRCLK=0;
RCLK=0;
for(a=0; a<8; a++)
{SER=date>>7;
date<<=1;
SRCLK=1;
_nop_(); _nop_();
SRCLK=0;
}
RCLK1=1;
_nop_();_nop_();
RCLK1=0;
}
void main()
{for(j=0; j<8; j++)
{P0=ledwei[j];
HC595Send(ledlie[j]);
delay(100);
HC595Send(0x00);
}}
|
|