51单片机 ,定时器 工作方式2,是8位的 怎么给TH0和TL0赋初值? 如果是方式1的话就

51单片机,定时器工作方式2,是8位的怎么给TH0和TL0赋初值?如果是方式1的话就是16位的那么用TH0=(65536-初值)/256TL0=(65536-初值)%25... 51单片机 ,定时器 工作方式2,是8位的 怎么给TH0和TL0赋初值? 如果是方式1的话就是16位的 那么用TH0=(65536-初值)/256 TL0=(65536-初值)%256,那方式2 的话是TH0=(256-初值)/16 TL0=(256-初值)%16 ??????是这样的吗?方式2怎么赋初值 展开
 我来答
w3180121
推荐于2017-09-07 · 知道合伙人数码行家
w3180121
知道合伙人数码行家
采纳数:793 获赞数:2403
单片机 C语言 电脑 液晶 没有 证书 我们只是一个团队

向TA提问 私信TA
展开全部
不是你写的那样
机器周期 :Tcy 定时器产生一次中断的时间为 : t 计算的个数 ; N= t/Tcy 晶振12的好计算11.0592的要换算
THx = 256 -N TLx = 256 - N;

Tcy = 12 * (1/11059200)=1.0851us;

以1秒计时为例 当计数250个数时 需要耗时 1.0851 * 250 = 271.275us

然后在计算需要溢出的次数对吧;1000000/271.275 = 3686;(以上是11.0592晶振 12的为4000自己算一下根据我给你的公式和步骤)

打个比方1秒吧
TMOD = 0x02;
TH0 = 6;
TLO = 6;
EA = 1;
ET0 = 1;
TR0 = 1;
while(1)
{
if(num == 3686)
{
num = 0;

led = ~led;

}

}

void TO_time()interrupt 1
{
num++;

}
修者世界
2014-05-24 · TA获得超过5852个赞
知道大有可为答主
回答量:5984
采纳率:61%
帮助的人:828万
展开全部
模式2是8位定时器,所以TH0和TL0都=256-初值。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CHQIC
2014-05-25 · TA获得超过781个赞
知道小有建树答主
回答量:1362
采纳率:50%
帮助的人:451万
展开全部
方式2是8位自动重装的;TH0=TL0=256-初值,这样就可以了
追问
嗯  谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9edd711
2014-05-24 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:128
采纳率:100%
帮助的人:85.4万
展开全部
何必那么麻烦,下一个单片机小精灵,全搞定
追问
自己搞懂了比较靠谱吧~_~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式