麻烦各位大侠帮帮忙 我用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;
}
}
麻烦各位了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
在C语言里面例如__CONFIG( //配置的相关信息);
-----------------------------------------------------------------------
//系统配置
//__CONFIG(HS&PWRTEN&BOREN&PROTECT&WDTDIS);
我在软件设置了 难道还要在PROTEUS 里面设置?
(原文件名:2011-4-2 13-40-54.png)
-----------------------------------------------------------------------
你好谢谢你!你说的4分频 16f系列的都是这样?
我是刚接触PIC的单片机 没仔细去看!
没错按的计算方法 去看了一下是对的 能问一下你的QQ是多少吗 有一些问题想请教一下你
真的谢谢你了
所有资料不是天上掉下来的,都是坛友们的努力;人人为我,我为人人!
一周热门 更多>