标题: 自己DIY的摇摇棒 [打印本页]

作者: 51hei学习技术中    时间: 2017-3-9 03:02
标题: 自己DIY的摇摇棒


diy资料下载:
51单片机摇摇棒diy.rar (302.99 KB, 下载次数: 27)




空板



示例




最终成型的样子


源程序:
  1. #include<REGX52.H>
  2. #define uchar unsigned char
  3. #define uint  unsigned int

  4. sbit KEY = P3^7;
  5. uchar KY=0,_NO=0;

  6. uchar code display1[]={//我爱你!
  7.     0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0xFF,0x20,0x22,0xAC,0x20,0x30,0x20,0x00,
  8.     0x40,0xB0,0x92,0x96,0x9A,0x92,0xF2,0x9E,0x92,0x91,0x99,0x95,0x91,0x50,0x30,0x00,
  9.     0x40,0x20,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,
  10.     0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xFE,0xFE,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
  11.     0x00,0x08,0x48,0x84,0x7F,0x02,0x21,0x10,0x09,0x06,0x1A,0x61,0x80,0xE0,0x00,0x00,
  12.     0x00,0x00,0x40,0x30,0x8C,0x83,0x46,0x2A,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,0x00,
  13.     0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0x43,0x80,0x7F,0x00,0x01,0x06,0x0C,0x00,0x00,
  14.     0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x3B,0x3B,0x10,0x00,0x00,0x00,0x00,0x00,0x00,};

  15. uchar code display2[]={//生日快乐
  16.     0x00,0xC0,0x30,0x1E,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x18,0x10,0x00,0x00,
  17.     0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFF,0x02,0x00,0x00,0x00,
  18.     0x80,0x70,0x00,0xFF,0x10,0x20,0x10,0x10,0xFF,0x10,0x10,0x10,0xF8,0x10,0x00,0x00,
  19.     0x00,0x80,0xC0,0xBC,0x84,0x84,0x84,0xF4,0x82,0x82,0x83,0x82,0x80,0xC0,0x80,0x00,
  20.     0x41,0x40,0x42,0x42,0x42,0x42,0x42,0x7F,0x42,0x42,0x42,0x43,0x42,0x60,0x40,0x00,
  21.     0x00,0x00,0x00,0x7F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7F,0x00,0x00,0x00,0x00,
  22.     0x00,0x00,0x00,0xFF,0x82,0x42,0x22,0x1A,0x07,0x0A,0x12,0x22,0x43,0xC2,0x42,0x00,
  23.     0x00,0x40,0x20,0x10,0x0C,0x40,0x80,0x7F,0x00,0x00,0x04,0x08,0x30,0x60,0x00,0x00,};

  24. uchar code display3[]={//我想你了
  25.     0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0xFF,0x20,0x22,0xAC,0x20,0x30,0x20,0x00,
  26.     0x08,0x88,0x68,0xFF,0x48,0x88,0x08,0xFE,0x52,0x52,0x52,0x52,0xFF,0x02,0x00,0x00,
  27.     0x40,0x20,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,
  28.     0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xE2,0x22,0x12,0x0A,0x06,0x02,0x00,0x00,0x00,
  29.     0x00,0x08,0x48,0x84,0x7F,0x02,0x21,0x10,0x09,0x06,0x1A,0x61,0x80,0xE0,0x00,0x00,
  30.     0x41,0x30,0x00,0x7B,0x80,0x80,0x88,0x93,0xB2,0x82,0x82,0xE2,0x03,0x10,0x60,0x00,
  31.     0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0x43,0x80,0x7F,0x00,0x01,0x06,0x0C,0x00,0x00,
  32.     0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};

  33. void delay(uint i)
  34. {
  35.     while(i)
  36.     {
  37.         i--;
  38.     }
  39. }

  40. void desplay1()
  41. {
  42.         uchar i;
  43.         delay(6500);
  44.         for(i=0;i<64;i++)
  45.     {
  46.         P0=~display1[i];
  47.         P2=~display1[i+63];
  48.         delay(150);
  49.     }
  50. }

  51. void desplay2()
  52. {
  53.         uchar i;
  54.         delay(6500);
  55.         for(i=0;i<64;i++)
  56.     {
  57.         P0=~display2[i];
  58.         P2=~display2[i+63];
  59.         delay(150);
  60.     }
  61. }

  62. void desplay3()
  63. {
  64.         uchar i;
  65.         delay(6500);
  66.         for(i=0;i<64;i++)
  67.     {
  68.         P0=~display3[i];
  69.         P2=~display3[i+63];
  70.         delay(150);
  71.     }
  72. }

  73. void main()
  74. {
  75.     IT0=1;
  76.     EX0=1;
  77.     EA=1;
  78.    
  79.     KEY=1;
  80.    
  81.     while(1)
  82.     {
  83.         if(KEY==0)
  84.         {
  85.             delay(200);
  86.             if(KEY==0)
  87.             {
  88.                 _NO++;
  89.                 if(_NO>2)
  90.                 _NO=0;
  91.                 while(!KEY);
  92.             }
  93.         }
  94.     }   
  95. }

  96. void inttime() interrupt 0
  97. {
  98.     KY=~KY;
  99.     if(KY==0)
  100.     {
  101.         switch(_NO)
  102.         {
  103.             case 0:
  104.             desplay1();
  105.             break;
  106.             
  107.             case 1:
  108.             desplay2();
  109.             break;
  110.      
  111.             case 2:
  112.             desplay3();
  113.             break;
  114.         }   
  115.     }
  116. }
复制代码



作者: YE小白    时间: 2017-4-19 01:07
你好我想问一下,摇摇棒要怎么烧程序进去啊

作者: dzbj    时间: 2017-4-19 10:42
我去 这个厉害啊 我少见多怪了 不过真心觉得很牛啊




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