1、先来讲解一下原理图:首先是51单片机的由晶振电路和复位电路组成的单片机的最小系统。74hc595的8个输出脚与灯座相连,8个595的Ds、STcp、SHcp接到一起,分别接到单片机的IO口。8个595的MR直接接到VCC。595的控制引脚OE分别与单片机IO口相连,控制595是否被选中,低电平有效。然后介绍一下,如何焊接LED等的问题。一种是长方体雾状的LED灯:焊接参考:另一种是圆形灯:两种方式焊接都注意把灯的正极焊接到灯座上,灯座可以用圆形的排母或者普通的排针。示例程序:#include reg52.h#include #define uchar unsigned char#define
2、uint unsigned intsbit stcp1=P36; sbit ds1=P35;sbit shcp1=P37;void delay() int i,j; for(i=0;i50;i+) for(j=0;j1000;j+);void QR0_5951(uchar num1) uchar j; for (j=0;8;j+) num1=num11 ; ds1=CY; shcp1=1;/上升沿发生移位 shcp1=0; void OUT_5951()/将移位寄存器内的数据锁存到输出寄存器并显示 stcp1=0; stcp1=1;/上升沿将数据送到输出锁存器 void tuan1() P1=
3、0x00; /x全部选中 P2=0xff; /z全部选中 QR0_5951(0xfe); /y 高电平亮 OUT_5951(); delay(); P2=0x00; QR0_5951(0xfd); /y OUT_5951(); QR0_5951(0xfb); QR0_5951(0xf7); QR0_5951(0xef); QR0_5951(0xdf); QR0_5951(0xbf); QR0_5951(0x7f);void tuan2() QR0_5951(0x01); P2=0xff; QR0_5951(0x02); QR0_5951(0x04); QR0_5951(0x08); QR0_5
4、951(0x10); QR0_5951(0x20); QR0_5951(0x40); QR0_5951(0x80);/ delay();void tuan3()void tuan4() QR0_5951(0xff); /y全部选中 P2=0x01; /z P2=0x02;/ P2=0x00; P2=0x04; P2=0x08;/ P2=0x00; P2=0x10; P2=0x20; P2=0x40; P2=0x80;void tuan5() QR0_5951(0xff); P2=0x08; P2=0x04;void main() /x while(1) / tuan1(); tuan2(); tuan3(); tuan4(); tuan5();