单片机简介(一)
51单片机
一台能够运行的计算机需要CPU
做运算和控制,RAM
做数据存储,ROM
做程序存储,还有输入/输出
设备(串行口、并行输出口等),这些被分为若干块芯片,安装在主板(印刷线路板)上,而在单片机中,这些部件全部被做到一块集成电路芯片中,所以被称为单片机(也叫微控制器MCU)。
51单片机是所有兼容Intel8031
指令系统的单片机的统称,51 单片机也是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是 51 系列的单片机一般不具备自编程能力。
大多数51系列单片机自身不支持在运行时通过程序指令更改自身的程序存储区内容,也就是说,它们不具备在系统运行时自行重新写入程序代码的能力。一旦51单片机的程序存储器(Flash ROM或EPROM)中烧录了程序,除非使用外部的编程器或者通过特定的ISP(In-System Programming,系统内编程)接口,否则无法在单片机运行期间修改其存储的程序代码。
80C51 是 MCS-51 系列中的一个典型品种,MCS-51是51单片机家族的源头。
关于MCS-51:MCS-51是由Intel公司首次推出的单片机系列的名称,这个系列中最著名的就是8051单片机。随着技术发展,Intel将MCS-51的内核技术授权给了多家半导体制造商,这些制造商基于MCS-51内核设计和制造了一系列兼容产品,因此,所有与MCS-51指令系统兼容的单片机都被统称为“51单片机”。
关于80C51:80C51与8051在本质上属于同一类单片机,它们均属于MCS-51系列单片机。8051是最初的51系列单片机模型,而80C51则是基于8051架构的改进和增强版本,通常具有更低的功耗和一些额外的功能增强。
其它厂商以 8051 为基核开发出的CMOS 工艺单片机产品统称为 80C51 系列。当前常用的 80C51 系列单片机主要产品有:
Intel(英特尔)的:i80C31、i80C51、i87C51,i80C32、i80C52、i87C52 等;
ATMEL(艾德梅尔)的:AT89C51、AT89C52、AT89C2051,AT89S51(RC),AT89S52(RC)等;
Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)等公同的许多产品;
STC(国产宏晶)单片机:STC89C51、STC89C52、STC89C516、STC90C516 等众多品牌。
由于他们的内核指令都是一样的,那我们只需要学会一款典型并具代表性的 51 单片机即可,其他的都是可以兼容的。
宏晶公司推出的增强型 51 单片机 STC89Cxx/STC90Cxx等系列,是对传统8051单片机架构进行了大幅度的增强和改进,除了内部资源及功能大大增强外,还有一个非常重要的是它支持 ISP(在系统可编程)/IAP(在应用可编程),无需拆卸芯片或者使用专用的编程器。宏晶公司推出的 51 芯片种类非常多,我们只需选择一款经典的学习即可。
本次学习的开发板为 STC89C52
,常见 PDIP 封装(直插封装)的 51 单片机芯片实物图如下所示:
芯片表面印有STC89C52RC
40I-PDIO40
1947H0XN52.X90C
丝印。
STC89C52RC
STC——表示芯片为STC公司生产的产品,其他公司的也有AT,I,SST等。
8——表示该芯片为8051内核芯片。
9——表示内部含有 Flash EEPROM存储器,还有入80C51中的0表示内部含有MaskROM(掩模ROM)存储器;如87C51中的7表示内部含有EPROM(紫外线可擦除ROM)存储器。
C——表示该器件为CMOS产品。还有入89LV52和89LE58中的LV和LE都表示该芯片为低电压产品(通常为3.3V电压供电);而89S52中的S表示该芯片含有可串行下载功能的Flash存储器,即具有ISP可在线编程功能。
5——固定不变
2——表示该芯片内部存储(FLASH)空间大小,1为4KB,2为8KB,3为12KB,即该数乘以4KB就是芯片内部的程序存储空间大小。程序空间大小决定了一个芯片所能执行代码的多少,空间越大,价格越贵。
RC——STC单片机内部RAM(随机读写存储器)为512B,还有如RD+表示内部RAM为128B。还有芯片会省略该部分。
40I-PDIO40
40——表示芯片外部晶振最高可接入40MHz。对AT单片机数值一般为24,表示外部晶振最高位24MHz。
I——产品级别,表示芯片使用温度范围。
- C表示商业级,温度范围为0~+70度。
- I表示工业级,温度范围为-40~+85度。
- A表示汽车级,温度范围为-40~+125度。
- M表示军用级,温度范围为-55~+150度。
PDIP40——产品封装型号。PDIP 表示双列直插式。
1947H0XN52.X90C
1947——表示本批芯片生产日期为 19 年第 47 周。
H0XN52.X90C——不详,有关资料显示,此标号表示芯片制造工艺或处理工艺。
相关文章:

单片机简介(一)
51单片机 一台能够运行的计算机需要CPU做运算和控制,RAM做数据存储,ROM做程序存储,还有输入/输出设备(串行口、并行输出口等),这些被分为若干块芯片,安装在主板(印刷线路板…...
Naiveui将message挂载到axios拦截器
最近在做项目,需要将后端的请求结果打印出来 但是想着,要是这样一个一个手动引入naiveui的msg,那不得累死 于是灵机一动,想着既然所有接口要通过拦截器,为什么不将msg写在拦截器呢 一、定义一个消息挂载文件 // The…...

MySQL、Oracle查看字节和字符长度个数的函数
目录 0. 总结1. MySQL1.1. 造数据1.2. 查看字符/字节个数 2. Oracle2.1. 造数据2.2. 查看字符/字节个数 0. 总结 databasecharbyteMySQLchar_length()length()Oraclelength()lengthB() 1. MySQL 1.1. 造数据 sql drop table if exists demo; create table demo (id …...

第五篇:3.4 用户归因和受众(User attribution and audience) - IAB/MRC及《增强现实广告效果测量指南1.0》
翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之- 3.1 广告印象(AD Impression)第三篇广告效果测量定义和其他矩阵之- 3.2 可见性 (Viewability)第四篇广…...

ES6: class类
类 class 面相对象class关键字创建类关于类的继承 面相对象 一切皆对象。 举例: 操作浏览器要使用window对象;操作网页要使用document对象;操作控制台要使用console对象; ES6中增加了类的概念,其实ES5中已经可以实现类…...

[中级]软考_软件设计_计算机组成与体系结构_08_输入输出技术
输入输出技术 前言控制方式考点往年真题 前言 输入输出技术就是IO技术 控制方式 程序控制(查询)方式:分为无条件传送和程序查询方式两种。 方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。 程序中断方式࿱…...
2024-04-04 问AI: 在深度学习中,微调是什么?
文心一言 在深度学习中,微调(Fine-tuning)是一种训练策略,特别针对预训练模型进行。预训练模型通常是在大规模无标注数据上通过自监督学习得到的,它们已经具备了对一般自然语言结构或视觉特征的良好理解能力。微调则是…...
db2数据仓库集群的搭建
db2数据仓库集群的搭建 DB2 集群的搭建通常涉及到多个环节,包括网络配置、DB2 软件安装、集群配置和数据库创建等。以下是搭建DB2集群的基本步骤,并不是实际的命令和配置,因为每个环境的具体配置可能会有所不同。 1、网络配置:确…...
Linux ARM平台开发系列讲解(u-boot篇) 5.1 u-boot的启动流程分析(ARMv8-a)
1. 概述 对于嵌入式来说,bootload对于开发人员来说并不陌生,但是在不同芯片架构中,bootload程序所做的一些操作是有所不同的,比如常见的STM32 Cotex-M和RK3568 之间的启动流程所做的操作是有所不同的。本小节就来概述一下U-boot的启动流程: 注意:本章节中的源码我大多数…...
ST表(数据结构中的问题)
RMQ问题 RMQ问题指对于数值,每次给一个区间[l,r],要求返回区间区间的最大值或最小值 也就是说,RMQ就是求区间最值的问题 对于RMQ问题,容易想到一种O(n)的方法,就是用i直接遍历[l,r]区间&…...

一、OpenCV(C#版本)环境搭建
一、Visual Studio 创建新项目 二、选择Windows窗体应用(.NET Framework) 直接搜索模板:Windows窗体应用(.NET Framework) 记得是C#哈,别整成VB(Visual Basic)了 PS:若搜索搜不到,直接点击安装多个工具和…...
ubuntu远程服务部署,Docker,蓝牙无线局域网,SSH,VNC,xfce4,NextTerminal,宝塔,NPS/NPC,gost,openwrt
SSH服务 apt update apt upgrade -y apt install -y openssh-server/etc/ssh/sshd_config PermitRootLogin yesDocker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun apt install -y docker-compose宝塔 wget -O install.sh https://download.bt.cn…...

kettle安装与部署使用教程
kettle 官网下载与部署使用 文章目录 kettle 官网下载与部署使用1. 前言:2. 访问官方网站:3. Download Pentaho3.1 官网首页**滑动到最底**,寻找下载链接:3.2 跳转到下载界面后,选择 Pentaho Community Edition (CE)3.…...

【C语言】编译和链接
1. 翻译环境和运行环境 在ANSI C的任何⼀种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令(⼆进制指令)。 第2种是执⾏环境,它⽤于实际执⾏代码。 2. 编译环境 那翻译环境…...

Python学习: 错误和异常
Python 语法错误 解析错误(Parsing Error)通常指的是程序无法正确地解析(识别、分析)所给定的代码,通常是由于代码中存在语法错误或者其他无法理解的结构导致的。这可能是由于缺少括号、缩进错误、未关闭的引号或其他括号等问题造成的。 语法错误(Syntax Error)是指程序…...

WebGIS 之 vue3+vite+ceisum
1.项目搭建node版本在16以上 1.1创建项目 npm create vite 项目名 1.2选择框架 vuejavaScript 1.3进入项目安装依赖 cd 项目名 npm install 1.4安装cesium依赖 pnpm i cesium vite-plugin-cesium 1.5修改vite.config.js文件 import { defineConfig } from vite import vue fr…...
## CSDN创作活动:AI技术创业有哪些机会?
AI技术创业有哪些机会? 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随着AI技术的快速发展和应用领域的不断拓展,未来AI技术方面会有哪些创业机会呢? 方向一࿱…...

中医肝胆笔记
目录 肝胆的经络足厥阴肝经足少阳胆经 疏肝健脾的药舒肝益脾颗粒:逍遥丸:疏肝颗粒 -> 疏肝理气的力度大-> 肝郁的程度深,逍遥丸没用的是时候用这个加味逍遥丸 -> 清热的力度最大->适用 肝郁火大,舌苔黄丹栀逍遥丸->…...
理解Go语言中break语句是如何工作的
break语句常用来中断循环。当循环与switch或select一起使用时,开发者经常执行了错误的break语句。 让我们来看下面的示例。我们在for循环里使用了switch,如果循环索引值是2,那么我们想中断循环: package mainimport ("fmt" )func …...
11. 瀑布流布局
<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>11.瀑布流布局</title><style>#cont…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...

Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...