第二章 80C51单片机的硬件_第1页
第二章 80C51单片机的硬件_第2页
第二章 80C51单片机的硬件_第3页
第二章 80C51单片机的硬件_第4页
第二章 80C51单片机的硬件_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 MCS-51 单片机组成原理,2.1 MCS-51单片机的内部结构 2.2 引脚功能 2.3 MCS-51单片机的总线 2.4 MCS-51单片机存储器 2.5 输入/输出端口 2.6 时钟电路及时序,退出,北华航天工业学院,2.1 MCS-51单片机的内部结构,80C51系列单片机是由Intel等各大公司推出的8位主流单片机系列,它是我国目前应用最广泛的一种单片机系列。(89C51) 以该系列中的典型芯片80C51为线索来介绍单片机的内部结构、外部引脚、存储器配置、并行I/O端口、外围电路等内容。 在51系列单片机里,80C51是最典型的单片机,其它芯片都具有与80C51基本相同的硬

2、件结构和软件特征,其内部结构如图2.1所示。,北华航天工业学院,北华航天工业学院,2.1 MCS-51单片机的内部结构,80C51概况 数据总线为8位,地址总线为16位; CMOS工艺; 128B的RAM; 4K的ROM; 2个16位的定时器; 5个中断源; .,北华航天工业学院,2.2 内部结构,MCS-51系列单片机内部可分为五大部分 2.2.1 CPU CPU包括运算器和控制器两部分。 2.2.1.1 运算器 运算器包括算术逻辑部件(ALU)、累加器A、暂存寄存器、寄存器B、程序状态寄存器(PSW),十进制调整电路等。运算器主要用于实现算术/逻辑运算及位操作运算。下面介绍运算器的各组成部

3、分。 1、算术逻辑部件ALU 2、累加器A 3、寄存器B 4、程序状态字寄存器PSW 5、布尔处理器、暂存器、十进制调整电路等,北华航天工业学院,2.2.1.2 控制器,包括: 程序计数器PC 指令寄存器 指令译码器 振荡器 定时电路 数据指针寄存器、堆栈指针寄存器等,北华航天工业学院,2.2.2 内部存储器,程序存储器 ROM 数据存储器 RAM,00H,FFH,7FH,SFR,RAM,00H,FFFH,ROM,01H,北华航天工业学院,2.2.3 定时与中断系统,定时器/计数器 2个加法计数器 中断系统 5个中断源,2.2.4 I/O口,4个8位并行I/O口 1个全双工串行口,2.2.5

4、时钟电路,为单片机产生时钟脉冲序列,用于协调和控制单片机的工作 产生方式有两种:内部时钟 外部时钟 80C51时钟频率范围:1.212MHz,北华航天工业学院,2.3 MCS-51单片机的引脚功能,MCS-51单片机共有40个引脚。,北华航天工业学院,北华航天工业学院,2.4 MCS-51单片机存储器,80C51的片内集成有一定容量的程序存储器和数据存储器(128B)。当然,还可以根据需要对存储器进行外部扩展。80C51的存储器配置如图2.3所示。 从物理上分,80C51的存储器有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。 从逻辑上分,80C51有3个存储器

5、地址空间:片内外统一的64KB的程序存储器地址空间、256B的内部数据存储器地址空间(其中128B的专用寄存器地址空间,仅有部分字节有实际意义)和64KB的外部数据存储器地址空间。 为了区分不同的存储器空间,在用指令访问这三个不同的逻辑空间时采用了不同形式的指令。,北华航天工业学院,2.4 MCS-51单片机存储器,北华航天工业学院,2.3.1 程序存储器 8051单片机内部有4KB的掩膜ROM(0000H3FFFH)、8751单片机内部有4KB的EPROM,而8031内部没有程序存储器,必须外接程序存储器。 程序存储器扩展连接方法 程序从0000H开始;有一些特殊功能的区域,如中断入口地址。

6、 访问外部存储器需要利用外部总线进行地址和数据的传输,此时用P0、P2口,北华航天工业学院,中断入口地址表:,北华航天工业学院,程序计数器PC,16位寄存器,用于存放将要执行的指令的地址,可寻址64K范围。PC在物理结构上相对独立,不属于SFR,如将要执行的指令为多字节指令,则PC存放指令的第一个字节的地址。 PC的功能: 复位功能 计数功能 直接置位功能,北华航天工业学院,程序存储器的扩展,访问外部存储器需要利用外部总线进行地址和数据的传输,此时用P0、P2口作为数据/地址总线,北华航天工业学院,2.3.2 数据存储器,MCS-51系列单片机数据存储器分内部数据存储器(即片内RAM)和外部数

7、据存储器(即片外RAM)。 1、内部数据存储器 内部数据存储器在物理上分为两个不同的存储空间: 数据存储器空间(低128单元) 特殊功能寄存器空间(高128单元)。 这两个空间是相连的。从用户角度而言,低128单元才是真正的数据存储器。,北华航天工业学院,北华航天工业学院,(1)工作寄存器区,00H1FH的32个单元是4个通用工作寄存器区,每个区有8个8位寄存器,其编号为R0R7。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器区。到底选择哪一个工作组为当前工作区,取决于专用寄存器PSW(程序状态字)中的RS1和RS0位的状态。RS1和RS0的状态可通过

8、指令来改变。用户可以通过设置RS1和RS0位的状态来选择/切换当前工作寄存器区,这给用户保护寄存器中的内容提供了极大的方便。,北华航天工业学院,表2-5 RS1、RS0与寄存器区的关系,北华航天工业学院,(2).位寻址区,RAM中的20H2FH的16个单元除了可作为一般RAM单元进行字节寻址外,还可进行位寻址,称作位寻址区。 位寻址区共有16个RAM单元,合计128位,位地址为00H7FH。80C51单片机具有位处理机(又称布尔处理机)功能,位处理机的存储空间就包括这个位寻址区。表2-3为位寻址区的位地址表。,北华航天工业学院,北华航天工业学院,(3).用户区,在内部RAM低128单元中,通用

9、寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区,地址单元为30H7FH。 对这部分区域的使用不作任何规定和限制,但应当说明的是,堆栈一般开辟在此区。,北华航天工业学院,*关于堆栈 堆栈:是一个特殊的存储区域; 特点:“后进先出”。 单片机的堆栈是地址增加型,即压入数据时地址指针增加。 堆栈的操作有 压入:PUSH 弹出:POP,北华航天工业学院,2、外部数据存储器 由于MCS-51子系列单片机内部数据存储器只有128个字节,往往不够用,这就需要扩展外部数据存储器,外部数据存储器最多可扩至64KB。 访问外部存储器需要利用外部总线进行地址和数据的传输,

10、此时用P0、P2口 访问外部数据存储器只能用间接寻址,两种方式:DPTR和Ri(i=0、1),并有专用指令 思考:1.扩展数据存储器时,系统是否会将数据和地址混淆 2.同时扩展数据存储器和程序存储器是否会产生混乱,北华航天工业学院,外部存储器扩展实例,见课本P36,北华航天工业学院,2.3.3 总线,为多个部件服务的信息传送线,可分为: 地址总线:AB 数据总线:DB 控制总线:CB,北华航天工业学院,2.4 工作寄存器和特殊功能寄存器 1、工作寄存器 MCS-51有32个工作寄存器,分为四个区(或组)每个区为8个寄存器R0、R1、R2、R3、R4、R5、R6、R7,每一时刻只有一个区工作。由

11、PSW寄存器中的RS1、RS0的值来决定当前的工作区: 当RS1 RS000时,0区为工作区, RS1 RS001时,1区为工作区 RS1 RS010时,2区为工作区 RS1 RS011时,3区为工作区,北华航天工业学院,这32个工作寄存器不但有它们的名称和区号,而且还有地址。00H-1FH共32个单元。 00H07H为0区,分别对应R0R7 08H0FH为1区,分别对应R0R7 10H17H为2区,分别对应R0R7 18H1FH为3区,分别对应R0R7,北华航天工业学院,这32个单元为内部数据存储器(即片内RAM)的00H1FH存贮空间,这与普通微机中的通用寄存器基本相同,所不同的是,普通微

12、机的通用寄存器只有名称,不占有RAM空间,因此只有名字,没有对应的地址;而MCS-51单片机的工作寄存器R0R7既可以用名字也可以用它的地址来表示。其中R0、R1寄存器除做工作寄存器外还常做间址寻址的地址指针。,北华航天工业学院,2特殊功能寄存器SFR(高128单元),内部RAM的高128单元是给特殊寄存器使用的,因此称之为专用寄存器区,其单元地址为80HFFH。因为这些寄存器的功能已作专门规定,所以称其为专用寄存器或特殊功能寄存器(Special Function Registers)。特殊功能寄存器的总数为21个,仅占用了80HFFH中的很小一部分。表2-4给出了这些特殊功能寄存器的符号、

13、名称和地址等。,北华航天工业学院,北华航天工业学院,北华航天工业学院,21个特殊功能寄存器是不连读地分散在内部RAM的高128单元之中,尽管其中还有许多空闲地址,但用户不能使用。 程序计数器PC是独立于SFR之外的唯一的一个不可寻址的专用寄存器。PC不占RAM单元,在物理上是独立存在的。它不包括在21个特殊功能寄存器中。 在21个特殊功能寄存器中,有11个寄存器不仅可以字节寻址,也可以进行位寻址。凡是能进行位寻址的SFR,其特征是字节地址都能被8整除(字节地址的末位是0或8)。 IP中有3位、IE中有2位、PSW中有一位对用户无实际意义,所以直接寻址位为82位;再加上数据存储器中的128位,8

14、0C51共计有210位可寻址位。,北华航天工业学院,这21个特殊功能寄存器中,有11个寄存器具有位寻址功能,即寄存器中的每位都具有位地址,可以按位寻址。11个寄存器的位地址如图2-3所示。,北华航天工业学院,北华航天工业学院,(1)程序计数器PC PC是一个16位的计数器。其内容为将要执行的指令地址,寻址范围达64KB。PC有自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的(但在物理上是存在的),因此用户无法对它进行读写;但可以通过转移、调用返回等指令改变其内容,以实现程序的转移。,北华航天工业学院,(2) 累加器A 累加器A为8位寄存器,是最常用的专用寄存器,功能较多。它既可

15、用于存放操作数,也可用来存放中间结果。80C51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。加、减、乘、除运算指令的运算结果都存放在累加器A或AB寄存器对中。,北华航天工业学院,(3) B寄存器 B寄存器是一个8位寄存器,主要用于乘除运算。乘法运算时,B是乘数。乘法操作后,乘积的高8位存于B中。除法运算时,B存放除数。除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。,北华航天工业学院,(4) 程序状态字PSW(PROGRAM STATUS WORD) 程序状态字PSW是一个8位寄存器,用于存放程序运行的状态信息。其中,有些位的

16、状态是程序执行的结果,是由硬件自动置位的;而有些位的状态则采用软件的方法来设定。PSW的位状态可以用专门指令进行测试,也可以用指令读出。一些条件转移指令会根据PSW有关位的状态进行程序转移。PSW的各位含义如图2.5所示。其中PSW.1为保留位,未用。,北华航天工业学院,图2.5 程序状态字PSW,北华航天工业学院,图中: CY(PSW.7):进位标志位 CY是PSW中最常用的标志位,其功能有二:一是存放算术运算的进位标志;二是在位操作中作累加位使用。位传送、位与、位或操作,操作数之一为进位标志位。 AC(PSW.6):辅助进位位 当进行加法或减法操作而产生由低4位向高4位的进位或借位时,由硬

17、件将AC置1;否则就被清除。AC还用于十进制调整,同DA A 指令结合起来使用。,北华航天工业学院,F0(PSW.5):用户标志位 它是用户定义的一个状态标记,可以用软件来使它置位或清除,也可用软件测试F0以控制程序的流向。 RS1、RS0(PSW.4,PSW.3):当前寄存器区选择位 用软件来置位或清除,以选择和确定当前工作寄存器区。 RS1、RS0与寄存器区的关系如表2-5所示。,北华航天工业学院,OV(PSW.2)溢出标志位 在带符号数运算中,OV1,表示加减运算结果超出了累加器所能表示的符号数的有效范围(128127),即产生了溢出,因此运算结果是错误的;否则OV0,运算结果正确,无溢

18、出。溢出标志OV在硬件上是通过一个异或门来实现的,即:OVC6C7 其中,C6为D6位向D7位的进位或借位,C7为D7向C的进位或借位。 在乘法运行中,OV1,表示乘积超过255,即乘积分别放在B与A中;否则OV0,表示乘积只放在中。 在除法运行中,OV1,表示除数为0,除法不能进行;否则,OV0,除数不为0,除法可正常进行。,北华航天工业学院,P(PSW.0):奇偶位 每个指令周期都由硬件来置位或清除,以表示累加器中1的个数的奇偶性。P1,则累加器中1的个数为奇数;若P=0,则累加器中1的个数为偶数。,北华航天工业学院,(5) 栈指针SP 栈指针SP是一个8位专用寄存器。它指示出堆栈顶部在内

19、部数据存储器中的位置。系统复位后,SP初始化为07H,使得堆栈向上由08H单元开始。考虑到08H1FH单元属于工作寄存器区,若程序设计中要用到这些区,最好把SP的值置为1FH或更大一些,一般将堆栈开辟在30H7FH区域中。SP的值越小,堆栈深度就越深,但最大为128字节。,北华航天工业学院,SP的值除了可以用软件直接改变外(MOV SP, #DATA),在执行堆栈操作,程序调用、子程序返回及中断返回等指令时,SP的值自动增量或减量。堆栈操作指令为: PUSH ACC (压入堆栈) POP ACC (弹出堆栈),北华航天工业学院,(6) 数据指针DPTR 数据指针DPTR是唯一1个16位的可寻址

20、的专用寄存器; 由两个8位寄存器DPH和DPL拼装而成,其中DPH为DPTR的高8位,DPL为DPTR的低8位。它既可作为一个16位寄存器来使用,也可作为2个独立的8位寄存器(DPH和DPL)来使用。 DPTR通常用来存放16位地址。既可访问外部RAM,也可访问ROM。例如: MOV DPTR, #2000H MOVX A, PPTR ;将外RAM2000H单元内容A MOVC A, A+DPTR ;访问ROM指令,北华航天工业学院,(7) 端口P0P3 专用寄存器P0、P1、P2和P3分别是I/O口P0P3的锁存器。 在80C51中,I/O 和RAM统一编址,既可以字节寻址,也可以位寻址,使

21、用起来较方便。 有关P0P3的详细情况,在后续内容中介绍。,北华航天工业学院,(8) 串行数据缓冲器SBUF 串行数据缓冲器SBUF用于存放欲发送或接收的数据,它实际上由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。当要发送的数据传送到SBUF时,进入的是发送缓冲器,当要从SBUF取数据时,则取自接收缓冲器,取走的是刚接收到的数据。,北华航天工业学院,(9) 定时器/计数器 80C51单片机有两个16位定时器/计数器T0和T1,它们分别由两个独立的8位寄存器组成,共有4个独立的寄存器:TH0,TL0,TH1,TL1,可对这4个寄存器寻址,但不能把T0和T1当成16位寄存器来访问。

22、,北华航天工业学院,(10) 其它控制寄存器 IP、IE、TMOD、TCON、SCON和PCON寄存器分别包含有中断系统、定时器/计数器、串行口和供电方式的控制和状态位,这些寄存器将在以后内容中介绍。,北华航天工业学院,2.5 输入/输出端口,2.5.1 P0口 P0口有位,每一位由一个锁存器、两个三态输入缓冲器以及控制电路和驱动电路组成,其位结构如图2-7(a)所示。,北华航天工业学院,北华航天工业学院,结论: P0口即可做地址/数据总线,又可以做通用I/O口,当做地址/数据总线时就不能够再做通用I/O使用了。 做通用I/O时,需要外接上拉电阻。 做通用输入口时,需要区分读引脚和读锁存器,读

23、引脚时,需要先向锁存器写1.,北华航天工业学院,2.5.2 P1口 P1口是一个专用的8位准双向I/O口,只具有通用输入/输出口功能,每一位都能设定为输入或输出,它的位结构如图2-7(b)所示。,北华航天工业学院,P1口通常做通用I/O口使用,由于内接上拉电阻,所以无需外接。 读入数据时需区分读引脚和读锁存器,读引脚需先向锁存器写1。,北华航天工业学院,2.5.3 P2口 P2口是一个8位准双向I/O口,具有两种功能。一是作通用I/O口用,与P1口相同。二是作扩展系统的高8位地址总线。输出高8位地址,与P0口一起组成16位地址总线。它的位结构如图2-7(c)所示。,北华航天工业学院,2.5.4

24、 P3口 P3口也是一个8位准双向I/O口,除具有与P1口同样的功能(即可以作通用I/O口使用)外,还具有第二功能。当工作在第二功能时,每位都具有新的功能,各位的定义如表2-4。,北华航天工业学院,北华航天工业学院,P3口的位结构如图2-7(d)所示,当P3口作通用I/O口时,与P1口相同。,北华航天工业学院,2.5.5 P0P3口的负载能力及接口要求 P0口的输出级的每一位可驱动8个LSTTL门。P0口作通用I/O口时,由于输出级是开漏电路,故用它驱动NMOS电路时需外加上拉电阻;而作地址/数据总线时,无需外接上拉电阻。 P1口P3口的输出级的每一位可驱动4个LSTTL门。由于它们的输出级内

25、部有上拉电阻,因此组成系统时无需外加上拉电阻。 注意:系统复位后,P0P3口全部输出高电平。,北华航天工业学院,2.4 时钟电路及时序,单片机应该说是一个小系统了;然而,由于实用系统中有一些功能器件无法集成到芯片内部,如晶振、复位电路等,因此需要在片外附加相应的电路,下面就介绍一下实际应用中的单片机外围电路设计。 2.4.1 时钟电路 时钟电路用于产生单片机工作所需要的时钟信号;而时序研究的是指令中各信号之间的关系。 单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路就应在唯一的时钟信号控制下严格地按时序进行工作。,北华航天工业学院,1、内部方式时钟电路 2、外部方式时钟电

26、路,北华航天工业学院,2.4.2 时序 1、基本概念 (1)节拍与状态 振荡脉冲的周期叫做节拍,用表示。振荡脉冲经过二分频后,就是单片机的时钟信号,把时钟信号的周期定义为状态,用表示。 这样,一个状态就包括两个节拍,其前半周期对应的节拍叫节拍(),后半周期对应的节拍叫节拍()。,北华航天工业学院,(3)机器周期 一个机器周期由6个时钟周期组成,即S1S6,如果把一条指令的执行过程划分为几个基本操作,则完成一个基本操作所需的时间称为机器周期。. T=12/fosc (4)指令周期 指令周期是执行一条指令所需的全部时间。MCS-51单片机的指令周期通常由14个机器周期组成。,北华航天工业学院,3典型时序分析 有关时序的内容比较繁杂,这里仅以外部RAM或I/O口的访问为例介绍一下单片机的时序,给大家建立时序的初步概念。,北华航天工业学院,MOVX A,DPTR,北华航天工业学院,对此时序说明如下: 第一个机器周期是读ROM的取指时序。从第二个机器周期开始读外部RAM。 第一个机器周期的4之后,为读外部RAM送出地址,其中包括P0的,2的15

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论