找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1793|回复: 6
收起左侧

单片机TMR0=100时,16位定时器装得下吗?

[复制链接]
ID:550077 发表于 2019-6-30 18:46 | 显示全部楼层 |阅读模式
extern  uint TMR0;
#define TMR00 do{TMR0=65535ul-TMR0;TL0=TMR0;TH0=TMR0>>8;}while(0)
请解释上面语句的意思,谢谢指教!!!

回复

使用道具 举报

ID:550077 发表于 2019-7-1 10:38 | 显示全部楼层
请说明一下,上面的意思,不甚明白!!
回复

使用道具 举报

ID:550077 发表于 2019-7-1 11:53 | 显示全部楼层
有没有好心人解释一下
回复

使用道具 举报

ID:575778 发表于 2019-7-1 16:55 | 显示全部楼层
装得下
回复

使用道具 举报

ID:576013 发表于 2019-7-1 23:05 | 显示全部楼层
可以的!
回复

使用道具 举报

ID:42584 发表于 2019-7-2 09:10 | 显示全部楼层
TL0和TH0都是8位的寄存器,而TMR0是16位的,所以在存储时把TMR0的高8位存储在TH0中(TMR0>>8),低8位存储在TL0中;
另外#define TMR00 do{TMR0=65535ul-TMR0;TL0=TMR0;TH0=TMR0>>8;}while(0)
这是一个宏的写法,使用do...while(0)把所有语句包起来,仅此而已
回复

使用道具 举报

ID:550077 发表于 2019-7-2 10:57 | 显示全部楼层
谢谢解答,希望更多人参与到51黑论坛,让51黑更精彩,更专业!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表