普中 51单片机 实验代码【不断更新】

先点亮一个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--);
}
原文地址:https://www.cnblogs.com/expedition/p/11295256.html