单片机-LED实验

1、51工程模版

#include "reg52.h"

void main(){

while(1){

}

}

2、LED灯亮

#include "reg52.h"

sbit LED1=P2^0;

void main(){

while(1){

LED1=0;

}

}

3、LED闪烁

#include "reg52.h"

sbit LED1=P2^0; //P2大写,默认是高电平

typedef unsigned int u16; //0~65535

typedef unsigned char u8; //0~255

void delay_10us(u16 ten_us){

while(ten_us--); //当传入ten_su=1,大约延时10us

}

void main(){

while(1){

LED1=0; //灯亮

delay_10us(50000); //延时 //500ms 450-500

LED1=1; //灯灭

delay_10us(50000);

}

}

4、LED流水灯

4.1从左向右依次亮

方法一

#include "reg52.h"

#define LED_PORT P2

typedef unsigned int u16;

typedef unsigned char u8;

void delay_10us(u16 ten_us){

while(ten_us--);

}

void main(){

u16 i=0;

while(1){

for (i=0;i<8;i++){

LED_PORT=~(0X01<<i);

delay_10us(50000);

}

}

}

方法二 左移函数 corl

#include "reg52.h"
#include "intrins.h"

typedef unsigned int u16;

typedef unsigned char u8;

#define LED_PORT P2//宏定义

void delay_10us(u16 ten_us){

while(ten_us--);

}

void main(){

u16 i=0;

LED_PORT=0XFE; //LED_PORT=~0X01; //1111 1110

delay_10us(50000);

while(1){

for(i=0;i<7;i++){

LED_PORT=crol(LED_PORT,1);

delay_10us(50000);

}

}

}

4.2从右向左依次亮

#include "reg52.h"
#include "intrins.h"

typedef unsigned int u16;

typedef unsigned char u8;

#define LED_PORT P2//宏定义

void delay_10us(u16 ten_us){

while(ten_us--);

}

void main(){

u16 i=0;

LED_PORT=0X7F; //0111 1111

delay_10us(50000);

while(1){

for(i=0;i<7;i++){

LED_PORT=cror(LED_PORT,1);

delay_10us(50000);

}

}

}

相关推荐
蓝斯4979 小时前
从.到实现一个Windows上的虚拟hid键盘设备
windows·单片机·计算机外设
熙芯XiChip9 小时前
硬实时与软实时RTOS核心区别
嵌入式硬件
伟大的前程9 小时前
unsigned int 定义的变量 在 电脑的 64 位系统中 和 32 位 cortex-m0 和 8 位的 51 单片机
单片机·嵌入式硬件
小渔村的拉线工10 小时前
1.HPM6E80 解析芯片整体工作原理和存储架构
单片机·嵌入式硬件·mcu·架构·hpm6e80
熙芯XiChip11 小时前
CAN与CANopen的本质区别
单片机
lilihewo11 小时前
Altium Designer 封装库的创建(分享pcb 3D封装库)
嵌入式硬件·51单片机
神罚天下ET12 小时前
典型arm位单片机启动流程(从上电到main.c)
c语言·arm开发·单片机
碧海银沙音频科技研究院13 小时前
蓝牙耳机使用WSDF5361锂保芯片进入船运模式实现方法
嵌入式硬件·算法
Zevalin爱灰灰14 小时前
模拟信号链电路——基于TL431的电压基准电路
单片机·嵌入式硬件
csdn杰哥14 小时前
瑞萨单片机开发教程[二十七] DTC 外部中断触发传输实验
单片机·嵌入式硬件·mongodb·瑞萨·ra6m5