【89c51汇编语言】51单片机结构及其原理

article/2025/9/18 1:43:59

单片机结构及其原理

  • 51单片机的内部结构
    • 单片机CPU
      • 控制器
        • 控制器:程序计数器:PC
      • 控制器:数据指针寄存器:DPTR
      • 运算器
        • 累加器A
        • PSW程序状态字
          • CY(PSW.7)进位标志
          • AC(PSW.6)辅助进位标志
          • RS1和RS0(PSW.4&PSW.3)工作寄存器组指针
          • OV(PSW.2)溢出标志位
          • P(PSW.0)奇偶标志位
  • 51单片机的引脚以及功能
    • 电源以及晶振引脚
    • 控制引脚
    • 并行IO口引脚
      • P3口的第二功能定义
  • 51单片机的存储器结构
    • 程序存储器ROM
      • ROM的6个特殊存储器单元
    • 数据存储器RAM
      • 低128字节分区1:工作寄存器区(00H-1FH)
  • 51单片机的复位、时钟与时序
    • 复位
  • 时钟和时序

51单片机的内部结构

SCM:将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统。
在这里插入图片描述
SCM=CPU+ RAM+ ROM+I/O+T/C+INT+UART

单片机CPU

CPU由控制器和运算器组成。
在这里插入图片描述

控制器

控制器:程序计数器:PC

PC——指令地址寄存器,永远存放着下一条指令的地址。
所以PC的变化规律决定着程序的流程。
PC还以下的性质:
16位的字长:可寻址范围为64KB
自动加1功能:顺序运行程序
可以被修改:跳转到运行的程序
复位时,PC值为0,也就是说复位后程序从0开始运行。

控制器:数据指针寄存器:DPTR

用于表示存储器数据地址的指针
16字节的字长,可寻址范围64kb,可以拆位2个8位的独立寄存器DPL和DPH

运算器

作用:对数据进行算术运算和逻辑运算。
组成:算术/逻辑部件ALU+累加器ACC+程序状态字PSW+其他运算单元
功能:
1.对暂存器中的数据进行运算。
2.结果保存到ACC中。
3.运行状态反映在PSW中。
在这里插入图片描述

累加器A

累加器A是一个8位寄存器,用来存放操作数或是中间运行结果。

PSW程序状态字

是一个8位的专用寄存器,用于存放程序运行过程中的各种状态信息。
PSW中的各位信息通常是在指令执行的过程中自动形成的,但也可以由传送指令加以改变。
在这里插入图片描述

CY(PSW.7)进位标志

在进行加减运算时,如果操作结果的最高位有进位或者是借位,CY由硬件置“1”,否则清“0”
在这里插入图片描述

AC(PSW.6)辅助进位标志

在进行加或减法运算时,如果操作结果的低四位数向高四位数产生进位或者是借位,由硬件置“1”,否则清“0”
用途:1.根据ac判断加减运算时有无半进位或者是半借位。
2.在BCD码调整运算中要用到AC标志。

RS1和RS0(PSW.4&PSW.3)工作寄存器组指针

在这里插入图片描述

OV(PSW.2)溢出标志位

运算结果是否存在溢出,若有溢出,OV=1,无溢出,OV=0.

P(PSW.0)奇偶标志位

该位始终跟踪累加器A中含“1”个数的奇偶性
用于串行通信中的数据校验,判断是否存在传输错误。

51单片机的引脚以及功能

在这里插入图片描述

电源以及晶振引脚

vcc:+5v电源引脚
vss:接地引脚
XTAL1、XTAL2:外接晶振引脚

控制引脚

在这里插入图片描述

并行IO口引脚

51单片机有32个io引脚,分别组成P0、P1、P2、P3四个端口。
P1口具有输出、读引脚、读锁存器三种工作方式,但是P0口做输入输出作用时需要外接上拉电阻。P0口和P2口除了做数据的输入和输出,还可以被用来构建系统的数据总线和地址总线。

P3口的第二功能定义

在这里插入图片描述

51单片机的存储器结构

计算机存储器地址空间的两种结构形式:
普林斯顿结构和哈佛结构。
在这里插入图片描述
在这里插入图片描述
51单片机采用哈佛结构,共有四个物理存储空间,或三个逻辑存储空间。
ROM:64KB,包含4KB的片内ROM+64KB的片外ROM(60+4)
RAM:包含片内数据存储器(共256B,21个sfr+128B的内部RAM)和64KB片外数据存储器
在这里插入图片描述

程序存储器ROM

作用:存放程序,表格或者是常数(掉电可保存)
字长:8位
数量:片内ROM4KB,片外ROM64KB(其中4KB与片内ROM共用地址编号)
通过控制线EA来选择是片内ROM操作还是片外ROM操作。(EA=1,程序从片内ROM开始,片内ROM和片外ROM共同构成64kb空间,EA=0时,片内ROM被禁用,程序从片外ROM开始)

ROM的6个特殊存储器单元

在这里插入图片描述

数据存储器RAM

作用:存放程序运行结果(掉电消失)
数量:256B
字长:8位
在这里插入图片描述
低128B为普通RAM区
高128B为特殊功能寄存器区

低128字节分区1:工作寄存器区(00H-1FH)

分为四组,每一组8个单元,命名为工作寄存器R0-R7。
通过PEW中的RS1与RS0进行设置。
注意,cpu复位后,RS1与RS0都是默认为0,即默认第0组为当前工作寄存器组。

51单片机的复位、时钟与时序

复位

分为三种:上电复位、按键复位、复合复位
在RST引脚端出现满足复位时间要求的高电平状态(一般不小于10ms)
在这里插入图片描述

时钟和时序

操作必须在统一的时钟控制下才能正确进行,各操作的时间顺序称为时序
在这里插入图片描述

时序定时单位一共有四个参数:
拍(振荡周期、时钟周期)P
状态周期S:一个状态s包含两个拍(p)
机器周期:一个机器周期由6个s或者是12个p组成(振荡周期时机器周期的1/12)
指令周期


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

相关文章

89c51单片机

89c51是一款很大众化的入门级单片机,ATMEL、NXP、STC、和SST等公司生产的与80c51兼容低功耗、高性能8位89c51/s51单片机具有比80c31更丰富的外设资源。 89c51/s51单片机芯片内包括: ①一个8位的80c51微处理器(CPU) ②片内256字…

关于会话(session),你应该了解这些

一、什么是会话 会话Session代表的是客户端与服务器的一次交互过程,这个过程可以是连续也可以是时断时续的。在Servlet中(jsp),一旦用户与服务端交互,服务器tomcat就会为用户创建一个session,同时前端会有…

ZooKeeper客户端源码(一)——向服务端建立连接+会话建立+心跳保持长连接

首发CSDN:徐同学呀,原创不易,转载请注明源链接。我是徐同学,用心输出高质量文章,希望对你有所帮助。 一、从ZooKeeper实例初始化开始 ZooKeeper 提供了原生的客户端库,虽然不好用,但是能够更好…

会话劫持安全攻击

什么是会话劫持? TCP 会话劫持是对受保护网络上的用户会话的安全攻击。会话劫持最常见的方法称为 IP 欺骗,攻击者使用源路由 IP 数据包将命令插入网络上两个节点之间的活动通信中,并将自己伪装成经过身份验证的用户之一。这种类型的攻击是可能…

HTML sessionStorage会话存储

sessionStorage会话存储 sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。本篇主要介绍 sessionStorage(会话存储)的使用方式。包括添加、修改、删除等操作。 目录 1. 介…

【windows】会话(Session)、窗口站(WindowsStation)、桌面、窗口

序 一个系统可以同时登录多个用户(包括远程用户登录)(多用户系统)。 一个用户拥有一个会话(远程用户被称为远程会话)。 一个会话拥有多个工作站和窗口。只能拥有一个交互式工作站(Winsta0)。(Window Station 0…

WindTerm导出会话

WindTerm的session配置并无法被适用于其他软件中,所有的session保存在WindTerm安装路径下的profiles文件夹内,如果需要更新版本或回退,将所安装的版本覆盖即可,或是将profiles复制于新路径下。 图标闪烁设置、会话保存-导入导出 …

Spring Security中的会话【Session】管理与防御以及会话的并发控制

众所周知,HTTP本身是没有任何关于当前用户状态的内容,也就是两个HTTP请求之间是没有任何的关联可言,用户在和服务器交互的过程中,站点无法确定是哪个用户访问,也因此不能对其提供相应的个性化服务。Session的诞生就是为…

web基础:会话

一、会话概述 HttpSession对象可以保存跨同一个客户多个请求的会话状态。即与一个特定客户的整个会话期间,HttpSession会持久存储。对于会话期间客户做的所有请求,从中得到的所有信息,都可以使用HttpSession对象保存。 会话的工作方式&#…

会话固定攻击(session fixation attack)及解决办法

1 Cookie 的工作过程 Cookie的传递用到了两个字段: 请求头字段Cookie和响应头字段Set-Cookie。 当用户浏览器第一次访问服务器的时候,服务器肯定是不知道他的身份的。所以,就要创建一个独特的身份识别数据,格式是"keyvalue"&…

2022年会话推荐综述

title: 2022年会话推荐综述 最近对于会话推荐有了新的兴趣 文章题目: A Survey on Session-based Recommender Systems 0. 前言 提供了一个统一的框架来对SBRSs研究进行分类 SBRS的统一问题陈述,其中SBRS建立在正式概念之上:用户、项目、…

会话保持原理

1. 什么是会话保持? 会话保持是负载均衡最常见的问题之一,也是一个相对比较复杂的问题。会话保持有时候又叫做粘滞会话(Sticky Sessions)。会话保持是指在负载均衡器上的一种机制,可以识别客户端与服务器之间交互过程的关连性,在…

linux会话session

linux会话 什么是linux session 我们常见的 Linux session 一般是指 shell session。Shell session 是终端中当前的状态,在终端中只能有一个 session。 当我们打开一个新的终端时,总会创建一个新的 shell session。这表明会话是我们和shell交互的一个过…

会话令牌写入URL

目录 一. 漏洞描述 二. 漏洞修复 一. 漏洞描述 会话令牌即Token,关于Token,传送门-》如何理解Session、Cookie与Token 。 用户在进行get请求将用户的令牌写入url,导致中间人攻击获取令牌进行登陆。如下 二. 漏洞修复 禁止将令牌写入url

PDU会话流程

1.PDU会话的概念 1.1概述 5G系统的一个关键功能:为UE提供一个到达DN的连接会话管理功能(SMF)职责: 设置UE到DN的连接对该连接的用户面进行管理 5G系统的设计目标是支持大量的5G案例: 支持不同的PDU类型多个可选的…

会话固定漏洞

目录 漏洞原理 漏洞检测 漏洞利用 漏洞修复 漏洞原理 Session 是应用系统对浏览器客户端身份认证的属性标识,在用户退出应用系统时,应将客户端 Session 认证属性标识清空。如果未能清空客户端 Session 标识,在下次登录系统时&#xff0c…

《Oracle Java EE编程自学和面试指南》09-02:HttpSession接口

深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版)。 深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版)。 内容导航: 前言1、HttpSessi…

【LWIP的mDNS】

一.mdns 1.什么是mdns? mDNS协议适用于局域网内没有DNS服务器时的域名解析,设备通过组播的方式交互DNS记录来完成域名解析,约定的组播地址是:224.0.0.251,端口号是5353 主要用于在同一局域网内,…

DNS DDNS NBNS mDNS LLMNR LLDPDU SSDP协议

DNS DNS只是提供了域名和IP地址之间的静态对应关系,当IP地址发生变化时,DNS无法动态的更新域名和IP地址之间的对应关系,从而导致访问失败。但是DDNS系统是将用户的动态IP地址映射到一个固定的域名解析服务上 DDNS DDNS用来动态更新DNS服务…

mDNSResponder介绍与移植

mDNSResponder是苹果的Bonjour项目的一部分。 Bonjour是法语“你好”的意思。 Bonjour软件源自正IETF零配置网络工作。零配置工作有三个要求: 1.分配IP地址(即使没有分配DHCP服务器的IP地址) 2.提供名称到地址的转换(即使没有DNS服…