设系统时钟频率为12MHz,利用定时器T0中断,实现从P2.1输出高电平宽度为10ms,低电平为20ms的矩形波。
#include<reg51.h>
bit flag=0;
sbit a1=P2^1;
int main(void)
{
unsigned int count=0;
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(flag)
{
count=count+1;
if(count==1)
{a1=1;}
else if(count==2)
{
a1=0;
}
else if(count==3){
a1=0;
count=0;
}
flag=0;
ET0=1;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
}
}
}
void int2(void) interrupt 1
{
flag=1;
ET0=0;
}
版权声明:本文为hqm793899006原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。