一、MCS-51 的核心电路
单片机 8051 内部结构框图
一个8位CPU; 一个片内振荡器和时钟电路; 4K字节片内部程序存储器ROM ; 128字节片内部数据存储器RAM ; 可寻址64K外部程序存储器; 可寻址64K外部数据存储器; 21个特殊功能寄存器 (专用寄存) ; 32条可编程的 I/O 线(4个8 位并行I/O端口); 两个16位定时器/计数器; 一个可编程全双工串行口; 具有5个中断源,两个优先级嵌套中断结构。 单片机各功能部件由内部总线联系在一起。简化结构如下图所示
MCS-51 单片机结构框图
二、中央处理单元CPU CPU 是单片机的核心部件,如上图所示,各方框表示功能部件,可以看出本单片机是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码, CPU 负责控制、指挥和调度整个单元系统协调的工作,完成各种运算,实现对单片机各功能部件的指挥和控制任务,它是由运算器和控制器等部件组成的。各功能部件实际上是 CPU 的有机组成部分,各功能部件通过运行程序相联系 (1)运算器 运算器的功能是进行算术运算和逻辑运算,它还包含一个布尔处理器,用来处理位的操作。运算器模块包括算术和逻辑运算部件 ALU、布尔处理器,累加器 ACC、 B 寄存器、暂存器 TMP1 和 TMP2、程序状态字寄存器 PSW 和十进制数调整电路等。 1、累加器 ACC 是一个最常用的专用寄存器。大部分单操作数据指令的操作数取自累加器。很多双操作数指令中的一个操作数也取自累加器。加、减、乘、除算术运算指令的运算结果都存放在累加器 A 或 AB 寄存器对中。指令系统中用 A 作为累加器的助记符。 2、B 寄存器 3、程序状态字 PSW 程序状态字记录程序状态信息,反映程序运算结果的特征,它是一个 8 位寄存器。其中 PSW 的 1 位未用,格式如下:(按 D7 ~ D0 顺序排列)
① Cy (PSW.7) — 进位标志。在执行某些算术和逻辑指令时,当运算结果的最高位有进位或借位时, Cy 将被硬件置位,否则就被清零。不同的是在布尔处理机中,它被认为是位累加器,可由软件置位或清零。 ② AC (PSW.6) — 辅助进位标志。在进行加法或减法操作中,当低 4 位数向高 4 位数有进位或借位时, AC 将被硬件置位,否则就被清零。 AC 被用于十进制调整。 ③ FO (PSW.5) — 用户定义标志。可由用户让其记录程序状态,用作标记,即用软件使其置位或复位。 ④ RS1、RS0(PSW.4,PSW.3) — 工作寄存器组选择控制位。可以用软件置位或清零,以确定当前工作寄存器组。 ⑤ OV(PSW.2 —溢出标志位。在对有符号数作加减运算时,用 C6 表示 D6 位向 D7 位的进位或借位,用C7表示D7位向更高位的进位或借位,则 OV 标志可由下式求得: OV=C6 ⊕ C7。 OV=1 表示加减运算的结果超出了目的寄存器 A 所能表示的带符号数的范围(-128 ~ +127)。 无符号数乘法指令 MUL 的执行结果也会影响溢出标志。若置于累加器 A 和寄存器 B 的两个数的乘积超过 255 时(8位数), OV=1 ,否则 OV=0 。此积的高 8 位放在 B 内,低 8 位放在 A 内。因此, OV=0 时,只要从 A 中取得乘积即可,否则还要从 B 中取得乘积的高 8 位。 除法指令 DIV 也会影响溢出标志,当除数为 0 时, OV=1 ,否则 OV=0 。 ⑥ (PSW.0) — 奇偶标志。每个指令周期都由硬件来置位或清零,以表示累加器 A 中有 1 的位数的奇偶数。若 1 的位数为奇数,则 P 置位,否则清零。该标志位对串行通信中的数据传输有重要意义。和数学中的数据本身的奇偶性有区别。当 A=10101000B 时,因数中是三个 1 使 P 置位。在数据传输时,当把一批数的 P 位和原 8 位放在一起构成 9 位数,这批 9 位数中 1 的个数应全为偶数。接收端如收到的数没有偶数个 1 则认为出错。 (2)控制器 控制器部件是由指令寄存器、程序计数器 PC ,定时与控制电路等组成的。 ① 指令寄存器和译码 指令寄存器中存放指令代码。 ② 程序计数器 PC 程序计数器 PC 用来存放即将要执行的指令地址,共 16 位,可对 64K 程序存储器直接寻址。 ③ 定时与控制电路 定时与控制电路是产生 CPU 操作时序的,它是单片机的心脏。控制各种操作的时间。 8051 芯片内部有一个反向放大器所构成的振荡电路, XTAL1 和 XTAL2 分别为振荡电路的输入端和输出端。放大器可以产生自激振荡,此时时钟由内部方式产生。当 XTAL1 接地, XTAL2 接外部振荡器时,时钟由外部方式产生。 三、8051 内部 ROM 存储器 ROM: Read Only Memory 一般用于存放程序和表格等不常改变的数据 8051单片机的 ROM 是掩摸 ROM 容 量:4096byte(212) 地址范围:0000H ~ 1FFFH 四、8051 内部的 RAM 存储器 RAM : Random Access Memory 一般用于存放程序执行过程中产生的大量的临时数据,相当于 PC 的内存。 8051 单片机的内部 RAM : 容 量: 128 字节 地址范围: 00H~7FH
|