控制8个流水灯闪烁。程序1无法实现,程序2可实现。
程序1:实验结果是,8个灯全亮后,仅第一个灯开始闪烁。
#include <reg52.h>
#define uint unsigned int
void delay (uint);
void main ()
{
while (1)
{
P1=0;
delay (300);
P1=1;
delay (300);
}
}
void delay (uint c)
{
uint a,b;
for (a=100;a>0;a--)
for (b=c;b>0;b--);
}
程序2:可以实现
#include <reg52.h>
#define uint unsigned int
void delay (uint);
sbit D0=P1^0;
sbit D1=P1^1;
sbit D2=P1^2;
sbit D3=P1^3;
sbit D4=P1^4;
sbit D5=P1^5;
sbit D6=P1^6;
sbit D7=P1^7;
void main ()
{
while (1)
{
P1=0;
delay (300);
D0=D1=D2=D3=D4=D5=D6=D7=1;
delay (300);
}
}
void delay (uint c)
{
uint a,b;
for (a=100;a>0;a--)
for (b=c;b>0;b--);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>