0.本系统采用STC89C52作为单片机
1.LCD1602液晶实时显示当前工作模式或曲目编号
2.支持电子琴模式和歌曲模式(内置8首歌曲)
3.按’切换’键可切换工作模式
4.电子琴模式下,按矩阵键盘可弹出不同音符,同时彩灯亮起
5.音乐盒模式下,可根据需要按下矩阵键盘上的功能按键,播放音乐时,彩灯将点亮
6.彩灯可通过外部开关关闭,以节约用电
原理图:
PCB:
主程序:
#include <reg52.h> //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
sbit BUZZER = P3^2; //蜂鸣器定义
sbit KEY_SELECT = P2^7; //音乐播放按键
uchar g_selectFlag = 0; //开始放歌
uchar g_noteCnt = 0;
uchar g_highIndex, g_lowIndex;
uchar code T[49][2]={
{
0,0},
{
0xF8,0x8B},{
0xF8,0xF2},{
0xF9,0x5B},{
0xF9,0xB7},{
0xFA,0x14},{
0xFA,0x66},{
0xFA,0xB9},{
0xFB,0x03},
{
0xFB,0x4A},{
0xFB,0x8F},{
0xFB,0xCF},{
0xFC,0x0B},{
0xFC,0x43},{
0xFC,0x78},{
0xFC,0xAB},{
0xFC,0xDB},
{
0xFD,0x08},{
0xFD,0x33},{
0xFD,0x5B},{
0xFD,0x81},{
0xFD,0xA5},{
0xFD,0xC7},{
0xFD,0xE7},{
0xFE,0x05},
{
0xFE,0x21},{
0xFE,0x3C},{
0xFE,0x55},{
0xFE,0x6D},{
0xFE,0x84},{
0xFE,0x99},{
0xFE,0xAD},{
0xFE,0xC0},
{
0xFE,0x02},{
0xFE,0xE3},{
0xFE,0xF3},{
0xFF,0x02},{
0xFF,0x10},{
0xFF,0x1D},{
0xFF,0x2A},{
0xFF,0x36},
{
0xFF,0x42},{
0xFF,0x4C},{
0xFF,0x56},{
0xFF,0x60},{
0xFF,0x69},{
0xFF,0x71},{
0xFF,0x79},{
0xFF,0x81}
};
uchar code music1[][2]={
{
0,4}, //两只蝴蝶
{
23,4},{
21,4},{
23,16},{
23,4},{
21,4},{
23,4},{
21,4},{
19,16},{
16,4},{
19,4},{
21,8},{
21,4},{
23,4},{
21,4},{
19,4},{
16,4},{
19,4},{
14,24},
{
23,4},{
21,4},{
23