#include"Buzzer_music.h" //左边发射极uchar time_h,time_l;sbit BUZZER = P2^3; void main(){ uchar i,j; P2M1 = 0X00; P2M0 = 0XFF; TMOD = 0x01; ET0 = 1; EA = 1;// TR0 = 1; i = 0; j = 0; while(1) { while(display[i][1] != 0xff) {// if(display[i][0] == 0xff)// {// TR0 = 0;// Delay_ms(100);// }// else// { time_h = m_note[display[i][0]][0]; time_l = m_note[display[i][0]][1]; TH0 = time_h; TL0 = time_l; ET0 = 1; TR0 = 1; Delay_ms(1000); TR0 = 0; ET0 = 0; BUZZER = 0;// } Delay(display[i][1]); i++; } i = 0; }} void Timer0() interrupt 1{ TR0 = 0; TH0 = time_h; TL0 = time_l; BUZZER = ~BUZZER; TR0 = 1;}
#include<12C5A60S2.h>#define uchar unsigned char#define uint unsigned int#define REST 36 //休止符#define A 0 //低音1#define AB 1 //低音1.5#define B 2 //低音2#define BC 3 //低音2.5#define C 4 //低音3#define D 5 //低音4#define DE 6 //低音4.5#define E 7 //低音5#define EF 8 //低音5.5#define F 9 //低音6#define FG 10 //低音6.5#define G 11 //低音7#define L 12 //中音1#define LM 13 //中音1.5#define M 14 //中音2#define MN 15 //中音2.5#define N 16 //中音3#define O 17 //中音4#define OP 18 //中音4.5#define P 19 //中音5#define PQ 20 //中音5.5#define Q 21 //中音6#define QR 22 //中音6.5#define R 23 //中音7#define S 24 //高音1#define SU 25 //高音1.5#define U 26 //高音2#define UV 27 //高音2.5#define V 28 //高音3#define W 29 //高音4#define WX 30 //高音4.5#define X 31 //高音5#define XY 32 //高音5.5#define Y 33 //高音6#define YZ 34 //高音6.5#define Z 35 //高音7 //乐谱(最炫民族风)uchar code display[][2] = {{N,8},{F,4},{F,4},{L,8},{N,8},{M,4},{M,2},{N,2},{M,4},{L,4},{M,4},{L,4},{F,8},{N,8},{F,4},{F,4},{L,8},{N,8},{P,4},{M,2},{N,2},{M,4},{L,4},{M,4},{L,4},{G,4},{E,4},{N,8},{F,4},{F,4},{L,8},{N,8},{M,4},{M,2},{N,2},{M,4},{L,4},{M,4},{L,4},{F,4},{E,4},{N,8},{F,4},{F,4},{L,8},{N,8},{P,4},{N,4},{0xff,24},//前奏{F,8},{F,4},{E,4},{F,8},{F,4},{L,4},{L,8},{M,4},{L,4},{F,8},{0xff,8},{L,8},{L,4},{E,4},{L,4},{M,4},{N,4},{P,4},{P,4},{N,4},{M,8},{N,8},{0xff,8},{Q,4},{Q,4},{Q,4},{E,4},{N,4},{N,8},{L,4},{F,4},{F,4},{F,4},{N,4},{M,8},{0xff,8},{N,4},{N,4},{P,4},{N,4},{M,4},{N,4},{M,4},{L,4},{F,8},{E,8},{F,8},{0xff,8},{F,8},{F,4},{E,4},{F,8},{F,4},{L,4},{L,8},{M,4},{L,4},{F,8},{0xff,8},{L,8},{L,4},{E,4},{L,4},{M,4},{N,4},{P,4},{P,4},{N,4},{M,8},{N,8},{0xff,8},{Q,4},{Q,4},{Q,4},{E,4},{N,4},{N,8},{L,4},{F,4},{F,4},{F,4},{N,4},{M,8},{0xff,8},{N,4},{N,4},{P,4},{N,4},{M,4},{N,4},{M,4},{L,4},{F,8},{E,8},{F,8},{0xff,8},{N,4},{N,4},{P,4},{N,4},{N,4},{P,4},{P,4},{Q,4},{S,4},{Q,4},{P,8},{Q,8},{0xff,8}, //此处有变调{F,8},{F,4},{E,4},{F,8},{L,8},{M,4},{N,2},{M,2},{L,4},{M,4},{M,8},{0xff,8},{F,4},{Q,4},{Q,4},{P,4},{M,4},{N,2},{M,2},{L,4},{M,4},{M,8},{0xff,8},{0xff,16},{L,4},{F,4},{F,4},{L,4},{M,8},{E,4},{E,4},{N,4},{P,4},{N,4},{M,4},{L,8},{0xff,8},{F,4},{L,4},{M,4},{N,4},{M,4},{L,4},{E,4},{C,4},{F,8},{0xff,8},{0xff,16},//{F,8},{F,4},{E,4},{F,8},{L,8},{M,4},{N,2},{M,2},{L,4},{M,4},{M,8},{0xff,8},{F,4},{Q,4},{Q,4},{P,4},{M,4},{N,2},{M,2},{L,4},{M,4},{M,8},{0xff,8},{0xff,16},{L,4},{F,4},{F,4},{L,4},{M,8},{E,4},{E,4},{N,4},{P,4},{N,4},{M,4},{L,12},{L,4},{F,4},{L,4},{M,4},{N,4},{P,4},{N,4},{N,4},{P,4},{Q,8},{0xff,8},{Q,8},{0xff,8},{0,0xff},}; //音阶uchar code m_note[][2] = {{248,136},{248,243},{249,88},{249,184},{250,18},{250,103},{250,184},{251,3},{251,75},{251,143},{251,206},{252,11},{252,67},{252,121},{252,172},{252,219},{253,9},{253,51},{253,91},{253,129},{253,165},{253,199},{253,231},{254,5},{254,33},{254,60},{254,85},{254,109},{254,132},{254,153},{254,173},{254,192},{254,210},{254,227},{254,243},{255,2},{0,0},}; //音符(1对应三十二分音符,32对应全音符)void Delay(uchar x){ uint i,j; for(i = 0;i < x;i++) for(j = 0;j < 10000;j++);} void Delay_ms(uint x){ uint i,j; for(i = 0;i < x;i++) for(j = 0;j < 120;j++);}