定时器时间问题

[复制链接]
 楼主| 爱好学习者 发表于 2014-4-19 10:53 | 显示全部楼层 |阅读模式
初始化为:
TMR1H=0xff;
TMR1L=0xe1;
T1CON=0;
TMR1GE=0;
GIE=1;
PEIE=1;
TMR1IE=1;
TMR1IF=0;
TMR1ON=1;
进入中断为:
if(TMR1IF) {         
TMR1H=0xff;
TMR1L=0xe1;
TMR1IF=0;
RA0=!RA0; }
使用的晶振为12M,实际定时为10us,为什么测量的时间比定时器的时间长呢?注:测量的时间为15us
yklstudent 发表于 2014-4-19 12:13 | 显示全部楼层
10US的中断
MCU还能干什么活?
zhimagod 发表于 2014-4-19 12:46 | 显示全部楼层
本帖最后由 zhimagod 于 2014-4-19 12:48 编辑

你用型号的片子?
12M晶振系统时钟应该是3M吧……
你timer1用的是什么时钟呢?
看你赋值应该用的系统时钟吧
其实要求精确的话最好选择带自动重载的定时器
如果非要用这个的话你对定时器赋值时用TMR1L+=0xe3试试吧
要给计算出指令运行的时间来
 楼主| 爱好学习者 发表于 2014-4-19 16:08 | 显示全部楼层
zhimagod 发表于 2014-4-19 12:46
你用型号的片子?
12M晶振系统时钟应该是3M吧……
你timer1用的是什么时钟呢?

用的是16F1527,是外接的12M晶振,
就是一个菜鸟 发表于 2014-4-23 17:29 | 显示全部楼层
这个时间间隔太短了吧,按你上面的初值计算应该是10US的。
直接用__DELAY_US 试试。
ayb_ice 发表于 2014-4-24 11:33 | 显示全部楼层
测量的就是实际的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

73

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

19

主题

73

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部