#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit fm=P2^7;
uchar timeh,timel;//用于存放定時器的高8
uchar code zbjbxf[]=
{ //定義豬八戒背媳婦的簡譜數組
0x64,0xA3,0xC1,0xA2,0x62,0x84,0x61,0x81,0x61,0xA4,
0xA1,0x91,0xA1,0x81,0x64,0xA3,0xC1,0xD2,0xD2,0xD2,
0xA2,0xC4,0xA1,0xC1,0xA1,0xC1,0xD2,0xD2,0xD2,0xA2,
0xC4,0xC2,0x62,0xC2,0x62,0xA2,0xA2,0x84,0x94,0x94,
0x92,0x81,0x91, 0xA2,0xC2,0xD4,0xE4,0xA4,0xE4,0xA2,
0xE2,0xA2,0xE2,0xA2, 0xA2,0x84,0x94,0x94,0x92,0x81,
0x91,0xA2,0xC2,0xD8
}; //適合12M 的晶振定時器初值表,高低 位分開
uchar code chuzhi[]=
{
0xff,0xff,0xFC,0x8E,0xFC, 0xED,0xFD,0x43,0xFD,0x6A,
0xFD,0xB3,0xFD,0xF3,0xFE,0x2D,0xFE, 0x47,0xFE,0x76,
0xFE,0xA1,0xFE,0xC7,0xFE,0xD9,0xFE,0xF9,0xFF,0x16
};
void timer0() interrupt 1 //定時器0中斷服務程序
{
TH0=timeh;//將timeh 賦給計時器的高8
TL0=timel;//將timel 賦給計時器的低8
fm=~fm;
}//定時器每次到時將蜂鳴器反相
void delay(uint z)
{ uint y;
for(z;z>0;z--)
for(y=19000;y>0;y--);
}
void delay1(uint z)
{ uint y;
for(z;z>0;z--)
for(y=112;y>0;y--);
}
|