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-10 00:19
回复【3楼】wangqh1983  吴鸣
-----------------------------------------------------------------------
你好谢谢你!你说的4分频 16f系列的都是这样?

我是刚接触PIC的单片机 没仔细去看!

没错按的计算方法 去看了一下是对的 能问一下你的QQ是多少吗  有一些问题想请教一下你
真的谢谢你了

一周热门 更多>