keil仿真的问题

2020-02-04 09:28发布

#include <REGX52.H>
#include <intrins.h>
#define U16 unsigned int
void delay_ms(U16 z)
{
        U16 i;
        while(z--)
        {
                for(i=0;i<120;i++);
        }
}
void main()
{       
        U16 temp = 0xfe;
        P0 = temp;

        while(1)
        {
                temp = _crol_(temp,1);
                P0 = temp;
                delay_ms(1000);
        }
}
当程序为这个的时候可以仿真。仿真图形如下

图1 (原文件名:未命名.jpg)

但是当程序时这样的时候,
#include <REGX52.H>
#include <intrins.h>
#define U16 unsigned int
void delay_ms(U16 z)
{
        U16 i;
        while(z--)
        {
                for(i=0;i<120;i++);
        }
}
void main()
{       
        P0 = 0xfe;

        while(1)
        {
                P0 = _crol_(P0,1);
                delay_ms(1000);
        }
}
缺不能仿真了,不能循环了,只是左移了一下,如图2

图2 (原文件名:未命名1.jpg)
这是为什么呢?????
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。