单片机基础:MCS-51单片机的硬件结构(附硬件结构框图)

article/2025/6/22 14:16:38

单片机硬件结构知识点非常琐碎,通过一次两次的学习是不太可能记住的。想要熟练掌握硬件结构,最好的方法是在实验中练习,通过编程多见多用才能牢固的掌握。

MCS-51单片机硬件结构

      • 1.硬件系统框图
      • 2.单片机功能图
      • 3.单片机的主要部件
      • 4.CPU内部结构
        • 4.1.运算器
        • 4.2.控制器
      • 5.存储器
        • 5.1.存储器结构图
        • 5.2.程序存储器ROM
        • 5.3.数据存储器RAM
          • 5.3.1.通用数据存储器
            • 5.3.1.1.工作寄存器区(00H ~ 1FH)
            • 5.3.1.2.可位寻址区(20H ~ 2FH)
            • 5.3.1.3.用户数据缓冲区(30H ~ 7FH)
          • 5.3.2.特殊功能寄存器
          • 5.3.3.三大逻辑存储部分指令
      • 6.I/O接口
        • 6.1.引脚图
        • 6.2.引脚功能
          • 6.2.1.P0 ~ P3
          • 6.2.2.电源引脚
          • 6.2.3.时钟震荡电路引脚
          • 6.2.4.控制信号引脚
      • 时钟电路
      • 复位电路
        • 上电自动复位
        • 上电加按键手动复位

1.硬件系统框图

在这里插入图片描述

2.单片机功能图

在这里插入图片描述
单片机就是一个芯片集成了计算机的三大部分,中央处理器、存储器、I/O接口,这三大部分又通过三总线(数据总线、地址总线、控制总线)相互连接。

3.单片机的主要部件

CPU

  • 1个8位CPU

存储器

  • 4KB程序存储器ROM(Read Only Memory),片外最多可扩展64KB,ROM是只读存储器,用于存储数据,相当于硬盘。
  • 128B数据存储器RAM(Random Access Memory),片外最多可扩展64KB,RAM是随机存取存储器,用于临时存放数据,相当于内存条。
  • 21个具有特殊功能的寄存器SFR。

I/O接口

  • 4个8位并行口,P0、P1、P2、P3
  • 1个全双工串行口

其它

  • 2个16位定时/计数器
  • 5个中断源
  • 1个片内振荡器、时钟电路

4.CPU内部结构

4.1.运算器

  1. 算术/逻辑运算单元ALU:进行算术逻辑运算,加减乘除、与或非等等。
  2. 累加器ACC(8位):助记符A。
  3. 寄存器B(8位):配合ACC完成乘除运算,没有乘除运算时,可当做RAM的一个单元。
  4. 程序状态字寄存器PSW(8位):存放ALU运算状态

4.2.控制器

  1. 堆栈指针SP(8位):存取数据,先进后出。数据入栈出栈时,SP自动加1减1。复位时SP=07H。
  2. 程序计数器PC(16位):存放下条要执行的指令的地址,PC指针指向哪,CPU就执行哪条指令。复位时PC=0000H
  3. 数据指针DPTR(16位):与PC功能一样,区别是DPTR是外部存储器的指针。

5.存储器

5.1.存储器结构图

在这里插入图片描述
单片机存储器在物理结构上分为4部分,片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。但在逻辑上分为3部分,片内外统一编制的程序存储器、片内数据存储器、片外数据存储器,访问这3个存储空间时,采用不同形式的指令。

5.2.程序存储器ROM


读取数据的两条指令
MOVC A, @A + DPTR
MOVC A, @A + PC
DPTR为外部扩展ROM的数据指针


最多扩展64KB的程序存储器


复位地址0000H


当EA为低电平时,所有取指令操作都在片外ROM中进行;当EA为高电平,所有取指令操作都在片内ROM中进行。


各中断入口地址

中断源入口地址
外部中断0(INT0)0003H
外部中断1(INT1)0013H
定时器0(T0)000BH
定时器0(T1)001BH
串行口(TI或RI)0023H

5.3.数据存储器RAM

数据存储器分为外部RAM和内部RAM,内部RAM只有128B地址空间(00H~7FH),外部RAM有64KB(0000H ~ 0FFFFH);访问内部RAM用指令MOV,访问外部RAM用指令MOVX。
内部RAM分为通用数据存储器和特殊功能寄存器,两大部分

5.3.1.通用数据存储器

通用数据存储器被分为三个区,工作寄存器区、可位寻址区、用户数据缓冲器

5.3.1.1.工作寄存器区(00H ~ 1FH)

工作寄存器区共分为4个工作寄存器组,每组有8个工作寄存器R0 ~ R7,可以通过程序状态字寄存器(PSW)中RS0和RS1两位来选择工作寄存器组。

5.3.1.2.可位寻址区(20H ~ 2FH)

可以对具体的某一位进行处理、传输数据等。

5.3.1.3.用户数据缓冲区(30H ~ 7FH)

用户RAM,只能按字节寻址

5.3.2.特殊功能寄存器

21个特殊功能寄存器中,有11可位寻址。
在这里插入图片描述

重要:程序状态字寄存器PSW

5.3.3.三大逻辑存储部分指令

访问ROM用MOVC
访问片内RAM用MOV
访问片外RAM用MOVX

  • 从外部RAM取数 MOVX A,@DPTR
  • 从数到外部RAM MOVX @DPTR,A

6.I/O接口

6.1.引脚图

在这里插入图片描述

6.2.引脚功能

6.2.1.P0 ~ P3

P0口是三态双向口,如果需要输出电平,需要外接上拉电阻。P1、P2是准双向IO口。P3
准双向IO口,双功能口
在这里插入图片描述

6.2.2.电源引脚
引脚功能
Vcc电源输入端
Vss接地端
6.2.3.时钟震荡电路引脚
引脚功能
XTAL1晶体振荡电路反相器输入端
XTAL2输出端,称为单片机的主频
6.2.4.控制信号引脚
引脚功能
RST/VPDRST是复位信号输入端,VPD是内部RAM备用电源,防止突然断电时导致RAM中的数据丢失
ALE/PROGALE地址锁存允许信号
PSEN外部ROM的读选通信号
EA/VPP访问外部ROM控制信号

时钟电路

在这里插入图片描述

复位电路

上电自动复位

在这里插入图片描述

上电加按键手动复位

在这里插入图片描述


http://chatgpt.dhexx.cn/article/b31GGHal.shtml

相关文章

基于51单片机的智能温控风扇(程序+仿真+原理图)

目录 基于51单片机的智能温控风扇1、主要功能2、实验结果3、仿真工程4、原理图5、程序源码6、资源获取 基于51单片机的智能温控风扇 1、主要功能 基于51单片机的智能温控风扇,通过DS180温度传感器采集温度,并通过数码管显示温度,当温度高于…

基于51单片机的温度监测控制系统仿真程序原理图设计

整体方案设计 3.1.1 系统概述 整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。其它个模块围绕着单片机最小系统展开。其中包括,传感器采用DS18B20,负责采集温度数据后发给单片机。显示设备采用4位共阴数码管,显示检测到的温度值。按键…

51单片机电路原理图_51单片机AD转换电路设计实现

51单片机AD转换电路设计实现 关于AD转换的原理,大家在《数字电子技术》中已经学过,这里做过多的介绍,本文介绍一款经典的8位AD转换芯片ADC0804,基于51单片机设计AD转换电路,并完成测量值的转换。 1 芯片引脚介绍 CS:片选信号,低电平有效,即CS=0时候芯片才能正常工作,单…

51单片机电路原理图_HX711的电子秤称重系统设计详解,51单片机,含Proteus仿真、C代码、原理图、论文等...

设计要求 1.系统可实现电子秤基本的称重功能(称重范围为0~10Kg,重量误差不大于0.005Kg); 2.系统应具备键盘输入单价,显示重量,计算总价的功能; 3.单价和总价金额的单位为元,最大金额数值为999.99元,金额误差不大于0.01元; 4.系统超出最大测量范围10Kg时,具有报警指…

51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告)

本设计: 基于51单片机的简易计算器设计(仿真程序原理图PCB设计报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号S0001 芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯…

51单片机计算机加原理图,MCS-51单片机最小系统的组成部分及电路图介绍

MCS-51单片机概述 MCS-51单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到…

手把手教你看懂51单片机原理图

最近当了单片机课设的助教,又再次接触了51单片机。发现初学者还看不太原理图,不能理解单片机 led灯,蜂鸣器,数码管是怎么操作的。现在结合原理图讲解一下怎么操作这些外设模块!我们就以一些初始化代码进行讲解。 注:这…

51单片机电路原理图_51单片机入门(第1篇):纯干货,单片机最小系统

当我们了解了什么是单片机,以及单片机有什么用之后,是否要考虑我们怎么去学习单片机呢?学习单片机其实很简单,需要的起步知识并不需要多少,接下来跟随我的步伐,一步一步的去了解单片机。本文将讲解单片机最小系统和仿真软件以及编程软件的选择。 0. 51单片机最小系统 先来…

理解51单片机最小系统的工作原理

51单片机最小应用系统 概述 要想使用单片机,第一个要搭建的电路就是单片机的最小系统,有了这个最小系统单片机就可以去正常的工作,即使没有其他的外围电路(显示器啥的),也可以对单片机进行程序的编写&…

51单片机原理与设计方案(包含原理图与PCB)

一、单片机简介 单片机:在一片集成电路芯片上集成微处理器(CPU)、存储器(ROM和RAM)、I/O接口电路,从而构成了单芯片微型计算机,即单片机(single chip Microcomputer)也叫…

如何获得海量的RoboCode代码

原文地址:如何获得海量的RoboCode代码 作者:胡泊1982 很多对人工智能感兴趣的朋友受限于资金和场地的限制,只能转向虚拟平台发展。我们机器人天空网站也曾经做过专门的专题介绍了几种常见的虚拟机器人竞赛平台(http://www.robotsk…

Robocode 参数大揭密

Robocode 参数大揭密 文档选项 将此页作为电子邮件发送 最新推荐 Java 应用开发源动力 - 下载免费软件,快速启动开发 级别: 初级 天翼.李Skyala.Li, 2002 年 12 月 02 日 下面天翼.李(Skyala.Li)就和大家一起来看看Robocode中重要的参数并分析分析…

在IDEA上部署Robocode

Robocode的下载和安装 下载网址:https://robocode.sourceforge.io/ 下载Robocode 解压,点击运行压缩包中的jar包完成安装,安装完成后得到肉搏code的文件夹 在Idea上部署robocode 打开IDEA,新建Java项目,注意项目的…

教你玩Robocode(4)——规则系统

理解Robocode的规则系统,你才能写出更好的坦克。许多规则在Robotcode的Roles类中进行了描述。为了便于大家理解,本文对各种规则参数进行详细叙述。 时间 robocode的时间单位为”轮”(turn)。因此,在描述移动速度时,单位为”像素每…

RoboCode的Intellij环境搭建

2019独角兽企业重金招聘Python工程师标准>>> RoboCode自带的源码编辑器十分不便,本次参考youtube上的教程搭建Intellij的roboCode开发环境,最终实现能够编写、编译、运行、调试机器人。 创建项目 首先,用Intellij IDEA新建一个pro…

利用Jython开发Robocode机器人

(转载请注明来源于 金庆的专栏)先用Python写个简单的机器人: from robocode import * class SampleBlaze(Robot): def run(self): while 1 : self.ahead( 100 ) self.back( 100 ) 编译为jar包,注意…

Robocode Rumble: 冠军的技巧

Robocode Rumble: 冠军的技巧 Rumble 冠军揭示胜利的机器人背后的策略 文档选项 将此页作为电子邮件发送 最新推荐 Java 应用开发源动力 - 下载免费软件,快速启动开发 级别: 初级 Dana Triplett Barrow, 自由技术撰稿人 2002 年 12 月 03 日 Roboc…

Robocode教程7——雷达锁定

在这次教程中,我们要写这样一个代码,它将让敌人逃不出我们的眼睛。雷达锁定是一个高效战斗机器人的基础,因为robot只有执行onScannedRobot方法,我们才能够获取敌人的信息,而onScannedRobot方法只有在我们的雷达扫描到敌…

robocode 安装 使用

记录一下 环境: Windows 7 64 JDK 1.8.0_131 一、安装 1、下载 https://robocode.sourceforge.io/ 当前最新版本:robocode-1.9.3.6-setup.jar 2、安装 双击 robocode-1.9.3.6-setup.jar 默认安装在C盘,并创建桌面快捷方式&#xff1b…