PIC16f873 用Proteus 仿真问题

2020-02-09 09:21发布

麻烦各位大侠帮帮忙 我用PIC16f873 在Proteus仿真的时候,设置好晶振10M 写了一个延时的函数 设置的是3US左右 用示波器看到的是100US!不知道大家有没有遇到这种情况。
相同的程序我用AVR M16去仿真却可以得到3us的延时!
AVR的程序如下
#include <iom16v.h>
#define Uchar unsigned char
#define Uint unsigned int
void Delay(Uchar ms)
     {
      Uchar i;
      while(ms--)
      {
       for(i=0; i<10; i--);
      }
     }
void main(void)
{
        DDRB = 0xFF;                        /*PB口设置为输出*/
               
        while (1)
        {
        Delay(1);
        PORTB = 0xFF;       
        Delay(1);       
        PORTB = 0x00;       
       
        }
}

PIC16F873程序如下



void Delay(Uchar ms)
     {
      Uchar i;
      while(ms--)
      {
       for(i=0; i<10; i--);
      }
     }
void main(void)
{
        TRISB1=0;;                        /*PB1口设置为输出*/
               
        while (1)
        {
        Delay(1);
        RB1 = 1;       
        Delay(1);       
        RB1 = 0;       
       
        }
}

麻烦各位了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
belief_seven
2020-02-09 17:23
回复【1楼】liaojinwei88  
-----------------------------------------------------------------------

//系统配置
//__CONFIG(HS&PWRTEN&BOREN&PROTECT&WDTDIS);

我在软件设置了  难道还要在PROTEUS 里面设置?

一周热门 更多>