为什么数码管子程序要放在流水灯子程序前面才行?

2020-02-05 09:00发布

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay();
void liushuideng ();
void smg();
uchar temp;
sbit duan=P2^6;
sbit wei=P2^7;
void main()
{
while(1)
{
liushuideng ();
smg();
}
}
void delay()//延时子程序约20ms
{
   uchar x,y;
    for (x=200;x>0;x--)
        for(y=100;y>0;y--);   
}
void liushuideng ()//流水灯子程序
{
temp=0xfe;
  while(1)
{
    P1=temp;
    delay();
    temp=_crol_(temp,1);//左移位
    delay();
}
}
void smg()
{
P0=0XFE;
wei=1;
wei=0;
P0=0X66;
duan=1;
duan=0;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
kazenoai
1楼-- · 2020-02-05 12:18
 精彩回答 2  元偷偷看……
szxszx
2楼-- · 2020-02-05 16:40
因为流水灯是死循环while(1),进入后出不来,数码管程序放在他后面就无法被运行了
4758866
3楼-- · 2020-02-05 20:45
怎么才能让流水灯不是死循环?
goolloo
4楼-- · 2020-02-05 21:53
void main()
{
while(1)
{
//liushuideng ();
//-----------------------------------------------------------------------------

temp=0xfe;
  while(1)
{
    P1=temp;
    delay();
    temp=_crol_(temp,1);//左移位
    delay();
}

//-----------------------------------------------------------------------------
//smg();
//-----------------------------------------------------------------------------

P0=0XFE;
wei=1;
wei=0;
P0=0X66;
duan=1;
duan=0;

//-----------------------------------------------------------------------------



}

这样子楼主应该能看懂了吧
4758866
5楼-- · 2020-02-06 01:29
楼上的意思是把两个子程序的内容放到主函数里?
信天游
6楼-- · 2020-02-06 05:05
 精彩回答 2  元偷偷看……

一周热门 更多>