我用的51单片机的振荡频率为11.0592MHZ,此单片机的定时器能最小识别的最短定时时间可以定为多少啊?
补充:我想用此单片机发出周期为20ms的方波来控制舵机,给定时器初始化时TH0和TL0能付什么处置?即可以完成一次定时可以实现的时间越短越好,但是不知道越短之后舵机能否识...
补充:我想用此单片机发出周期为20ms的方波来控制舵机,给定时器初始化时TH0和TL0能付什么处置?即可以完成一次定时可以实现的时间越短越好,但是不知道越短之后舵机能否识别?谢谢 非常感谢
展开
3个回答
展开全部
舵机我用过很多次,没有你想得那么麻烦的。舵机控制根本就不需要定时器,直接用延时程序(不需要太高精度,大概差不多就可以了),网上有很多延时程序(用C语言,延时1ms的程序应该很简单吧?),直接用(延时20ms)就可以了,百试不爽。
像定时器这样的珍贵资源,应该留起来,用在其它重要的地方。
像定时器这样的珍贵资源,应该留起来,用在其它重要的地方。
追问
我开始设置的定时器完成一次计时是100微秒,计200次就可以了,舵机正常工作。
后来改成50微秒,计400次舵机就不正常工作了呢?能帮忙吗?
谢谢啊
追答
是不是变量类型设置错了,如果是char的话,最多255。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先确定舵机的最短响应时间,再用个给THO和TLO赋值的软件就可以算出来。
手算的话:1.时钟周期即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。
2.一个机器周期等于12个时钟周期,所以是1微秒。如果是11.0592的话照上算。。。。
手算的话:1.时钟周期即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。
2.一个机器周期等于12个时钟周期,所以是1微秒。如果是11.0592的话照上算。。。。
追问
我开始设置的定时器完成一次计时是100微秒,计200次就可以了,舵机正常工作。
后来改成50微秒,计400次舵机就不正常工作了呢?能帮忙吗?
谢谢啊
追答
你定义次数用的CHAR还是UCHAR?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询