找回密码
 立即注册

QQ登录

只需一步,快速开始

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

自己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. }
复制代码


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

使用道具 举报

沙发
ID:189048 发表于 2017-4-19 01:07 | 只看该作者
你好我想问一下,摇摇棒要怎么烧程序进去啊
回复

使用道具 举报

板凳
ID:47286 发表于 2017-4-19 10:42 | 只看该作者
我去 这个厉害啊 我少见多怪了 不过真心觉得很牛啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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