想用T0作一个50ms 可调用延时delay(),用protues仿真得到高电平为8us,低电平为10us,求解
答案:1 悬赏:20 手机版
解决时间 2021-03-26 19:04
- 提问者网友:佞臣
- 2021-03-26 15:35
想用T0作一个50ms 可调用延时delay(),用protues仿真得到高电平为8us,低电平为10us,求解
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-03-26 16:32
高电平为8us,低电平为10us,。。。
----
C语言,难以弄得如此精密,学汇编去吧。追问我定时延时50ms,但结果延时只有8us到10us也不会相差这么离谱吧追答定时延时50ms,但结果延时只有8us到10u....
----
void delay()
{
TR0=1; //启动T0
while(DELAY_FLAG);//等待T0 发生中断
}
用 8us到10us,很正常的。
-------
中断发生一次后,DELAY_FLAG就等于0了。
以后,while(DELAY_FLAG);//等待T0 发生中断----就不用再等了。
那么,延时函数void delay(),用 8us到10us,很正常的。
----
C语言,难以弄得如此精密,学汇编去吧。追问我定时延时50ms,但结果延时只有8us到10us也不会相差这么离谱吧追答定时延时50ms,但结果延时只有8us到10u....
----
void delay()
{
TR0=1; //启动T0
while(DELAY_FLAG);//等待T0 发生中断
}
用 8us到10us,很正常的。
-------
中断发生一次后,DELAY_FLAG就等于0了。
以后,while(DELAY_FLAG);//等待T0 发生中断----就不用再等了。
那么,延时函数void delay(),用 8us到10us,很正常的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯