硬件比较复杂,听课查资料更加详细
代码
main.c
#include<reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
#define DZ_LED_L P0
sbit rCLK=P3^5;
sbit SRCLK=P3^6;
sbit SER=P3^4;
u8 DZ_code[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,0x04,0x02};//15个数值,从顶向下,再向上,循环
void delay_10us(u16 n)
{
while(n--);
}
void LED_DATA(u8 dat)
{
u8 i=0;
for(i=0;i<8;i++)
{
SER=dat>>7;
dat<<=1;
SRCLK