51单片机中关于点亮灯管的简单程序:
(1)点亮第一盏灯:
#include
sbit D1=P1^0;
void main()
{
D1=0;
}
若要点亮第二盏。改为sbit D2=P1^0;
(2)在reg52.h文件里加入:sbit D1=P1^0;
用于点亮第一盏灯,若要点亮第二盏灯。sbit D2=P1^1;以此类推
#include
void main()
{
D1=0;
}
(3)使用进制数来点亮灯
#include
void main()
{
P1=0xfd;//(十六进制,1111 1101。第二盏灯亮)
}
(4)灯光的闪烁
#include
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--);
}
}
(5)灯光闪烁的延迟
#include
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--);
}
(6)流水灯的实现
#include
#include //包括_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--);
}