单片机中的频率f=12MHz,采用T0定时方式1使P2.0引脚上输出周期为2s的方波,

如题所述

//在P2^0; 加LED方便观察结果
#include <AT89X52.H>
unsigned char num,dat1,dat2;
sbit LED=P2^0;
//----------主程序----------------------
void main()
{
TMOD=0x51;//定时器0计时,
TH0=0x3c;//50ms溢出一次 12.m
TL0=0xb0;
ET0=1;
EA=1;
TR0=1;

while(1)
{
if (num==20)
{
TR0=0;
TR1=0; //停止计数器0和计数器1,采集数据
dat1=TH1;
dat2=TL1;
TH1=0;
TL1=0;
num=0;
LED=~LED;
TR0=1;//打开计数器0和计数器1
}
}
}
//-----------T0 中断程序------------------------------
void T0_time()interrupt 1
{
TH0=0x3c;
TL0=0xb0;
num++;
}
温馨提示:答案为网友推荐,仅供参考