• 三色灯渐变DIY制作


       小编前几天查资料,怎么使用12864屏幕的用法,突然发觉微博是个好东西,随着自己的成长,学习了很多的知识,没有做笔记的习惯,只是习惯把用到的硬件,传感器,资料写到程序的备注内,但感觉,用到时不是那么方便,同时也算是,记录自己的学习,分享学习经验和过程,一起和大家共勉。

      前段时间,一直在研究51单片机PWM的用法,但由于51单片机内部资源限制,只能输出两路PWM(P1.3和P1.4),而我想用单片机控制RGB三色灯混出不同的颜色,所以,只靠51的两路输出PWM不能达到要求,由于,只是调光,所以对于PWM的精度要求并不高,随即,想到用软件程序来模拟三路PWM的输出,经过一段时间的研究借鉴和编写网上大佬的程序,可以实现三原色的互相混合,程序中又加入了自动调色和手动调色,通电后,默认是自动变色,从绿色起步开始渐变,直至下一个绿色为一个渐变循环;手动调色功能我是用水银开关来实现,当想要手动调色固定一个颜色时,只需把三色灯倾斜,此时即进入手动调色功能,当颜色渐变到想要的颜色时,摆正三色灯即可,把颜色固定下来,不会再变化,如若,又想让它自动变色,只需晃动下三色灯即可,进入自动渐变颜色的模式。可能是自己刚入门把,可能程序有些晦涩和繁杂,但后面都有我很多的备注。

                                                                                                                                                     2017-10-25

                                                                                                                                                                                               by: L H 

    先附上几张图片,外表亚克力图案用的是学校激光雕刻机雕刻的,嘻嘻

     

     

     

     

      1 /*
      2 
      3  程序完结于:2017.10.22
      4                           by:LH
      5                                   QQ:1336294189,可技术交流
      6 
      7 功能:三色(R,G,B)可自动渐变,也可手动调至喜欢颜色,保持颜色.
      8 
      9 此程序仅供娱乐制作,不可投入商用!!,初入51,大神看后勿喷,谢谢
     10 
     11 
     12 
     13                                                      
     14         /*
     15                            _ooOoo_
     16                           o8888888o
     17                           88" . "88
     18                           (| -_- |)
     19                           O\  =  /O
     20                        ____/`---'\____
     21                      .'  \\|     |//  `.
     22                     /  \\|||  :  |||//  \
     23                    /  _||||| -:- |||||-  \
     24                    |   | \\\  -  /// |   |
     25                    | \_|  ''\---/''  |   |
     26                    \  .-\__  `-`  ___/-. /
     27                  ___`. .'  /--.--\  `. . __
     28               ."" '<  `.___\_<|>_/___.'  >'"".
     29              | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     30              \  \ `-.   \_ __\ /__ _/   .-` /  /
     31         ======`-.____`-.___\_____/___.-`____.-'======
     32                            `=---='
     33         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     34                  佛祖保佑       永无BUG
     35         */
     36 
     37 
     38 /*
     39 
     40 
     41 
     42        STC15F104W重点介绍:
     43 
     44 (1)    定时器模块:T0(中断标号 interrupt 1)和T2(中断标号 interrupt 12 ),T0工作在方式0时是16位可自动重装初始值的定时计数器,方式2时是8位自动重装的计数器,方式3时是可分解的;T2的工作模式固定在16位自动重装初始值模式,故特别适应到LED行业,该芯片的定时器模块可产生更高精度的定时时间。
     45 (2)    内核:采用Y5超高速CPU内核,比普通1T还快20%,详情见指令集。共111条指令。
     46 (3)    管脚图:
     47                                         |--------|
     48                MCLKO/!INT2/T0/RST/P3.4--|1        8|--P3.3/INT1/RSTOUT_LOW
     49                                    VCC--|2        7|--P3.2/INT0
     50                      !INT3/T0CLKO/P3.5--|3        6|--P3.1/T2
     51                                    GND--|4        5|--P3.0/!INT4/T2CLKO
     52                                         |---------
     53 
     54 (4)   P3.3是RSTOUT_LOW,上电和复位后输出低电平,也可由软件设置低或高电平,该管脚可以作为16位或32位单片机的复位电路使用;P3.4可以输出系统时钟,故可以作为16位或32位单片机的的时钟电路;该芯片还有很强的加密功能,可取代加密芯片,单价只有一块多,故可以推荐给客户。
     55         STC15F104W无串口,具有中继广播方式,可以软件模拟I2C、串口、SPI、利用IO口充放电测量外部电压实现AD功能。
     56          可在下载软件中设置P3.1直通输出P3.0的输入电平,类似15系列串口1的中继广播方式。
     57         STC15W104SW——DIP/SOP16,在性能和价格上都优于STC11F04E,故,可以替代STC11系列和89C4051等芯片,重点推荐给LED行业
     58 
     59 (5)   STC15F104W的外部中断可以用,而且多一个掉电唤醒专用定时器。
     60 */
     61 
     62 
     63   
     64 #include <STC15F2K60S2.H>//STC15F104W  DIP-8型单片机,比STC12C5A60S2 1T 单片机快 20%
     65 #define uchar unsigned char
     66 #define uint unsigned int
     67 unsigned char pwm_data_R,pwm_data_G,pwm_data_B,pwm_r,pwm_g,pwm_b;
     68 sbit PWM_R=P3^4;
     69 sbit PWM_G=P3^2;
     70 sbit PWM_B=P3^3;                      
     71 
     72 sbit k1=P3^5;
     73 
     74 unsigned int count4=0;         //自动变色快慢控制
     75 unsigned int count5=0;        //自动颜色循环值
     76 unsigned int count6=0;        //手动颜色循环值
     77 unsigned int count7=0;        //手动变色快慢控制
     78 unsigned int count8=0;        //手动调节变色色表快慢控制位
     79 unsigned int count9=0;        //手动调节变色色表种类值
     80 unsigned int add=0;             //自动OR手动调节控制位 add=0 自动调色; add=1 受冻调色控制位
     81 unsigned char flag=0;         //按键防抖控制位
     82 unsigned char flag1=0;         //手动调节变色至自动变色的色值时,flag1=1;继续手动调色,则进入 色表 CO[] 颜色设定
     83 
     84 unsigned char CO[][3]=                     {                                 //三基色混色数据表
     85                                                 {220,250,0},//黄色                                  0
     86 //                                                {222,202,85},//香蕉色                              1
     87                                                 {250,149,17},//铬黄                                  2
     88 //                                                {230,139,83},//dougello                              3
     89 //                                                {250,222,129},//froum gold                          4
     90                                                 {250,210,0},//金黄色                              5
     91 //                                                {213,161,102},//黄花色                              6
     92 //                                                {222,164,99},//瓜色                                  7
     93                                                 {232,142,32},//胡萝卜色                              8
     94                                                 {125,41,41},//棕色                                  9
     95 //                                                {250,122,62},//肉色                                  10
     96                                                 {235,225,137},     //黄褐色                         11
     97 //                                                {184,140,140},    //玫瑰红                            12
     98 
     99                                                 {59,87,167},    //钴色                              13
    100 //                                                {2,164,154},    //锰蓝色                          14
    101                                                 {49,157,196},    //孔雀蓝                          15
    102 //                                                {0,195,137},    //土耳其玉色                      16
    103 //                                                {63,102,250},    //品蓝                              17
    104 //                                                {103,88,200},    //石板蓝                          18
    105                                                 {0,250,250},    //青色                              19
    106 
    107 //                                                {132,201,230},    //天蓝色                          20
    108                                                 {7,45,82},    //靛青                                  21
    109 //                                                {62,219,203},    //青绿色                          22 
    110                                                 {124,250,0},    //黄绿色                          23
    111                                                 {0,196,85},    //翠绿色                              24
    112 //                                                {185,246,196},    //薄荷绿                          25
    113                                                 {156,31,235},    //紫色                              26
    114 //                                                {149,46,245},    //湖紫色                          27
    115 //                                                {213,109,209},    //淡紫色                          28
    116 //                                                {216,156,216}    //梅红色                          29
    117 
    118                                             };
    119 
    120 
    121 
    122 void Init (void)             //中断初始化  //内部时钟 12M晶振
    123 {
    124       TMOD = 0x00;           //(不可位寻址)设定定时器 T0 工作方式 0(16位自动重装定时器)
    125       TH0=(65536-5000)/256;     //装T0高位初值    /定时器周期为500US(频率2K)  (做PWM频率)
    126       TL0=(65536-5000)%256;     //装T0低位初值
    127            ET0=1;            //(可位寻址)T0的溢出中断允许控制位,ET0=1允许T0中断; ET0=0禁止T0中断;
    128            TR0=1;            //(可位寻址)允许定时器T0运行
    129            EA=1;           //(可位寻址)开启总中断
    130 
    131       T2H=(65536-20)/256;  //装T2高位初值
    132       T2L=(65536-20)%256;  //装T2低位初值  定时器周期为2US(频率500K)    (做PWM宽度调)
    133       AUXR=0X94;           //辅助寄存器开启定时器T2,启动定时器T2,配置T0,T2时钟为 1T模式 (比STC15C5A 1T 模式快 20%)
    134       IE2=0X04;              //IE2(不可位寻址):定时器T2\T3\T4中断控制寄存器(控制定时器T2中断允许)    ET2=0:禁止定时器T2产生中断  ET2=1:允许定时器T2产生中断
    135           
    136 
    137 }
    138 void timer0(void) interrupt 1  //***********定时器T0中断子函数**************      (做PWM频率)
    139 {
    140          PWM_R=1;
    141          PWM_G=1;
    142          PWM_B=1;
    143          pwm_r=0;
    144          pwm_g=0;
    145          pwm_b=0;
    146 
    147 
    148     if(k1==0)
    149     {
    150         if((k1==0)&&(flag==0))      //短按键识别切换;add=0切换自动变色,add=1长按手动调色,调制理想色时,松手即可
    151         {                          
    152           add++;
    153           flag=1;
    154        if(add==2) add=0;
    155         }
    156     } else flag=0;
    157 
    158          if(add==0)
    159          {            
    160                        count4++;              //自动变色快慢
    161                      if(count4==80)
    162                        {
    163                          count4=0;
    164                          count5++;
    165                          if(count5==3500)     //自动颜色循环值
    166                            count5=0;
    167                         }
    168           }
    169 
    170          if(add==1)
    171          {
    172                 if((k1==0)&&(flag==1))
    173                   {
    174                          count7++;
    175                          if(count7==60)      //手动调节变色快慢
    176                          {
    177                          count7=0;
    178                          count6++;
    179                            }
    180                         if(count6>=3500)
    181                         {
    182                           count6=3500;        //手动颜色循环值
    183                            flag1=1;           //flag1=1,时变换颜色为上面色表中的颜色
    184                         }
    185                          else flag1=0;      //flag1=0,时自动变换颜色
    186 
    187                             if(flag1==1)
    188                             {
    189                               count8++;
    190                               if(count8==3000)    //手动调节变色色表快慢控制位
    191                               {
    192                                 count9++;
    193                                  count8=0;
    194                                 if(count9==13)     //手动调节变色色表种类值
    195                                   {
    196                                  count9=0;
    197                                  count6=0;
    198                                  }
    199                               }    
    200                            } 
    201                      }
    202           }
    203 } 
    204 
    205 void timer1(void) interrupt 12  //***********定时器T2中断子函数**************     (做PWM宽度调)
    206 {
    207 
    208 if(pwm_r<pwm_data_R)  pwm_r++;
    209    else  PWM_R=0;
    210  
    211  
    212  if(pwm_g<pwm_data_G) pwm_g++;
    213      else    PWM_G=0;
    214  
    215  
    216  if(pwm_b<pwm_data_B) pwm_b++;
    217    else  PWM_B=0;
    218 
    219 }
    220 
    221 void jianbianRGB(unsigned int count3)    //颜色渐变
    222 {
    223 
    224 
    225     if(count3>=0&&count3<250)                  //绿变亮             G++
    226     {
    227       pwm_data_G=count3;
    228       pwm_data_R=0;
    229       pwm_data_B=0;
    230     }
    231     else if(count3>=250&&count3<500)               /// R++
    232      {
    233       pwm_data_R=count3-250;            
    234       pwm_data_G=250;
    235       pwm_data_B=0;
    236 
    237     }
    238 
    239     else if(count3>=500&&count3<750)                //B++
    240      {
    241            pwm_data_R=250; //max 250
    242          pwm_data_G=250;
    243          pwm_data_B=count3-500;                    
    244       }
    245 
    246     else if(count3>=750&&count3<1000)                  // G-- 
    247      {
    248           pwm_data_R=250;                        //max 250
    249          pwm_data_G=750-count3;            
    250          pwm_data_B=250;
    251      }
    252       else if(count3>=1000&&count3<1250)               //B--
    253        {
    254        pwm_data_R=250;
    255         pwm_data_G=0;
    256       pwm_data_B=1250-count3;                    
    257       }
    258 
    259 
    260       else if(count3>=1250&&count3<1500)          /// R--
    261        {
    262        pwm_data_R=1500-count3;                
    263         pwm_data_G=0;
    264          pwm_data_B=0;
    265        }
    266 
    267      
    268            else if(count3>=1500&&count3<1750)          
    269        {
    270          pwm_data_R=0;                        
    271          pwm_data_G=0;                           
    272          pwm_data_B=count3-1500;                                  //B++
    273        }
    274 
    275            else if(count3>=1750&&count3<2000)          
    276        {
    277          pwm_data_R=0;                        
    278          pwm_data_G=count3-1750;                                     //绿变亮             G++
    279          pwm_data_B=250;                
    280        }
    281 
    282     else if(count3>=2000&&count3<2250)                         /// R++
    283      {
    284       pwm_data_R=count3-2000;            
    285       pwm_data_G=250;
    286       pwm_data_B=250;
    287 
    288     }
    289 
    290       else if(count3>=2250&&count3<2500)           
    291        {
    292         pwm_data_R=2500-count3;                        /// R--
    293         pwm_data_G=2500-count3;                     // G-- 
    294        pwm_data_B=2500-count3;                         //B--
    295       }
    296 
    297     else if(count3>=2500&&count3<2750)                  
    298      {                                             /// R++
    299           pwm_data_R=count3-2500;                        //max 250
    300          pwm_data_G=0;            
    301          pwm_data_B=0;
    302      }
    303 
    304       else if(count3>=2750&&count3<3000)           //B++
    305        {
    306        pwm_data_R=250;                
    307         pwm_data_G=0;
    308          pwm_data_B=count3-2750;
    309        }
    310 
    311 
    312       else if(count3>=3000&&count3<3250)           //G++
    313        {
    314        pwm_data_R=250;                
    315         pwm_data_G=count3-3000;
    316          pwm_data_B=250;
    317        }
    318 
    319       else if(count3>=3250&&count3<3500)           
    320        {
    321         pwm_data_R=3500-count3;                        /// R--
    322         pwm_data_G=3500-count3;                     // G-- 
    323        pwm_data_B=3500-count3;                         //B--
    324       }
    325 }
    326 
    327 
    328 void scankey()
    329 {
    330      switch(add)
    331      {
    332      case 0: jianbianRGB(count5);
    333              count6=0;
    334              break;
    335      case 1: if(flag1==0)                      //自动渐变颜色
    336             {    
    337                 jianbianRGB(count6);
    338             }
    339                else                           //自定义颜色色表
    340                {
    341                pwm_data_R=CO[count9][0];
    342                pwm_data_G=CO[count9][1];
    343                pwm_data_B=CO[count9][2];
    344                }
    345                count5=0;
    346              break;
    347     default : jianbianRGB(count5); break; 
    348   }
    349 
    350 }
    351 
    352 
    353 
    354 //●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●//
    355 void main()
    356 {
    357 //      P3M1=0X00;       //P3口设置为推挽模式,提高灯的亮度
    358 //      P1M0=0X38;
    359      PWM_R=0;     //max 250
    360      PWM_G=0;
    361      PWM_B=0;
    362     Init();
    363     while(1)          //主循环
    364     {
    365         scankey();
    366 //    PWM_R=1;
    367 //   PWM_G=0;
    368 //    PWM_B=0;                      
    369 
    370     }
    371 }
    372 
    373         /*
    374                                 MMMMM
    375                                   MMMMMM
    376                                     MMMMMMM
    377                                      MMMMMMMM     .
    378                                       MMMMMMMMM
    379                                       HMMMMMMMMMM
    380                                        MMMMMMMMMMMM  M
    381                                        MMMMMMMMMMMMM  M
    382                                         MMMMMMMMMMMMM  M
    383                                         MMMMMMMMMMMMM:
    384                                         oMMMMMMMMMMMMMM
    385               .MMMMMMMMMMMMMMo           MMMMMMMMMMMMMMM M
    386         MMMMMMMMMMMMMMMMMMMMMMMMMMM      MMMMMMMMMMMMMMMM
    387           MMMMMMMMMMMMMMMMMMMMMMMMMMMM.  oMMMMMMMMMMMMMMM.M
    388             MMMMMMMMMMMMMMMMMMMMMMMMMMMM  MMMMMMMMMMMMMMMM
    389               MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
    390                 oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
    391                   MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
    392                     MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:                     H
    393                      MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM                  .         MMM
    394                       MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM              M       MMMMMM
    395                        .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM          M   MMMMMMMMMM
    396                 MM.      MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM       M MMMMMMMMMMMM
    397                     MM    MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM    .MMMMMMMMMMMMMM
    398                       MM  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
    399                         MM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
    400                .MMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMM.MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
    401                   HMMMMMMMMMMMMMMMMMMMMM.MMMMMMMMM.MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
    402                      MMMMMMMMMMMMMMM MMM.oMMMMMMM..MMMMMMMMM:MMMMMMMMMMMMMMMMMMMMMMM
    403                        MMMMMMMMMMMMMM MM..MMMMMMM...MMMMMMM. MMMMMMMMMMMMMMMMMMMMM
    404                          MMMMMMMMMMMMMMM ..MMMMMM...MMMMMM ..MMMMMMMMMMMMMMMMMMM
    405                           MMMMMMM:M.MMM.M.. MMMMM M..MMMMM...MMMMMMMMMMMMMMMMMM  MMM
    406                             MMMM. .M..MM.M...MMMMMM..MMMMM.. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM .
    407                              MMMM..M....M.....:MMM .MMMMMM..MMMMMMM...MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
    408                               MMM.M.. ...M......MM.MMMMM.......MHM.M  .MMMMMMMMMMMMMMMMMMMMMMMMM
    409                          MMMMMMMM..MM. . MMM.....MMMMMM.M.....M ..MM..M MMMMMMMMMMMMMMMMMMM
    410                             .MMMMMHMM. ..MMMM. MMM............o..... . .MMMMMMMMMMMMMMM
    411                                MMM. M... .........................M..:.MMMMMMMMMMMM
    412                                  oMMM............ .................M.M.MMMMMMMMM
    413                                     .....MM........................ . MMMMMM
    414                                    M.....M.....................o.MM.MMMMMMMM.
    415                                     M........................M.. ...MMMMMMMMMMMMMo
    416                                       :....MMM..............MMM..oMMMMMMM
    417                                        M...MMM.............MMMMMMM
    418                                           .............:MMMMMMMM
    419                                           M..... MMM.....M
    420                                           M M.............
    421                                           ................M
    422                                        ooM.................MM  MoMMMMMoooM
    423                                   MMoooM......................MoooooooH..oMM
    424                               MHooooMoM.....................MMooooooM........M
    425                             oooooooMoooM......... o........MoooooooM............
    426                             Mooooooooooo.......M.........Moooooooo:..............M
    427                            MooMoooooooooM...M........:Mooooooooooo:..............M
    428                           M..oooooooooooo .........Mooooooooooooooo..............M
    429                          M...Mooo:oooooooo.M....ooooooooooooooooooo..M...........M
    430                           ...oooooMoooooooM..Mooooooooooooo:oooooooM.M...........M.
    431                          M...ooooooMoo:ooooMoooooooooooooHoooooooooH:M. ...........:
    432                          M..MoooooooMoooooooooooooooooo:ooooooMooooMoM..............M
    433                          M..ooooooooooMooooooooooooooHoooooooMooHooooM...............M
    434                          ...ooooooooooooooooooo:MooooooooooooooMoMoooM................
    435                         M...oooooooooooooooooooooooooooooooooooooMooMM................M
    436                         ...MooooooooooooooooooooooooooooooooooooooooMo ................
    437                         ...MooooooooooooooooooooooooooooooooooooooooM M................M
    438                        M...ooooooooooooooooooooooooooooooooooooooooM   ................M
    439                        ...MoooooooooooooooooooooooooooooooooooooooMM   .:...............
    440                        .....MooooooooooooooooooooooooooooooooooooMoo       .............M
    441                        M...... ooooooooooooooooooooooooooooooooooooM       M..............M
    442                        M........MooooMMM MM MM  MMMMMMMMMooooooooM         M...............M
    443                        .........HM     M:  MM :MMMMMM          M           M...............
    444                       M..........M     M   MoM M                           M................M
    445                       M.........:M  MoH  M M M MooooHoooMM.   M             M...............M
    446                       M..........Moooo MMooM    oooooMooooooooM              M..............H
    447                       M.........MooooM  Mooo  : ooooooMooooMoooM              M........ . .o.M
    448                       H..  .....ooooo   oooo  M MooooooooooooooM               M... MMMMMMMMMMM
    449                       MMMMMMMMMMooooM M oooo  .  ooooooMooooooooM              .MMMMMMMMMMMMMMM
    450                       MMMMMMMMMMooooH : ooooH    oooooooooooooooo               MMMMMMMMMMMMMMM
    451                       MMMMMMMMMMoooo    ooooM    Moooooooooooooooo              .MMMMMMMMMMMMMMM
    452                       MMMMMMMMMMoooo    ooooM    MooooooooooooooooM              MMMMMMMMMMMMMMM
    453                       MMMMMMMMMMoooM    ooooM     ooooooooooooooooo               MMMMMMMMMMM:M
    454                       MMMMMMMMMMoooM   MooooM     oooooooooooMoooooo               MH...........
    455                        . ......Mooo.   MooooM     oooooooooooooooooo              M............M
    456                       M.M......oooo    MooooM     Moooooooooooooooooo:           .........M.....
    457                       M.M.....Moooo    MooooM      ooooooooooooooooooM            .M............
    458                       .......MooooH    MooooM      oooooooooMoooooooooo          M..o...M..o....M
    459                       .o....HMooooM    MooooH      MooooooooMooooooooooM          .:M...M.......M
    460                      M..M.....MoooM    :oooo:    .MooooooooHooMoooooooooM         M M... ..oM.M
    461                       M...M.:.Mooo. MMMMooooo   oooooooooooMoooooooooooooM          ....M. M
    462                        M:M..o.Moooooooooooooo MooooooooooooooMooooooooooooM          .Mo
    463                               MooooooooooooooMooooooooooooMoMoooooooooooooo
    464                               Mooooooooooooooo:ooooooooooooooooooooooooooooo
    465                               ooooooooooooooooMooooooooooMoooooooooooooooooo
    466                               ooooooooooooooooMoooooooooooMooooooooooooooooHo
    467                               ooMooooooooooooooMoooooooooooooooooooooooooooMoM
    468                              MooMoooooooooooooo.ooooooooooooooooooooooooooo:oM
    469                              MoooooooooooooooooooooooooooooooooooooooooooooooM
    470                              MoooMooooooooooooooMooooooooooooooooooooooooooooo.
    471                              MoooMooooooooooooooMoooooooooooooooooooooooooMooooM
    472                              MooooooooooooooooooMoooooooooooooooooooooooooMoooooM
    473                              MooooMoooooooooooooMoooooooooooooooooooooooooMoHooooM
    474                              ooooooMooooooooooooooooooooooooooooooooooooooooMoMoooM
    475                             MooooooooooooooooooooMooooooooooooooooooooooooooMoooooH:
    476                             MoooooooMooooooooooooMoooooooooooooooooooooooooooooHoooM
    477                             MooooooooMoooooooooooMoooooooooooooooooooooooooMoooMooooM
    478                             Moooooooooooooooooooooooooooooooooooooooooooooo.oooMooooo
    479                             MoooooooooooooooooooooooooooooooooooooooooooooMoooooooooM
    480                              MooooooooooooooooooooMoooooooooooooooooooooooooooooooooM
    481                               MooooooooooooooooooooMHooooooooooooooooooooMoooo:ooooo
    482                                MMooooooooooooooooooMoMHoooooooooooooooooooooooMooooo
    483                                 MMoooooooooooooooMMooo MMooooooooooooooooooooooooooM
    484                                 MMMoooooooooooooMooooo  oooooooooooooooooooooMooooo
    485                                 MooMMoooooooooMoooMMoM  ooooHooooooooooooooooMooooM
    486                                 MooooMooooooMooooMoooM  MoooooMoooooooooooooMooooo
    487                                 ooooooMMooooooooMooooM  MoooooooooMooooooooooooooM
    488                                 HooooooMoooooooMooooM    HoooooooHooMooooooooooooo
    489                                  oooMoooooooooHoooM         MoooooooooMoooooooooM
    490                                   HooooooooooooHM             MooooooooMMoooooooM
    491                                    MMMMMMMMMMMMMM                Moooooo:MooooHMM
    492                                     MMMMMMM: ...                  MMMMMMMMMMMMMM
    493                                    M............M                  MMMMMMMMM ....
    494                                    M.MM..........                  M.............M
    495                                 M ..............MM                 M..............
    496                              MMMMM............MMMM                 ..MMMMMMMM ....M
    497                            MMMMMMMMMMMMMMMMMMMMMMMM               MMMMMMMMMMMMM...M
    498                         .MMMMMMMMMMMMMMMMMMMMMMMMMM               MMMMMMMMMMMMMMMMMM
    499                         MMMMMMMMMMMMMMMMMMMMMMMMM                MMMMMMMMMMMMMMMMMMM
    500                         :MMMMMMMMMMMMMMMMMMH                     MMMMMMMMMMMMMMMMMMM
    501                            By EBEN Jér?me                        MMMMMMMMMMMMMMMMMM
    502                                                                  MMMMMMMMMMMMMMM
    503                                                                   HMMMMMM
    504          
    505         */

     

  • 相关阅读:
    Go 单元测试、基准测试、并发基准测试
    Go url编码和字符转码
    ssh 登录进入 docker container
    Python 开发
    Ethereum 源码分析之 accounts
    Ethereum 源码分析之框架
    数据库视图
    共识算法:PBFT、RAFT
    JQuery Mobile
    Android Studio
  • 原文地址:https://www.cnblogs.com/UPUPDay2152/p/7728269.html
Copyright © 2020-2023  润新知