****讓蜂鳴器唱多拉米發
*************/
#include<reg51.h> //51單片機頭文件
sbit beep = P1^7;
char type,temp1;
int temp0=1746;
int code time[]={
1746, 1552, 1396, 1309,
1164, 1047, 931, 873};//蜂鳴器不同頻率設置
void main()
{
TMOD = 0x11;//設置T0T1計數器工作模式1
EA = 1;//總中斷打開
ET0 = 1;//T0中斷打開
ET1 = 1;
TH0 = (65536-temp0)/256;//設置T0計時器初始值
TL0 = (65536-temp0)%256;//設置T0計時器初始值
TH1 = (65536-45872)/256;
TL1 = (65536-45872)%256;
TR0 = 1;//計數器T0開始工作
TR1 = 1;
while(1);
}
void stop0() interrupt 1
{
if (type==8)
type=0;
TH0=(65536-temp0)/256;//設置T0計時器初始值
TL0=(65536-temp0)%256;//設置T0計時器初始值
beep=~beep;
}
void stop1() interrupt 3
{
if(temp1<10)//保證T1每次間隔1s
{
temp1++;
TH1 = (65536-45872)/256;//設置T1計時器初始值
TL1 = (65536-45872)%256;//設置T1計時器初始值
}
else
{
temp1 = 0;
type++;
temp0=time[type];
}
}
給妳壹個!好的話,別忘了給我加分哈!謝謝!!!