当前位置: 首页 > article >正文

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


http://www.kler.cn/a/468865.html

相关文章:

  • SSL,TLS协议分析
  • VisionPro软件Image Stitch拼接算法
  • Java虚拟机面试题:内存管理(上)
  • qt鼠标右键菜单
  • 字玩FontPlayer开发笔记6 Tauri2设置菜单
  • 密码学精简版
  • 【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(四)
  • 数据分析思维(八):分析方法——RFM分析方法
  • php反序列化 触发的魔术方法 原理 pop链构造 ctfshow 练习
  • UML之发现用例
  • 【Blackbox Exporter】prober.Handler源码详细分析
  • 缓存-文章目录
  • Qt 5.14.2 学习记录 —— 일 新项目
  • python:多线程 简单示例
  • 毛泽东思想概论
  • 【Docker】docker启动命令,不执行特定程序,但是让容器保持启动
  • 微信小程序几种数据通信方式记录
  • C++基础概念复习
  • Prism模块化
  • 华为交换机---自动备份配置到指定ftp/sftp服务器
  • 数仓相关数据读后感
  • 【C++】B2101 计算矩阵边缘元素之和
  • Ubuntu挂载云盘操作步骤
  • 关于 webservice 日志中 源IP是node IP的问题,是否能解决换成 真实的客户端IP呢
  • [深度学习] 大模型学习1-大语言模型基础知识
  • 桌面开发 的变量声明(Variable Declaration)核心知识