51单片机中关于点亮灯管的简单程序:
(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>