51单片机教程-共7章

更新时间:2023-11-16 06:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1章 MCS-51单片机的结构与原理

主要内容:

典型单片机( MCS-51, MSP430, EM78, PIC, Motorola, AVR )的性能,MCS-51内部结构、特点、工作方式、时序和最小应用系统。为学生后续学习单片机应用系统设计、利用单片机解决工程实际问题打下坚实的基础。重点在于基本概念、组成原理、特点及MCS-51的最小应用系统,难点在于时序。 1.1 典型单片机性能概览

典型单片机有MCS-51、MSP430、EM78、PIC、Motorola、AVR等。 (1)MCS-51为主流产品,性能如表1.1.1。

(2)MSP430为低功耗产品,功能较强,性能见教材表1.1.2。 (3)EM78为低功耗产品,价格较低,性能见教材表1.1.3。

(4)PIC为低电压、低功耗、大电流LCD驱动、低价格产品,性能见教材表1.1.4。 (5)Motorola是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。性能见教材表1.1.5。

(6)AVR为高速、低功耗产品,支持ISP、IAP,I/O口驱动能力较强。性能见教材表1.1.6。

表1.1.1 MCS-51系列单片机的性能一览表

系 列 典型芯定时器/计I/O口 片 数器 80C31 4×8位 2×16位 80C51 4×8位 2×16位 51系列 87C51 4×8位 2×16位 89C51 4×8位 2×16位 80C32 4×8位 2×16位 80C52 4×8位 2×16位 52系列 87C52 4×8位 2×16位 89C52 4×8位 2×16位 6 6 1 1 256字节 256字节 8KB EPROM 8KB EPROM 2中断串行通信源 口 5 5 5 5 6 6 1 1 1 1 1 1 片内RAM 128字节 128字节 128字节 128字节 256字节 256字节 片内ROM 无 4KB掩膜ROM 4KB EPROM 4KB EPROM 无 8KB掩膜ROM 21.2 MCS-51单片机硬件结构及引脚

MCS-51系列单片机都是以Intel公司最早的典型产品8051为核心,增加了一定的功能

部件后构成的,因此,本章以8051为主介绍MCS-51系列单片机 。 1.2.1 MCS-51单片机的内部结构

MCS-51单片机的组成: CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、定时器/计数器(T0、T1)、内部总线 和中断系统等。组成框图如下:

内部结构如下:

1. 中央处理器(CPU)

组成:运算器、控制器。8051的CPU包含以下功能部件: ① 8位CPU。

② 布尔代数处理器,具有位寻址能力。

③ 128B内部RAM数据存储器,21个专用寄存器。 ④ 4KB内部掩膜ROM程序存储器。 ⑤ 2个16位可编程定时器/计数器。 ⑥ 32个(4×8位)双向可独立寻址的I/O口。 ⑦ 1个全双工UART(异步串行通信口)。

⑧ 5个中断源、两级中断优先级的中断控制器。

⑨ 时钟电路,外接晶振和电容可产生1.2~12MHz的时钟频率。

⑩ 外部程序存储器寻址空间为64KB,外部数据存储器寻址空间也为64KB。 111条指令,大部分为单字节指令。

单一+5V电源供电,双列直插40引脚DIP封装。 (1)运算器

组成:8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等。

功能:完成算术运算和逻辑运算。 (2)控制器

组成:程序计数器PC(Program Counter)、指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)、堆栈指针SP、数据指针DPTR、定时控制逻辑和振荡器OSC等电路。

功能:CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。

2. 存储器

MCS-51的存储器可分为程序存储器和数据存储器,又有片内和片外之分。 (1)程序存储器

一般将只读存储器(ROM)用做程序存储器。可寻址空间为64KB,用于存放用户程序、数据和表格等信息。

MCS-51单片机按程序存储器可分为内部无ROM型(如8031)和内部有ROM型(如8051)两种,连接时 引脚有区别。程序存储器结构如下图所示:

(2)数据存储器

一般将随机存储器(RAM)用做数据存储器。可寻址空间为64KB。MCS-51数据存储器可分为片内和片外两部分。

片外RAM:最大范围:0000H~FFFFH,64KB;用指令MOVX访问。 片内RAM:

最大范围:00H~FFH,256B;用指令MOV访问。又分为两部分:低128B(00~7FH)为真正的RAM区,高128B(80~FFH)为特殊功能寄存器(SFR)区。如下图所示。

内部RAM的20H~2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位地址为00H~7FH。 CPU能直接寻址这些位(称MCS-51具有布尔处理功能),位地址分配如下表所示。

单元地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 7FH 77H 6FH 67H 5FH 57H 4FH 47H 3FH 37H 2FH 7EH 76H 6EH 66H 5EH 56H 4EH 46H 3EH 36H 2EH (MSB) 位 地 址 (LSB) 7DH 75H 6DH 65H 5DH 55H 4DH 45H 3DH 35H 2DH 7CH 74H 6CH 64H 5CH 54H 4CH 44H 3CH 34H 2CH 7BH 73H 6BH 63H 5BH 53H 4BH 43H 3BH 33H 2BH 7AH 72H 6AH 62H 5AH 52H 4AH 42H 3AH 32H 2AH 79H 71H 69H 61H 59H 51H 49H 41H 39H 31H 29H 78H 70H 68H 60H 58H 50H 48H 40H 38H 30H 28H 3.特殊功能寄存器(SFR)

MCS-51有21个特殊功能寄存器(也称为专用寄存器),包括算术运算寄存器、指针寄存器、I/O口锁存器、定时器/计数器、串行口、中断、状态、控制寄存器等,它们被离散地分布在内部RAM的80H~FFH地址单元中(不包括PC) ,共占据了128个存储单元,构成了SFR存储块。其字节地址可被8整除的SFR可位寻址。SFR反映了MCS-51单片机的运行状态。特殊功能寄存器分布如下表所示。

特殊功能寄存器 B A(ACC) PSW IP P3 IE P2 SBUF SCON P1 TH1 TH0 TL1 TL0 TMOD 寄存器B 累加器 程序状态字(标志寄存器) 中断优先级控制寄存器 P3口数据寄存器 中断允许控制寄存器 P2口数据寄存器 串行口发送/接收数据缓冲寄存器 串行口控制寄存器 P1口数据寄存器 T1计数器高8位寄存器 T0计数器高8位寄存器 T1计数器低8位寄存器 T0计数器低8位寄存器 定时器/计数器方式控制寄存器 功 能 名 称 物 理 地 址 F0H E0H D0H B8H B0H A8H A0H 99H 98H 90H 8DH 8CH 8BH 8AH 89H 可否位寻址 可以 可以 可以 可以 可以 可以 可以 不可以 可以 可以 不可以 不可以 不可以 不可以 不可以 TCON PCON DPH DPL SP P0 定时器控制寄存器 电源控制寄存器 数据指针寄存器高8位 数据指针寄存器低8位 堆栈指针寄存器 P0口数据寄存器 88H 87H 83H 82H 81H 80H 可以 不可以 不可以 不可以 不可以 可以 (1)程序计数器PC(Program Counter)

程序计数器PC在物理上是独立的,PC不属于SFR存储器块。 PC是一个16位的计数器,专门用于存放CPU将要执行的指令地址(即下一条指令的地址),寻址范围为64KB,PC有自动加1功能,不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序执行的顺序。

(2)累加器A (Accumulator)

累加器A是8位寄存器,又记做ACC,是一个最常用的专用寄存器。在算术/逻辑运算中用于存放操作数或结果。

(3)寄存器B

寄存器B 是8位寄存器,是专门为乘除法指令设计的,也作通用寄存器用。 (4)工作寄存器

内部RAM的工作寄存器区00H~1FH共32个字节被均匀地分成四个组(区),每个组(区)有8个寄存器,分别用R0~R7表示,称为工作寄存器或通用寄存器,其中,R0、R1还经常用于间接寻址的地址指针。在程序中通过程序状态字寄存器(PSW)第3、4位设置工作寄存器区。

(5)程序状态字PSW (Program Status Word)

程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。其定义格式如下页表所示。

位 序 标志位 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 Cy AC F0 RS1 RS0 OV P 其中:Cy:进借位标志;

AC:辅助进借位标志; F0 :用户标志;

RS1、RS0:工作寄存器组(区)选择(如下表所示); OV:溢出标志位,有溢出时置1;

P:奇偶标志位。A中有奇数个1时置1。 RS1(PSW.4) 0 0 1 1 RS0(PSW.3) 0 1 0 1 选定的当前使用的工作寄存器组(区) 第0区 第1区 第2区 第3区 片内RAM地址 00H~07H 08H~0FH 10H~17H 18H~1FH 通用寄存器名称 R0~R7 R0~R7 R0~R7 R0~R7 (6)数据指针DPTR(Data Pointer)

本文来源:https://www.bwwdw.com/article/rvhv.html

Top