从AT89C51单片机的P1.0口输出周期矩形脉冲信号,高电平持续时间为100毫秒,低电平持续 时间为300毫秒。

采用T0用于定时器,软件启停,方式1,中断方式,设晶振频率为12MHz。
编写调试C51代码;

第1个回答  2016-11-20
假设单片机晶振频率为12m,利用定时器0产生10ms中断
主程序里设置如下:
uchar a=0;
TMOD=0X01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
ET0=1;EA=1;
TR0=1;
中断程序如下:
void timer0(void) interrupt 1
{
TH0=(65536-10000)/256;

TL0=(65536-10000)%256;
a++;
if(a==13);a=0;
if(a<=10)
{
P1^0=1;
}
else P1^0=0;
}本回答被提问者和网友采纳
相似回答