//注釋:你這個 “BUZCOM=Bin(00001001); //打開”我不知道哪一位是控制buzzer的,你自己改,我下面的是 根據你的copy的。
// 我自己寫的延時,晶振11.0592 ,這個延時是1ms,你的晶振是多少,你自己定.
//你的代碼頂部加一個: #define uint unsigned int(如果有就算了)
void beep_on()
{
unsigned char i;
unsigned char time_cnt;
unsigned char beep_cnt,p;
bit buzzerflag;
if(temperature>29) buzzerflah=1;
while(buzzerflag)
{
for(i=3;i>0;i--)
{
delayms(100);
BUZCOM=Bin(00001001); //打開
delayms(100);
BUZCON=Bin(00001000); //close
}
delayms(500);
if(temperature<=29)
{
BUZCON=Bin(00001000) //close
delayms(20);
buzzerflah=0;
}
}
}
//delayms
void delayms(uint time)
{
uint i,j;
for( i=0;i<time;i++)
for(j=0;j<112;j++);
}
|