51 定时器初值设定问题

skevil 2014-01-08 01:33:46
TMOD=0X02;
TH0=0;
TL0=0;
这样时间是怎么看的?
方式2,晶振12Mhz
...全文
248 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
skevil 2014-01-09
  • 打赏
  • 举报
回复
引用 1 楼 wangfan027 的回复:
12MHZ,机器周期1us,TL0每1us++ M1 M0 工作方式 功能说明 0 0 方式0 13位定时器/计数器 0 1 方式1 16位定时器/计数器 1 0 方式2 自动重载8位定时器/计数器 1 1 方式3 T0分为2个8位独立计数器,T1停止计数 TMOD=0x02是方式2 所以定时一次是256us. 简单一点你软件仿真,中断设断点,看2次中断的时间差就知道时间了
居然忘记了软件仿真多谢点醒
Mr. Code 2014-01-08
  • 打赏
  • 举报
回复
现在单片机种类很多,有些机器周期是振荡周期的12倍,有些6倍,有些甚至是相等。以传统51单片机而言,是12倍,那么12MHz的机器周期就是1us,而且定时器为每机器周期加一计数的定时器,即1us加一,加到溢出时产生中断,方式2为8位自动重载方式,即TH0为重载寄存器,TL0用于计数的,计数到256就溢出重载,因此是256us会重载,,并中断位置一。
dceacho 2014-01-08
  • 打赏
  • 举报
回复
12MHZ,机器周期1us,TL0每1us++ M1 M0 工作方式 功能说明 0 0 方式0 13位定时器/计数器 0 1 方式1 16位定时器/计数器 1 0 方式2 自动重载8位定时器/计数器 1 1 方式3 T0分为2个8位独立计数器,T1停止计数 TMOD=0x02是方式2 所以定时一次是256us. 简单一点你软件仿真,中断设断点,看2次中断的时间差就知道时间了

27,370

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧