微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 各位好,我想请教一下为什么同样的程序在不同的单片机xi...

各位好,我想请教一下为什么同样的程序在不同的单片机xi...

时间:10-02 整理:3721RD 点击:
在这里补充问题:同样的程序在不同的单片机SST89E516RD(已录入仿真程序)和STC89C52的运行情况不                             一样。
程序实现的功能:流水灯第一次从第一盏开始亮然后灭,第二盏亮。一直到最后,然后第二次从第二                             盏开始,以此类推。
出现的问题:SST是可以实现我的意图的(PS:我是把它当仿真器一起用的,单步调试)。STC第一次可以,第二次后就开始乱套了。
程序:
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit p3_3 = P3^3;    //脭脻露篓碌脛路盲脙霉脝梅
void delay(uint z)   //70 = 100ms
{
    int x, y;
    for(x=0;x<110;x++)
        for(y=0;y<z;y++);
}
int main(void)
{
    uint x, y;
        uchar a;
    while(1)
    {
                a = 0xfe;
                for(x=0;x<8;x++)
        {
                        for(y=0;y<8-x;y++)
            {               
                P0 = a;
                delay(210);
                a = _crol_(a,1);
            }
                         a = _crol_(a,x);
                         P0 = 0xff;
                         a = _crol_(a,1);
        }
    }
    return 0;
}

好复杂,不懂

应该没有多复杂吧。就是不知道为什么sst单片机可以做到(单步调试的方式),stc的单片机显示的效果却不是我想要的。同样的程序两种单片机的显示的效果不一样。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top