单片机C语言LED灯
点亮程序完全版
标准化管理部编码-[99968T-6889628-J68568-1689N]
1例子1第二个灯亮
#include voidmain() { P1=0xfd; }
#include SbitD1=P1^0; Voidmain() {
D1=0 }
注意:稍微改程序时需重新hex化 例子2第一个灯亮
#include//52单片机头文件 sbitled1=P1^0;//单片机管脚位声明 voidmain() //主函数 { led1=0; //将单片机P1.0口清零 while(1);//程序停止在这里,在后面会讲到为什么这样写。 }
例子3第一个灯亮
#include//52单片机头文件 voidmain() //主函数 { P1=0xfe; while(1);//程序停止在这里,在后面会讲到为什么这样写。 }
2例子1第三个灯闪烁fir循环 #include sbitD2=P1^2; unsignedinta; voidmain() { D2=0; for(a=0;a<=10000;a++){}; D2=1; for(a=0;a<=10000;a++){}; }
例子2第三个闪烁while循环 #include sbitD2=P1^2;
unsignedinta; voidmain() {
a=5000; D2=0; while(a--); a=5000; D2=1; while(a--); }
2.#include//52单片机头文件 sbitled1=P1^0;//单片机管脚位声明 voidmain() //主函数 { unsignedinti;//定义一个int型变量 while(1) { i=50000;//变量赋初值为50000 led1=0; //点亮灯 while(i--);//延时 i=50000; led1=1;//熄灭灯 while(i--); } }
3例子1357灯同时亮
#include//52单片机头文件 sbitled1=P1^0;//单片机管脚位声明 sbitled3=P1^2;//单片机管脚位声明 sbitled5=P1^4;//单片机管脚位声明 sbitled7=P1^6;//单片机管脚位声明 voidmain() //主函数 { led1=0; //将单片机P1.0口清零 led3=0; //将单片机P1.2口清零 led5=0; //将单片机P1.4口清零 led7=0; //将单片机P1.6口清零 while(1);//程序停止在这里,在后面会讲到为什么这样写。 }
例子21357同时亮
#include//52单片机头文件 voidmain() //主函数 { P1=0xaa;
while(1);//程序停止在这里,在后面会讲到为什么这样写。 }
例子3流水灯一个一个接着亮不循环 #include//52单片机头文件 voidmain() //主函数 { unsignedinti;//定义一个int型变量 while(1) { i=50000; //变量赋初值为50000 P1=0xfe; //点亮第一个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xfd; //点亮第二个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xfb; //点亮第三个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xf7; //点亮第四个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xef; //点亮第五个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xdf; //点亮第六个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xbf; //点亮第七个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0x7f; //点亮第八个灯 while(i--); //延时 } }
例子4
#include #include #defineuintunsignedint #defineucharunsignedchar uchartemp,num,num1; sbitbeep=P2^3; voiddelay(uint); voidmain()
{
temp=0xfe; while(1) { for(num1=0;num1<3;num1++) { for(num=0;num<8;num++) { P1=temp; beep=0; delay(100); temp=_crol_(temp,1); P1=0xff; beep=1; delay(100); } }
for(num1=0;num1<3;num1++) { for(num=0;num<8;num++) { P1=temp; beep=0; delay(100); temp=_cror_(temp,1); P1=0xff; beep=1; delay(100); } } while(1); } }
voiddelay(uintz) { uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
4延时子程序 voiddelay() { uintx; for(x=100;x>0;x--){};