找回密码
 立即注册

QQ登录

只需一步,快速开始

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

一个单片机流水灯代码

[复制链接]
跳转到指定楼层
楼主
ID:291686 发表于 2018-3-14 10:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include<reg52.h>
  2. sbit LED8  = P0^7;
  3. sbit LED1  = P0^0;
  4. sbit LED7  = P0^6;
  5. sbit LED2  = P0^1;
  6. sbit LED6  = P0^5;
  7. sbit LED3  = P0^2;
  8. sbit LED5  = P0^4;
  9. sbit LED4  = P0^3;

  10. sbit ADDR0 = P1^0;
  11. sbit ADDR1 = P1^1;
  12. sbit ADDR2 = P1^2;
  13. sbit ADDR3 = P1^3;
  14. sbit ENLED = P1^4;

  15. void delay1()
  16. {
  17.         int i,j;
  18.         for(i=0;i<200;i++)
  19.           for(j=0;j<200;j++)
  20.               ;
  21.          
  22. }

  23. void main()
  24. {
  25.         int i=0,j=0,an[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80},
  26.                     bn[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
  27.         ADDR2 = 1;
  28.         ADDR1 = 1;
  29.         ADDR0 = 0;
  30.         ADDR3 = 1;
  31.         ENLED = 0;
  32.         
  33.         
  34.         while(1)
  35.         {
  36.                 i=0;
  37.                 P0 = 0x00;//1 quanshang
  38.                 while(i<=8)
  39.                 {
  40.                    P0 = ~P0;
  41.                          delay1();
  42.                           i++;
  43.                 }
  44.                
  45.                 P0=0xFF;//1
  46.                 i=0;
  47.                 while(i<=7)
  48.                 {LED8 = ~LED8;        
  49.                   LED1 = ~LED1;
  50.                         delay1();               
  51.                   
  52.                   i++;
  53.                 }
  54.                 i=0;
  55.                 while(i<=5)
  56.                 { LED7 = ~LED7;
  57.                
  58.                   LED2 = ~LED2;
  59.                   delay1();               
  60.                   i++;
  61.                 }
  62.                 i=0;
  63.                 while(i<=3)
  64.                 {LED6 = ~LED6;
  65.                         
  66.                   LED3 = ~LED3;
  67.                   delay1();               
  68.                   i++;
  69.                 }
  70.                 i=0;
  71.                 while(i<=3)
  72.                 {
  73.                    LED4=~LED4;
  74.         
  75.                         LED5=~LED5;
  76.                         delay1();               
  77.                         i++;
  78.                 }
  79.                
  80.                 i=0;P0 = 0xF0;         //2
  81.                 while(i<=9)
  82.                 {
  83.                    P0 = ~P0;
  84.                          delay1();
  85.                           i++;
  86.                 }   
  87.                
  88.                 P0=0xFF;//1
  89.                 i=0;
  90.                 while(i<=7)
  91.                 {LED8 = ~LED8;
  92.        delay1();                        
  93.                   LED1 = ~LED1;
  94.                   
  95.                   i++;
  96.                 }
  97.                 i=0;
  98.                 while(i<=5)
  99.                 { LED7 = ~LED7;
  100. delay1();                        
  101.                   LED2 = ~LED2;
  102.                   
  103.                   i++;
  104.                 }
  105.                 i=0;
  106.                 while(i<=3)
  107.                 {LED6 = ~LED6;
  108. delay1();                        
  109.                   LED3 = ~LED3;
  110.                   
  111.                   i++;
  112.                 }
  113.                 i=0;
  114.                 while(i<=3)
  115.                 {
  116.                    LED4=~LED4;
  117.                         delay1();
  118.                         LED5=~LED5;
  119.                         i++;
  120.                 }
  121.                 i=0;
  122.                      
  123.     P0=0x00;//3 quanyoushang
  124.                 while(i<8)
  125.                 {
  126.                         P0 = an[i];i++;
  127.                         delay1();
  128.                         
  129.                 }
  130.                 i--;
  131.                 while(i>=0)
  132.                 {
  133.       P0 = an[i];i--;        
  134.        delay1();                        
  135.                 }        
  136.                  
  137.                 P0=0x00;
  138.     delay1();
  139.     delay1();                        //2 YAOSHANGKAISHI
  140.                 i=0;
  141.                 while(i<=7)
  142.                 {LED8 = ~LED8;
  143.        delay1();                        
  144.                   LED1 = ~LED1;
  145.                   
  146.                   i++;
  147.                 }
  148.                 i=0;
  149.                 while(i<=5)
  150.                 { LED7 = ~LED7;
  151. delay1();                        
  152.                   LED2 = ~LED2;
  153.                   
  154.                   i++;
  155.                 }
  156.                 i=0;
  157.                 while(i<=3)
  158.                 {LED6 = ~LED6;
  159. delay1();                        
  160.                   LED3 = ~LED3;
  161.                   
  162.                   i++;
  163.                 }
  164.                 i=0;
  165.                 while(i<=3)
  166.                 {
  167.                    LED4=~LED4;
  168.                         delay1();
  169.                         LED5=~LED5;
  170.                         i++;
  171.                 }
  172.                 i=0;
  173.                
  174.                  while(i<8)       //4 youshang
  175.                 {
  176.                         P0 = bn[i];i++;
  177.                         delay1();
  178.                         
  179.                 }
  180.                 i--;
  181.                 while(i>=0)
  182.                 {
  183.       P0 = bn[i];i--;        
  184.        delay1();                        
  185.                 }                  
  186.                               
  187.                 P0=0xFF;        //2 SHUANGSHANGKAISHI
  188.     delay1();
  189.     delay1();
  190.     P0=0x00;               
  191.                 i=0;
  192.                 while(i<=7)
  193.                 {LED8 = ~LED8;        
  194.                   LED1 = ~LED1;
  195.                         delay1();               
  196.                   
  197.                   i++;
  198.                 }
  199.                 i=0;
  200.                 while(i<=5)
  201.                 { LED7 = ~LED7;
  202.                
  203.                   LED2 = ~LED2;
  204.                   delay1();               
  205.                   i++;
  206.                 }
  207.                 i=0;
  208.                 while(i<=3)
  209.                 {LED6 = ~LED6;
  210.                         
  211.                   LED3 = ~LED3;
  212.                   delay1();               
  213.                   i++;
  214.                 }
  215.                 i=0;
  216.                 while(i<=3)
  217.                 {
  218.                    LED4=~LED4;
  219.         
  220.                         LED5=~LED5;
  221.                         delay1();               
  222.                         i++;
  223.                 }
  224.         }
  225. }        
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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