这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 定时器定时1US 可能行不通

共2条 1/1 1 跳转至

定时器定时1US 可能行不通

助工
2014-09-28 20:55:31     打赏

    这两天天在搞定时器定时1US的问题, 采用内部12M时钟频率,不分频,时钟周期应该是1/12us(大约83ns)  ,理论上 初值   TL2= (65536-12)/256;  TH2= (65536-12)%256;  但是实际测下来 进中断的时间约2.41us ,不解,网上发问 ,得到了airwill 版主的热心指点(估计是中断服务程序的延迟导致的.) ,再次谢谢


         下面总结一下原因。在调试过程中,用逻辑分析仪测试了_nop_();指令的执行时间约为90ns一个时钟周期; P0_4 = 1;这条指令执行了250ns,对应的汇编指令是SETB     P0_4(0x80.4)  ,本以为这是单周期指令 只需要一个时钟周期,但是查看了数据手册 发现这条指令需要3个时钟周期 故执行了250ns是正确的。


       中断程序响应时还要执行固有的程序,如程序计数器内容被压栈,相应的中断向量地址被载入程序计数器等


专家
2014-09-28 22:08:32     打赏
2楼
airwill 版主? 

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]