单片机定时器求初值的时候为什么要除以256,除了之后得那个数的含义是什么
3个回答
展开全部
假如用工作方式1设定单片机。定时/计数器工作在16位定时/计数。定时/计数器实质是一个加1的计数器,计数为2的16次即65535(十进制表示)1111111111111111(二进制表示),因为0~65535次数,即65536次计数。定时/计数器由两个8位寄存器组成,即TH,TL。我们用二进制表示11111111( 高位TH) 11111111(低位TL)。当低位要向高位进位,就需要低位11111111(2的8次方十进制为256)全满再进位一位进到高位。当你的初始值选好后,装入寄存器时,因为我们用的是十进制65536次,除以256(十进制),得出来的也是十进制数。当不大于256时说明没有进位,就留在低位;当大于256就会进位到高位。
当然你可以这样理解,把高8位看成一位256进制的数,低8位看成一位256进制的数。每256次进位一次。而我们算的是结果是十进制赋值。而C语言编译器在赋值时,数字前面会有0表示八进制,0x表示十六进制,十进制前面不写;C语言二进制表示没有直接的表示方法。
当然你可以这样理解,把高8位看成一位256进制的数,低8位看成一位256进制的数。每256次进位一次。而我们算的是结果是十进制赋值。而C语言编译器在赋值时,数字前面会有0表示八进制,0x表示十六进制,十进制前面不写;C语言二进制表示没有直接的表示方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用什么定时方式?
更多追问追答
追问
比如TH1=(65536—10000)/256
不明白除以256的意思
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询