找回密码
 立即注册

QQ登录

只需一步,快速开始

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

rgb呼吸灯单片机程序源码

[复制链接]
跳转到指定楼层
楼主
ID:263709 发表于 2017-12-19 15:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
呼吸灯程序源码

单片机源程序如下:
  1. /**********************************************黎明途电子************************************************************/        
  2. /**********************************************呼吸灯测试程序*******************************************/
  3. #include <STC12C5A60S2.H>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. /*定义管脚*/
  7. sbit SH_CP = P3^4; //SCK
  8. sbit ST_CP = P3^3;//RCK
  9. sbit DS    = P3^5;//SER
  10. sbit SH_CP2 = P2^6; //SCK2
  11. sbit ST_CP2 = P2^5;//RCK2
  12. sbit DS2    = P2^3;//SER2
  13. sbit RR=P3^6;//红
  14. sbit GG=P2^2;//绿
  15. sbit BB=P2^4;//蓝
  16. sbit ABL=P4^3;//亮度
  17. char data bb;
  18. /*---------------   初始化   --------------*/
  19. void initial595()
  20.         {        
  21.             SH_CP = 0;
  22.                 ST_CP = 0;
  23.                 DS = 0;
  24.     }
  25.   void initial5952()
  26.         {        
  27.             SH_CP2 = 0;
  28.                 ST_CP2 = 0;
  29.                 DS2 = 0;
  30.     }
  31. void delay(uint i)
  32. {                                                                                       
  33.         char b;
  34.         while (i--)
  35.         {
  36.            b=bb;
  37.                 while(b--);
  38.         }
  39. }

  40. void huxi()
  41. {  
  42.   while(1)
  43.   {  
  44.             uchar j;uint i;               
  45.          for(j=0;j<64;j++)   
  46.          {            DS = 0;                  //发送最低位
  47.                         SH_CP = 1;
  48.                         SH_CP = 0;                 //移位寄存器移位
  49.           }
  50.                     ST_CP=1;        
  51.                     ST_CP=0;
  52.          for(j=0;j<8;j++)
  53.          {            DS2 =0;                 //发送最低位
  54.                         SH_CP2 = 1;
  55.                         SH_CP2 = 0;                 //移位寄存器移位数据移位f
  56.       }
  57.                            ST_CP2=1;        
  58.                     ST_CP2=0;         
  59.          for(i=0;i<1000;i++)
  60.           {                        
  61.                
  62.                 BB=0;
  63.                         delay(i);
  64.                 BB=1;
  65.                         delay(1000-i);
  66.                  if(i<400)
  67.                  {        j=2;
  68.                    while(j--)
  69.                         {               
  70.                       BB=0;            
  71.                           delay(i);               
  72.               BB=1;
  73.                           delay(1000-i);
  74.                          }
  75.                   }
  76.            }
  77.         for(i=0;i<1000;i++)
  78.                 {                                                      
  79.                     BB=0;
  80.                         delay(1000-i);               
  81.                 BB=1;
  82.                         delay(i);
  83.                 if(i>400)
  84.                         {
  85.                                 j=2;
  86.                                 while(j--)
  87.                             {   
  88.                                     BB=0;
  89.                                         delay(1000-i);                                                               
  90.                         BB=1;
  91.                                         delay(i);
  92.                              }
  93.                         }
  94.                 }
  95.         }
  96. }

  97. void main()
  98. {            
  99.                 bb=3;  
  100.                 initial595();
  101.                 initial5952();
  102.           while(1)
  103.           {         
  104.             huxi();        

  105.            }         
  106. }
复制代码

所有资料51hei提供下载:
呼吸灯程序源码.zip (24.77 KB, 下载次数: 43)


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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