51单片机编程学习笔记——点亮LED

大纲

  • 器件
    • 51单片机
    • 开发板
    • 总结
  • 安装驱动
  • 点亮LED
    • 烧录

随着最近机器人爆火,之前写的ROS2系列博客《Robot Operating System》也获得了更多的关注。我决定在机器人领域里再走一步,于是想到可以学习单片机。研究了下学习路径,最后还是选择先从51单片机入手。由浅入深,循序渐进。

51 单片机的历史可追溯到 20 世纪 80 年代,英特尔公司推出了经典的 8051 单片机。它以其结构简单性能稳定易于学习和开发成本低等显著优势,迅速在嵌入式系统领域崭露头角。此后,众多半导体厂商对 8051 内核进行了仿制和改进,推出了一系列兼容的 51 单片机,进一步丰富了其产品线和应用场景。

经过几十年的发展,51 单片机凭借其独特的优势,在众多领域得到了广泛应用。在工业控制领域,51 单片机可用于对生产过程中的温度、压力、流量等参数进行实时监测和控制,确保生产过程的稳定和高效。在智能家居领域,它可以作为智能家电的控制核心,实现家电的远程控制、自动化运行和节能管理。在消费电子领域,51 单片机广泛应用于电子玩具、电子秤、遥控器等产品中,为人们的生活带来了更多的便利和乐趣。此外,在汽车电子、医疗设备、仪器仪表等领域,51 单片机也发挥着重要的作用。

尽管随着科技的不断发展,出现了许多功能更强大、性能更卓越的微控制器,但 51 单片机凭借其简单易学、成本低廉、开发资源丰富等特点,仍然是电子爱好者和初学者入门嵌入式系统开发的首选。通过学习 51 单片机编程,我们不仅能够掌握嵌入式系统开发的基本原理和方法,还能培养自己的逻辑思维能力和实践动手能力,为今后学习更高级的微控制器和开发更复杂的系统打下坚实的基础。

这个系列我将使用C语言进行编码,穿插着研究51单片机以及其开发板,做到理论和实践结合。

器件

首先我们需要决定买什么器件。到底是买51单片机还是51开发板呢?

51单片机

51 单片机是指以 Intel 8051 内核为基础发展而来的一系列单片机统称。它是一种集成电路芯片,把中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器 / 计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
在下图中,我们看到该单片机导出了40个引脚。在实际应用中,我们需要将这些引脚与其他传感器等连接,以传输信号。
在这里插入图片描述

开发板

51 开发板是为了帮助用户学习和开发 51 单片机而设计的一种电路板。它以 51 单片机为核心,配备了各种外围电路和接口,如 LED 灯、数码管、按键、蜂鸣器、串口通信接口、液晶显示屏等,用户可以直接利用这些资源进行各种实验和项目开发,无需额外搭建复杂的电路。
通过下图,我们看到位于中间绿色的TEXTOOL上安装着一个51单片机。它就是整个电路板的核心。
在这里插入图片描述

总结

因为开发板已经帮我们把很多元器件和引脚连接好了,而我们当前关注的重点不是接引脚,而是编程,所以我们选择购买开发板。
下面是我购买板子的商家提供的地址:

https://pan.baidu.com/s/1t4M7p-WfYE7tDi36qqa-cQ?pwd=1234 提取码:1234

安装驱动

我们如图连接开发板和电脑
在这里插入图片描述
此时电脑的“设备管理器”中,可能存在未知的USB设备。这个时候我们就需要安装“5–开发工具\2-开发板CH340驱动”下的驱动程序。
我的开发环境是Win11,会自动安装驱动。(不需要安装“5–开发工具\2-开发板CH340驱动”下的驱动)
待驱动安装成功后,可以在“设备管理器”中看到“CH340”。需要注意的是:CH340 是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者USB转打印口。我们将通过该设备,将电脑上的程序烧录到单片机中。
在这里插入图片描述

点亮LED

在“4–实验程序\1–基础实验”中有个文件“2-点亮第一个LED.zip”。解压这个文件后,可以看到如下目录结构。其中以hex为后缀的就是我们需要烧录到开发版中的二进制程序。
在这里插入图片描述

烧录

我们可以使用“–开发工具\3-程序下载软件\PZ-ISP(推荐使用)”下的PZ-ISP来将电脑中的hex文件传输到单片机上。
在芯片类型下拉框中,我们需要选择与芯片匹配的类型。
在这里插入图片描述
如上,我们芯片的类型是89C52RC,则PZ-ISP程序中选择STC89C5xx-RC Series类型。
在这里插入图片描述
串口号选择CH340,波特率保持不变。
在这里插入图片描述
然后将“文件路径”选择为直接解压文件夹中的hex文件。
按下开发板usb接口旁边的开关键,可以看到一些灯亮了。
在这里插入图片描述
在PZ-ISP中,点击“程序下载”。
在这里插入图片描述
稍等片刻,可以看到提示烧录成功。
在这里插入图片描述
此时,开发版上的LED灯区第一个灯被点亮了。
在这里插入图片描述

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

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

相关文章

Java String 类

Java String 类常用方法详解 在 Java 编程里,字符串操作十分常见,而 String 类作为 Java 标准库的核心类,用于表示不可变的字符序列。任何对字符串的修改操作都会返回一个新的字符串对象,不会改变原始字符串。本文将详细介绍 Str…

9.【线性代数】—— 线性相关性, 向量空间的基,维数

九 线性相关性, 向量空间的基,维数 Ax0 什么情况下无解(x不为零向量)1. 向量组的线性无关性2.向量组生成一个空间(S)3. 向量空间的一组基:都满足向量个数相同4. 空间维数 基向量的个数 Ax0 什么情况下无解(x不为零向量) Ax0无解&#xff0c…

蓝桥杯单片机组第十二届省赛第二批次

前言 第十二届省赛涉及知识点:NE555频率数据读取,NE555频率转换周期,PCF8591同时测量光敏电阻和电位器的电压、按键长短按判断。 本试题涉及模块较少,题目不难,基本上准备充分的都能完整的实现每一个功能,并…

opencv:距离变换 cv2.distanceTransform

函数 cv2.distanceTransform() 用于计算图像中每一个非零点像素与其最近的零点像素之间的距离(Distance Transform, DT算法),输出的是保存每一个非零点与最近零点的距离信息;图像上越亮的点,代表了离零点的距离越远。 …

基于Spring Boot的党员学习交流平台设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

自动驾驶两个传感器之间的坐标系转换

有两种方式可以实现两个坐标系的转换。 车身坐标系下一个点p_car,需要转换到相机坐标系下,旋转矩阵R_car2Cam,平移矩阵T_car2Cam。点p_car在相机坐标系下记p_cam. 方法1:先旋转再平移 p_cam T_car2Cam * p_car T_car2Cam 需要注…

k8s ssl 漏洞修复

针对Kubernetes集群中SSL/TLS协议信息泄露漏洞(CVE-2016-2183)的修复,需重点修改涉及弱加密算法的组件配置。以下是具体修复步骤及验证方法: 一、漏洞修复步骤 1. 修复etcd服务 修改配置文件 : 编辑 /etc/kubernetes/…

数字IC后端培训教程| 芯片后端实战项目中base layer drc violation解析

今天分享一个咱们社区IC后端训练营学员遇到的一个经典DRC案例。这个DRC Violation的名字为PP.S.9(这里的PP就是Plus P)。这一层是属于管子的base layer。更多关于base layer的介绍,可以查看下面这份教程。 https://alidocs.dingtalk.com/api/doc/transit?spaceId5…

从零到一学习c++(基础篇--筑基期十一-类)

从零到一学习C(基础篇) 作者:羡鱼肘子 温馨提示1:本篇是记录我的学习经历,会有不少片面的认知,万分期待您的指正。 温馨提示2:本篇会尽量用更加通俗的语言介绍c的基础,用通俗的语言去…

DeepSeek技术全景解析:架构创新与行业差异化竞争力

一、DeepSeek技术体系的核心突破 架构设计:效率与性能的双重革新 Multi-head Latent Attention (MLA):通过将注意力头维度与隐藏层解耦,实现显存占用降低30%的同时支持4096超长上下文窗口。深度优化的MoE架构:结合256个路由专家…

插入排序:一种简单而直观的排序算法

大家好!今天我们来聊聊一个简单却非常经典的排序算法——插入排序(Insertion Sort)。在所有的排序算法中,插入排序是最直观的一个。 一、插入排序的基本思想 插入排序的核心思想是:将一个待排序的元素,插…

2025年校园网络招聘会汇总

1、卫生健康行业2025届毕业生春季校园网络招聘会 企业数量职位数量岗位数量10020002000 访问地址: https://www.weirenjob.com/zph/zph_wsjkxy2025jbyscjxywlzph/ 2、山东地区面向2025届高校毕业生网络招聘活动 企业数量职位数量岗位数量909271052434 访问地址&a…

Windows 10 GPU STACK 0.5.1 安装

Windows 10 GPU STACK 0.5.1 安装 1 GPUStack 安装1.Python安装(3.10/11/12)2.GPUStack 下载3.生成密码4.访问5.设置模型下载目录6.禁用开机自启并重启服务7.安装模型8.查看安装的进度 2.试验场聊天测试1.对话模式 3.API Key 测试 1 GPUStack 安装 1.Py…

【数据结构】快指针和慢指针

一、 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 要求:只遍历一遍链表 可以使用快慢指针:fast 一次走两步,slow 一次走一步。当 fast NULL(偶数个结点)或…

1.3 嵌入式系统的固件

嵌入式系统的固件,一般情况下的作用是: 1.硬件抽象层(HAL):固件提供了一个硬件抽象层,它将硬件的复杂性隐藏起来,为上层软件提供了一套标准的接口。这样,操作系统和应用程序不需要直接与硬件打交…

中国工业互联网研究院:人工智能大模型年度发展趋势报告

当前,以大模型为代表的人工智能正快速演进,激发全球科技之变、产业之变、时代之变,人工智能发展迎来新高潮。随着大模型推理、多模态生成、智能体等创新技术的发展,大模型赋能千行百业将进一步提速。中国工业互联网研究院全方位剖…

【cv】vs2022配置opencv

release下配置包含目录和库目录 E:\sdk\sdk_cuda12.3\opencv490\include E:\sdk\sdk_cuda12.3\opencv490\include\opencv2 E:\sdk\sdk_cuda12.3\opencv490\lib release下配置包含链接器输入的依附依赖项 opencv_world490.lib release编译文件夹下需手动复制opencv_world49…

Python Pandas库使用指南:从入门到精通

1. 引言 Pandas 是 Python 中用于数据处理和分析的核心库之一。它提供了高效的数据结构(如 DataFrame 和 Series),能够轻松处理结构化数据,支持数据清洗、过滤、聚合、合并等操作。Pandas 在数据分析、机器学习和科学计算领域中被广泛使用。 本文将详细介绍 Pandas 的基本…

Visual Studio中打开多个项目

1) 找到解决方案窗口 2) 右键添加→ 选择现有项目 3) 选择.vcxproj文件打开即可

react路由总结

目录 一、脚手架基础语法(16~17) 1.1、hello react 1.2、组件样式隔离(样式模块化) 1.3、react插件 二、React Router v5 2.1、react-router-dom相关API 2.1.1、内置组件 2.1.1.1、BrowserRouter 2.1.1.2、HashRouter 2.1.1.3、Route 2.1.1.4、Redirect 2.1.1.5、L…