diy资料下载:
51单片机摇摇棒diy.rar
(302.99 KB, 下载次数: 27)
空板
示例
最终成型的样子
源程序:
- #include<REGX52.H>
- #define uchar unsigned char
- #define uint unsigned int
- sbit KEY = P3^7;
- uchar KY=0,_NO=0;
- uchar code display1[]={//我爱你!
- 0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0xFF,0x20,0x22,0xAC,0x20,0x30,0x20,0x00,
- 0x40,0xB0,0x92,0x96,0x9A,0x92,0xF2,0x9E,0x92,0x91,0x99,0x95,0x91,0x50,0x30,0x00,
- 0x40,0x20,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xFE,0xFE,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x08,0x48,0x84,0x7F,0x02,0x21,0x10,0x09,0x06,0x1A,0x61,0x80,0xE0,0x00,0x00,
- 0x00,0x00,0x40,0x30,0x8C,0x83,0x46,0x2A,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,0x00,
- 0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0x43,0x80,0x7F,0x00,0x01,0x06,0x0C,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x3B,0x3B,0x10,0x00,0x00,0x00,0x00,0x00,0x00,};
- uchar code display2[]={//生日快乐
- 0x00,0xC0,0x30,0x1E,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x18,0x10,0x00,0x00,
- 0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFF,0x02,0x00,0x00,0x00,
- 0x80,0x70,0x00,0xFF,0x10,0x20,0x10,0x10,0xFF,0x10,0x10,0x10,0xF8,0x10,0x00,0x00,
- 0x00,0x80,0xC0,0xBC,0x84,0x84,0x84,0xF4,0x82,0x82,0x83,0x82,0x80,0xC0,0x80,0x00,
- 0x41,0x40,0x42,0x42,0x42,0x42,0x42,0x7F,0x42,0x42,0x42,0x43,0x42,0x60,0x40,0x00,
- 0x00,0x00,0x00,0x7F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7F,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0xFF,0x82,0x42,0x22,0x1A,0x07,0x0A,0x12,0x22,0x43,0xC2,0x42,0x00,
- 0x00,0x40,0x20,0x10,0x0C,0x40,0x80,0x7F,0x00,0x00,0x04,0x08,0x30,0x60,0x00,0x00,};
- uchar code display3[]={//我想你了
- 0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0xFF,0x20,0x22,0xAC,0x20,0x30,0x20,0x00,
- 0x08,0x88,0x68,0xFF,0x48,0x88,0x08,0xFE,0x52,0x52,0x52,0x52,0xFF,0x02,0x00,0x00,
- 0x40,0x20,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,
- 0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xE2,0x22,0x12,0x0A,0x06,0x02,0x00,0x00,0x00,
- 0x00,0x08,0x48,0x84,0x7F,0x02,0x21,0x10,0x09,0x06,0x1A,0x61,0x80,0xE0,0x00,0x00,
- 0x41,0x30,0x00,0x7B,0x80,0x80,0x88,0x93,0xB2,0x82,0x82,0xE2,0x03,0x10,0x60,0x00,
- 0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0x43,0x80,0x7F,0x00,0x01,0x06,0x0C,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
- void delay(uint i)
- {
- while(i)
- {
- i--;
- }
- }
- void desplay1()
- {
- uchar i;
- delay(6500);
- for(i=0;i<64;i++)
- {
- P0=~display1[i];
- P2=~display1[i+63];
- delay(150);
- }
- }
- void desplay2()
- {
- uchar i;
- delay(6500);
- for(i=0;i<64;i++)
- {
- P0=~display2[i];
- P2=~display2[i+63];
- delay(150);
- }
- }
- void desplay3()
- {
- uchar i;
- delay(6500);
- for(i=0;i<64;i++)
- {
- P0=~display3[i];
- P2=~display3[i+63];
- delay(150);
- }
- }
- void main()
- {
- IT0=1;
- EX0=1;
- EA=1;
-
- KEY=1;
-
- while(1)
- {
- if(KEY==0)
- {
- delay(200);
- if(KEY==0)
- {
- _NO++;
- if(_NO>2)
- _NO=0;
- while(!KEY);
- }
- }
- }
- }
- void inttime() interrupt 0
- {
- KY=~KY;
- if(KY==0)
- {
- switch(_NO)
- {
- case 0:
- desplay1();
- break;
-
- case 1:
- desplay2();
- break;
-
- case 2:
- desplay3();
- break;
- }
- }
- }
复制代码
|