题目具体要求:
用单片机定时计数器产生高电平为50ms,低电平为100ms的方波信号。
实现方式:
使用定时计数器0产生中断,单片机的晶振频率为12MHZ,方波信号在P2.0口输出。
C语言程序代码:
#include<reg51.h>
sbit led = P2^0;
main()
{
TMOD=0x01;
TH0=0x3C;
TL0=0xB0;
EA=1;
TR0=1;
ET0=1;
while(1);
}
void ET0_ISR(void) interrupt 1
{
unsigned int i;
TH0=0x3C;
TL0=0xB0;
i++;
if(i == 1)
{
led = 0;
}
else if (i == 3)
{
led = 1;
i=0;
}
}
仿真实验结果: