单片机C语言LED灯点亮程序完全版
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例子1#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
1例子1第二个灯亮
#include<reg52.h>
void main()
{
P1=0xfd;
}
#include<reg52.h>
Sbit D1=P1^0;
Void main()
{
D1=0
}
注意:稍微改程序时需重新hex化
例子2第一个灯亮
#include<reg52.h> //52单片机头文件
sbit led1=P1^0; //单片机管脚位声明
P1=0xfb;//点亮第三个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0xf7;//点亮第四个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0xef;//点亮第五个灯
while(i--);//延时
i=50000;//变量赋初值为50000
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,num,num1;
sbit beep=P2^3;
void delay(uint);
void main()
{
temp=0xfe;
while(1)
P1=0xdf;//点亮第六个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0xbf;//点亮第七个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0x7f;//点亮第八个灯
while(i--);//延时
}
}
例子4
#include<reg52.h>
{
for(num1=0;num1<3;nuቤተ መጻሕፍቲ ባይዱ1++)
{
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(y=110;y>0;y--);
}
4延时子程序
void delay()
{
uint x;
for(x=100;x>0;x--){};
}
For的嵌套
void delay()
{
uint x,y;%局部变量
for(x=100;x>0;x--)%小括号后不加分号
for(y=600;y>0;y--);%小括号后的分号表示该语句是上一条语句的,分号将该句与下句隔开(或者{for(y=600;y>0;y--);})#include<reg52.h>
while(1); //程序停止在这里,在后面会讲到为什么这样写。
}
2例子1第三个灯闪烁fir循环
#include<reg52.h>
sbit D2=P1^2;
unsigned int a;
void main()
{
D2=0;
for(a=0;a<=10000;a++){};
D2=1;
for(a=0;a<=10000;a++){};
void main()//主函数
{
P1=0xaa;//将单片机P1口的8个口由高到低分别赋值为10101010
while(1); //程序停止在这里,在后面会讲到为什么这样写。
}
例子3流水灯一个一个接着亮不循环
#include<reg52.h> //52单片机头文件
void main()//主函数
{
}
例子2第三个闪烁while循环
#include<reg52.h>
sbit D2=P1^2;
unsigned int a;
void main()
{
a=5000;
D2=0;
while(a--);
a=5000;
D2=1;
while(a--);
}
2.#include<reg52.h> //52单片机头文件
while(i--);
}
}
3例子1 3 5 7灯同时亮
#include<reg52.h> //52单片机头文件
sbit led1=P1^0; //单片机管脚位声明
sbit led3=P1^2; //单片机管脚位声明
sbit led5=P1^4; //单片机管脚位声明
sbit led7=P1^6; //单片机管脚位声明
void main()//主函数
{
led1=0;//将单片机P1.0口清零
while(1); //程序停止在这里,在后面会讲到为什么这样写。
}
例子3第一个灯亮
#include<reg52.h> //52单片机头文件
void main()//主函数
{
P1=0xfe;//将单片机P1口的8个口由高到低分别赋值为11111110
void main()//主函数
{
led1=0;//将单片机P1.0口清零
led3=0;//将单片机P1.2口清零
led5=0;//将单片机P1.4口清零
led7=0;//将单片机P1.6口清零
while(1); //程序停止在这里,在后面会讲到为什么这样写。
}
例子2 1 3 5 7同时亮
#include<reg52.h> //52单片机头文件
sbit led1=P1^0; //单片机管脚位声明
void main()//主函数
{
unsigned int i; //定义一个int型变量
while(1)
{
i=50000; //变量赋初值为50000
led1=0;//点亮灯
while(i--); //延时
i=50000;
led1=1; //熄灭灯
unsigned int i; //定义一个int型变量
while(1)
{
i=50000;//变量赋初值为50000
P1=0xfe;//点亮第一个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0xfd;//点亮第二个灯
while(i--);//延时
i=50000;//变量赋初值为50000
for(num=0;num<8;num++)
{
P1=temp;
beep=0;
delay(100);
temp=_cror_(temp,1);
P1=0xff;
beep=1;
delay(100);
}
}
while(1);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
#define uint unsigned int
#define uchar unsigned char
1例子1第二个灯亮
#include<reg52.h>
void main()
{
P1=0xfd;
}
#include<reg52.h>
Sbit D1=P1^0;
Void main()
{
D1=0
}
注意:稍微改程序时需重新hex化
例子2第一个灯亮
#include<reg52.h> //52单片机头文件
sbit led1=P1^0; //单片机管脚位声明
P1=0xfb;//点亮第三个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0xf7;//点亮第四个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0xef;//点亮第五个灯
while(i--);//延时
i=50000;//变量赋初值为50000
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,num,num1;
sbit beep=P2^3;
void delay(uint);
void main()
{
temp=0xfe;
while(1)
P1=0xdf;//点亮第六个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0xbf;//点亮第七个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0x7f;//点亮第八个灯
while(i--);//延时
}
}
例子4
#include<reg52.h>
{
for(num1=0;num1<3;nuቤተ መጻሕፍቲ ባይዱ1++)
{
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(y=110;y>0;y--);
}
4延时子程序
void delay()
{
uint x;
for(x=100;x>0;x--){};
}
For的嵌套
void delay()
{
uint x,y;%局部变量
for(x=100;x>0;x--)%小括号后不加分号
for(y=600;y>0;y--);%小括号后的分号表示该语句是上一条语句的,分号将该句与下句隔开(或者{for(y=600;y>0;y--);})#include<reg52.h>
while(1); //程序停止在这里,在后面会讲到为什么这样写。
}
2例子1第三个灯闪烁fir循环
#include<reg52.h>
sbit D2=P1^2;
unsigned int a;
void main()
{
D2=0;
for(a=0;a<=10000;a++){};
D2=1;
for(a=0;a<=10000;a++){};
void main()//主函数
{
P1=0xaa;//将单片机P1口的8个口由高到低分别赋值为10101010
while(1); //程序停止在这里,在后面会讲到为什么这样写。
}
例子3流水灯一个一个接着亮不循环
#include<reg52.h> //52单片机头文件
void main()//主函数
{
}
例子2第三个闪烁while循环
#include<reg52.h>
sbit D2=P1^2;
unsigned int a;
void main()
{
a=5000;
D2=0;
while(a--);
a=5000;
D2=1;
while(a--);
}
2.#include<reg52.h> //52单片机头文件
while(i--);
}
}
3例子1 3 5 7灯同时亮
#include<reg52.h> //52单片机头文件
sbit led1=P1^0; //单片机管脚位声明
sbit led3=P1^2; //单片机管脚位声明
sbit led5=P1^4; //单片机管脚位声明
sbit led7=P1^6; //单片机管脚位声明
void main()//主函数
{
led1=0;//将单片机P1.0口清零
while(1); //程序停止在这里,在后面会讲到为什么这样写。
}
例子3第一个灯亮
#include<reg52.h> //52单片机头文件
void main()//主函数
{
P1=0xfe;//将单片机P1口的8个口由高到低分别赋值为11111110
void main()//主函数
{
led1=0;//将单片机P1.0口清零
led3=0;//将单片机P1.2口清零
led5=0;//将单片机P1.4口清零
led7=0;//将单片机P1.6口清零
while(1); //程序停止在这里,在后面会讲到为什么这样写。
}
例子2 1 3 5 7同时亮
#include<reg52.h> //52单片机头文件
sbit led1=P1^0; //单片机管脚位声明
void main()//主函数
{
unsigned int i; //定义一个int型变量
while(1)
{
i=50000; //变量赋初值为50000
led1=0;//点亮灯
while(i--); //延时
i=50000;
led1=1; //熄灭灯
unsigned int i; //定义一个int型变量
while(1)
{
i=50000;//变量赋初值为50000
P1=0xfe;//点亮第一个灯
while(i--);//延时
i=50000;//变量赋初值为50000
P1=0xfd;//点亮第二个灯
while(i--);//延时
i=50000;//变量赋初值为50000
for(num=0;num<8;num++)
{
P1=temp;
beep=0;
delay(100);
temp=_cror_(temp,1);
P1=0xff;
beep=1;
delay(100);
}
}
while(1);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)