标题: 单片机控制LED进行花样变化实验 Proteus仿真加源程序 [打印本页]

作者: 51黑电子happy    时间: 2017-3-29 21:50
标题: 单片机控制LED进行花样变化实验 Proteus仿真加源程序
51单片机控制的花样流水灯实验,有仿真有代码,分享给51黑电子论坛的朋友们.

单片机LED花样变化原理图(proteus工程文件可到本帖附件下载):


单片机源程序:
  1. //-------------------------------------------------------------------------------------------------------------------------------
  2. // 程序名:  JSC5-2.c
  3. // 程序功能:P1输出,LED进行花样变化
  4. //------------------------------------------------------------------------------------------------------------------------------   
  5. #include <reg51.h>                                        // 头文件  
  6. //----------------------------------------------------------
  7. // 声明无符号字符数组TABLE
  8. //----------------------------------------------------------
  9. unsigned char code TABLE[ ]={
  10.       0xff,0xe7,0xc3,0x81,0x00,                         // 从中间向两侧点亮控制码
  11.       0xff,0x7e,0x3c,0x18,0x00,                                // 从两侧向中间点亮控制码   
  12.       0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,      // 左移控制码
  13.       0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,      // 右移控制码
  14.       0x00,0xff,0x00,0xff,                          // 闪烁控制码
  15.       0x01                                          // 结束码
  16.                            };                          

  17. //------------------------------------------- 延时函数---------------------------------------------

  18. DELAY(  )                                               // 延时函数
  19.   {
  20.     unsigned int s;                                                  // 声明s为无符号整型变量
  21.     for(s=0;s<30000;s++);                                        // for循环延时语句
  22.   }

  23. //---------------------------------------------  主函数 --------------------------------------------
  24.   main(  )                                         // 主函数
  25.   {
  26.     unsigned char i;                                                // 声明无符号字符型变量i
  27. while(1)                                                   // 无限循环  
  28.      {
  29.        if ( TABLE[i]!=0x01 )                       // 取码不等于0x01时,执行if{ }内的语句
  30.          {
  31.            P1=TABLE[i];                                // 输出  
  32.            i++;                                         // 递加(加1)  
  33.            DELAY( );                                              // 调用延时函数DELAY( )
  34.          }
  35.          
  36.        else                                                 // 取码等于0x01时,执行"i=0"语句
  37.          {
  38.            i=0;                                             // 重新开始循环
  39.          }
  40.     }                                                      // while(1)循环体结束
  41.   }                                                        // 主函数结束

  42. //-----------------------------------------------------------------------------------------------------------------
复制代码





该系列源码包含有很多非常经典,代码风格十分规范,而且注释详细的单片机例程,还带仿真,对于MCU学习特别是初学者是很有帮助的,全部源码下载(共25个项目):http://www.51hei.com/bbs/dpj-79328-1.html

本例程下载(含proteus仿真工程文件与源码):
5-2单片机控制LED进行花样变化实验.rar (52.4 KB, 下载次数: 9)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1