激光竖琴电路原理图如下:
名称 | 数量 | PCB板 | 1 | 5V激光发射头(多发3个) | 10 | 22#导线20CM | 1 | 5516光敏电阻 | 8 | 4CM黑色热缩管 20CM | 1 | 10K电阻 | 10 | 1K电阻 | 12 | 3MM LED 白发蓝 | 12 | DC005座 | 1 | USB转DC005线 | 1 | 无源蜂鸣器 | 1 | 8*8自锁开关 | 1 | 自锁开关帽 | 1 | 8550三极管 | 1 | 6*6*20按键 | 2 | 40P IC座 | 1 | STC89C52(烧写好程序) | 1 | 10UF电解电容 | 1 | 12M晶振 | 1 | 22P 瓷片电容 | 3 |
|
| 外壳的清单: |
| M3*10螺丝 | 12 | M3螺母 | 7 | M3*15双通铜柱 | 5 | 一片外壳或者2片2外壳 | 1 |
单片机源程序如下:
- //内容:7个激光束控制7个音符7个LED显示
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar button,i,timeh,timel;
- sbit speaker=P3^4;
- sbit music=P3^3;
- sbit tone=P0^0;
- sbit LED_L = P3^7;
- sbit LED_M = P3^6;
- sbit LED_H = P3^5;
- uchar code cuzhi[]={0xfc,0x44,0xfc,0xad,0xfd,0x0a,0xfd,0x34,0xfd,0x83,0xfd,0xc8,0xfe,0x06};//do re mi 。。。si
- void delay1ms(uint z) //延时1ms
- {uint x,y;
- for(x=z;x>0;x--)
- for(y=120;y>0;y--);
- }
- void timer0() interrupt 1 //定时器0溢出中断子程序用于产生各种音调
- {
- TH0=timeh;
- TL0=timel;
- speaker=~speaker; //产生方波
- }
- void main()
- {
- EA=1; //开总中断
- ET0=1; //开定时器0
- TMOD=0x01; //定时器0工作在方式1
- while(1)
- {button=P2;
- switch (button)
- {case 0xfe:
- {TR0=1;
- timeh=cuzhi[0]; //取中音do的计数初值高4位值
- timel=cuzhi[1]; //取中音do的计数初值低4位值
- P1=0xfe;
- delay1ms(100);
- } break;
- case 0xfd:
- {TR0=1;
- timeh=cuzhi[2]; //取中音re的计数初值高4位值
- timel=cuzhi[3];
- P1=0xfd; //取中音re的计数初值低4位值
- delay1ms(100);
- }break;
- case 0xfb:
- {TR0=1;
- timeh=cuzhi[4]; //取中音mi的计数初值高4位值
- timel=cuzhi[5];
- P1=0xfb; //取中音mi的计数初值低4位值
- delay1ms(100);
- }break;
- case 0xf7:
- {TR0=1;
- timeh=cuzhi[6]; //取中音fa的计数初值高4位值
- timel=cuzhi[7];
- P1=0xf7; //取中音fa的计数初值低4位值
- delay1ms(100);
- }break;
- case 0xef:
- {TR0=1;
- timeh=cuzhi[8]; //取中音so的计数初值高4位值
- timel=cuzhi[9];
- P1=0xef; //取中音so的计数初值低4位值
- delay1ms(100);
- }break;
- case 0xdf:
- {TR0=1;
- timeh=cuzhi[10]; //取中音la的计数初值高4位值
- timel=cuzhi[11];
- P1=0xdf; //取中音la的计数初值低4位值
- delay1ms(100);
- }break;
- case 0xbf:
- {TR0=1;
- timeh=cuzhi[12]; //取中音si的计数初值高4位值
- timel=cuzhi[13];
- P1=0xbf; //取中音si的计数初值低4位值
- delay1ms(100);
- }break;
- }
- }
- }
复制代码
所有资料51hei提供下载:
竖琴编程.zip
(104.42 KB, 下载次数: 77)
|