51单片机-点亮LED灯

目录

  • 新建项目
  • 选择型号
  • 添加新文件到该项目
  • 设置字体和utf-8编码
  • 二极管如何区分正负极
    • 原理:CPU通过寄存器来控制硬件电路
  • 用P2寄存器的值控制第一个灯亮
  • 进制转换
  • 编译
  • 查看P2寄存器的地址
  • 生成HEX文件
  • 把代码下载到单片机中

新建项目

在这里插入图片描述
在这里插入图片描述

选择型号

stc是中国生产的、这个里面没有包括stc型号,可以用Atmel中的AT89C52代替

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

添加新文件到该项目

在这里插入图片描述
在这里插入图片描述

设置字体和utf-8编码

在这里插入图片描述
在这里插入图片描述

二极管如何区分正负极

在这里插入图片描述

在这里插入图片描述
VCC是LED模块中的正极。(VCC,是Volt Current Condenser的简写,意思是电路的供电电压)

左边的红色部分是负极、它们的编号对应引脚部分的编号。
在这里插入图片描述
LED模块蓝色的框是电阻、对应上图红框圈着的东西。

电阻是一千欧的。

1000欧对应102。

102 = 10 x 10^2 = 1000欧473 = 47 x 10^3 = 47 000欧1001 =  100 x 101002 = 100 x 10^2

高电流是5V、低电流是0V

灯直接接5V的话可能会烧毁、所以需要电阻。

原理:CPU通过寄存器来控制硬件电路

在这里插入图片描述
寄存器的八位对应LED的低电流端的8个引脚

寄存器的1代表高电流 5V。
0代表低电流0V

用P2寄存器的值控制第一个灯亮

在这里插入图片描述
当最上面的设置为0,那么就对应低电流,D1就可以亮。
其它的设置为1、那么负极设置成高电流、设置为1的不会亮。
从而只让第一个灯亮。

P2 = 1111 110

直接这样写系统会认为是十进制、所以需要进制转换。

进制转换

在这里插入图片描述

十六进制就是十进制到10的时候编程A、然后15的时候变成F

二进制1111 1110 可以转换为 0xFE

void main()
{P2 = 0xFE; // 相当于二进制1111 1110
}

这样的话第一个端口是低电流,其它都是高电流。

编译

在这里插入图片描述
点击编译发现报错说P2没有定义。

导入:

#include <REGX52.H>

查看P2寄存器的地址

导入项目之后,右键这个包可以打开里面的内容:
在这里插入图片描述
P2已经被定义为0xA0;
在这里插入图片描述
导入包之后代码就不会报错了,因为会把P2自动识别为0xA0这个地址的寄存器。

点击编译。

生成HEX文件

在这里插入图片描述

然后重新编译。

如果不生成HEX文件,是无法将代码弄到单片机中的。

把代码下载到单片机中

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

找到项目的Objects文件,打开hex后缀的文件

在这里插入图片描述

点击打开之后点击下载

在这里插入图片描述

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

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

相关文章

token登录比密码登录有什么优势吗

token登录比密码登录有什么优势吗 使用令牌&#xff08;Token&#xff09;登录相比于密码登录具有一些优势&#xff0c;包括&#xff1a; 安全性&#xff1a;令牌通常采用加密技术&#xff0c;使得它们更难以被盗取或猜测。相比之下&#xff0c;密码存在被猜测、破解或被暴力攻…

解决浏览器兼容性问题的方法

解决浏览器兼容性问题的方法 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来探讨如何解决网页开发中常见的浏览器兼容性问题。随着互联网技术的发展&…

java中输入输出流的继承关系

在 Java 中,输入输出流的继承关系主要围绕两个抽象基类展开:字节流基类 InputStream 和 OutputStream,以及字符流基类 Reader 和 Writer。这些类形成了 Java I/O 系统的基础,提供了丰富的子类以适应不同的输入输出需求。 字节流 字节流用于处理原始的二进制数据。 Input…

利用Linked SQL Server提权

点击星标&#xff0c;即时接收最新推文 本文选自《内网安全攻防&#xff1a;红队之路》 扫描二维码五折购书 利用Linked SQL Server提权 Linked SQL server是一个SQL Server数据库中的对象&#xff0c;它可以连接到另一个SQL Server或非SQL Server数据源&#xff08;如Oracle&a…

初学者轻松搞定19个经典的Python程序以及代码演示

Python的经典程序展示了Python语言基本特性和功能的简单示例,这些程序在学习和理解Python编程语言的过程中起着至关重要的作用. 一些常见的经典Python程序及其在学习Python时的功能&#xff1a; 1.Hello, World! print("Hello, World!")解释:这是Python的基本输出…

primeflex overflow样式类相关的用法和案例

文档地址&#xff1a;https://primeflex.org/overflow 案例1 <script setup> import axios from "axios"; import {ref} from "vue";const message ref("frontend variable") axios.get(http://127.0.0.1:8001/).then(function (respon…

【Flink】Flink SQL

一、Flink 架构 Flink 架构 | Apache Flink 二、设置TaskManager、Slot和Parallelism 在Apache Flink中&#xff0c;设置TaskManager、Slot和Parallelism是配置Flink集群性能和资源利用的关键步骤。以下是关于如何设置这些参数的详细指南&#xff1a; 1. TaskManager 设置 …

【漏洞复现】致远互联FE协作办公平台——SQL注入

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 致远互联FE协作办公平台是一个专注于协同管理软件领域的数智化运…

关于内存和外存文件不同字符集下占用空间大小问题

关于内存和外存不同字符集下文件占用空间大小问题 存储&#xff08;外存&#xff09;的文件中的字符&#xff1a; ASCII&#xff1a;每个字符占用1个字节&#xff0c;用来存储英文字符和常用标点符号。ISO-8859-1&#xff1a;每个字符占用1个字节&#xff0c;向下兼容ASCII。G…

DS18B20单总线数字温度传感器国产替代MY18E20 MY1820 MY18B20Z MY18B20L(一)

前言 DS18B20是全球第一个单总线数字温度传感器&#xff0c;推出时间已经超过30年&#xff0c;最早由美国达拉斯半导体公司推出&#xff0c;2001年1月&#xff0c;美信以25亿美元收购达拉斯半导体&#xff08;Dallas Semiconductor&#xff09;&#xff0c;而美信在2021年8月被…

DM达梦数据库存储过程

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

RDMA通信2:RDMA基本元素和组成 通信过程元素关系解析 视频教程

哈哈哈&#xff0c;今天我们把下面这张图理解了&#xff0c;我们的任务就完成了&#xff01; 视频教程在这&#xff1a;1.2 RDMA基本元素和组成 通信过程元素关系解析_哔哩哔哩_bilibili 一、WQ和WQE 工作队列元素(work queue element,WQE)&#xff1a;是软件下发给硬件的任务…

Apache Ranger 2.4.0 集成Hive 3.x(Kerbos)

一、解压tar包 tar zxvf ranger-2.4.0-hive-plugin.tar.gz 二、修改install.propertis POLICY_MGR_URLhttp://localhost:6080REPOSITORY_NAMEhive_repoCOMPONENT_INSTALL_DIR_NAME/BigData/run/hiveCUSTOM_USERhadoop 三、进行enable [roottv3-hadoop-01 ranger-2.4.0-hive…

什么是TOGAF架构框架的ADM方法?

ADM是架构开发方法&#xff08; Architecture Development Method&#xff09;&#xff0c;为开发企业架构所要执行的各个步骤以及它们质检的关系进行详细的定义&#xff0c;它是TOGAF规范中最为核心的内容。 ADM的具体步骤&#xff1a; 预备阶段&#xff08;Preliminary Phas…

求职刷题力扣 DAY38动态规划 part04

1. 1049. 最后一块石头的重量 II 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能…

STM32第十三课:DMA多通道采集光照烟雾

文章目录 需求一、DMA&#xff08;直接存储器存取&#xff09;二、实现流程1.时钟使能2.设置外设寄存器地址3.设置存储器地址4.设置要传输的数据量5.设置通道优先级6.设置传输方向7.使通道和ADC转换 三、数据处理四、需求实现总结 需求 通过DMA实现光照强度和烟雾浓度的多通道…

【SkiaSharp绘图13】SKCanvas方法详解(二)填充颜色、封装对象、高性能绘制、点(集)(多段)线、圆角矩形、Surface、沿路径绘制文字

文章目录 SKCanvas方法DrawColor 填充颜色DrawDrawable 绘制封装对象DrawImage 高性能绘制图像SKBitmap与SKImage对比DrawPicture 绘制图像SKPicture DrawPoint / DrawPoints 绘制点DrawRoundRect/DrawRoundRectDifference绘制圆角矩形DrawSurface 绘制SurfaceDrawTextOnPath沿…

力扣2055.蜡烛之间的盘子

力扣2055.蜡烛之间的盘子 预处理每个元素左右最近的蜡烛下标 同时求前缀和遍历每个询问找到左右端点对应的内部的最近蜡烛(最大区间) class Solution {public:vector<int> platesBetweenCandles(string s, vector<vector<int>>& queries) {vector<…

List接口, ArrayList Vector LinkedList

Collection接口的子接口 子类Vector&#xff0c;ArrayList&#xff0c;LinkedList 1.元素的添加顺序和取出顺序一致&#xff0c;且可重复 2.每个元素都有其对应的顺序索引 方法 在index 1 的位置插入一个对象&#xff0c;list.add(1,list2)获取指定index位置的元素&#…

sheng的学习笔记-AI-聚类(Clustering)

ai目录 sheng的学习笔记-AI目录-CSDN博客 基础知识 什么是聚类 在“无监督学习”(unsupervised learning)中&#xff0c;训练样本的标记信息是未知的&#xff0c;目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律&#xff0c;为进一步的数据分析提供基础。此类学…