单片机c语言问题

TH0=-10000/256TL0=-10000%256以上两条指令时怎么计算的?那初值到底是多少?... TH0=-10000/256
TL0=-10000%256
以上两条指令时怎么计算的?那初值到底是多少?
展开
 我来答
Real_Adam
2011-01-29 · TA获得超过2923个赞
知道小有建树答主
回答量:739
采纳率:0%
帮助的人:399万
展开全部
您好,我看你用的是51单片机吧?

是这样的,TH0是计时器0的高八位(H代表High),TL0是计时器0的低八位(L代表low),两个八位二进制数合为枯含一个十六位二进制数为计时器计数所用。
计时的时候,依照晶振频率(一般是晶振周期的12倍加1)的不同不断自加,直到加到TH0和TL0都溢出(即超出16位整形数范围)的时候,执行一次timer0函数的操作,一般此时会将定时器0初值重置,以保持此频率调用函数。

这里-10000/256其实就是取了-10000的高八位,-10000%256就是取了-10000的低八位,从这个初值开始加到16位整形数溢出的时候就是一个计时周期。

我上学期才学用过单片机,也不是非常没弊笑擅长卜指,还在学习中,如果有疑问欢迎HI我一起探讨。
酷哥0奋斗
2011-01-29
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
100%
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2011-01-29 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
语句:
TH0 = -10000 / 256
TL0 = -10000 % 256
在KEIL环境下使用,将和下面两条语句等效:
TH0 = (65536 -10000) / 256
TL0 = (65536 -10000) % 256
编译的时候,KEIL编告型世译器将替我们计算出来初值。
KEIL编译器在计算袜肢的时租裂候,是按照16二进制数字来计算的,所以65536和0相等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
公羊婕2U
2011-01-30
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
你用的应该是方宴雀滑式二定时 你上面的也可以等价于
TH0=(65535-10000)/256;
TL0=(65535-10000)%256;
TH0,TL0分晌腊别为高低八位寄存器,所以岁隐TH0就是/TL0就是%
初值就是65535-10000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式