MCS-51单片机的系统时钟频率:f=12MHz,利用定时器T0,采用工作方式2,T0以中断方式工作,
试编写又P1.0输出如下的连续脉冲波形的程序。上升沿延时50us,下降沿延时350us,上升沿延时50us,下降沿延时350us…………(C语言版)哪位高手给指点指点……...
试编写又P1.0输出如下的连续脉冲波形的程序。上升沿延时50us,下降沿延时350us,上升沿延时50us,下降沿延时350us…………(C语言版)哪位高手给指点指点……小弟在这谢了
展开
3个回答
深圳市兴威帆电子技术有限公司
2020-04-21 广告
2020-04-21 广告
实时时钟模块可以找深圳市兴威帆电子技术有限公司,本公司具有经验丰富的开发工程师和应用工程师,致力于公司自主知识产权IC等产品的研发和技术支持,已开发出多款成熟的产品并大量生产、销售及出口,我公司高精度实时时钟模块产品获得多项国家专利,打破了...
点击进入详情页
本回答由深圳市兴威帆电子技术有限公司提供
展开全部
#include<reg51.h>
sbit P1_0=P1^0;
unsigned char i;
main()
{
i=0;
TMOD=0x02; //定时器0方式1
EA=1; //允许中断
ET0=1; //TI中断
TR0=1; //TI计数
while(1);
}
void timer_int(void) interrupt 1
{
TH0=199;//重新装入,考虑程序延时问题,大约6-7us
if(i==1)P1_0=0;
else if(i==7)
{
i=0;
P1_0=1;
}
i++; //方波实现
}
sbit P1_0=P1^0;
unsigned char i;
main()
{
i=0;
TMOD=0x02; //定时器0方式1
EA=1; //允许中断
ET0=1; //TI中断
TR0=1; //TI计数
while(1);
}
void timer_int(void) interrupt 1
{
TH0=199;//重新装入,考虑程序延时问题,大约6-7us
if(i==1)P1_0=0;
else if(i==7)
{
i=0;
P1_0=1;
}
i++; //方波实现
}
更多追问追答
追问
延时是那一句,能给说说嘛……
追答
因为下面执行的语句
if(i==1)P1_0=0;
else if(i==7)
{
i=0;
P1_0=1;
}
i++;
是需要时间的,大约是6-7us,是不能忽略的,如果是ms级的方波是可以忽略的,可以用
理论方式TH0=206;但稍微有误差的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询