首页 理论教育初学者必读!单片机基础结构解析

初学者必读!单片机基础结构解析

【摘要】:8051单片机的内部结构由运算器、控制器、存储器、数据总线和I/O接口组成。7)中断控制系统 8051单片机拥有5个中断源,两个中断优先级的中断控制系统,以满足控制应用的需要。图3-2 单片机内部振荡图3-3 HMOS8051单片机外部时钟图3-4 CHMOS80C51单片机9)时序定时51单片机共有4个,分别为振荡周期、状态周期、机器周期和指令周期。

本书所讲的51系列单片机指的是MCS-51系列单片机,可能不同厂家生产的51系列单片机从表面到内部资源不完全一样,但是芯片的内部结构是一致的,都采用了8051内核。51单片机内部基本模块包括中央处理器(CPU)、存储器(数据存储器RAM和程序存储器ROM)、并行I/O口、串行通信口、定时/计数器、中断系统等功能器件,内部模块之间通信由总线连接,51单片机内部结构框图如图3-1所示。

8051单片机的内部结构由运算器、控制器、存储器(ROM及RAM)、数据总线和I/O接口组成。中央处理器CPU包括运算器、控制器以及若干寄存器等部件。

运算器电路包括ALU(算术逻辑单元)、ACC(累加器)、B寄存器、状态寄存器PSW、暂存器TMP1和暂存器TMP2等部件,运算器的功能是进行算术运算、逻辑运算和位运算。

1.累加器A

累加器为8位寄存器,是程序中最常用的专用寄存器,在指令系统中累加器的助记符为A。作用:作为暂存寄存器,用于提供操作数和存放运算结果。直接与内部总线相连,一般信息传递和交换都要经过ACC。

2.寄存器B

B寄存器为8位寄存器,主要用于乘除指令中。乘法指令的两个操作数分别取自累加器A和寄存器B,其中B为乘数,乘法结果的高8位存放于寄存器B中。除法指令中,被除数取自A,除数取自B,除法的结果商数存放于A,余数存放于B中。在其他指令中,B寄存器也可作为一般的数据单元来使用。

3.程序状态字PSW

程序状态字是一个8位寄存器,它包含程序的状态信息。在状态字中,有些位状态是根据指令执行结果,由硬件自动完成设置的,而有些状态位则必须通过软件方法设定。PSW中的每个状态位都可由软件读出,PSW的各位定义如下:

978-7-111-47690-0-Part01-77.jpg

图3-1 51单片机内部结构框图

978-7-111-47690-0-Part01-78.jpg

(1)CY:进位标志位

在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在算术运算中它可作为进位标志,在位运算中,它作累加器使用,在位传送、位与和位或等位操作中,都要使用进位标志位。

(2)AC:辅助进位标志

进行加法或减法操作时,当发生低四位向高四位进位或借位时,AC由硬件置位,否则AC位被置“0”。在进行十进制调整指令时,将借助AC状态进行判断。

(3)F0:用户标志位

该位为用户定义的状态标记,用户根据需要用软件对其置位或清零,也可以用软件测试F0来控制程序的跳转。

(4)RS1和RS0:寄存器区选择控制位

该两位通过软件置“0”或“1”来选择当前工作寄存器区。

(5)OV:溢出标志位

当执行算术指令时,由硬件置位或清零来指示溢出状态。在带符号的加减运算中,OV=1表示加减运算结果超出了累加器A所能表示的符号数有效范围(-128~127),即运算结果是错误的,反之,OV=0,即无溢出产生。

(6)P:奇偶标志位

每个指令周期由硬件来置位或清零,用以表示累加器A中1的个数的奇偶性,若累加器中1的个数为奇数则P=1,否则P=0。(www.chuimin.cn)

51单片机各部分功能介绍如下:

1)中央处理器(CPU) 单片机的核心,完成运算和控制功能,MCS-51的CPU能处理8位二进制数或代码。

2)内部数据存储器(内部RAM) 8051芯片中有128个RAM单元,用于存放可读写的数据,简称内部RAM。

3)内部程序存储器(内部ROM) 8051芯片内部有8KB掩膜ROM,用于存放程序或表格,因此称为程序存储器,简称内部ROM。

4)定时器/计数器 8051共有两个可编程的16位定时器/计数器,以实现定时或计数功能。

5)并行I/O口 MCS-51单片机共有4个可编程的8位I/O口(P0,P1,P2,P3),以实现数据的并行输入/输出。

6)串行口 MCS-51单片机有一个全双工的串行I/O口,以实现单片机和其他设备之间的串行数据传送。

7)中断控制系统 8051单片机拥有5个中断源,两个中断优先级的中断控制系统,以满足控制应用的需要。

8)时钟电路 由振荡电路得到一个基本的振荡信号,然后对振荡信号进行分频,从而得到相应的时钟。单片机的振荡电路有两种:内部振荡(电路设计时使用比较多)和外部振荡。

内部振荡如图3-2所示:MCS-51芯片的内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为放大器的输入端和输出端,将其余外接的晶体振荡器和微调电容相连,构成内部自激振荡器产生振荡时钟脉冲,电容C1和C2电容容量选择范围为5~30pF,系统允许的晶振频率为1.2~12MHz(此种情况电路设计时使用比较多)。

外部振荡:利用外部已有的时钟信号引入到单片机内部。对于HMOS 8051单片机外部时钟XTAL2用来输入外部时钟信号,XTAL1接地如图3-3所示;对于CHMOS 80C51单片机必须用XTAL1输入外部时钟信号,XTAL2悬空如图3-4所示。(注意:8051与80C51完全兼容,差别主要在芯片制造工艺上,80C51的制造工艺是在8051基础上进行了改进,8051采用HMOS工艺,高速度、高密度;80C51采用CHMOS工艺,高速度、高密度和低功耗)。

978-7-111-47690-0-Part01-79.jpg

图3-2 单片机内部振荡

978-7-111-47690-0-Part01-80.jpg

图3-3 HMOS8051单片机外部时钟

978-7-111-47690-0-Part01-81.jpg

图3-4 CHMOS80C51单片机

9)时序定时51单片机共有4个,分别为振荡周期、状态周期、机器周期和指令周期。

①振荡周期:为单片机提供时钟信号的振荡源周期,振荡信号若采用内部振荡则周期为石英晶振频率的倒数。

②状态周期:振荡源信号经二分频后形成的时钟脉冲信号,振荡信号若采用内部振荡则状态周期为石英晶振频率/2的倒数。

③机器周期:完成一个基本操作所需的时间。

④指令周期:CPU执行一条指令所需要的时间,一般一个指令周期含有1~4个机器周期。