50ms定时器1 与仿真结果不一致

-----------------------------------------------
目的50ms led翻转   ,仿真出来200ms才翻转
----------------------------------------------
#include<pic.h>
#define led RB0
void portinit(void)
{
        TRISB=0x00;
        PORTB=0x00;
}

void tmr1init(void)
{
        TMR1H=(65536-50000)/256;
        TMR1L=(65536-50000)%256;//50ms        
        INTCON=0xC0;//0xc0 全局中断使能GIE PEIE均置1
        TMR1IE=1;//定时中断使能
        T1CON=0x01;//设置分频比1:1
}
void interrupt isr(void)
{
        if(TMR1IF==1)
        {
        TMR1IF=0;
        TMR1H=(65536-50000)/256;
        TMR1L=(65536-50000)%256;
        PORTB=~PORTB;        
        }
}
void main(void)
{
        portinit();
        tmr1init();
        while(1);
}

粽子糖果 发表于09-29 10:09 浏览65535次
分享到:

已有1条评论

  • 粽子糖果
    粽子糖果 09-29 10:09

    不会差这么多,你这个仿真的速率跟实际速率有区别应该是你单片机晶振设置问题.

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

粽子糖果
粽子糖果(总统)
金币:41624个|学分:51977个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号