找回密码
 立即注册

QQ登录

只需一步,快速开始

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

一个笑脸流水灯的程序 改成华丽的效果

[复制链接]
跳转到指定楼层
楼主
一个笑脸流水灯,那个大神帮我改成一个华丽的效果。有多种模式,谢谢谢谢,万分感谢



  1. /*************************源程序******************************\


  2. #include <reg51.h>
  3. #include <intrins.h>

  4. /**************************************************************\
  5. *        引脚定义
  6. \**************************************************************/
  7. sbit LED1=P1^0;
  8. sbit LED2=P1^1;
  9. sbit LED3=P1^2;
  10. sbit LED4=P1^3;
  11. sbit LED5=P1^4;
  12. sbit LED6=P1^5;
  13. sbit LED7=P1^6;
  14. sbit LED8=P1^7;
  15. /**************************************************************\
  16. *        
  17. \**************************************************************/

  18. #define ON 0
  19. #define OFF 1
  20. /**************************************************************\
  21. *        
  22. \**************************************************************/
  23. sbit Pin595_11=P3^7;
  24. sbit Pin595_12=P3^6;
  25. sbit Pin595_14=P3^5;                 //数据引脚

  26. void SendByteOf595(unsigned char dat)
  27. {        //将一字节数据从74HC595送出去
  28.         unsigned char i;
  29.         for(i=0;i<8;i++)
  30.         {
  31.                 Pin595_11=0;
  32.                 _nop_();_nop_();_nop_();
  33.                 if(dat&0x80)
  34.                         Pin595_14=1;
  35.                 else
  36.                         Pin595_14=0;        
  37.                 _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

  38.                 Pin595_11=1;
  39.                 dat<<=1;        
  40.         }        
  41. }



  42. /**************************************************************\
  43. *        
  44. \**************************************************************/
  45. unsigned char DpyBuff[7];

  46. void SetLed(unsigned char where,bit onoff)//
  47. {
  48.         if(onoff)
  49.         {
  50.                  DpyBuff[where/8]|=(1<<(where%8));
  51.         }
  52.         else
  53.         {
  54.                  DpyBuff[where/8]&=~(1<<(where%8));
  55.         }
  56. }
  57. /**************************************************************\
  58. *        
  59. \**************************************************************/



  60. /**************************************************************\
  61. *        延时函数(包含自动ISP重启功能)
  62. \**************************************************************/
  63. sfr isp_cconasdf=0xC7;
  64. sbit P30=P3^0;
  65. void delay(unsigned char n)
  66. {
  67.         unsigned int i,j;
  68.         while(n--)
  69.         {

  70.                 for(i=0;i<7;i++)
  71.                 {
  72.         
  73.                         
  74.         
  75.                         Pin595_12=0;
  76.                         SendByteOf595(0x02<<  i  ); // 0 无  1-6共6组8*6=48个LED,第7组3个LED。全部共51个LED
  77.                         
  78.                         P1=0xFF;
  79.                         Pin595_12=1;
  80.         
  81.                         P1=DpyBuff[i];               
  82.                         //delay(1);
  83.                         for(j=0;j<500;j++);if(!P30)isp_cconasdf=0x60;
  84.         
  85.                 }




  86.                

  87.         }
  88. }
  89. /**************************************************************\
  90. *        主函数(main函数)
  91. \**************************************************************/
  92. main( )
  93. {




  94.         unsigned char i;

  95.         for(i=0;i<51;i++)SetLed(i,OFF);

  96.         //SetLed(1,ON);

  97.         while(1)
  98.         {

  99.                 for(i=0;i<51;i++)
  100.                
  101.                
  102.                 {
  103.                  SetLed(i,ON);
  104.                  delay(50);
  105.                  SetLed(i,OFF);
  106.                  delay(30);
  107.                
  108.                 }

  109.                         

  110.         }
  111. }
  112. /**************************************************************\
  113. *
  114. \**************************************************************/
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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