影子 发表于 2012-10-9 11:37:49

菜鸟求助:关于用avrstudio4进行仿真的延时问题

本帖最后由 影子 于 2012-10-9 11:45 编辑

刚用avrstudio4.16编写了一个流水灯的程序,但是不知道问什么,我写的延时程序起不了作用,无论怎么修改延时时间,模拟仿真时,PORTB输出的时间还是没有改变?求大神指教!我使用XP的系统。

#include <avr/io.h>
void Delay_ms(int x)
{
int i,j;
for(i=0;i<x;i++)
{
for(j=0;j<11400;j++);
}
}

int main(void)
{
        unsigned char i;
        OSCCAL=0x7f;
        PORTB=0xFF;
        DDRB=0xFF;
    while(1)
    {
                for (i=0;i<8;i++)
                {
                        PORTB=~(1<<i);
                Delay_ms(100);
                       
                }
      
    }
}
studio4软件应该没问题的

yklstudent 发表于 2012-10-9 19:56:45

试了下程序 发现在AS4.16下 软件仿真进入不了延时里
但程序是没问题的 能实现想要的功能
只是看不到你的PORTB值变化;
不过在把int i,j;
改为:unsigned int i,j;后,就能进入倒延时函数里,进而可以
软件仿真就可以看到PORTB值得变化了

影子 发表于 2012-10-10 08:08:45

yklstudent 发表于 2012-10-9 19:56 static/image/common/back.gif
试了下程序 发现在AS4.16下 软件仿真进入不了延时里
但程序是没问题的 能实现想要的功能
只是看不到你的POR ...

可以了,谢啦
页: [1]
查看完整版本: 菜鸟求助:关于用avrstudio4进行仿真的延时问题