简单电子琴的51单片机程序
#include<reg51.h> //包含51单片机寄存器定义的头文件
sbit P14=P1^4; //将P14位定义为P1.4引脚
sbit P15=P1^5; //将P15位定义为P1.5引脚
sbit P16=P1^6; //将P16位定义为P1.6引脚
sbit P17=P1^7; //将P17位定义为P1.7引脚
unsigned char keyval; //定义变量储存按键值
sbit sound=P2^0; //将sound定义为P2.0
unsigned int C; //全局变量,储存定时器的定时常数
unsigned int f; //全局变量,储存音阶的频率
//以下是C调低音的音频宏定义
#define l_dao 262 //将“l_dao”宏定义为低音“1”的频率262Hz
#define l_re 294 //将“l_re” 宏定义为低音“2”的频率294Hz
#define l_mi 330 //将“l_mi” 宏定义为低音“3”的频率330Hz
#define l_fa 349 //将“l_fa” 宏定义为低音“4”的频率349Hz
#define l_sao 392 //将“l_sao”宏定义为低音“5”的频率392Hz
#define l_la 440 //将“l_la” 宏定义为低音“6”的频率440Hz
#define l_xi 494 //将“l_xi” 宏定义为低音“7”的频率494Hz
//以下是C调中音的音频宏定义
#define dao 523 //将“dao”宏定义为低音“1”的频率Hz
#define re 587 //将“re” 宏定义为低音“2”的频率Hz
#define mi 659 //将“mi” 宏定义为低音“3”的频率Hz
#define fa 698 //将“fa” 宏定义为低音“4”的频率Hz
#define sao 784 //将“sao”宏定义为低音“5”的频率Hz
#define la 880 //将“la” 宏定义为低音“6”的频率Hz
#define xi 988 //将“xi” 宏定义为低音“7”的频率Hz