普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3043|回复: 1

小车调速程序部分没有理解,求助大神

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2021-4-14 16:54:45 | 显示全部楼层 |阅读模式
1金钱
下面这段程序有两个问题:1、进入中端函数中TR0为什么要变成 0;2:为什么(time_cnt>duty_cycle)这个时小车要停止。else{Car_StopRun();这句话不是很懂

void Time0_Isr() interrupt 1
{
        TR0 = 0;        //关闭定时器0
        TH0 = 0XFF;
        TL0 = 0X9C;        //定时0.1ms
        time_cnt++;       
        if(time_cnt>=freq)               
                time_cnt=0;
        else if(time_cnt<=duty_cycle)
        {
                Car_ForwardRun();               
        }               
        else
        {
                Car_StopRun();                               
        }
        TR0 = 1;        //开启定时器0               
}


我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励10 金钱 , 目前已有1人回答

回复

使用道具 举报

0

主题

48

帖子

194

积分

注册会员

Rank: 2

积分
194
发表于 2021-4-17 22:45:29 | 显示全部楼层
为了更精确,先停止定时器让计数器不计数,执行完TR0=0和TR0=1之间的这段代码以后再继续计数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-19 17:33 , Processed in 0.080409 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表