C51单片机介绍

news/2025/2/21 12:49:21/

本文为学习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单片机的中断系统具有两级的优先级别选择。部分新推出的单片机可能拥有更多的中断源。

时钟振荡电路

时钟振荡电路主要用于为单片机提供时钟源。单片机可以采用内部时钟震荡电路或者是外部时钟源。其最大工作频率根据单片机型号的不同而有所差别,例如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.ppmy.cn/news/271311.html

相关文章

Python调用海康威视网络相机_调用海康SDK

运行环境: Win10系统,64位,Anaconda3 python 3.7.4(基于anaconda环境) opencv 3.4.6 Visual Studio 2017 硬件:DS-2CD3T86FWDV2-I5S 相机SDK:CH-HCNetSDKV6.1.6.45_build20210302_win64 一、前言 首先,海…

超分辨结构光技术学习

简介: 结构光 Super-resolved structured illumination microscopy (SR-SIM) 是一种超分辨荧光显微镜的手段,通过后期计算的方式提高系统的衍射极限。 它的优点在于,只需要和标准的荧光显微镜一样的样本准备方式,只用常规的荧光…

【opencv实战】海康摄像rtsp流不同方案下的时延测试(Ing)

测试摄像头型号:海康威视DS-2CD2T26FWD-i5s中的6mm/12mm 相机 测试方式:rtsp流 1. VLC (1). vlc 直接播放 rtsp 流 这个延迟不得了,大概有2s。 (2). vlc 关闭缓存 因为 vlc 播放器默认有个网络缓存时间,我查看了一下我的设置…

一、人像分割

开源PP-HumanSegl模型,提供了三个高质量的人像分割模型:有应用于服务端GPU部署的PP-HumanSegl模型,有适用于移动端的轻量PP-HumanSeg模型,还有能够在浏览器部署的超轻量模型PP-HumanSegs模型。 近期百度视频会议 上线了虚拟背景功能,支持在网页端视频会议时进行背景切…

反馈 术语 串小鸭 并大流

反馈 术语 串小鸭 并大流 反馈 术语 串小压 并大流 串联反馈是电压反馈量,适用于电压源的电路 并联反馈是电流反馈量,适用于电流源的电路 这个鸭(压) 有两重含义 1.反馈量是电压。2,适用于信号源是电压源的电路 这…

python 画笔画一些形状(八卦图、小鸭子、五角星等)

八卦图 from turtle import *def yin(radius, color1, color2):width(3)color("black", color1)begin_fill()circle(radius/2., 180)circle(radius, 180)left(180)circle(-radius/2., 180)end_fill()left(90)up()forward(radius*0.35)right(90)down()color(color1, c…

奇怪的小鸭子也增加了Java实现

题干 Description 有一个 AB 的大澡盆,还有若干个 ab 的长方形小鸭子,澡盆里最少放几只鸭子后,便无法再向其中放入更多的鸭子? 鸭子很倔强,不能旋转成 ba,也不能重叠放置。 Input 四个整数&#xff0c…

Python代码画小鸭穿雨靴--turtle绘图

效果图 代码如下 # 穿雨鞋的小鸭 from turtle import *# 扁嘴 pensize(2)pu() goto(-100, 100) # 上嘴最高顶点 seth(-50) pd() color(#6C3100, #FADD77) begin_fill() fd(16) vertex_right pos() # 嘴最右顶点 rt(50) fd(12) vertex_down pos() # 下嘴最低顶点 rt(80) f…