单片机定时器/计数器的工作方式

问题1:单片机定时器/计数器的工作方式,比如说方式1吧。TH0=(65536-X)/256TL0=(65536-X)%256不明白第一个/是取整还是小数也要?第二个%是求... 问题1:单片机定时器/计数器的工作方式,比如说方式1吧。TH0=(65536-X)/256 TL0=(65536-X)%256 不明白第一个/是取整还是小数也要?第二个%是求模吧!为什么要这么算!云里雾里的!请说的详细点。

问题2:用C语言帮忙表达仔细阐述举例一下。怎么使用定时,计数器,它的原理在我脑袋里很离散,不知道用C怎么写,注意什么。打开EA=1 ...然后怎么处理,越详细越好,需要注意些什么,就当我小白好了!分一定会给,希望高手帮忙详细回答下~
展开
 我来答
GUEL86
2013-04-20 · TA获得超过5856个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2738万
展开全部

问题1:定时器/计数器  TH0  &  TL0 的 高 低 两个字节 的 计算方式 是 

两个 字节 最大 数据 为 65536(十进制) , 或者 0FFFFH (十六进制)

高字节 为 TH0=(65536-X)/256  ,就是    除以 256 后的 整数部分,

低字节 为 TL0=(65536-X)%256 ,减去   高字节后  余下的部分,

问题2:可以看一下 仿真实例。

更多追问追答
追问
麻烦看下,我在下面一个人的追问,急能帮看下么?
追答
比如说这里    只是对没有使用 的功能  不去管他,有时在同一个字节中   随便
TMOD=0x01; // 因为只用了定时器0,设置方式1
TH0=(65536-50000)/256; // 这是12MHz 晶振时 50 mS
TL0=(65536-50000)%256;
EA=1; // 这是开总中断
ET0=1; // 这是开定时器0的中断
TR0=1; // 这是开定时器0
lt764958937
2013-04-20
知道答主
回答量:3
采纳率:0%
帮助的人:3973
展开全部
  第一个是取整,第二个是求模,就是取整后的余数,算法的话他就是这么固定的,郭天祥的视屏就是这么说的,你可以看看!

TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;(开总中断)
ET0=1;(开定时器中断)
TR0=1;(定时器打开)
一般都是这种形式!
追问
TCON就只需要设置TR0或TR1其它的都不用设置???还有就是为什么要除以256,模式0除以32呢?      TMOD高8位是设置定时器/计数器1的,低8位是设置定时器/计数器0的,你写的TMOD=0x01高8位就是 0000 0001 是不是高8位是忽略的,低8位意思是定时器手TR0控制 定时器模式 工作在模式1呢?但如果2个定时器都要用该怎么办?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式