单片机-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);

}

}

}

相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘2 小时前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u152109648494 小时前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd8451015004 小时前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼5 小时前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
wohoo_wangzi6 小时前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘8 小时前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展8 小时前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司8 小时前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑8 小时前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习
望眼欲穿的程序猿9 小时前
读取芯片内部温度传感器
嵌入式硬件·rust