找回密码
 立即注册
查看: 317|回复: 11

定时器T0检测脉宽,初始化定时多少?

[复制链接]
  • TA的每日心情
    奋斗
    昨天 08:17
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    474

    回帖

    620

    积分

    高级会员

    积分
    620
    发表于 2023-11-25 09:30:55 | 显示全部楼层 |阅读模式

    定时器T0检测脉宽,初始化定时多少?


    void Init_Timer0(void)//11.0592MHz
    {
            AUXR &= 0x7F;//定时器时钟12T模式
            TMOD &= 0xF0;//设置定时器模式
            TMOD |= 0x01;//设置定时器模式,16位不自动重载模式
            TL0 = 0;//设置定时初值
            TH0 = 0;//设置定时初值
            TF0 = 0;//清除TF0标志
            TR0 = 0;//关闭定时器0计时
            EX0 =1;//允许外部中断1中断
            EA=1;//开总中断
    }


    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:17
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    474

    回帖

    620

    积分

    高级会员

    积分
    620
     楼主| 发表于 2023-11-25 10:03:08 | 显示全部楼层
    备注是:定时器初始化,24MHz,1ms  看不明白??
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 07:18
  • 签到天数: 79 天

    [LV.6]常住居民II

    4

    主题

    489

    回帖

    1316

    积分

    金牌会员

    积分
    1316
    发表于 2024-1-30 08:25:43 | 显示全部楼层
    用官方工具自动生成
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9492

    回帖

    1万

    积分

    管理员

    积分
    14057
    发表于 2024-1-30 09:52:11 | 显示全部楼层

    用 PWM 来测脉宽

    测脉宽,用 带ADC的 MCU, 带 ADC的 MCU, 都标配了 PWM,
    用 PWM 来测脉宽
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:17
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    474

    回帖

    620

    积分

    高级会员

    积分
    620
     楼主| 发表于 2024-1-31 08:28:40 | 显示全部楼层
    380091044 发表于 2023-11-25 10:03
    备注是:定时器初始化,24MHz,1ms  看不明白??

    怎么看的?确实没看明白??
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:17
  • 签到天数: 121 天

    [LV.7]常住居民III

    33

    主题

    397

    回帖

    2040

    积分

    荣誉版主

    积分
    2040
    发表于 2024-1-31 10:57:58 | 显示全部楼层
    本帖最后由 王昱顺 于 2024-1-31 11:06 编辑

    定时器是个自加计数器,如果使能以后就一直自加直到溢出。
    可以用检测脉宽。但是不如PWM检测来的精准。
    一般的流程是通过外部IO的上升沿/下降沿触发中断开启定时器,再通过上升沿/下降沿触发中断关闭定时器,并且读出当前定时器的值,就可以得到这个脉冲的宽度。

    不过这个方法一是需要来回转换上升沿下降沿或者占用资源,二是对系统占用有点大。

    使用PWM可以方便的将PWM时钟拉高,这时候脉冲宽度的分辨率也会增高。并且PWM模式捕获脉冲宽度还是自动的,直接开中断读取值就可以。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:17
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    474

    回帖

    620

    积分

    高级会员

    积分
    620
     楼主| 发表于 2024-1-31 11:32:57 | 显示全部楼层
    王昱顺 发表于 2024-1-31 10:57
    定时器是个自加计数器,如果使能以后就一直自加直到溢出。
    可以用检测脉宽。但是不如PWM检测来的精准。
    一 ...

    检测的是无线信号的脉宽,使用PWM波检测,还没有用过,需要一个DEMO,学习一下。

    点评

    手册的例程就有 [attachimg]34181[/attachimg]  详情 回复 发表于 2024-1-31 14:09
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    87

    回帖

    672

    积分

    高级会员

    积分
    672
    发表于 2024-1-31 12:53:40 | 显示全部楼层
    本帖最后由 jmg 于 2024-1-31 12:54 编辑

    Use T0_GATE =1 to enable INT0 pin as an AND gate.

    T0_CE = (TR0==1) AND (INT0 == 1)



    See also STC8H.PDF 15.8.6







    截图202401311249032659.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:17
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    474

    回帖

    620

    积分

    高级会员

    积分
    620
     楼主| 发表于 2024-1-31 13:12:39 | 显示全部楼层
    jmg 发表于 2024-1-31 12:53
    Use T0_GATE =1 to enable INT0 pin as an AND gate.

    T0_CE = (TR0==1) AND (INT0 == 1)

    定时器T0结构图,想说什么呢?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:17
  • 签到天数: 121 天

    [LV.7]常住居民III

    33

    主题

    397

    回帖

    2040

    积分

    荣誉版主

    积分
    2040
    发表于 2024-1-31 14:09:22 | 显示全部楼层
    380091044 发表于 2024-1-31 11:32
    检测的是无线信号的脉宽,使用PWM波检测,还没有用过,需要一个DEMO,学习一下。 ...

    手册的例程就有

    截图202401311409164718.jpg

    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-18 04:27 , Processed in 0.069951 second(s), 69 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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