#include <reg52.h>
sbit Buzz = P0^7;//蜂鸣器控制引脚
unsigned char T0RH = 0;//T0重载值的高字节
unsigned char T0RL = 0;//T0重载值的低字节
void StartBuzz(unsigned int frequ);
void StopBuzz();
void main()
{
unsigned int i;
TMOD = 0X01;//设置定时器模式
EA = 1;//中断使能总开关
while(1)
{
StartBuzz(4000);//以4kHz启动蜂鸣器
for(i=0;i<40000;i++);
StopBuzz(); //关闭蜂鸣器
for(i=0;i<40000;i++);
StartBuzz(1000);//以1kHz启动蜂鸣器
for(i=0;i<40000;i++);
StopBuzz(); //关闭蜂鸣器
for(i=0;i<40000;i++);
}
Buzz = 0;
}
//启动蜂鸣器,frequ指蜂鸣器工作频率
void StartBuzz(unsigned int frequ)
{
unsigned int reload;//计算所需的定时器重载值
reload = 65536- (11059200/12)/(frequ*2);//根据传入的形参frequ,计算定时器重载值
T0RH =(unsigned char)(reload>>8); //将16位的reload分成2个8位的数值,分别存入T0重载值的高位和低位
T0RL = (unsigned char)reload;
TH0 = 0XFF;
TL0 = 0XFE;
ET0 = 1;//使能T0中断
TR0 = 1;//启动T0
}
//关闭蜂鸣器
void StopBuzz()
{
ET0 = 0; //禁用T0中断
TR0 = 0; //关闭T0
}
//中断服务函数,用于控制蜂鸣器发声
void InterrupteTimer0() interrupt 1
{
TH0 = T0RH; //重新加载重载值
TL0 = T0RL;
Buzz = ~Buzz;//反转蜂鸣器控制电平
}
最后运行出现target not created
有没有报错和运行日志