先点亮一个LED小灯

#include "reg52.h"
sbit led = P2^0;
void main(){
    while(1){
        led = 0;
    }
}

 

 

点亮一个LED    带有 延时函数   x是几,就延时几秒

#include <reg52.h>
#define uint unsigned int
sbit led = P2^0;
void sleep(uint);
void main(){
    led = 0;
    sleep(1);
    led = 1;
    sleep(1);
    P2 =   0xf0; //11110000    后四个全亮 然后灭
    sleep(1);
    P2 = 0xff;   //若采用二进制 11111111 会出错
    sleep(1);
}
void sleep(uint x){
    uint i,j;
    for(i = x * 1000;i>0;i--)
    for(j = 110;j>0;j--);
}

 

 

 

流水灯

#include <reg52.h>
#include <intrins.h>  //包含_crol_ 函数的头文件

#define uint unsigned int
#define uchar unsigned char

void sleep(uint);

uchar aa; //赋值用

void main(){
    aa = 0xfe;//11111110
    while(1){
        P2 = aa;
        sleep(500);//延时500ms
        aa = _crol_(aa,1);   //左移 _crol__   右移 _cror_

    }
}

void sleep(uint x){
    uint i,j;
    for(i = x * 1;i>0;i--)
    for(j = 110;j>0;j--);
}

 

 

 

循环 流水灯 ————>  左移到头然后右移,右移到头继续左移

#include <reg52.h>
#include <intrins.h>  //包含_crol_   _cror_ 函数的头文件

#define uint unsigned int
#define uchar unsigned char

void sleep(uint);

uchar aa; //赋值用

void main(){
    uint i = 0;
    aa = 0xfe;//11111110
    while(1){
         if(i < 7){
              P2 = aa;
             sleep(500);//延时500ms
             aa = _crol_(aa,1);
             i++;
         }else{
             P2 = aa;
             sleep(500);//延时500ms
             aa = _cror_(aa,1);
              i++;
            if(i == 14){
                i = 0;
            }
         }
    }
}

void sleep(uint x){
    uint i,j;
    for(i = x * 1;i>0;i--)
    for(j = 110;j>0;j--);
}

 

相关文章:

  • 2021-11-03
  • 2021-11-07
  • 2021-07-24
  • 2021-09-12
  • 2021-12-25
  • 2021-09-21
  • 2022-02-01
猜你喜欢
  • 2021-08-06
  • 2021-10-23
  • 2021-04-18
  • 2021-08-05
  • 2022-03-10
  • 2021-10-20
  • 2021-08-04
相关资源
相似解决方案