3个回答
展开全部
楼上的代码要用6M的晶振,还有定时器没有重新开启;
以下代码借用楼上的,用12M晶振 ,分给楼上吧
#include<reg51.h>sbit pulse=P1^0;//脉冲输出引脚P1^0;void t0isr() interrupt 1 //定时器0中断服务函数{TH0=(65536-1000)/256;//重新赋值TL0=(65536-1000)%256;pulse=~pulse;//电平取反
TR0=1;//重新开启定时器!
}main(){TMOD=0x01;//16位定时器TH0=(65536-1000)/256;//加法计数器 12M晶振 1000个1us 即频率1KHz
TL0=(65536-1000)%256;TR0=1;//开启定时器ET0=1;//开启定时器中断EA=1;//开启总中断while(1);//阻塞
}
以下代码借用楼上的,用12M晶振 ,分给楼上吧
#include<reg51.h>sbit pulse=P1^0;//脉冲输出引脚P1^0;void t0isr() interrupt 1 //定时器0中断服务函数{TH0=(65536-1000)/256;//重新赋值TL0=(65536-1000)%256;pulse=~pulse;//电平取反
TR0=1;//重新开启定时器!
}main(){TMOD=0x01;//16位定时器TH0=(65536-1000)/256;//加法计数器 12M晶振 1000个1us 即频率1KHz
TL0=(65536-1000)%256;TR0=1;//开启定时器ET0=1;//开启定时器中断EA=1;//开启总中断while(1);//阻塞
}
2013-12-23
展开全部
count=1;while循环{sleep 0.0005s,然后输出count%2,count+=1}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<reg51.h>
sbit pulse=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
pulse=~pulse;
}
main()
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}
sbit pulse=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
pulse=~pulse;
}
main()
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询