C51单片机介绍

news2024/12/24 8:35:30

本文为学习51单片机的学习的基础,先介绍单片机是什么。所使用的单片机有什么资源。每一个功能的作用是什么。本文使用的是STC89C52RC 40I-PDIO40,故以此为基础研究学习。

C51单片机介绍

  • 单片机的概述
  • 单片机的组成部分
    • 中央处理器
    • 程序存储器
    • 数据存储器
    • 定时器/计数器
    • 并行I/O
    • 全双工串行口UART
    • 中断系统
    • 时钟振荡电路
  • STC89C51RCRD+系列单片机介绍
    • 结构图
    • 管脚图与资源介绍
    • 丝印介绍
    • 管脚说明
    • 最小系统图
  • 软件的使用

单片机的概述

单片机(单片微型计算机)是一种集成中央处理器(Central Processing Unit,CPU)、只读存储器(Read Only Memory,ROM)、随机存取储存器(Random Access Memory,RAM)、定时器/计数器以及I/O输入输出接口等功能于一体的小型计算机芯片。从4位,8位甚至到后来的32位,性能越来越强,价格越来越低。其中51系列单片机是指由Intel公司发展起来的MCS-51系列以及和其具有兼容内核的单片机。

80C51 是 MCS-51 系列中的一个典型品种; 其它厂商以 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 等众多品牌

单片机的组成部分

中央处理器

中央处理器中央处理器(CPU)是整个单片机的核心部件。CPU主要由算术逻辑部件、控制器和专用寄存器3部分电路组成。它负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入/输出功能等操作。

程序存储器

程序存储器(ROM)用于存放用户程序、原始数据或表格等。8051单片机共有4096个8位ROM,有些增强型的单片机提供了更大的程序存储器,有些甚至还采用的是Flash程序存储器。

数据存储器

数据存储器(RAM)可存放读写的数据、CPU运算的中间结果或用户定义的字型表等。8O51单片机内部有128个8位用户数据存储单元和128个专用寄存器单元。专用寄存器只能用于存放控制指令数据,只能访问而不能用于存放用户数据。对于一些新推出的单片机,其内部RAM单元可能更多,例如AT89S52单片机内部有256个RAM数据存储单元。

定时器/计数器

定时器/计数器用于单片机硬件的定时或者计数。一般包含两个16位的可编程定时器/计数器,以实现定时或计数功能。它也可以产生中断,从而在程序中控制程序转向。部分新推出的单片机可能拥有更多的定时器/计数器。

并行I/O

单片机的并行/O口主要用于和外部设备进行并行的输入和输出通信,以便于处理外部的输入和将运算结果反馈到外部设备。

全双工串行口UART

全双工串行通信口UART主要用于与其他设备间的串行数据传送。一般均内置一个全双工串行通信口,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。部分新推出的单片机可能拥有更多的全双工串行口。

中断系统

8051单片机具备较完善的中断功能,包含两个外部中断、两个定时器/计数器中断和一个串行中断。8051单片机的中断系统具有两级的优先级别选择。部分新推出的单片机可能拥有更多的中断源。

时钟振荡电路

时钟振荡电路主要用于为单片机提供CU时钟源。单片机可以采用内部时钟振汤电路或者田9外是供时钟源。其最大工作频率根据单片机型号的不同而有所差别,例如AT89S52单片机的时钟振荡频率为0~33MHz。

STC89C51RCRD+系列单片机介绍

结构图

STC89C51RC/RD+系列单片机的内部结构框图如下图所示。STC89C51RC/RD+单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、I/O接口、EEPROM、看门狗等模块。STC89C51RC/RD+系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。相关系列的单片机结构都是类似的,区别只有资源的大小。
请添加图片描述

管脚图与资源介绍

请添加图片描述
请添加图片描述

丝印介绍

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 为 1280B。 还有芯片会省略此部分。40–表示芯片外部晶振最高可接入 40MHz。 对 AT 单片机数值一般为 24, 表示外部晶振最高位 24MHz。I–产品级别, 表示芯片使用温度范围。C 表示商业级, 温度范围为 0~+70 度。I 表示工业级, 温度范围为-40~+85 度。A 表示汽车级, 温度范围为-40~+125 度。M 表示军用级, 温度范围为-55~+150 度。PDIP40–产品封装型号。 PDIP 表示双列直插式。1947–表示本批芯片生产日期为 19 年第 47 周。

管脚说明

请添加图片描述
请添加图片描述

最小系统图

51系列单片机的最小硬件系统是指能让单片机正常工作的最小硬件电路。对于8051系列单片机及其兼容的型号,其电路的最小系统大致相同,这里以AT89S52为例,介绍典型的51系列单片机最小硬件电路。
在这里插入图片描述
需要关注的是振荡电路,复位电路,上拉电阻部分这三个部分。其中P0口需要接一个10K的上拉电阻。另外振荡电路的电容不宜太大,导致不能起震。

软件的使用

51单片机入门(1)环境搭建(Keil+ISP)
手把手教你上手Proteus(下载安装+仿真51单片机程序)

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

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

相关文章

图神经网络能做什么?

从概念上讲,我们可以将图神经网络的基本学习任务分为 5 个不同的方向: (1)图神 经网络方法; (2)图神经网络的理论理解; (3)图神经网络的可扩展性&#xff1b…

Git的进阶使用(二)

本篇文章旨在分享本人在学习Git时的随笔记🤩 文章目录 概述1、Git 分支1.1 主干分支1.2 其他分支1.2.1 创建分支1.2.2 查看分支1.2.3 切换分支1.2.4 删除分支 2、Git 合并2.1 主干分支2.2 其他分支2.3 合并分支 3、Git 冲突3.1 主干分支3.2 其他分支3.3 切换分支 -B…

Replika:AI智能聊天机器人

【产品介绍】 Replika,这个名字可能有点拗口,但如果你知道这是复制品Replica的同音变体,你即刻能明白这个产品的定位了。官方Luka公司定义它是你的AI朋友,默默学习你,最终成为你的复制品。它不像现在市面上各大厂的AI助…

《ChatGPT开发应用指南》,Datawhale开源了!

Datawhale发布 开源教程:HuggingLLM,Datawhale团队 随着ChatGPT的爆火,我们相信未来会有越来越多的大模型及类似OpenAI提供的服务出现,AI 正在逐渐平民化,将来每个人都可以利用大模型轻松地做出自己的AI产品。 Huggin…

【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 3 月 23 日,在 141 年前的今天,1882 年 3 月 23 日,抽象代数之母艾米诺特(Emmy Noether)诞生。她的…

JUC-多线程(12. AQS-周阳)学习笔记

文章目录 1. 可重入锁1.1. 概述1.2. 可重入锁类型1.3. Synchronized 可重入实现机理 2. LockSupport2.1. LockSupport 是什么2.2. 3种线程等待唤醒的方法2.2.1 Object 的等待与唤醒2.2.2. Condition接口中的等待与唤醒2.2.3. 传统的 synchronized 和 Lock 实现等待唤醒通知的约…

本地搭建属于自己的ChatGPT:基于PyTorch+ChatGLM-6b+Streamlit+QDrant+DuckDuckGo

本地部署chatglm及缓解时效性问题的思路: 模型使用chatglm-6b 4bit,推理使用hugging face,前端应用使用streamlit或者gradio。 微调对显存要求较高,还没试验。可以结合LoRA进行微调。 缓解时效性问题:通过本地数据库…

YOLOv7如何提高目标检测的速度和精度,基于模型结构提高目标检测速度

目录 一、目标检测二、目标检测的速度和精度的权衡1、速度和精度的概念和定义2、如何评估目标检测算法的速度和精度3、速度和精度之间的权衡 三、基于模型结构提高目标检测速度1、Backbone网络的选择2、特征金字塔网络的设计3、通道注意力机制4、混合精度训练 一、目标检测 目…

光纤网卡传输速率和它的应用领域有哪些呢?通常会用到哪些型号网络变压器呢?

Hqst盈盛(华强盛)电子导读:常有客户问起光纤网卡该如何选用到合适的产品,选用时要注意到哪些事项,这节将结合配合到的网络变压器和大家一起探讨,希望对大家有些帮助。 1.光纤网卡传输速率与网络…

【教程】一文读懂 ChatGPT API 接入指南

ChatGPT 是一个基于自然语言处理技术的 API,它能够根据用户的输入,生成智能回复。结合当前最先进的AI技术,AP智能续写&承接上下文;可以回答各种问题,例如:历史,科学,文化&#x…

【越早知道越好】的道理——能够提高效率的【快捷键】

文章目录 1️⃣虚拟桌面⚜️第一步:打开任务视图⚜️第二步:创建桌面⚜️第三步:桌面切换⚜️第四步:桌面删除 2️⃣窗口切换3️⃣桌面分屏⚜️如何分屏 前言🧑‍🎤:作为程序员👨‍&…

15天学习MySQL计划-多表联查(基础篇)第四天

15天学习MySQL计划(多表联查)第四天 1.多表查询 1.1概述 ​ 指从多张表中查询数据 ​ 在项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互…

大数据实战 --- 美团外卖平台数据分析

目录 开发环境 数据描述 功能需求 数据准备 数据分析 RDD操作 Spark SQL操作 创建Hbase数据表 创建外部表 统计查询 开发环境 HadoopHiveSparkHBase 启动Hadoop:start-all.sh 启动zookeeper:zkServer.sh start 启动Hive: nohup …

人工智能会影响测试工程师吗

并不是危言耸听 当下最火的是什么,那非ChatGPT莫属了,以ChatGPT为代表的各类AIGC工具,在不断颠覆我们的认知,不仅能完成律师,医学考试;还能画出一张精美的设计图,拿下艺术大赛一等奖。 以之对…

C#基础学习--反射和特性

元数据和反射 要使用反射,必须使用System.Reflection 命名空间 Type类 Type是一个抽象类,用来包含类型的特性,使用这个类的对象可以让我们获取程序使用的类型的信息 我们可以从Type对象中获取需要了解的有关类型的几乎所有信息 获取Type对象…

Node.js下载安装及环境配置教程

一、进入官网地址下载安装包 https://nodejs.org/zh-cn/download/ 选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位 Tips:如果想下载指定版本,点击【以往的版本】,即可选择自己想要的版本下载 二、安装程序 &…

在 VSCode 中让 TypeScript 错误更漂亮且易于阅读

简介 TypeScript 是一种流行的编程语言,为 JavaScript 提供了静态类型和改进的错误检测。然而,随着类型的复杂性增加,错误的复杂性也增加了。这就是 Pretty TypeScript Errors VSCode 插件的用途,它可以在 Visual Studio Code 中…

8.线性搜索算法和二进制搜索算法

算法:线性搜索算法 线性搜索是一种非常简单的搜索算法。在这种类型的搜索中,逐个对所有项目进行顺序搜索。检查每个项目,如果找到匹配项,则返回该特定项目,否则搜索将继续,直到数据收集结束。 算法 Linea…

【数据结构】- 链表之单链表(下)

文章目录 前言一、单链表(下)1.1 查找修改1.2 在任意位置插入1.2.1 在pos位置插入(也就是pos位置之前)1.2.2 在pos位置之后插入 1.3 在任意位置删除1.3.1 删除pos位置得值1.3.2 删除pos位置后面的值 二、完整代码总结 前言 未来藏在迷雾中 叫人看来胆怯 带你踏足其中 就会云开…

【C++类和对象】类和对象(中):拷贝构造函数 {拷贝构造函数的概念及特征,拷贝构造函数不能使用传值传参,编译器自动生成的拷贝构造函数}

四、拷贝构造函数 4.1 概念 在创建对象时,可否创建一个与已存在对象一某一样的新对象呢? 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器…