找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机按键操纵魔幻流水灯源程序

[复制链接]
跳转到指定楼层
楼主
ID:251973 发表于 2017-11-21 17:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我用keil通过按键来操作led灯程序不是很难,请大家多多指教

单片机源程序如下:
  1. #include< reg52.h>
  2. #include<intrins.h>
  3. typedef unsigned int c16;
  4. typedef unsigned char c8;
  5. sbit k1=P3^1;
  6. sbit k2=P3^0;
  7. #define led P2          
  8. void delay(c16 x);
  9. void keypros();
  10. void main()
  11. {
  12. keypros();
  13. }
  14. void keypros()
  15. { c8 i=0;
  16. delay(5000);
  17.          //led1=0xfe;       
  18. //        led=0xf7;
  19.                           while(1)
  20.                            {

  21. //#if 0  /*表示屏蔽下面的东西,不编译*/       
  22.                                    if (k1==0)
  23.                                      {
  24.                                       delay (1000);
  25.                                                                           if (k1==0)
  26.                                                                           { for(i=0;i<4;i++)
  27.                                                 {
  28.                                                   P2=~(0x08>>i);
  29. //    led=_crol_(0xe0,1);
  30.                                                     delay(5000)        ;          
  31.                                                  }
  32.                                         //while (!k1); //加了这个的话就保持上面程序所显示的最终状态;如果没加的话,就一直执行上面的程序,如果是静态的话,就显示静态;如果是动态的话,就呈动态显示。
  33.                                        }
  34.                                        if(k1==0)
  35.                                            {
  36.                                             for(i=4;i<8;i++)
  37.                                                 {
  38.                                                   P2=~(0x01<<i);
  39. //    led=_crol_(0xfe,1);
  40.                                                      delay(5000)        ;
  41.                                                 }
  42.                                                              //while (!k1);
  43.                                                                                      }
  44.                                                                             P2=0xff;
  45.    
  46.                                                                            }
  47. //#endif
  48. while (!k2)
  49.    {
  50.            delay (1000);
  51.    while (!k2)
  52.          { for(i=0;i<8;i++)
  53.             {
  54.             P2=~(0x7f>>i);
  55.    //led=_cror_(led,1);
  56.               delay(5000);   
  57.             }
  58.           }
  59.    if (k2==1)
  60.    {
  61.    for(i=0;i<8;i++)       
  62.        {
  63.              P2=(0xfe<<i);
  64.      //led=_crol_(led,1);
  65.              delay(5000);
  66.        }
  67.    }
  68.    }

  69. //if (k1==0)
  70. //{
  71. //delay (1000);
  72. //s=1;
  73. //}
  74. // while (s=1)
  75. //{
  76. //          
  77. //}
  78.                
  79.                                  }

  80.                                
  81. }


  82. #if 0
  83.   led=0x00;
  84.   delay(50000);           //加这个是为了能够突出全亮的效果
  85.           
  86.    led=0xff;
  87.    delay(50000);
  88.    
  89.    



  90.   while (!k1);

  91. else
  92. {
  93. P2=0xff;
  94. }
  95. //#elif 1        /*表示编译以下的程序*/
  96. if (k1==0)
  97. {
  98. delay (1000);
  99. if (k1==0)
  100. {
  101. for(i=0;i<8;i++)       
  102.    {
  103.    P2=(0xfe<<i);
  104.      //led=_crol_(led,1);
  105. ……………………

  106. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
按键操纵魔幻灯流.zip (28 KB, 下载次数: 10)


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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