MCS-51单片机 原理 整理

1 书籍

《MCS-51单片机原理、系统设计与应用_12015401.pdf》
MCS-51 Intel 公司 的 8051 内核技术
MSC-51单片机(有史以来,最简单易懂教程).pdf
《新编MCS-51单片机应用设计.pdf》 ---- good

2 MCS-51 PC 指针

PC 是 单片机 CPU 内部的一个寄存器
总是指向程序存储器,存放下一条要执行指令的地址。
复位之后的的值为 0x0000H

CPU内部的寄存器包括:

寄存器复位值
PC0000H
Acc00H
B00H
PSW00H
SP07H
DPTR0000H

MCS-51 复位之后,(PC)= 0000H,
系统程序从0000H单元开始,0000H是复位入口地址,是系统程序的启动地址。
一般在该单元存放一条绝对跳转指令,从跳转地址开始存放初始化程序和主程序。

2 MCS-52 内部RAM划分

00H — 7FH ( 0 —127 )单元组成的128字节的RAM块

80H ---- FFH ( 128 — 255 )单元组成的 128字节的RAM块 (MCS-51中没有,这一个部分)

80H ---- FFH ( 128 — 255 )的 SFR 特殊功能寄存器块

在MCS-52 中,高128字节的RAM 和SFR块地址重叠,但是物理上是两个不同的地方。
访问的时候,根据指令的不同,来确定是访问RAM,还是方位SFR。
访问高80H ---- FFH RAM是 间接寻址方式。
访问SFR 是 直接寻址方式。
低128字节的RAM 间接 直接都可以。

SFR 这128个字节中仅仅有26个字节是有意义的。

3 MSC-51 低128字节 RAM划分 00H – 7FH

在这里插入图片描述

CPU寄存器 SP 指针 复位之后 指向 RAM地址 07H,
如果使用PUSH指令 ,会将数据存放在 RAM地址07H,08H,依次往上。

RAM 地址的 00H — 07H 是第一组 R0 — R7
RAM 地址的 08H — 0FH 是第二组 R0 — R7
RAM 地址的 10H — 17H 是第三组 R0 — R7
RAM 地址的 18H — 1FH 是第四组 R0 — R7
R0—R7 不是 和 PC SP 一样的 CPU内部的寄存器。

R0 – R7 叫做 工作寄存器区 位于 RAM

SFR 应该是位于CPU内部— 是特殊功能寄存器。

4 堆栈

用户RAM区,地址为30H — 7FH,这些地址只能按字节寻址。
复位的时候,SP指向07H单元,当用户使用堆栈的时候,应该首先设置堆栈,用户堆栈一般设置在30H—7FH范围之内。
SP 设置的越大,堆栈越浅。

堆栈 是在片内RAM中开辟出来的一个区域,其主要是为子程序调用和中断操作而设立的。
具体功能是:保护断点和保护现场。
无论是子程序调用,还是中断操作,都需要返回主程序。

堆栈指针SP 是一个8位的SFR,特殊功能寄存器,SP的内容指示堆栈顶部在内部RAM块中的位置。
它可以指向内部RAM 00H— 7FH的任何单元。
实际使用的时候,最好是SP的值,设置为1FH,或者更大的值。

堆栈的操作,也就是对SP指针的操作,是通过指令集中的PUSH和POP指令实现的。
操作两种:一种是数据压入(PUSH)堆栈,
另外一种是数据弹出(POP)堆栈。

堆栈的栈顶由SP自动管理。每次进入压入或者弹出操作以后,堆栈指针SP自动调整以保持指示栈顶位置。
当一个字节数据压入堆栈后,SP自动加1.
一个字节数据弹出堆栈之后,SP自动减1
MCS-51单片机的这种堆栈结构是属于向上生长型的堆栈。

5 堆栈操作指令

MCS-51 单片机内部 RAM,后进先出(Last In First Out),
进栈指令
Push direct
功能是,首先将SP 加1 ,然后将direct指向的地址的内容,放到SP指向的RAM单元中。
出栈指令
POP direct
栈指向的RAM中的内容放入 direct指向的地址中,
SP 减小1.

6 RET 子程序的放回指令

RET
指向指令的时候,
SP ---->PCH 然后 SP - 1 -----> SP
SP ---->PCL 然后 SP - 1 -----> SP
功能是从堆栈中退出PC的高8位和低8位字节,
把栈指针减小2,从PC值开始继续执行程序。不影响标志。

6 RETI 子程序的放回指令

和RET类似,本指令清除了中断响应时候,单片机内部的中断优先级状态。

7 长调用

在这里插入图片描述

在这里插入图片描述

8 中断

中断源向CPU提出处理请求。
CPU主动中止执行的程序,转去执行中断服务程序,
硬件自动将中断点的地址(16位程序计数器PC的值)压入堆栈中。

中断响应的主要内容是由硬件自动生成一条长调用指令LCALL addr16。
addr16 是程序存储区中的中断向量地址。
例如 对于 外部中断1的响应,产生的长调用指令是,
LCALL 0013H。

生成LCALL 指令后,由CPU直接执行该指令。
首先是将PC的内容压入堆栈保护断点,再将中断入口地址装入PC。

9 典型的中断服务程序

在这里插入图片描述

在这里插入图片描述

MCS-51单片机原理、系统设计与应用 课后答案 word版 第一章 单片机概述 1.2除了单片机这一名称之外,单片机还可称为(微控制器)和(嵌入式控制器)。 1.3单片机与普通计算机的不同之处在于其将(微处理器)、(存储器)和(各种输入输出接口)三部分集成于一块芯片上。 4、单片机的发展大致分为哪几个阶段? 答:单片机的发展历史可分为四个阶段: 第一阶段(1974年----1976年):单片机初级阶段。 第二阶段(1976年----1978年):低性能单片机阶段。 第三阶段(1978年----现在):高性能单片机阶段。 第四阶段(1982年----现在):8位单片机巩固发展及16位单片机、32位单片机推出阶段 1.5单片机根据其基本操作处理的位数可分为哪几种类型? 答:单片机根据其基本操作处理的位数可分为:1位单片机、4位单片机、8位单片机、16位单片机和32位单片机。 1.6 MCS-51系列单片机的基本芯片分别为哪几种?它们的差别是什么? 答:基本芯片为8031、8051、8751。 8031内部包括1个8位cpu、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。 8051是在8031的基础上,片内又集成有4KBROM,作为程序存储器,是1个程序不超过4KB的小系统。 8751是在8031的基础上,增加了4KB的EPROM,它构成了1个程序小于4KB的小系统。用户可以将程序固化在EPROM中,可以反复修改程序。 1.7 MCS-51系列单片机与80C51系列单片机的异同点是什么? 答:共同点为它们的指令系统相互兼容。不同点在于MCS-51是基本型,而80C51采用CMOS工艺,功耗很低,有两种掉电工作方式,一种是CPU停止工作,其它部分仍继续工作;另一种是,除片内RAM继续保持数据外,其它部分都停止工作
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值