单片机---LED灯课后练习

在这里插入代码片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附一个十六进制数,来控制哪个灯亮。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值