单片机演奏乐曲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sbit Beep = P3^6;
unsigned char n=0;
// || 中 音 || || 低 音 || || 高 音 ||
// 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1
delaya (200);
}
}
void timer0() interrupt 1 {
TH0=0xd8;
TL0=0xef;
n--;
}
//喜羊羊 美羊羊 懒羊羊 沸羊羊 慢羊羊 软绵绵 红太狼 灰太狼 别看我只是一只羊 绿草因为我变得更香 天 空 因 为 我 变 得更蓝 白云因为我变得柔软 别看我只是一只羊 羊儿的聪明难以想象 天 再 高 心 情 一 样奔放 每天都追赶太阳
unsigned char code music_tab2[]={4,2,2, 4,2,2, 4,2,2, 4,2,2, 4,2,2, 4,2,2, 4,2,2, 4,2,2, 4,2,2,2,2,2,2,8, 4,2,2,2,2,2,2,4,6 , 4 ,2 ,2 ,2 ,2 ,2 ,2,4, 6, 4,2,2,2,2,2,2,4,6, 4,2,2,2,2,2,2,8, 4,2,2,2,2,2,2,4,6 , 4 ,2 ,2 ,2 ,2 ,2 ,2,4, 6, 4,2,2,2,2,4 ,8 , 0}; //喜羊羊
可换成任意曲目
*********************************************************************************************/
#include<reg52.h>
unsigned char code music_tab1[]={3,5,5, 2,5,5, 3,5,5, 2,5,5, 3,5,5, 2,5,5, 3,5,5, 2,5,5, 7,7,7,7,7,5,3,5, 7,7,7,7,7,5,3,5,22, 23,23,23,23,22,21,6,3,22, 7,7,7,7,7,5,3,3,5, 7,7,7,7,7,5,3,5, 7,7,7,7,7,5,3,5,22, 23,23,23,23,22,21,6,3,22, 7,7,7,7,7,22,21, 0};
TH0=0xd8;
TL0=0xef;
EA=1;
ET0=1;
TR0=1;
i=0;
while(1){
m = music_tab0[music_tab1[i]];
n = 15 * music_tab2[i];
i++;
if ( 1==m ) break;
/*********************************************************************************************
程序名: 蜂鸣器演奏曲谱(喜羊羊)
器 件: STC89C52,蜂鸣器, MCU晶振:12MHZ
设 计: 更改某前辈的生日快乐
if ( m ) {
while(n!=0) {
Beep=~Beep;
delaya(m);
}
} else {
while(n!=0) {
delaya(m);
}
}
delaya (200);
}
for ( i=0 ; i<255 ; i++ ) {
void delaya ( unsigned char m ) {
unsigned char i;
for ( i=m ; i>0 ; i--);
}
void main() {
unsigned char m;
unsigned char i;
TMOD=0x01;
unsigned char code music_tab0[]={ 1 ,153,136,121,114,102, 91, 81,0,0,0, 0 , 0 ,242,228,204,182,162,0,0,0, 76, 68, 61, 57, 51, 46, 41,0,0,0, 38}; //音调延时表
相关文档
最新文档