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.rhkb.cn/news/23731.html

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

相关文章

基于Spring Boot的公司资产网站设计与实现(LW+源码+讲解)

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

华为2025年技术发布会:智能汽车核心技术大爆发

近日,华为在鸿蒙智行尊界技术发布会上发布了多项智能汽车核心技术,涵盖智能驾驶、安全防护、通信系统、座舱交互及电池技术等领域,标志着其从“被动智能”向“自主智能”的战略升级。 以下是核心技术的综合梳理: 六大核心创新 途…

ctfshow做题笔记—栈溢出—pwn57~pwn60

目录 前言 一、pwn57(先了解一下简单的64位shellcode吧) 二、pwn58 三、pwn59(64位 无限制) 四、pwn60(入门难度shellcode) 前言 往前写了几道题,与shellcode有关,关于shellc…

测试面试题:以一个登录窗口为例,设计一下登录界面测试的思路和方法

在测试登录窗口时,可以从 表单测试、 逻辑判断和 业务流程三个方面设计测试思路和方法。以下是一个详细的测试方案: 1. 表单测试 表单测试主要关注输入框、按钮等UI元素的正确性和用户体验。 测试点: 输入框测试 用户名和密码输入框是否正常显示。输入框是否支持预期的字符类…

小型字符级语言模型的改进方向和策略

小型字符级语言模型的改进方向和策略 一、回顾小型字符级语言模型的处理流程 前文我们已经从零开始构建了一个小型字符级语言模型,那么如何改进和完善我们的模型呢?有哪些改进的方向?我们先回顾一下模型的流程: 图1 小型字符级语言模型的处理流程 (1)核心模块交互过程:…

基于数据可视化+SpringBoot+安卓端的数字化施工项目计划与管理平台设计和实现

博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…

初识.git文件泄露

.git 文件泄露 当在一个空目录执行 git init 时,Git 会创建一个 .git 目录。 这个目录包含所有的 Git 存储和操作的对象。 如果想备份或复制一个版本库,只需把这个目录拷贝至另一处就可以了 这是一种常见的安全漏洞,指的是网站的 .git 目录…

基于Nanopi duo2的WiFi智能摄像头

1.固件包烧录 https://wiki.friendlyelec.com/wiki/index.php/NanoPi_Duo2/zh#.E8.BF.9E.E6.8E.A5WiFi 固件包链接以及烧录工具都在上面链接中 烧录过程 使用读卡器将SD卡插入到电脑,然后打开烧录工具 2.通过串口工具连接板子使其连接WiFi 对应的串口工具,就是这个HyperT…

单片机延时函数怎么写规范?

我们以前在开发产品的时候,肯定会碰到一些延时需求,比如常见的LED闪烁,按键消抖,控制IO口输出时序等等。 别小看延时,这个小问题,想做好,甚至要考虑到程序架构层面。 在开发板上,可能…

Dify私有化部署自己的AI Agent

1、下载Dify git clone gitgithub.com:langgenius/dify.git 2、创建Dify配置 进入dify目录下的docker目录中,复制.env.example为 .env 3、使用Docker命令进行部署Dify docker compose up -d 4、访问Dify http://localhost/install 5、 设置模型供应商 配置环境变量&#xff1…

【Unity】鱼群效果模拟

鱼群效果模拟 文章目录 鱼群效果模拟Boid算法实现方式version1_CPUversion2_GPUversion3_Multilaterationversion4_Bitonic_Sorting (GPU友好)version5_Skinning (TODO) 细节项优化项参考链接 Boid算法 Boid算法是一种模拟群体行…

【AI时代】可视化训练模型工具LLaMA-Factory安装与使用

文章目录 安装训练使用 安装 官方地址:https://github.com/hiyouga/LLaMA-Factory 创建虚拟环境 conda create -n llama-factory conda activate llama-factory安装 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip in…

tailwindcss学习03

01 入门 02 vue中接入 03 工具类优先 准备 vue.svg <svg viewBox"0 0 40 40" xmlns"http://www.w3.org/2000/svg"> <defs> <linearGradient x1"50%" y1"0%" x2"50%" y2"100%" id"a"&…

Java 笔记(自用)

Java是一种面向对象(opp)的、解释性的跨平台语言。所谓的跨平台是Java的一个编译好的.class文件可以在多个系统下运行。解释性则是编译后的代码需要解释器来执行&#xff0c;与之相对应的c/c是编译性语言&#xff0c;编译后的代码可以直接被机器执行。 jdkjrejava的开发工具 …

Matlab——图像保存导出成好看的.pdf格式文件

点击图像的右上角&#xff0c;点击第一个保存按钮键。

游戏引擎学习第120天

仓库:https://gitee.com/mrxiao_com/2d_game_3 上次回顾&#xff1a;周期计数代码 我们正在进行一个项目的代码优化工作&#xff0c;目标是提高性能。当前正在优化某个特定的代码片段&#xff0c;已经将其执行周期减少到48个周期。为了实现这一目标&#xff0c;我们设计了一个…

大语言模型微调的公开JSON数据

大语言模型微调的公开JSON数据 以下是一些可用于大语言模型微调的公开JSON数据及地址: EmoLLM数据集 介绍:EmoLLM是一系列能够支持理解用户、帮助用户心理健康辅导链路的心理健康大模型,其开源了数据集、微调方法、训练方法及脚本等。数据集按用处分为general和role-play两种…

20分钟 Bash 上手指南

文章目录 bash 概念与学习目的第一个 bash 脚本bash 语法变量的使用位置参数管道符号&#xff08;过滤条件&#xff09;重定向符号条件测试命令条件语句case 条件分支Arrayfor 循环函数exit 关键字 bash 脚本记录历史命令查询文件分发内容 bash 概念与学习目的 bash&#xff0…

《Python实战进阶》专栏 No.3:Django 项目结构解析与入门DEMO

《Python实战进阶》专栏 第3集&#xff1a;Django 项目结构解析与入门DEMO 在本集中&#xff0c;我们将深入探讨 Django 的项目结构&#xff0c;并实际配置并运行一个入门DEMO博客网站&#xff0c;帮助你在 Web 开发中更高效地使用 Django。Django 是一个功能强大的 Python Web…

Spring Boot 应用(官网文档解读)

Spring Boot 启动方式 SpringApplication.run(MyApplication.class, args); Spring Boot 故障分析器 在Spring Boot 项目启动发生错误的时候&#xff0c;我们通常可以看到上面的内容&#xff0c;即 APPLICATION FAILED TO START&#xff0c;以及后面的错误描述。这个功能是通过…