在这里插入代码片1.点亮开发板上的LED2,然后每隔200ms闪烁一次。
#include <reg52.h>
void delay(unsigned int z){//延时函数
unsigned int x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
void main(){//主函数
while(1){
P1=0xfd;//让LED2亮,1111 1101
delay(200);
P1=0xff;//关掉所有灯,1111 1111
delay(200);
}
}
或者
#include <reg52.h>
void delay(unsigned int z){
unsigned int x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
sbit LED2=P1^1;//位定义,LED2对应P1的1端口
void main(){
while(1){
LED2=0;
delay(200);
LED2=1;
delay(200);
}
}
2.点亮开发板上的LED5,然后每隔50ms闪烁一次。
#include <reg52.h>
void delay(unsigned int z){
unsigned int x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
sbit LED5=P1^4;//LED5对应P1的4号接口
void main(){
while(1){
LED5=0;
delay(50);
LED5=1;
delay(50);
}
}
3.同时点亮开发板上的LED2,LED3,LED5;然后每隔150ms闪烁一次。
#include <reg52.h>
void delay(unsigned int z){
unsigned int x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED5=P1^4;
void main(){
while(1){
LED2=0;
LED3=0;
LED5=0;
delay(150);
LED2=1;
LED3=1;
LED5=1;
delay(150);
}
}```
以上方法均可以使用两种方法;一种直接给对应的灯赋值,一种为直接给P0附一个十六进制数,来控制哪个灯亮。
单片机---LED灯课后练习
最新推荐文章于 2023-09-04 17:12:37 发布