judy 在 提交
(1)点亮第一盏灯:
<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
sbit D1=P1^0;
void main()
{
D1=0;
}
</span>
若要点亮第二盏。改为sbit D2=P1^0;
(2)在reg52.h文件里加入:sbit D1=P1^0;
用于点亮第一盏灯,若要点亮第二盏灯。sbit D2=P1^1;以此类推
<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
void main()
{
D1=0;
}
</span>
(3)使用进制数来点亮灯
<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
void main()
{
P1=0xfd;//(十六进制,1111 1101。第二盏灯亮)
}
</span>
(4)灯光的闪烁
<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
sbit p1_1=p1^0;
unsigned int a;
void main()
{
while(1)
{
a=50000;
p1_1=0;
while(a--);
a=50000;
p1_1=1;
while(a--);
}
}
</span>
(5)灯光闪烁的延迟
<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
void delay();
//sbit D1=P1^0;(由于在reg52.h文件已经加了凝视,便能够直接使用
void main()
{
while(1)
{
D1=0;
delay();
D1=1;
delay();
}
}
void delay()
{
unsigned int x,y;
for(x=100;x>0;x--)
for(y=2000;y>0;y--);
}
</span>
(6)流水灯的实现
<span style="font-family:Microsoft YaHei;font-size:18px;">#include<reg52.h>
#include <intrins.h> //包括_crol_函数的头文件
void delay(unsigned int z);
unsigned char temp;
void main()
{
temp=0xfe;
P1=temp;
while(1)
{
temp=_crol_(temp,1);//左移一位
delay(100);
P1=temp;
}
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=500;y>0;y--);
}
</span>