51单片机爱心流水灯原理及制作_第1页
51单片机爱心流水灯原理及制作_第2页
51单片机爱心流水灯原理及制作_第3页
51单片机爱心流水灯原理及制作_第4页
51单片机爱心流水灯原理及制作_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电路原理图: C2 *XTAL1 P?- R5 470 型 30 PSEN ALE FA LED 321 LED31 2 ! _Ei3 丄:艾_4 !岸匚舷5 L竺总 :LEt 了 :-已不芒 P1 M2 P- T;EX P2 pfi LEMRiy E LErBF 2 Li I 05 LkfllR4 D2 p- F?0 RT2 LtORi Mn LEr-BIH iflEJC 尺2 l1_ CTM TEJ.T= j v 1 LEQ Da6 LE仙日問 Tl T R31 砂 JL : r - 二 1 LHbtiROi Difl LEBIF3 R77 L- LEBHR-ft 126 UEP-jJ 月

2、:訥 4KR FH LED*耶 R24 R13 tf ifOfc .EI曰耶口1 - P14E - v L2b1 二盲 q?3耕 LFBTW. LEMRAnp R151! R2D LEI: 1,1 L=PU I ID31 丐Ml 舲 =rE 7=- LECJp T-.D13 RIB i DR 5 FU2e D!4 R13 LEE BF I LE: BR:- * 4?0R LE:赋i EW 原件清单: 1、51 单片机 x1、40Pin 座 x1 2、LED x32 (建议用5mm七彩的) 3、电阻 470Q x33 4、晶振 12MHz x1 5、10uf电解电容x1、谐振瓷片电容30pf x

3、2 6其他的可以看自己的爱好去加 7、其实也可以不用那么多的电阻,用几个排阻就 OKT 效果展示: 暗中左移 向 暗中右移 向 亮中左移 向 亮中右移 向 暗中左移 向 作品程序: #in clude #defi ne uchar un sig ned char uchar flag=200; / uchar code Tab1=0 xFE,0 xFD,0 xFB,0 xF7,0 xEF,0 xDF,0 xBF,0 x7F,0 xFF; 下 uchar code Tab2=0 x7F,0 xBF,0 xDF,0 xEF,0 xF7,0 xFB,0 xFD,0 xFE,0 xFF; 上 ucha

4、r code Tab3=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80,0 x00; 下 uchar code Tab4=0 x80,0 x40,0 x20,0 x10,0 x08,0 x04,0 x02,0 x01,0 x00; 上 uchar code Tab11=0 xFE,0 xFC,0 xF8,0 xF0,0 xE0,0 xC0,0 x80,0 x00,0 xff; 下 uchar code Tab22=0 x7F,0 x3F,0 x1F,0 x0F,0 x07,0 x03,0 x01,0 x00,0 xff; / uchar code

5、 Tab33=0 x80,0 xC0,0 xE0,0 xF0,0 xF8,0 xFC,0 xFE,0 xFF; uchar code Tab44=0 x01,0 x03,0 x07,0 x0F,0 x1F,0 x3F,0 x7F,0 xFF; uchar code Tab55=0 x08,0 xc0,0 xe0,0 xf0,0 xf8,0 xfc,0 xfe,0 xff,0 xff; uchar code Tab5=0 x00,0 x80,0 xC0,0 xE0,0 xF0,0 xF8,0 xFC,0 xFE,0 xff; uchar code Tab6=0 x00,0 x01,0 x03,0

6、 x07,0 x0F,0 x1F,0 x3F,0 x7F,0 xff; uchar code Tab7=0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe; uchar code Tab8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f; / void shansuo(); void xl(); / void delay(void) unsigned char m,n; for(m=0;mflag;m+) for(n=0;n250;n+) J / void hy1(void) / 点亮状态逆时针旋转 9

7、0 度(一个一个灭) unsigned char i; for(i=0;i8;i+) P0=Tab11i;P1=Tab22i; P2=Tab11i;P3=Tab22i; delay(); for(i=0;i0;flag=flag-50) P0=0 xff;P1=0 xff;P2=0 xff;P3=0 xff; 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

8、=250; / void hy3(void) / 点亮中逆时针转 360 (一个一个灭) unsigned char i; flag=50; P0=0 x00;P1=0 x00;P2=0 x00;P3=0 x00; 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; flag=150; / void hy4(void) /点亮状态顺时针旋转 90 度(一个一个灭) unsigned ch

9、ar i; for(i=0;i8;i+) P1=Tab11i;P0=Tab22i; 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=0 xff;P1=0 xff;P2=0 xff;P3=0 xff; for(i=0;i9;i+) P0=Tab11i; delay(); flag=110; for(i=0;i9;i+) P

10、2=Tab11i; delay(); flag=80; for(i=0;i9;i+) P3=Tab22i; delay(); flag=80; for(i=0;i9;i+) P1=Tab22i; delay(); / void hy2_2(void) /暗中逆时针转 180 度。(一个一个点亮) unsigned char i; P0=0 xff;P1=0 xff;P2=0 xff;P3=0 xff; for(i=0;i8;i+) P0=Tab11i; delay(); for(i=0;i8;i+) P2=Tab11i; delay(); P0=0 xff;P2=0 xff; for(i=0;

11、i8;i+) P3=Tab22i; delay(); for(i=0;i8;i+) P1=Tab22i; delay(); P1=0 xff;P3=0 xff; / void hy2_3(void) /暗中向下 180 。(一个一个点亮) unsigned char i; P0=0 xff;P1=0 xff;P2=0 xff;P3=0 xff; 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=Tab3

12、3i; P3=Tab33i; delay(); for(i=0;i8;i+) P0=Tab33i; P1=Tab33i; delay(); flag=200; / void hy2_4(void) /暗中逆时针转 360 。(一个一个点亮) unsigned char i; P0=0 xff;P1=0 xff;P2=0 xff;P3=0 xff; 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=Tab

13、44i; P3=Tab5i; delay(); for(i=0;i8;i+) P2=Tab44i; P1=Tab5i; delay(); flag=200; / void hy5(void) /先向下伸展,然后向上伸展逐渐点亮 unsigned char i; for(i=0;i8;i+) P0=Tab8i; P1=Tab8i; delay(); P0=0 xff; P1=0 xff; for(i=0;i8;i+) P2=Tab8i; P3=Tab8i; delay(); P2=0 xff; P3=0 xff; for(i=0;i8;i+) P2=Tab7i; P3=Tab7i; delay(

14、); P2=0 xff; P3=0 xff; for(i=0;i8;i+) P0=Tab7i; P1=Tab7i; delay(); P0=0 xff; P1=0 xff; / 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

15、;P3=Tab2i; delay(); for(i=0;i9;i+) P0=Tab2i;P1=Tab2i; P2=Tab1i;P3=Tab1i; delay(); 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();

16、 for(i=0;i9;i+) P0=Tab4i;P1=Tab4i; P2=Tab3i;P3=Tab3i; delay(); / for(i=0;i9;i+) P0=Tab3i; 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=0 xff;P3=0 xff; P1=Tab1i;P0=Tab1i; delay

17、(); for(i=0;i9;i+) P1=0 xff;P0=0 xff; P2=Tab1i;P3=Tab1i; delay(); / void azyy(void) / 暗中 you 移 unsigned char i; for(i=0;i8;i+) P0=0 xff;P1=0 xff; 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

18、; delay(); for(i=0;i9;i+) P2=Tab3i;P3=Tab3i; delay(); / void lzyy(void) / 亮中右移 unsigned char i; for(i=0;i9;i+) P0=0 x00;P1=0 x00; 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+) P3=0 xff; P3=0 x00; P0=0 xff;P1=0 xff;P2=0 xff;

19、 delay();delay(); P0=0 x00;P1=0 x00;P2=0 x00; delay();delay(); void xl(void)/ 相邻俩个变换 uchar i; for(i=0;i3;i+) P0=0 xAA;P1=0 xAA;P2=0 xAA;P3=0 xAA; delay();delay(); P0=0 x55;P1=0 x55;P2=0 x55;P3=0 x55; delay();delay(); / void sxb(void)/ 上下半 unsigned char i; P0=0 xff;P1=0 xff; P2=0 x00;P3=0 x00; delay(

20、);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+) P0=Tab11i; P1=Tab11i; delay(); for(i=0;i3;i+) P0=0 x00;P1=0 x00; delay();delay(); P0=0 xff;P1=0 xff; delay();delay(); / void jc(void)/ uchar i; for(i=0;i0;flag=flag-1

21、0) for(i=0;i8;i+) P2=0 xff;P3=0 xff; P1=Tab1i;P0=Tab1i; delay(); for(i=0;i9;i+) P1=0 xff;P0=0 xff; P2=Tab1i;P3=Tab1i; delay(); flag=10; for(i1=0;i130;i1+) for(i=0;i8;i+) P2=0 xff;P3=0 xff; P1=Tab1i;P0=Tab1i; delay(); for(i=0;i9;i+) P1=0 xff;P0=0 xff; P2=Tab1i;P3=Tab1i; delay(); flag=200; / void js(void)/ 结束 uchar i; hy2_3(); for(i=0;i3;i+) P0=0 xff;P2=0 xff; delay();delay(); P0=0 x00;P2=0 x00; delay();delay(); / for(i=0;i3;i+) P1=0 xff;P3=0 xff; delay();delay(); P1=0 x00;P3=0 x00; delay();delay(); / for(i=0;i3;i+) P1=0 x00;P3=0 x00; P0=0 x00;P2=0 x00; delay(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论