51单片机——LED模块

LED模块中有8盏灯,从左到右为D1,D2,...,D8

8盏灯以二进制存储在单片机中,它们共同组成一个二进制

0     0     0    0    0     0     0    0

---------------------------------------------- 

D8  D7  D6  D5  D4  D3  D2  D1

即0位表示D1,1位表示D2,...,7位表示D8

P2端口控制LED模块

1、点亮第一个LED

#include "reg52.h"  //"reg52.h":51单片机的头文件
sbit LED1=P2^0;  //sbit:数据类型
                             //P一定为大写,将P2.0管脚定义为LED1
                             //P2.0管脚默认是高电平(逻辑1)
void main(){
    LED1=0;  //LED1端口设置为低电平(逻辑0)
    while(1){  //在51单片机程序开发中,main函数内通常都会有一个while循环,
                    //在循环体内不断执行我们所要实现的功能
        
    }
}

2、LED 闪烁实验 

 #include "reg52.h"
sbit LED1=P2^0;
typedef unsigned char u8;  //0-255
typedef unsigned int u16;  //0-65535
//当传入ten_us=1时,大约延时10us
void delay_10us(u16 ten_us){
    while(ten_us--);
}
//D1指示灯先亮一会后熄灭
void main(){
    while(1){
        LED1=0;  //亮
        delay_10us(50000);  //大约500ms
        LED1=1;  //熄灭
        delay_10us(50000);
    }
}

        在51单片机中最常使用unsigned int和unsigned char,其他数据类型不常使用

 3、流水灯实验

        使用移位和循环实现

 #include "reg51.h"
#include "intrins.h"
#define LED_PORT P2  //使用宏定义P2端口
typedef unsigned char u8;
typedef unsigned int u16;
void delay_10us(u16 ten_us){
    while(ten_us--);
}
/*
使用前引入"intrins.h"头文件
    左移函数:_crol_(LED_PORT,1) 
    右移函数:_cror_(LED_PORT,1)
*/
void main(){
    u16 i=0;
    while(1){
        LED_PORT=0XFE;  //1111 1110
        delay_10us(50000);
        //8盏灯
        for(i=0;i<7;i++){
            //左移
            LED_PORT=_crol_(LED_PORT,1);
            delay_10us(50000);
        }
        for(i=0;i<7;i++){
            //右移
            LED_PORT=_cror_(LED_PORT,1);
            delay_10us(50000);
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/501999.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fabric链码部署测试

参考链接&#xff1a;运行 Fabric 应用程序 — Hyperledger Fabric Docs 主文档 (hyperledger-fabric.readthedocs.io) &#xff08;2&#xff09;fabric2.4.3部署运行自己的链码 - 知乎 (zhihu.com) Fabric2.0测试网络部署链码 - 辉哥哥~ - 博客园 (cnblogs.com) 1.启动测试…

《米塔》为什么能突破160万销量?

1、跟完蛋美女有一定的类似之处&#xff0c;都是针对用户需求打造的商品&#xff0c;所以取得良好的销量不意外。 偏宅的玩家有陪伴、被重视、被爱的需求&#xff0c; 而厂商很懂&#xff0c;无论真人还是二次元都只是手段。 完蛋也是突破百万销量&#xff0c;成为黑马。 2、…

ESP32自动下载电路分享

下面是一个ESP32系列或者ESP8266等电路的一个自动下载电路 在ESP32等模块需要烧写程序的时候&#xff0c;需要通过将EN引脚更改为低电平并将IO0引脚设置为低电平来切换到烧写模式。 有时候也会采用先将IO接到一个按键上&#xff0c;按住按键拉低IO0的同时重新上电的方式进入烧写…

Backend - C# 的日志 NLog日志

目录 一、注入依赖和使用 logger 二、配置记录文件 1.安装插件 NLog 2.创建 nlog.config 配置文件 3. Programs配置日志信息 4. 设置 appsettings.json 的 LogLevel 5. 日志设定文件和日志级别的优先级 &#xff08;1&#xff09;常见的日志级别优先级 &#xff08;2&…

java项目之社区医院信息平台源码(springboot+mysql)

项目简介 社区医院信息平台实现了以下功能&#xff1a; 社区医院信息平台的主要使用者分为管理员可以查看对护士信息进行添加&#xff0c;修改&#xff0c;删除以及查询操作&#xff1b;管理员可以对医生信息进行添加&#xff0c;修改&#xff0c;删除以及查询操作&#xff1…

《普通逻辑》学习记录——命题的判定与自然推理

目录 一、真值 1.1、真值联结词 1.2、真值联结词与逻辑联结词的区别 1.3、真值形式 1.3.1、真值符号的优先级和结合性规则 1.4、真值规则 1.4.1、条件式&#xff08;蕴含式&#xff09; P → Q 的真值规则 1.4.2、双条件式&#xff08;等值式&#xff09; P ↔ Q 的真值规则 1.…

Pycharm连接远程解释器

这里写目录标题 0 前言1 给项目添加解释器2 通过SSH连接3 找到远程服务器的torch环境所对应的python路径&#xff0c;并设置同步映射&#xff08;1&#xff09;配置服务器的系统环境&#xff08;2&#xff09;配置服务器的conda环境 4 进入到程序入口&#xff08;main.py&#…

无刷直流电机(BLDC)六步换向法

文章目录 1、三相BLDCM 基本结构2、三相BLDCM 数学模型3、有霍尔位置传感器直流无刷电机工作原理4、无位置传感器直流无刷电机工作原理5、速度检测6、六步换向双闭环模型仿真6.1 模型总览6.2 系统及参数设置6.3 六步换向模块6.4 仿真效果 7、六步换向速度闭环PWM控制参考 1、三…

Windows11安装Oracle11g以及plsqldev工具连接配置

文章目录 一、安装Oracle数据库软件二、配置数据库三、配置监听&#xff08;listener.ora&#xff09;四、本地网络服务名配置&#xff08;tnsnames.ora&#xff09;五、网络服务名配置以及监听文件路径六、plsqldev工具连接Oracle配置 一、安装Oracle数据库软件 点击“setup.…

IEEE PDF eXpress遇到Font TimesNewRomanPSMT is not embedded的解决方案

IEEE PDF eXpress遇到Font TimesNewRomanPSMT is not embedded的解决方案 问题描述 在IEEE PDF eXpress上上传论文后&#xff0c;出现Font XXX is not embedded的问题。 该问题是指你所插入的图片等&#xff0c;没有将对应的字体嵌入进去。 解决方案 以下以Origin Lab图片…

9.系统学习-卷积神经网络

9.系统学习-卷积神经网络 简介输入层卷积层感受野池化层全连接层代码实现 简介 卷积神经网络是一种用来处理局部和整体相关性的计算网络结构&#xff0c;被应用在图像识别、自然语言处理甚至是语音识别领域&#xff0c;因为图像数据具有显著的局部与整体关系&#xff0c;其在图…

ESP32-C3环境搭建

参考第二讲 ubuntu下的ESP-IDF开发环境搭建_哔哩哔哩_bilibili 宸芯IOT中的资料搭建 因为我买的板子是ESP32C3&#xff0c;所以没有完全按照教程去设置环境&#xff0c;但是也成功。 一、下载ubuntu系统以及esp-idf https://cn.ubuntu.com/download/server/step1 在以上链接…

解决npm报错:sill idealTree buildDeps

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 报错信息 使用 npm 安装依赖时报错&#xff1a;sill idealTree buildDeps 解决方案 请按照以下步骤进行相关操作&#xff1a; 1、删除 C:\Users{账户}\ 文件夹中的 .npm…

【NX入门篇】

NX入门篇 一、UG NX 由来二、软件如何启动&#xff08;UG NX 12.0&#xff09;三、使用步骤四、常用命令 一、UG NX 由来 UG NX由来&#xff1a; 1969 年&#xff1a;UG 的开发始于美国麦道航空公司&#xff0c;基于 C 语言开发实现&#xff1b;1976 年&#xff1a;UG问世&am…

如何在 VSCode 中配置 C++ 开发环境:详细教程

如何在 VSCode 中配置 C 开发环境&#xff1a;详细教程 在软件开发的过程中&#xff0c;选择一个合适的开发环境是非常重要的。Visual Studio Code&#xff08;VSCode&#xff09;作为一款轻量级的代码编辑器&#xff0c;凭借其强大的扩展性和灵活性&#xff0c;受到许多开发者…

超越YOLO11!DEIM:先进的实时DETR目标检测

DEIM: DETR with Improved Matching for Fast Convergence arXiv: https://arxiv.org/abs/2412.04234 Project webpage&#xff1a;https://www.shihuahuang.cn/DEIM/ GitHub&#xff1a;https://github.com/ShihuaHuang95/DEIM 1 背景&#xff1a;DETR目标检测框架 目标检…

《GICv3_Software_Overview_Official_Release_B》学习笔记

1.不同版本的 GIC 架构及其主要功能如下图所示&#xff1a; 2.GICv2m&#xff08;Generic Interrupt Controller Virtualization Model&#xff09;是针对ARM架构的GIC&#xff08;通用中断控制器&#xff09;的一种扩展&#xff0c; GICv2m扩展为虚拟化环境中的中断管理提供了…

PADS Logic原理图中有很多页原理图,如何(怎样)删除其中一页或者多页

我们在进行PADS Logic进行原理图设计的时候&#xff0c;有时候可能遇到一次性设计了很多页的原理图&#xff0c;比如说十几页的原理图。那么我们在进行PADS Layout的时候&#xff0c;可能将这些原理图绘制两块板或者多块PCB板&#xff0c;那么这时候我们需要将其中的一张原理图…

网络安全的学习与实践经验(附资料合集)

学习资源 在线学习平台&#xff1a; Hack This Site&#xff1a;提供从初学者到高级难度的挑战任务&#xff0c;适合练习各种网络安全技术。XCTF_OJ&#xff1a;由XCTF组委会开发的免费在线网络安全网站&#xff0c;提供丰富的培训材料和资源。SecurityTube&#xff1a;提供丰…

问题清除指南|关于num_classes与 BCELoss、BCEWithLogitsLoss 和 CrossEntropyLoss 的关系

前言&#xff1a;关于「 num_classes 1 」引发的探究。 2024年尾声&#xff0c;学弟问到一个问题&#xff1a;在研究工作 CNNDetection 的github开源代码 networks/trainer.py 文件的 line 27 self.model resnet50(num_classes1) 中&#xff0c;变量 num_classes 的值为1&…