管腳沒有錯誤
#include "reg52.h"
sbit beep=P1^5;
int i,j;
void Timer0Init()
{
TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X18;
ET0=1;//打開定時器0中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時器
}
void Timer1Init()
{
TMOD|=0X10;//選擇為定時器1模式,工作方式1,僅用TR1打開啟動。
TH1=0XFC; //給定時器賦初值,定時1ms
TL1=0X18;
ET1=1;//打開定時器1中斷允許
EA=1;//打開總中斷
TR1=1;//打開定時器
}
void main()
{
Timer0Init(); //定時器0初始化
Timer1Init(); //定時器1初始化
}
void Timer1() interrupt 3
{
TH1=0XFC; //給定時器賦初值,定時1ms
TL1=0X18;
j++;
if(j==3000)
{
j=0;
i++;
}
}
void Timer0() interrupt 1
{
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X18;
if(i==10)
{
i=0;
beep=~beep;
}
}
|