51单片机学习笔记1 简介及开发环境

news2025/1/12 20:57:24

51单片机学习笔记1 简介及开发环境

  • 一、51单片机
    • 1. STC89C52单片机简介
    • 2. 命名规则
    • 3. 封装
      • (1)PDIP
      • (2)LQFP
      • (3)PLCC
      • (4)PQFP
  • 二、STC8051结构
    • 1. STC 8051 内部结构图
    • 2. 内部结构框图
    • 3. 单片机管脚图
    • 4. STC89C51最小系统
  • 三、开发环境
    • 1. 安装keil5 for 51的版本
    • 2. 安装CH340驱动
    • 3. 开机
    • 4. 下载程序
      • (1)使用普中提供的下载软件PZ-ISP
      • (2)使用STC-ISP官方下载工具

在这里插入图片描述

一、51单片机

51单片机是对兼容英特尔8051指令系统的单片机的统称。

1. STC89C52单片机简介

  • 公司: STC公司
  • 位数:8位
  • RAM: 512字节
  • ROM:8K
  • 工作频率: 12MHz

STC单片机在线文档地址:
http://www.stcmcudata.com/datasheet/STC89C52.pdf

2. 命名规则

在这里插入图片描述

3. 封装

以下图片仅代表封装样式,型号不一定是51系列。

(1)PDIP

在这里插入图片描述

(2)LQFP

在这里插入图片描述

(3)PLCC

在这里插入图片描述

(4)PQFP

在这里插入图片描述

二、STC8051结构

1. STC 8051 内部结构图

在这里插入图片描述

2. 内部结构框图

在这里插入图片描述

3. 单片机管脚图

在这里插入图片描述

4. STC89C51最小系统

在这里插入图片描述
复位电路:上电时,C1电容充电相当于短路状态,RST为高电平,单片机进入复位流程。
当C1充满电,RST通过R1连地,C1相当于断路,RST为低电平。

三、开发环境

本系列博文使用普中51-2开发板。

1. 安装keil5 for 51的版本

安装过程省略……

2. 安装CH340驱动

安装过程略……

3. 开机

打开电源,DP1指示灯表示电源状态。
在这里插入图片描述

4. 下载程序

(1)使用普中提供的下载软件PZ-ISP

  1. 打开开发板电源
  2. 打开软件,选择连接的串口
  3. 根据芯片型号,选择对应的芯片类型
  4. 波特率自动识别,可以不要选择
  5. 选择要下载的程序

在这里插入图片描述

这里选择了一个LED流水灯实验的hex文件。

在这里插入图片描述

  1. 点击程序下载。
  2. 进度条到100%即完成,可以看到开发板上程序运行的效果。

(2)使用STC-ISP官方下载工具

  1. 打开软件,下载过程要冷启动,这里要关闭开发板电源
  2. 找到单片机型号,注意型号不能错误(我这里使用STC89C52RC)
  3. 选择串口号
  4. 波特率默认不需要设置
  5. 打开程序文件

在这里插入图片描述
6. 点击下载/编程
7. 打开开发板电源

在这里插入图片描述
等待下载完成,开发板显示运行效果。

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

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

相关文章

Android设置TabLayout熟悉及下划线宽度

Tablayout的使用 属性 app:tabMod 设置Tab模式 app:tabTextColor 设置文本颜色 app:tabSelectedTextColor 设置选中文本颜色 app:tabIndicatorColor 设置下滑条颜色 app:tabMaxWidth“xxdp” 设置最大的tab宽度 app:tabMinWidth“xxdp” 设置…

牛客网之SQL100题(7)-字符串截取、切割、删除、替换

知识点: (1)substring_indexsubstring_index(str,delim,count) str:要处理的字符串 delim:分隔符 count:计数 (2)切割、截取、删除、替换 1 2 3 4 5 6 7 8 9 10 11 12 13 14 select -- 替换法 replace(string, 被…

类型转换C11

类型转换 C类型转换分为显式类型转换和隐式类型转换 ,隐式类型转换由编译器自动完成,这里只讨论显式类型转换。 旧式风格的类型转换 type(expr); // 函数形式的强制类型转换 (type)expr; // C语言风格的强制类型转换现代C风格的类型转换 cast-name&l…

1-2 VMware安装Rocky9.0和Ubuntu22.04系统

文章目录前言下载链接VMware使用安装Rocky9.0系统Rocky初始化安装Ubuntu22.04系统Ubuntu初始化VMware快照前言 VMware虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。 Rocky Linux 9.0 操作系统与2022年7月14…

基于matlab GUI的数字图像处理系统

目 录 摘 要 I Abstract II 第1章 绪论 1 1.1选题背景及意义 1 1.2国内外研究现状 2 1.2.1国内研究现状 2 1.2.2国外研究现状 3 1.3研究主要内容 3 第2章 数字图像处理系统设计 5 2.1设计概括 5 2.2文件 6 2.2.1打开 6 2.2.2保存 6 2.2.3退出 6 2.3图像变形 7 2.3.1图像缩放 7 …

Spring Cloud Gateway 使用示例

Spring Cloud Gateway 使用示例 作者: Grey 原文地址: 博客园:Spring Cloud Gateway 使用示例 CSDN:Spring Cloud Gateway 使用示例 说明 Spring Cloud Gateway 用于构建 API 网关,基于 Spring WebFlux。 在Spr…

【雷达通信】回波数据处理(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【VRP问题】基于蚁群算法求解配送路径最短问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

静态成员函数与回调函数

1. 静态成员函数 1.1 静态成员函数调用 如何代码块里的函数get_object_count是静态成员函数,对静态成员函数无论是通过类名还是通过对象或对象指针调用,最终都会被编译器转换为全局非成员函数的调用。例如obj.get_object_count()或Point3d::get_object…

BigDecimal精度丢失问题

浅谈BigDecimal精度丢失问题 文章目录浅谈BigDecimal精度丢失问题一. 简介二. 错误使用三. 原因分析四. 正确使用一. 简介 ​ Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数&#…

大数据Kudu(二):Kudu架构

文章目录 Kudu架构 一、​​​​​​​Kudu存储模型及概念 二、​​​​​​​​​​​​​​Kudu table存储原理 Kudu架构 一、​​​​​​​Kudu存储模型及概念 Kudu有自己的数据存储模型,不依赖于HDFS、Hive、HBase其他大数据组件。Kudu有自己的集群&#…

Oracle存储过程入门教程(通俗理解存储过程)

Oracle存储过程入门通俗介绍一、存储过程通俗理解二、创建存储过程基本语法(汇总)三、执行存储过程的方式(5种)四、网上现有的创建存储过程的两种方式解释(看注释)五、一些存储过程示例(仅供参考)六、其他语…

蒸馏+Distilling Knowledge via Knowledge Review论文笔记

文章目录一、前言二、蒸馏1.背景介绍2.知识蒸馏和迁移学习之间的区别3.Hinton提出的知识蒸馏Pipeline4.蒸馏的知识形式5.知识蒸馏的方法三、Distilling Knowledge via Knowledge Review论文笔记1.思想介绍2.Pipeline3.实验结果参考文献一、前言 近期在阅读cvpr 2021的一篇关于蒸…

通过Tomcat / Small Tomcat,如何部署Servlet?(超详细)

目录 基于Tomcat对Servlet进行部署 一、创建项目 二、引入Servlet依赖 三、构建目录结构 四、编写代码 五、打包程序 六、部署程序 七、验证程序 基于Smart Tomcat对Servlet进行部署 第一步:下载Smart Tomcat插件 第二步:进行相关配置 第三步…

【Unity3D】选中物体描边特效

1 前言 描边的难点在于如何检测和识别边缘,当前实现描边特效的方法主要有以下几种: 1)基于顶点膨胀的描边方法 在 SubShader 中开 2 个 Pass 渲染通道,第一个 Pass 通道渲染膨胀的顶点,即将顶点坐标沿着法线方向向外扩…

Android BLE HIDS Data ,从问询DB 到写入Android 节点的flow 之一

BLE 的HIDS服务,可以理解为BR/EDR HID在BLE 上的简化版,因BLE的特殊性,BR/EDR HID的部分feature在HIDS 中被移除。 本文将讨论Android 蓝牙BLE 中HIDS 服务如何接收 Data 并写入到Android 节点"/dev/uhid"的flow。----关于Android…

openpowerlink 01

源码地址: https://sourceforge.net/projects/openpowerlink/ 源码目录 qt 源码目录 qt MN 源码 MN是主站的意思 用cmake 构建 qt cmakelists.txt分析 文件 mnobd.cdc: 此文件用于配置 MN 堆栈。它包括MN和所有CN的所有配置数据,包括网…

云安全解决方案安全保障体系框架

安全需求和挑战 从风险管理 的角度讲,主要就是管理资产、威胁、脆弱性和防护措施及其相关关系,最终保障云计算平台的持续安全,以及 其所支撑的业务的安全。 云计算 平台是在传统 IT技术的基础上,增加了一个虚拟化层,并…

[Spring MVC7] 解决Redis乱码前缀问题

最近在做Redis缓存的时候,遇到了一个棘手的问题,简单来说就是项目使用Spring的RedisTemplate进行Redis数据存取操作,实际应用中发现Redis中key和value会出现“无意义”乱码前缀。如果是普通的java程序是没有这个问题。 本文解决Redis乱码问题…

基于Matlab-gui信号系统设计

目 录 1绪论 - 1 - 2系统分析和开发软件概述 - 6 - 2.1 需求分析 - 6 - 2.2系统开发环境和运行环境 - 6 - 2.3 Matlab图形用户界面(GUI) - 6 - 2.4 系统主要目标及功能 - 7 - 2.4.1 系统目标 - 7 - 2.4.2 系统主要功能 - 8 - 3系统软件平台的设计 10 3.1系统整体框图 10 3.2系统…