1、51单片机爱心流水灯原理与制作电路原理图:原件清单:1、51单片机 x1、40Pin 座 x12、LED x32(建议用5mm 七彩的)3、电阻470 x334、晶振12MHz x15、10uf 电解电容 x1、谐振瓷片电容30pf x26其他的可以看自己的爱好去加7、其实也可以不用那么多的电阻,用几个排阻就OK了。效果展示:作品程序: #include #define uchar unsigned charuchar flag=200;/uchar code Tab1=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF;/暗中左移 向下uchar cod
2、e Tab2=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF;/暗中右移 向上uchar code Tab3=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00;/亮中左移 向下uchar code Tab4=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00;/亮中右移 向上uchar code Tab11=0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff;/暗中左移 向下uchar code Tab22=0x7F,0x3F,0x1F,
3、0x0F,0x07,0x03,0x01,0x00,0xff;/uchar code Tab33=0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF;uchar code Tab44=0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF;uchar code Tab55=0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff;uchar code Tab5=0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff;uchar code Tab6=0x00,0x01,0x03,0
4、x07,0x0F,0x1F,0x3F,0x7F,0xff;uchar code Tab7=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;uchar code Tab8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/void shansuo();void xl();/void delay(void) unsigned char m,n; for(m=0;mflag;m+) for(n=0;n250;n+) ; / void hy1(void) /点亮状态逆时针旋转90度(一个一个灭) unsigned char i; for(
5、i=0;i8;i+) P0=Tab11i;P1=Tab22i; P2=Tab11i;P3=Tab22i; delay(); for(i=0;i0;flag=flag-50) P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(i=0;i8;i+) P0=Tab11i; delay(); for(i=0;i8;i+) P2=Tab11i; delay(); for(i=0;i8;i+) P3=Tab22i; delay(); for(i=0;i8;i+) P1=Tab22i; delay(); flag=250;/ void hy3(void) /点亮中逆时针转360(一个
6、一个灭) unsigned char i; flag=50; P0=0x00;P1=0x00;P2=0x00;P3=0x00; for(i=0;i8;i+) P0=Tab44i; delay(); for(i=0;i8;i+) P2=Tab44i; delay(); for(i=0;i8;i+) P3=Tab33i; delay(); for(i=0;i8;i+) P1=Tab33i; delay(); flag=150;/ void hy4(void) /点亮状态顺时针旋转90度(一个一个灭) unsigned char i; for(i=0;i8;i+) P1=Tab11i;P0=Tab2
7、2i; P3=Tab11i;P2=Tab22i; delay(); for(i=0;i9;i+) P1=Tab6i;P0=Tab5i; P3=Tab6i;P2=Tab5i; delay(); / void hy2_1(void) /暗中逆时针转90度。(一个一个点亮) unsigned char i; flag=200; P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(i=0;i9;i+) P0=Tab11i; delay(); flag=110; for(i=0;i9;i+) P2=Tab11i; delay(); flag=80; for(i=0;i9;i+) P
8、3=Tab22i; delay(); flag=80; for(i=0;i9;i+) P1=Tab22i; delay(); / void hy2_2(void) /暗中逆时针转180度。(一个一个点亮) unsigned char i; P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(i=0;i8;i+) P0=Tab11i; delay(); for(i=0;i8;i+) P2=Tab11i; delay(); P0=0xff;P2=0xff; for(i=0;i8;i+) P3=Tab22i; delay(); for(i=0;i8;i+) P1=Tab22i;
9、 delay(); P1=0xff;P3=0xff;/ void hy2_3(void) /暗中向下180。(一个一个点亮) unsigned char i; P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(i=0;i8;i+) P0=Tab11i; P1=Tab11i; delay(); for(i=0;i8;i+) P2=Tab11i; P3=Tab11i; delay(); / flag=100; for(i=0;i8;i+) P2=Tab33i; P3=Tab33i; delay(); for(i=0;i8;i+) P0=Tab33i; P1=Tab33i;
10、delay(); flag=200; / void hy2_4(void) /暗中逆时针转360。(一个一个点亮) unsigned char i; P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(i=0;i8;i+) P0=Tab11i; P3=Tab22i; delay(); for(i=0;i8;i+) P2=Tab11i; P1=Tab22i; delay(); / flag=100;for(i=0;i8;i+) P0=Tab44i; P3=Tab5i; delay(); for(i=0;i8;i+) P2=Tab44i; P1=Tab5i; delay();
11、 flag=200;/ void hy5(void) /先向下伸展,然后向上伸展逐渐点亮 unsigned char i; for(i=0;i8;i+) P0=Tab8i; P1=Tab8i; delay(); P0=0xff; P1=0xff; for(i=0;i8;i+) P2=Tab8i; P3=Tab8i; delay(); P2=0xff; P3=0xff; for(i=0;i8;i+) P2=Tab7i; P3=Tab7i; delay(); P2=0xff; P3=0xff; for(i=0;i8;i+) P0=Tab7i; P1=Tab7i; delay(); P0=0xff;
12、 P1=0xff;/void jr(void)/聚拢 unsigned char i; for(i=0;i9;i+) /8位控制码 P0=Tab1i;P1=Tab1i; P2=Tab2i;P3=Tab2i; delay(); for(i=0;i9;i+) P0=Tab2i;P1=Tab2i; P2=Tab1i;P3=Tab1i; delay(); / for(i=0;i9;i+) P0=Tab1i;P1=Tab1i; P2=Tab2i;P3=Tab2i; delay(); for(i=0;i9;i+) P0=Tab2i;P1=Tab2i; P2=Tab1i;P3=Tab1i; delay();
13、 xl(); /星星眨眼 xl(); /星星眨眼/ for(i=0;i9;i+) P0=Tab3i; P1=Tab3i; P2=Tab4i; P3=Tab4i; delay(); for(i=0;i9;i+) P0=Tab4i;P1=Tab4i; P2=Tab3i;P3=Tab4i; delay(); / for(i=0;i9;i+) P0=Tab1i;P1=Tab1i; P2=Tab2i; P3=Tab2i; delay(); for(i=0;i9;i+) P0=Tab4i;P1=Tab4i; P2=Tab3i;P3=Tab3i; delay(); / for(i=0;i9;i+) P0=T
14、ab3i; P1=Tab3i; P2=Tab4i;P3=Tab4i; delay(); for(i=0;i9;i+) P0=Tab2i;P1=Tab2i; P2=Tab1i;P3=Tab1i; delay(); /void azzy(void) /暗中向下 unsigned char i; flag=200; for(i=0;i8;i+) P2=0xff;P3=0xff; P1=Tab1i;P0=Tab1i; delay(); for(i=0;i9;i+) P1=0xff;P0=0xff; P2=Tab1i;P3=Tab1i; delay(); /void azyy(void) /暗中you移
15、 unsigned char i; for(i=0;i8;i+) P0=0xff;P1=0xff; P2=Tab2i;P3=Tab2i; delay(); for(i=0;i9;i+) P0=Tab2i;P1=Tab2i; delay(); / void led_flow1(void) unsigned char i; for(i=0;i9;i+) P2=0;P3=0; P1=Tab3i;P0=Tab3i; delay(); for(i=0;i9;i+) P2=Tab3i;P3=Tab3i; delay(); / void lzyy(void) /亮中右移 unsigned char i; f
16、or(i=0;i9;i+) P0=0x00;P1=0x00; P2=Tab4i;P3=Tab4i; delay(); for(i=0;i9;i+) P0=Tab4i;P1=Tab4i; delay(); /void shansuo(void)/全部灯闪烁 uchar i;for(i=0;i3;i+)P0=0xff; P1=0xff; P2=0xff; P3=0xff;delay(); delay();P0=0x00; P1=0x00; P2=0x00; P3=0x00;delay(); delay(); void xl(void)/相邻俩个变换uchar i;for(i=0;i3;i+)P0=
17、0xAA;P1=0xAA;P2=0xAA;P3=0xAA;delay();delay();P0=0x55;P1=0x55;P2=0x55;P3=0x55;delay();delay();/void sxb(void)/上下半 unsigned char i;P0=0xff;P1=0xff;P2=0x00;P3=0x00;delay();delay();delay();delay(); for(i=0;i8;i+) P0=Tab11i; P1=Tab11i; delay(); for(i=0;i8;i+) P0=Tab11i; P1=Tab11i; delay(); for(i=0;i8;i+)
18、 P0=Tab11i; P1=Tab11i; delay(); for(i=0;i3;i+) P0=0x00;P1=0x00;delay();delay();P0=0xff;P1=0xff;delay();delay();/void jc(void)/uchar i; for(i=0;i0;flag=flag-10) for(i=0;i8;i+) P2=0xff;P3=0xff; P1=Tab1i;P0=Tab1i; delay(); for(i=0;i9;i+) P1=0xff;P0=0xff; P2=Tab1i;P3=Tab1i; delay(); flag=10; for(i1=0;i1
19、30;i1+) for(i=0;i8;i+) P2=0xff;P3=0xff; P1=Tab1i;P0=Tab1i; delay(); for(i=0;i9;i+) P1=0xff;P0=0xff; P2=Tab1i;P3=Tab1i; delay(); flag=200; /void js(void)/结束uchar i;hy2_3();for(i=0;i3;i+) P0=0xff;P2=0xff;delay();delay();P0=0x00;P2=0x00;delay();delay();/for(i=0;i3;i+) P1=0xff;P3=0xff;delay();delay();P1
20、=0x00;P3=0x00;delay();delay();/for(i=0;i3;i+) P1=0x00;P3=0x00;P0=0x00;P2=0x00;delay();delay();P1=0xff;P3=0xff;P0=0xff;P2=0xff;delay();delay();/ void main(void) while (1) azzy_1();/ hy2(); /暗中逆时针转360(一个一个点亮) hy3(); /点亮中逆时针转360(一个一个灭) hy2_1();/暗中逆时针转90度。(一个一个点亮) hy2_2();/暗中逆时针转180度。(一个一个点亮) hy2_3();/暗中向下180。(一个一个点亮) hy3(); hy2_4();/ hy1(); /暗中状态逆时针旋转90度(一个一个亮) jc();/交叉四叶草 hy1(); hy4(); /点亮状态顺时针旋转90度(一个一个灭? jc(); hy4();/
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1