⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myboard.c

📁 单片机电子音乐程序
💻 C
📖 第 1 页 / 共 4 页
字号:
/*
* Copyright (c) 2005, Owen Studio
* All rights reserved.
*
* 文件名称:MyBoard.c
* 当前版本:Version 1.0
* 
* 本程序为通过调试的源程序
*
* 功能描述:上电后系统等待用户输入登陆密码,用户可查询储存在24C02中的登陆密码(A键),也可修改登陆密码(B键),
* 当输入登陆密码后按D键,如果密码正确则进入系统。进入系统后6个数码管开始计时,同时循环播放4首音乐,发光二
* 极管也按预定流水灯程序循环闪动。此时按1-9键则播放第1-9首音乐。按0键则停止播放。按D键开始/停止音乐自动播
* 放。按*键开始/停止流水灯自动演示。按#键切换流水灯方案臘键则跳到下一首音乐,按A键、B键、C键则分别对时、分
* 、秒进行调节。
* 另外本程序集成了与PC通信的串口服务程序,所有按键的功能也可以通过PC机的控制软件实现。状态也可以反馈到此
* 控制软件上。
*
* 资源配置:Timer0用于为系统提供时基;Timer1用于音乐播放;Timer2用于串口波特率发生器。
* 3个中断源,其中两个为Timer0和Timer1中断,另一个为串口中断,主要完成与PC机的通信。
*/
/*************************************************************************/
//////////////////////////Beginning of Program/////////////////////////////
/*************************************************************************/
#include "at89x52.h"
#include <intrins.h>
#define  nop  _nop_()         	
#define  uchar unsigned char 	
#define  uint  unsigned int
#define  PAI_BASE 15
#define  MUSIC_NUM 9
#define  SCAN_CYCLE 500
/*************************************************************************/
/*Constant Tables*/
const char code c_music1[]={0x82,0x01,0x81,0x94,0x84,            /*生日快乐歌*/
                            0xb4,0xa4,0x04,
							0x82,0x01,0x81,0x94,0x84,
							0xc4,0xb4,0x04,
							0x82,0x01,0x81,0xf4,0xd4,
							0xb4,0xa4,0x94,
							0xe2,0x01,0xe1,0xd4,0xb4,
							0xc4,0xb4,0x04,
							0x00};
const char code c_music2[]={0x62, 0x52,      /*两只蝴蝶*/
                            0x64, 0x64, 0x02, 0x52, 0x62, 0x52,
                            0x44, 0x44, 0x04, 0x22, 0x42,
                            0x54, 0x52, 0x62, 0x52, 0x42, 0x22, 0x42,
                            0x14, 0x14, 0x04, 0x62, 0x52,
                            0x64, 0x64, 0x02, 0x52, 0x62, 0x52,
                            0x44, 0x44, 0x04, 0x22, 0x42,
                            0x54, 0x52, 0x62, 0x52, 0x42, 0x22, 0x42,
                            0x54, 0x54, 0x04, 0x62, 0x82,
							0x84, 0x84, 0x02, 0x82, 0x92, 0x82,
							0x64, 0x64, 0x04, 0x52, 0x52,
							0x54, 0x52, 0x62, 0x52, 0x42, 0x22, 0x91, 0x41,
							0x42, 0x42, 0x44, 0x44, 0x44,
                            0x02, 0x82, 0x82, 0x92,
                            0xb2, 0xa2, 0xa2, 0x92, 0x64, 0x52, 0x62,
                            0x64, 0x64, 0x02, 0x62, 0x62, 0x82,
                            0x94, 0x94, 0x02, 0x22, 0x62, 0x52,
                            0x54, 0x54, 0x04, 0x62, 0x82,
                            0x82, 0x62, 0x84, 0x02, 0xb2, 0xb2, 0xa2,
                            0x92, 0xa2, 0x64, 0x02, 0x92, 0x92, 0xa2,
                            0x92, 0x82, 0x62, 0x52, 0x52, 0x62, 0x52, 0x62,
                            0x84, 0x84, 0x02, 0x82, 0x82, 0x92,
                            0x92, 0x82, 0x62, 0x52, 0x52, 0x12, 0x12, 0x22,
                            0x44, 0x44, 0x44, 0x44,
                            0x00};
const char code c_music3[]={0x04, 0x42, 0x41, 0x51,
                            0x62, 0x62, 0x52, 0x41, 0x51, 0x54, 0x02, 0x41, 0x51, /*老鼠爱大米*/
                            0x62, 0x62, 0x52, 0x42, 0x44, 0x02, 0x11, 0x21,
                            0x14, 0x11, 0x11, 0x21, 0x41, 0x44, 0x02, 0x42,
                            0x42, 0x42, 0x42, 0x41, 0x51, 0x54, 0x42, 0x51, 0x61,
                            0x62, 0x62, 0x82, 0x91, 0x51, 0x54, 0x62, 0x51, 0x41,
                            0x42, 0x42, 0x52, 0x61, 0x81, 0x84, 0x02, 0x81, 0x81,
                            0x92, 0x41, 0x41, 0x42, 0x61, 0x01, 0x52, 0x42, 0x42, 0x51, 0x41,
                            0x44, 0x44, 0x44, 0x62, 0x61, 0x81,
                            0x82, 0x81, 0x81, 0x82, 0x81, 0x91, 0x94, 0x62, 0x52,
                            0x42, 0x42, 0x42, 0x51, 0x61, 0x64, 0x02, 0x61, 0x81,
                            0x82, 0x82, 0x82, 0x91, 0xb1, 0xb2, 0x92, 0x82, 0x62,
							0x52, 0x42, 0x42, 0x22, 0x54, 0x02, 0x61, 0x81,
							0x82, 0x82, 0x81, 0x92, 0x81, 0x94, 0x62, 0x52,
                            0x42, 0x42, 0x42, 0x51, 0x61, 0x64, 0x02, 0x61, 0x81, 
                            0x82, 0x82, 0x82, 0x91, 0xb1, 0xb2, 0x92, 0x82, 0x61, 0x51,
                            0x52, 0x52, 0x54, 0x54, 0x41, 0x62, 0x71,
                            0x62, 0x52, 0x54, 0x54, 0x62, 0x51, 0x41,
                            0x44, 0x62, 0x51, 0x41, 0x44, 0x62, 0x52,
                            0x62, 0x42, 0x62, 0x91, 0x81, 0x84, 0x02, 0x61, 0x81,
                            0x92, 0x91, 0x81, 0x82, 0x91, 0x81, 0x84, 0x61, 0x51, 0x42,
                            0x52, 0x51, 0x61, 0x52, 0x41, 0x51, 0x41, 0x53, 0x62, 0x51, 0x41,
                            0x44, 0x62, 0x51, 0x41, 0x44, 0x62, 0x52, 
                            0x62, 0x42, 0x61, 0x92, 0x81, 0x84, 0x02, 0x61, 0x81,
                            0x92, 0x92, 0xb2, 0x81, 0x91, 0x82, 0x01, 0x81, 0x61, 0x51, 0x41,
                            0x54, 0x51, 0x41, 0x51, 0x61, 0x54, 0x62, 0x62,
                            0x54, 0x02, 0x42, 0x44, 0x44,
						    0x00};
const char code c_music4[]={0x04, 0x02, 0x41, 0x51, 0x62, 0x61, 0x61, 0x62, 0x52,   /*梦醒时分*/
                            0x62, 0x81, 0x61, 0x62, 0x61, 0x81, 0x92, 0x92, 0x92, 0xa2,
                            0x82, 0x62, 0x62, 0x62, 0x61, 0x51, 0x42, 0x41, 0x41, 0x42, 0x22,
                            0x62, 0x81, 0x41, 0x44, 0x51, 0x52, 0x01, 0x52, 0x42, 
                            0x81, 0x61, 0x52, 0x52, 0x41, 0x51, 0x62, 0x61, 0x61, 0x62, 0x52, 
                            0x62, 0x81, 0x61, 0x62, 0x61, 0x81, 0x92, 0x91, 0x91, 0x92, 0xa2,
                            0x82, 0x62, 0x61, 0x81, 0x81, 0x81, 0x92, 0xb2, 0xb2, 0x92, 
                            0x72, 0x52, 0x52, 0x81, 0x81, 0x92, 0xb2, 0xb2, 0x92, 
                            0xb2, 0xc2, 0xc4, 0xc4, 0x01, 0x81, 0x81, 0x81,
                            0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xc1, 0xc1, 0xc2, 0xb1, 0xa1,
                            0xb2, 0xb2, 0xb2, 0xc2, 0x62, 0x82, 0x82, 0x81, 0x81,
                            0x92, 0xb1, 0xb1, 0xb2, 0xb2, 0xc2, 0x91, 0xb1, 0xb2, 0xb1, 0xb1,
                            0xc2, 0xc1, 0xc1, 0xc2, 0xb2, 0xd2, 0xc1, 0x81, 0x81, 0x81, 0x81, 0x81,
                            0xd2, 0xd2, 0xd2, 0xf2, 0xd2, 0xc1, 0xc1, 0xc2, 0xb1, 0xa1,
                            0xb2, 0xb2, 0xb2, 0xc2, 0x62, 0x82, 0x82, 0x81, 0x81,
                            0x92, 0xb1, 0xb1, 0xb2, 0xb1, 0xb1, 0xc2, 0x91, 0xb1, 0xb2, 0xb1, 0xb1,
                            0xc2, 0xc1, 0xc1, 0xc2, 0xb2, 0xd4, 0xc2, 0x01, 0xb1, 
                            0xb4, 0xb4, 0xb4, 0xb4,
						    0x00};
const char code c_music5[]={0x54, 0x64, 0x64,              /*大长今*/
                            0x64, 0x02, 0x52, 0x44,
                            0x24, 0x44, 0x44,
                            0x51, 0x43, 0x44, 0x44,
                            0x54, 0x64, 0x64, 
                            0x64, 0x02, 0x82, 0x64,
                            0x64, 0x54, 0x64,
                            0x64, 0x64, 0x64,
                            0x84, 0x94, 0x94,
                            0x94, 0x84, 0x64,
                            0x64, 0x84, 0x94,
                            0x81, 0x91, 0x82, 0x84, 0x84,
                            0x54, 0x64, 0x64, 
                            0x54, 0x02, 0x62, 0x64,
                            0x54, 0x64, 0x24,
                            0x41, 0x23, 0x94, 0x94,
                            0x24, 0x24, 0x24,
                            0x54, 0x64, 0x64, 
                            0x64, 0x02, 0x52, 0x44,
                            0x24, 0x44, 0x44,
                            0x51, 0x43, 0x44, 0x44,
                            0x54, 0x64, 0x64, 
                            0x64, 0x02, 0x82, 0x64,
                            0x64, 0x54, 0x64,
                            0x64, 0x64, 0x64, 
                            0x84, 0x94, 0x94,
                            0x94, 0x02, 0x82, 0x64,
                            0x64, 0x84, 0x94,
                            0x84, 0x84, 0x84,
                            0x54, 0x64, 0x64, 
                            0x54, 0x02, 0x62, 0x64,
                            0x54, 0x64, 0x24,  
                            0x41, 0x23, 0x24, 0x24,
                            0x24, 0x24, 0x24,
                            0x54, 0x02, 0x42, 0x24,
                            0x54, 0x02, 0x42, 0x24,
                            0x54, 0x64, 0x44,
                            0x54, 0x02, 0x62, 0x84,
                            0x94, 0x02, 0x82, 0x64,
                            0x54, 0x02, 0x42, 0x24,
                            0x24, 0x14, 0x24,
                            0x41, 0x23, 0x24, 0x24,
                            0x24, 0x24, 0x24,
                            0x14, 0x14, 0x14,
                            0x14, 0x02, 0x22, 0x42, 0x52,
                            0x62, 0x52, 0x44, 0x02, 0x22,
                            0x44, 0x44, 0x54,
                            0x64, 0x64, 0x64,
                            0x64, 0x64, 0x84, 
                            0x94, 0x02, 0xb2, 0x94,
                            0x84, 0x84, 0x84,
                            0x84, 0x61, 0x81, 0x92, 0x04,
                            0x92, 0x82, 0x64, 0x02, 0x52,
                            0x64, 0x02, 0x52, 0x62, 0x52,
                            0x44, 0x44, 0x44,
                            0x41, 0x23, 0x24, 0x44,
                            0x54, 0x54, 0x54,
                            0x54, 0x64, 0x64,
                            0x44, 0x41, 0x23, 0x24,
                            0x24, 0x24, 0x24,
                            0x00};
const char code c_music6[]={0x24, 0x42, 0x52, 0x64, 0x62, 0x92,  /*漫步人生路*/
                            0x84, 0x62, 0x52, 0x64, 0x02, 0x62,
                            0x72, 0x62, 0x62, 0x52, 0x52, 0x42, 0x41, 0x31, 0x22,
                            0x44, 0x02, 0x52, 0x34, 0x34,
                            0x24, 0x42, 0x52, 0x64, 0x62, 0x92,
                            0xa4, 0x82, 0x62, 0x64, 0x02, 0x62, 
                            0x72, 0x62, 0x52, 0x42, 0x32, 0x42, 0x52, 0x62,
                            0x42, 0x32, 0x22, 0x12, 0x24, 0x24,
                            0x42, 0x32, 0x42, 0x52, 0x64, 0x52, 0x62,
							0x74, 0x74, 0x72, 0x81, 0x71, 0x62, 0x52,
                            0x64, 0x74, 0x84, 0x02, 0x62,
                            0x94, 0x92, 0x82, 0x94, 0x92, 0xb2,
                            0x92, 0x82, 0x82, 0x92, 0x64, 0x52, 0x42,
                            0x54, 0x52, 0x42, 0x54, 0x42, 0x42, 0x82,
                            0x62, 0x62, 0x52, 0x42, 0x34, 0x62, 0x62,
                            0x94, 0x92, 0x82, 0x94, 0x92, 0xb2,
                            0x92, 0x82, 0x82, 0x92, 0x64, 0x52, 0x42,
                            0x54, 0x42, 0x82, 0x64, 0x52, 0x42,
                            0x52, 0x61, 0x51, 0x42, 0x32, 0x24, 0x24,
                            0x00};
const char code c_music7[]={0x02, 0x12, 0x12, 0x22,  /*最浪漫的事*/
                            0x44, 0x42, 0x42, 0x42, 0x22, 0x22, 0x62,
                            0x64, 0x64, 0x02, 0x12, 0x24,
                            0x42, 0x42, 0x42, 0x42, 0x44, 0x62, 0x82,
                            0x84, 0x84, 0x84, 0x02, 0x82,
                            0x92, 0x82, 0x92, 0x82, 0x94, 0x82, 0x51, 0x61,
                            0x62, 0x51, 0x41, 0x44, 0x02, 0x42, 0x42, 0x22,
                            0x44, 0x42, 0x22, 0x42, 0x64, 0x52,
                            0x54, 0x54, 0x54, 0x54,
                            0x32, 0x12, 0x22, 0x42, 
                            0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x22, 0x52, 
                            0x52, 0x62, 0x64, 0x62, 0x12, 0x22, 0x42,
                            0x42, 0x42, 0x42, 0x42, 0x44, 0x62, 0x82,
                            0x84, 0x84, 0x84, 0x82, 0x82,
                            0x92, 0x82, 0x92, 0x82, 0x94, 0x92, 0x82,
                            0x52, 0x62, 0x52, 0x44, 0x22, 0x22, 0x42,
                            0x14, 0x62, 0x52, 0x44, 0x22, 0x22, 
                            0x41, 0x51, 0x42, 0x44, 0x44, 0x44,
                            0x82, 0x92, 0xb2,
                            0x94, 0x92, 0x82, 0x92, 0x82, 0x62, 0x82,
                            0x84, 0x84, 0x02, 0x82, 0x92, 0xb2,
                            0x94, 0x92, 0x82, 0x92, 0x82, 0x92, 0x42,
                            0x44, 0x44, 0x02, 0x42, 0x52, 0x62,
                            0x52, 0x52, 0x52, 0x42, 0x52, 0x42, 0x22, 0x62,
                            0x62, 0x52, 0x54, 0x02, 0x82, 0x92, 0x62,
                            0x84, 0x82, 0x62, 0x82, 0x62, 0x64,
                            0x92, 0x82, 0x92, 0x82, 0x62, 0x82, 0x81, 0x92, 0xb1,
                            0x94, 0x92, 0x82, 0x92, 0x82, 0x62, 0x82,
                            0x84, 0x84, 0x02, 0x82, 0x92, 0xb2,
                            0x94, 0x92, 0x82, 0x92, 0x82, 0x92, 0x42, 
                            0x44, 0x44, 0x02, 0x42, 0x52, 0x62,
                            0x74, 0x72, 0x82, 0x92, 0x92, 0x82, 0x92,
                            0x92, 0xb2, 0x92, 0x92, 0x92, 0xb2, 0x92, 0x82, 
                            0x84, 0x84, 0x82, 0x42, 0x92, 0x82,
                            0x84, 0x84, 0x82, 0x92, 0xb2, 0x01, 0x61,
                            0x52, 0x61, 0x51, 0x44, 0x44, 0x44,
                            0x00};
const char code c_music8[]={0xb2, 0x41, 0x51, 0x62, 0x81, 0x91, 0x84, 0x84,  /*1000年以后*/
                            0x72, 0x61, 0x41, 0x42, 0x61, 0x51, 0x54, 0x54,
                            0xb2, 0x41, 0x51, 0x62, 0x92, 0xa1, 0x91, 0x82, 0x82, 0x61, 0x91,
                            0x94, 0x94, 0xa1, 0xa1, 0xa1, 0xb1, 0xc1, 0xb1, 0xa2,
                            0xb2, 0xa1, 0xb1, 0xb1, 0xd2, 0x01, 0xa2, 0x91, 0xa1, 0xa1, 0x81, 0x82,
                            0x91, 0x91, 0xa1, 0xb1, 0xc1, 0xb1, 0xc1, 0xe1, 0xd1, 0xc1, 0xc1, 0xc1, 0xc2, 0xc1, 0xb1,
                            0xb2, 0xa1, 0xb1, 0xb1, 0xd2, 0x01, 0xa2, 0x91, 0xa1, 0xa1, 0x81, 0x82,
                            0x92, 0xb4, 0x02, 0xb1, 0xb1, 0xb1, 0xc1, 0xd2, 0xc1, 0xb1,
                            0xb2, 0xc2, 0xc4, 0x02, 0xa1, 0xb1, 0xb1, 0xc2, 0x01,
                            0xd2, 0xc1, 0xb1, 0xb1, 0x82, 0x01, 0xc4, 0x02, 0xd1, 0xc1,
                            0xb2, 0xa1, 0x91, 0x92, 0x62, 0xa4, 0x02, 0xb1, 0xa1,
                            0x92, 0xa1, 0xb1, 0xb1, 0xc2, 0x01, 0x82, 0xc1, 0xd1, 0xd2, 0x01, 0xd1,
                            0xe2, 0xd2, 0xb1, 0xc2, 0xc1, 0xc2, 0x01, 0xa1, 0xb1, 0xc2, 0x01,
                            0xd2, 0xc1, 0xb1, 0xb1, 0x82, 0x01, 0xc4, 0xc1, 0xc1, 0xd1, 0xc1,
                            0xb2, 0xa2, 0x91, 0xc2, 0x01, 0xa4, 0x02, 0xb1, 0xa1,
                            0x92, 0x81, 0x91, 0x91, 0xb1, 0x82, 0x82, 0xc1, 0xb1, 0xb2, 0xd1, 0xd1,
                            0xe1, 0xd1, 0xc4, 0xb1, 0xc1, 0xd2, 0xc1, 0xb1, 0xd2, 0xc1, 0x81, 
                            0x82, 0xb2, 0xb4, 0xb4, 0xb4, 
                            0x00};
const char code c_music9[]={0x02, 0x11, 0x11, 0x62, 0x52, 0x52, 0x41, 0x61, /*一辈子的孤单*/
                            0x62, 0x41, 0x51, 0x54, 0x54, 0x04, 
                            0x02, 0x11, 0x11, 0x61, 0x52, 0x51, 0x52, 0x42,
                            0x52, 0x62, 0x64, 0x64, 0x04,
                            0x02, 0x11, 0x11, 0x62, 0x52, 0x52, 0x41, 0x61,
                            0x62, 0x41, 0x51, 0x54, 0x54, 0x04,
                            0x02, 0x51, 0x41, 0x62, 0x52, 0x42, 0x52,
                            0x42, 0x42, 0x44, 0x44, 0x44, 
                            0x04, 0x62, 0x52, 0x52, 0x42,
                            0x42, 0x52, 0x54, 0x54, 0x54,
                            0x04, 0x51, 0x63, 0x54, 0x44,
                            0x41, 0x11, 0x21, 0x11, 0x14, 0x14, 0x14,
                            0x04, 0x62, 0x52, 0x52, 0x42,
                            0x42, 0x52, 0x54, 0x54, 0x54,
                            0x02, 0x12, 0x62, 0x54, 0x42,
                            0x44, 0x02, 0x62, 0x64, 0x64,
                            0x02, 0x12, 0x62, 0x84, 0x92,
                            0x62, 0x52, 0x54, 0x54, 0x54, 
                            0x02, 0x12, 0x62, 0x54, 0x42, 
                            0x54, 0x02, 0x62, 0x64, 0x64,
                            0x02, 0x12, 0x62, 0x52, 0x52, 0x42,
                            0x51, 0x62, 0x51, 0x54, 0x54, 0x04,
                            0x02, 0x51, 0x41, 0x62, 0x52, 0x42, 0x52,
                            0x42, 0x42, 0x44, 0x44, 0x44,
                            0x02, 0x12, 0x62, 0x52, 0x52, 0x01, 0x41,
                            0x51, 0x62, 0x51, 0x54, 0x54, 0x54,
                            0x02, 0x12, 0x62, 0x52, 0x52, 0x01, 0x41,
                            0x52, 0x62, 0x64, 0x64, 0x64,
                            0x02, 0x12, 0x61, 0x52, 0x01, 0x52, 0x42,
                            0x51, 0x62, 0x51, 0x54, 0x54, 0x54, 
                            0x02, 0x12, 0x61, 0x52, 0x01, 0x52, 0x42,
                            0x52, 0x62, 0x64, 0x64, 0x64,
                            0x02, 0x12, 0x62, 0x82, 0x82, 0x92,
                            0x62, 0x52, 0x54, 0x54, 0x54,
                            0x02, 0x12, 0x62, 0x52, 0x52, 0x42,
                            0x52, 0x62, 0x64, 0x64, 0x64,
                            0x02, 0x12, 0x62, 0x52, 0x52, 0x42,
                            0x62, 0x52, 0x54, 0x54, 0x54,
                            0x02, 0x51, 0x41, 0x62, 0x52, 0x42, 0x52,
                            0x42, 0x42, 0x44, 0x44, 0x44,
                            0x00};
const char code c_music0[]={0x00};
static const char c_keyCode[16]={0x01,0x02,0x03,0x0a,            /*键盘1,2,3,A*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -