51单片机 - 期末复习重要图

news2024/10/4 23:47:58

AT89S51片内硬件结构

1.内部硬件结构图

在这里插入图片描述

2.内部部件简单介绍

在这里插入图片描述

3. 26个特殊功能寄存器分类

按照定时器、串口、通用I/O口和CPU

中断相关寄存器:3
IE - 中断使能寄存器IP - 中断优先级寄存器
定时器相关寄存器6
TCON - 定时器/计数器控制寄存器TMOD - 定时器/计数器模式寄存器
TL0 - 定时器0低字节TL1 - 定时器1低字节
TH0 - 定时器0高字节TH1 - 定时器1高字节
串口相关寄存器:2
7.SCON - 串口控制寄存器8. SBUF - 串口数据寄存器
通用I/O口相关寄存器:4
P0 - 端口0数据寄存器P1 - 端口1数据寄存器
P2 - 端口2数据寄存器P3 - 端口3数据寄存器
CPU相关寄存器:6
ACC - 累加器B - B寄存器
SP - 堆栈指针DPL - 数据指针低字节
DPH - 数据指针高字节PCON - 电源控制寄存器
PSW - 程序状态字寄存器

P3口第二功能定义

在这里插入图片描述

4.AT89S51的CPU是由运算器和控制器构成的

4.1 运算器

主要用来对操作数进行算术、逻辑和位操作运算
主要包括算术逻辑单元ALU、累加器A、位处理器、程序状态字寄存器PSW 等。

4.2 -- 手工图 --

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.2 控制器

在这里插入图片描述

5.中断入口地址

在这里插入图片描述

6.程序存储空间

在这里插入图片描述

6.1 特殊功能寄存器表- 复位值

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

7.存储器结构 EA =1 EA=0

在这里插入图片描述在这里插入图片描述

8.IO口电路结构图

P0

在这里插入图片描述在这里插入图片描述

P1

在这里插入图片描述在这里插入图片描述

P2

在这里插入图片描述在这里插入图片描述

P3

在这里插入图片描述在这里插入图片描述

9.机器周期、指令周期与指令时序

在这里插入图片描述

10. 复位电路

在这里插入图片描述

10.1寄存器复位值

在这里插入图片描述

10.2 最小系统

在这里插入图片描述

11.流水灯电路

请添加图片描述

12.单个数码管电路

请添加图片描述

13.中断系统

请添加图片描述

13.1 TCON (定计控制寄存器)

TCON的中断标志
请添加图片描述IT0 外部中断0触发方式控制位。
当IT0=0时,为电平触发方式。
当IT0=1时,为边沿触发方式(下降沿有效)。
IE0 外部中断0中断请求标志位。
IT1 外部中断1触发方式控制位。
IE1 外部中断1中断请求标志位。
TF0 定时/计数器T0溢出中断请求标志位。
TF1 定时/计数器T1溢出中断请求标志位。

13.2 SCON (串行口控制寄存器)

SCON (串行口控制寄存器)
请添加图片描述TI,发送中断标志位。
RI,接收中断标志位。

13.3 中断允许寄存器 IE

在这里插入图片描述
EX0,外部中断0允许位;
ET0,定时/计数器T0中断允许位;
EX1,外部中断0允许位;
ET1,定时/计数器T1中断允许位;
ES,串行口中断允许位;
EA , CPU中断允许(总允许)位。

13.4 中断优先级寄存器 IP

在这里插入图片描述

13.5 中断入口地址

在这里插入图片描述

14. 定时器计数器

TMOD 设置其工作方式;
TCON 控制其启动和中断申请。

1、工作方式寄存器TMOD

工作方式寄存器TMOD用于设置定时/计数器的工作方式。
低四位用于T0,高四位用于T1。
在这里插入图片描述GATE是门控位
GATE=0时,用于控制定时器的启动是否受外部中断源信号的影响。只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;
GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了INT0/1引脚为高电平这一条件。
C/T :定时/计数模式选择位。C/T =0为定时模式;C/T =1为计数模式。
M1M0:工作方式设置位。定时/计数器有四种工作方式。
在这里插入图片描述

2、控制寄存器TCON

TCON的低4位 控制外部中断
TCON的高4位 控制定时/计数器的启动和中断申请。
在这里插入图片描述TF1:T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。
TR1:T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。
TF0:T0溢出中断请求标志位,其功能与TF1类同。
TR0:T0运行控制位,其功能与TR1类同。

3.定时器计数器工作方式

方式0
方式0为13位计数
方式1
方式1的计数位数是16位
方式2
方式2为自动重装初值的8位计数方式。
方式3
方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。

15.串行口

15.1 传输速率 比特率

比特率是每秒钟传输二进制代码的位数,单位:位/秒(bps)。
如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位),这时的比特率为:
10位×240个/秒 = 2400 bps

15.2 串行口结构

在这里插入图片描述有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H ;接收器是双缓冲结构 ;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。

15.3 SCON 串口控制寄存器

在这里插入图片描述在这里插入图片描述REN,允许串行接收位。由软件置REN=1,启动接收;REN=0,则禁止接收。
TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。在方式0和方式1中,该位未用。
RB8,在方式2或方式3中,是接收到数据的第九位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。
TI,发送中断标志位。在方式0时,当串行发送第8位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。
RI,接收中断标志位。在方式0时,当串行接收第8位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使RI置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。

15.4 PCON 波特率倍增

PCON中只有一位SMOD与串行口工作有关 :在这里插入图片描述SMOD 波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。

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

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

相关文章

数字图像处理(三)

目录 实验六、图像分割方法 实验七、图像识别与分类 实验六、图像分割方法 一、实验目的 了解图像分割技术相关基础知识;掌握几种经典边缘检测算子的基本原理、实现步骤理解阈值分割、区域分割等的基本原理、实现步骤。理解分水岭分割方法的基本原理、实现方法。…

清华大学实验室走在科研管理前沿,与Zoho合作推进新模式

在教育科研工作中,在重视科研的同时,也不能忽略科研管理的重要性。做好教育科研的管理工作,可以有效提高科研工作的效率和质量。项目管理软件可以帮助教育科研团队更加高效地管理项目,并且简化团队成员之间的协作和沟通&#xff0…

【玩转Docker小鲸鱼叭】理解Docker的核心概念

Docker核心概念 Docker有三大核心概念:镜像(Image)、容器(Container)、仓库(Repository) 1、镜像(Image) Docker镜像 是我们创建和运行Docker容器的基础,它…

青大数据结构【2019】【三分析计算】

关键字: 邻接表时间复杂度、哈希表、平均查找长度ASL、堆排序 邻接表表示法 在邻接表上执行图的遍历操作时,需要对邻接表中所有的边(链表中的结点)访问一次,还需要对所有的顶点访问一次,故时间代价为O(n+2)。 1) 散列序号 0 1 2 3 4 5 6 7 元素 19 15 8 5 13 20

奉加微电子PhyPlusKit软件怎么使用

摘要:本文简介使用奉加微电子PhyPlusKit软件清除芯片、制作hexf文件、烧录程序、串口调试等操作方法。 所用硬件: PHY6222开发板,这个开发板上自带了CP210X串口芯片,与电脑的接口的type-c,既可以供电,又可…

探索Gradio Interface的强大功能与无限可能性——launch方法介绍

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

记录一个iOS头部放大计算

视图层级:由于这是在原有的视图层级的基础上完成的放大功能,所以记录了一下计算方法, tableview 和 放大的背景图片都是self.view的子视图,下拉的时候要方法,上滑的时候要同步上移图片 核心代码 [self.view addSubview…

回了一趟老家,我发现老家没有想象中那么舒服!

大家好,我是千与千寻,千寻最近回了一趟老家,说到回老家,我相信说应该大部人觉得是很舒服,自己很满意的生活节奏与感觉。 但是千寻在老家的这一个星期,感受到了非常多的不舒适,希望和星友们聊聊看…

三极管选型

来源网络,仅作笔记 三极管如何选型? 应根据电路的实际上需选取三极管的类别,即三极管在电路中的效用应与所选三极管的机能相吻合。 三极管的品种很多,分类的方式也不同,一般按半导体导电特点分成NPN型与PNP型两大类;按其在电路中…

zabbix-2-创建自定义监控项

例如监控iostat 下的sda tps值 [rootnode1 ly]# iostatLinux 3.10.0-1160.53.1.el7.x86_64 (node1) 2023年06月13日 _x86_64_ (32 CPU)avg-cpu: %user %nice %system %iowait %steal %idle0.06 0.00 0.04 0.01 0.00 99.89Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 1…

网工内推 | 金融业网工专场,员工旅游,带薪年假,节日福利

01 银信科技 招聘岗位:网络工程师 职责描述: 1) 负责分支机构筹建网络系统调试与部署工作、网络运维管理及问题处理支持; 2) 处理外部代理点系统及网络问题协助支持; 3) 负责网络日志平台监控及…

PyCharm安装教程(图文结合,超详细,小白安装必看)

PyCharm安装教程(图文结合,超详细,小白安装必看) 一、Python开发环境 PyCharm集成开发工具(IDE),是当下全球Python开发者,使用最频繁的工具软件。 绝大多数的Python程序,都是在PyCharm工具内…

python控制台学生管理系统

代码与注释 具体功能说明 设计初始界面设计学生信息录入 【数据校准】录入判断 学生姓名不能为空,并且不成超过4个字【数据校准】录入判断年龄在0-120 需要进行判断【数据校准】录入需要判断学号是否为空与学号是否在10位数【数据校准】录入需要判断成绩是否在0-1…

python数据分析-Mysql中NULL和‘ ‘怎么处理(不使用update)

一、空值NULL和空字符’ ’ 展示代码使用的版本是:8.0.28 空值NULL的长度是NULL,是占用存储空间的。空字符串’ 的长度是0,是不占用空间的。 理解:空字符串就像是一个真空状态的杯子,什么都没有;而空值NULL_就像是一…

17-事件循环(实现单线程非阻塞的方法就是事件循环)

一、是什么 🧀🧀🧀首先,JavaScript是一门单线程的语言,意味着同一时间内只能做一件事,但是这并不意味着单线程就是阻塞,而实现单线程非阻塞的方法就是事件循环 在JavaScript中,所有…

Vue路由模式

1. vue路由简介和基础使用 1.1 什么是路由 设备和ip的映射关系 接口和服务的映射关系 路径和组件的映射关系 1.2 为什么使用路由? 在一个页面里, 切换业务场景,具体使用示例: 网易云音乐 网易云音乐 单页面应用(SPA): 所有功能在一个html页面上实现 前…

虚拟内存(Virtual Memory)

什么是虚拟内存? 虚拟内存(Virtual Memory) 是计算机系统内存管理非常重要的一个技术,本质上来说它只是逻辑存在的,是一个假想出来的内存空间,主要作用是作为进程访问主存(物理内存)的桥梁并简化内存管理。…

.NET的AsyncLocal用法指南

AsyncLocal用法简介 通过 AsyncLocal 我们可以在一个逻辑上下文中维护一份私有数据,该上下文后续代码中都可以访问和修改这份数据,但另一个无关的上下文是无法访问的。 无论是在新创建的 Task 中还是 await 关键词之后,我们都能够访问前面设…

开关电源——三种基本拓扑

开关电源——三种基本拓扑 开关电源基本原理——伏秒数法则与占空比 当电路是稳态电路的时候,有限的输入对应有限的输出,即电路不再积累能量,电感积累的能量是电压对时间的积分,在开关电源电路中,电感在开关导通和截…

06- c语言预处理 (C语言)

一 预处理概述 1、前面各章中,已经多次使用过 #include 命令。使用库函数之前,应该用#include引入对应的头文件。这种以 #号开头的命令 称为预处理命令。 2、C语言提供了多种预处理功能,如 宏定义、文件包含、条件编译 等。合理地使用预处理…