MCS-51 单片机的结构和工作原理
一、MCS-51单片机的基本组成
MCS-51单片机芯片有许多种,如8051、8031、8751、80c51、80c31等。它由中央处理器(CPU)、时钟电路、程序存储器(ROM/EPROM)、数据存储器(RAM)、并行I/O口(P0~P3)、串行口、定时器/计数器及中断系统组成。它们通过单一总线连接,并被集成在一块半导体芯片上,即单片微型计算机(Single-Chip Microcomputer)。
二、8051单片机内部结构和功能
中央处理器CPU
中央处理器CPU是单片机内部的核心部件,它决定了单片机的主要功能特性,由运算器和控制器两部分组成。
1、 运算器
运算器是计算机的运算部件,用于实现算术逻辑运算、位变量处理、移位和数据传送等操作。它是以算术逻辑单元ALU为核心,加上累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字PSW以及十进制调整电路和专门用于位操作的布尔处理器组成。
(1)算术逻辑单元
算术逻辑单元ALU用来完成二进制数的四则运算和布尔代数的逻辑运算。此外,通过对运算结果的判断影响程序状态标志寄存器的有关标志位。
(2)累加器
累加器ACC为8位的寄存器,是CPU中使用最频繁的寄存器。它既可以用于存放操作数,也可以存放中间结果。MCS-51中大部分单操作数指令的操作数就取自累加器ACC,许多双操作数指令中的一个操作数也取自累加器ACC,单片机中大部分数据操作都通过累加器ACC进行的。
(3)寄存器B
寄存器B是个8位寄存器,是为ALU进行乘除运算设置的。在执行乘法运算指令时,寄存器B用于存放其中一个乘数和乘积的高8位。在执行除法时,用于存放除数和余数。还可以作为一般的寄存器来使用。
(4)程序状态字PSW
程序状态字PSW是个8位的特殊功能寄存器,它的各位包含了程序运行的状态信息,以供程序查询和判断。PSW格式和含义如下:
1) Cy 进位标志位。Cy是PSW中最常用的标志位。由硬件或软件置位和清零。它表示运算结果是否有进位(借位)。如果运行结果在最高位有进位输出(加法)或借位输入(减法)时,则Cy由硬件置“1”;否则Cy被请“0”。
2) AC 辅助(半)进位标志。当执行减法运算时,运算结果产生低四位向高四位进位或借位时,由硬件置“1”;否则清“0”。
3) F0 用户标志位。由用户定义使用。
4) RS1和RS0 工作寄存器组选择位。这两位的值决定选择哪一组寄存器作为当前寄存器组。
5) OV 溢出标志位。
6) 未定义。
7) P 奇偶标志位。P标志表明ACC中1个数的奇偶性。在每条指令执行完后,单片机根据ACC内容对P位自动置位或复位。若累加器ACC中有奇数个1,则P=1;若累加器ACC中有偶数个1