找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5071|回复: 1
打印 上一主题 下一主题
收起左侧

51单片机简单32LED花样流水灯代码,含原理图,PCB截图

[复制链接]
跳转到指定楼层
楼主
电路原理图如下:


单片机源程序如下:
  1. #include<reg52.h>
  2. void mian1();
  3. void mian2();
  4. void mian3();
  5. void mian4();
  6. void mian5();
  7. void mian6();
  8. void main()
  9. {
  10.         while(1)
  11.         {
  12.                  mian1();
  13.      mian2();
  14.      mian3();
  15.      mian4();
  16.      mian5();
  17.      mian6();
  18.   }
  19. }
  20. void delay(unsigned int a)
  21. {
  22. unsigned int s,z;
  23. for(s=0;s<a;s++)
  24.         for(z=110;z>0;z--);
  25. }
  26. void main1()
  27. {
  28.         unsigned int j;
  29.         for(j=0;j<8;j++)
  30.         {
  31.                 P0=~(0x01<<j);
  32.                 delay(100);
  33.   }
  34.         P0=0XFF;delay(100);
  35.         for(j=0;j<8;j++)
  36.         {
  37.                 P2=~(0x80>>j);
  38.                 delay(100);
  39.   }
  40.         P0=0XFF;delay(100);
  41.         for(j=0;j<8;j++)
  42.         {
  43.                 P3=~(0x80>>j);
  44.                 delay(100);
  45.   }
  46.         P3=0XFF;delay(100);
  47.         for(j=0;j<8;j++)
  48.         {
  49.                 P1=~(0x80>>j);
  50.                 delay(100);
  51.   }
  52.         P1=0XFF;delay(100);
  53. }
  54. void main2()
  55. {      
  56.         unsigned int i;
  57.         for(i=0;i<8;i++)
  58.         {
  59.                 P1=~(0x01<<i);
  60.                 delay(100);
  61.   }
  62.         P1=0XFF;delay(100);
  63.         for(i=0;i<8;i++)
  64.         {
  65.                 P3=~(0x01<<i);
  66.                 delay(100);
  67.   }
  68.         P3=0XFF;delay(100);
  69.         for(i=0;i<8;i++)
  70.         {
  71.                 P2=~(0x01<<i);
  72.                 delay(100);
  73.   }
  74.         P2=0XFF;delay(100);
  75.         for(i=0;i<8;i++)
  76.         {
  77.                 P0=~(0x80>>i);
  78.                 delay(100);
  79.   }
  80.         P0=0XFF;delay(100);
  81. }
  82. void main3()
  83. {
  84.         unsigned int m;
  85.                 for(m=0;m<8;m++)
  86.                 {
  87.                         P0=~(0x01<<m);
  88.                         P1=~(0x01<<m);
  89.                         delay(100);
  90.     }
  91.                 P0=0XFF;delay(100);
  92.                 P1=0XFF;delay(100);
  93.                 for(m=0;m<8;m++)
  94.                 {
  95.                         P2=~(0x80>>m);
  96.                         P3=~(0x01<<m);
  97.                         delay(100);
  98.     }
  99.                 P2=0XFF;delay(100);
  100.                 P3=0XFF;delay(100);
  101. }
  102. void main4()
  103. {
  104.         unsigned int n;
  105.                 for(n=0;n<8;n++)
  106.                 {
  107.                         P2=~(0x01<<n);
  108.                         P3=~(0x80>>n);
  109.                         delay(100);
  110.     }
  111.                 P2=0XFF;delay(100);
  112.                 P3=0XFF;delay(100);
  113.                 for(n=0;n<8;n++)
  114.     {
  115.                         P0=~(0x80>>n);
  116.                         P1=~(0x80>>n);
  117.                         delay(100);
  118.     }
  119.                 P0=0XFF;delay(100);
  120.                 P1=0XFF;delay(100);
  121. }
  122. void main5()
  123. {
  124.         unsigned int x;
  125.                 for(x=0;x<8;x++)
  126.           {
  127.                         P0=~(0x01<<x);
  128.                         P1=~(0x01<<x);
  129.                         delay(100);
  130.     }
  131.                 P0=0XFF;delay(100);
  132.                 P1=0XFF;delay(100);
  133.                 for(x=0;x<8;x++)
  134.                 {
  135.                         P2=~(0x01<<x);
  136.                         P3=~(0x80>>x);
  137.                         delay(100);
  138.     }
  139.                 P2=0XFF;delay(100);
  140.                 P3=0XFF;delay(100);
  141. }

  142. void main6()
  143. {
  144.         unsigned num;
  145. for(num=0;num<3;num++)
  146. {
  147. P0=0x00;
  148. P1=0x00;
  149. P2=0x00;
  150. P3=0x00;
  151. delay(500);
  152. P0=0xff;
  153. P0=0xff;
  154. P0=0xff;
  155. P0=0xff;
  156. delay(500);
  157. }
  158. }
复制代码




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:571570 发表于 2019-6-26 10:35 来自手机 | 只看该作者
仿真图有没有老哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表