第二章课件1MCS-51系列单片机的结构和时序_第1页
第二章课件1MCS-51系列单片机的结构和时序_第2页
第二章课件1MCS-51系列单片机的结构和时序_第3页
第二章课件1MCS-51系列单片机的结构和时序_第4页
第二章课件1MCS-51系列单片机的结构和时序_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

第2章MCS-51系列单片机的结构和时序2.1MCS-51系列单片机的结构与引脚2.2MCS-51系列单片机的存储器结构2.3MCS-51系列单片机的时钟电路和时序2.4MCS-51系列单片机的复位与掉电处理本章小结本章重点:了解51系列单片机基本结构;掌握51系列单片机的引脚名称及功能;掌握存储器(内RAM)结构;掌握PSW寄存器各位名称及功能;掌握复位后PC、SP、PSW的状态。第2章MCS-51系列单片机的结构和时序2.1MCS1

2.1MCS-51单片机的基本结构和引脚

MCS-51是美国Intel公司的8位高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。8051/80C51是整个MCS-51系列单片机的核心。MCS-51的典型产品有:8031、8051、8751、89C51。8031片内无ROM程序存储器;8051片内有4KBROM程序存储器;8751片内有4KBEPROM程序存储器;89C51片内有4KBFLASHE2PROM程序存储器。除此之外,四者的内部结构及引脚完全相同。2.1MCS-51单片机的基本结构和引脚MC22.1.1

MCS-51单片机的内部结构8051单片机的功能框图如图2-1所示,可以看出,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:1个8位微处理器(CPU)。4KB程序存储器(ROM)。256B数据存储器(RAM)。4个8位并行I/O接口P0~P3。1个全双工串行I/O接口2个16位定时/计数器T0和T1。64KB扩展总线控制电路。5个中断源,其中包括2个优先级嵌套中断。2.1.1MCS-51单片机的内部结构8051单片机的功能3图2-18051单片机功能框图

图2-18051单片机功能框图4MCS-51系列单片机的内部结构框图如图2-2所示。MCS-51单片机组成结构中包含运算器、控制器、片内存储器、并行I/O口、串行I/O口、定时/计数器、中断系统、振荡器等功能部件。图中:PSW是程序状态字寄存器,PC是程序计数器,SP是堆栈指针寄存器,DPTR是数据指针寄存器。2.1.2MCS-51单片机的内部组成介绍MCS-51系列单片机的内部结构框图如图2-2所示。2.1.5图2-2

8051

图2-2

8051

62.1.2MCS-51系列单片机内部主要组成部分介绍1.中央处理器(CPU)(1)运算器

运算器由ALU(算术及逻辑运算单元)、A(累加器)、B寄存器、PSW(程序状态字寄存器)和暂存器等组成,主要功能用于实现算术运算和逻辑运算。它的主要任务是完成算术运算、逻辑运算、位运算和数据传送等操作,运算结果的状态由程序状态寄存器(PSW)保存。

(2)控制器

控制器由程序计数器PC、指令寄存器、指令译码器、堆栈指针SP、数据指针DPTR、定时与控制逻辑电路等组成。控制器电路完成指挥控制工作,协调单片机各部分正常工作。

CPU的主要功能是产生各种控制信号以控制存储器、输入/输出端口的数据传送、数据的算术运算和逻辑运算以及位操作处理。MCS-51单片机的CPU能处理8位二进制数或代码。从功能分:运算器、控制器。

2.1.2MCS-51系列单片机内部主要组成部分介绍(1)7(2)控制器执行一条指令的过程:先从程序存储器(ROM)中读出指令,送到指令寄存器保存,然后送到指令译码器进行译码,再送到系统的各部分进行相应的操作以完成指令所规定的功能。(2)控制器执行一条指令的过程:81)程序计数器PC:程序计数器PC(16位的计数器)。用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器,可寻址范围是0000H~FFFFH,共64KB。程序中的每条指令存放在ROM区的某些单元,都有自己的存放地址。CPU要执行哪条指令时,就把该条指令所在单元的地址送到地址总线。在顺序执行程序中,当PC的内容被送到地址总线后,会自动加1,即(PC)←(PC)+1,又指向CPU下一条要执行的指令地址。改变PC的内容,就可以改变程序的流向。

注:PC没有地址,是不可寻址的,因此用户无法对它进行直接读写。但可以通过转移、调用、返回等指令改变其内容,实现程序的转移。2)指令寄存器:指令寄存器是一个8位的寄存器,用于暂存待执行的指令代码,等待译码。(2)控制器1)程序计数器PC:程序计数器PC(16位的计数器)。用于存98051单片机中共有256个RAM单元,包括低128个单元(地址为00H~7FH)的内部RAM区和高128B(地址为80H~FFH)的特殊功能寄存器区。8051单片机共有4KB的内部ROM,用于存放程序或表格,称为程序存储器。2.内部数据存储器3.内部程序存储器8051单片机中共有256个RAM单元,包括低128个单元(10P0-P3四个双向的8位并行I/O口,每个端口可以按字节输入或输出,每一条I/O线也可以单独用作输入或输出。

8051片内有一个全双工的串行口,以实现单片机和其他设备之间的串行数据传送。4.I/O端口5.串行口P0-P3四个双向的8位并行I/O口,每个端口可以按字节输入11

8051带有2个16位的计数器,既可以作为定时器用于对被控系统进行定时控制,也可以作为计数器用于产生各种不同频率的矩形波及用于测量脉冲宽度等。

8051单片机有5个中断源,2个中断优先级。

6.定时/计数器7.中断控制系统8051带有2个16位的计数器,既可以作为定时器用于对被控122.1.3MCS-51系列单片机的引脚1.电源类引脚

VCC(40脚):芯片工作电源的输入端,+5V。VSS(20脚):电源的接地端.2.时钟振荡电路引脚XTAL1(19脚)和XTAL2(18脚)的内部是一个振荡电路。当使用内部振荡电路时在这两个管脚上外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。3.控制信号引脚RST/VPD(9脚):RST为复位信号输入端。ALE/PROG(30脚):ALE为地址锁存允许输出信号。PSEN(29脚):外部程序存储器ROM的读选通信号输出端。EA/VPP(31脚):为访问内外部程序存储器控制信号。2.1.3MCS-51系列单片机的引脚1.电源类引脚ht132.1.3MCS-51系列单片机的引脚4.并行I/O端口P0口(32~39脚):8位漏极开路双向I/O口;访问外部存储器时,分时提供低8位地址并用作8位双向数据总线。P1口(1~8脚):带内部提升电阻8位准双向I/O。P2口(21~28脚):带内部提升电阻8位准双向I/O口;访问外部存储器时,提供高8位地址。在对8751片内EPROM进行编程和检验时,P2口用于接收高8位地址和控制信号。P3口(10~17脚):带内部提升电阻8位准双向I/O口。注:I/O口管脚的第二功能2.1.3MCS-51系列单片机的引脚4.并行I/O端口14表2-1P0、P2、P3口的第二功能表2-1P0、P2、P3口的第二功能http://www.15总结单片机的工作原理单片机执行程序的过程,就是逐条执行指令的过程。单片机每执行一条指令都可分为三个阶段,即取指令——分析指令——执行指令。

取指令的任务是根据程序计数器PC中的值从程序存储器读出下一条要执行的指令,送到指令寄存器。分析指令的任务是将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。接下来,就是执行指令。单片机中的程序一般事先都已通过写入器(编程器)固化在片内或片外程序存储器中,因而一开机即可执行指令。总结单片机的工作原理单片机执行程序的过程,就是逐条执行指令的162.2MCS-51系列单片机的存储器结构MCS-51单片机内部有程序存储器和数据存储器两大类。程序存储器:用于存放程序和常数。——ROM类存储器(4KB,但8031片内无ROM)数据存储器:MCS-51系列单片机的数据存储器(采用8位二进制数寻址),用于存放中间结果或暂存数据,部分单元作为特殊功能寄存器。——RAM类存储器2.2MCS-51系列单片机的存储器结构http://w17在物理结构上分为四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从逻辑上分为三个存储器地址空间:⑴片内、片外统一编址的64KB程序存储器地址空间0000H~FFFFH;⑵64KB的外部数据存储器或扩展I/O口地址空间0000H~FFFFH;⑶256B的片内数据存储器地址空间00H~FFH(包括低128B的内部RAM地址00H~7FH和高128B的特殊功能寄存器地址空间)。在物理结构上分为四个存储空间:从逻辑上分为三个存储器地址空间18存储空间分布图

片内外统一寻址的64KB程序存储器空间,地址范围为0000H~FFFFH。64KB的片外数据存储器空间,地址范围也为0000H~FFFFH。256B的片内数据存储器空间,地址范围为00H~FFH。注:CPU访问程序存储器用MOVC指令存储空间分布图片内外统一寻址的64KB程序存储器空间,地址192.2.1程序存储器ROM程序存储器ROM用来存放程序、常数或表格等。在8051中,其存储空间分布如下:片内有4KB的ROM存储单元,地址为0000H~0FFFH。片外最多可扩至64KB的ROM,地址为1000H~FFFFH。内部ROM和外部ROM统一编址。

当EA引脚接高电平时,CPU将首先访问片内ROM,当指令地址超过0FFFH时,自动转向片外ROM取指令。当EA引脚接低电平时,CPU只访问片外ROM。片外ROM的地址从0000H开始编址。对于8031,由于其片内无ROM,所以使用时必须使EA接低电平,以便能够从片外扩展的EPROM中取指令。CPU总是按程序计数器PC(16位)的指示读取程序。PC可自动加1。因此CPU执行程序一般是顺序方式。当发生转移、子程序调用、中断和复位等操作,PC被强制改写,程序执行顺序也发生改变。复位时,PC=0000H,所以CPU总是从0000H开始执行程序。2.2.1程序存储器ROM程序存储器ROM用来存放程序、202.2.1程序存储器ROM外部ROM60KB内部ROM4KBEA=1外部ROM4KBEA=0FFFFH1000H0FFFH0000H0FFFH0000H注:CPU访问程序存储器用MOVC指令2.2.1程序存储器ROM外部ROM外部ROMFFFFH0F212.2.1程序存储器ROM在程序存储器中,以下6个单元具有特殊含义。2.2.1程序存储器ROM在程序存储器中,以下6个单元具222.2.2数据存储器RAM

数据存储器RAM主要用来存放运算的中间结果和数据等。数据存储器分内部存储器和外部存储器两个独立部分:C51扩展64KB(地址范围为0000H~FFFFH)外部数据存储器和外部I/O端口,两者统一编址。片内RAM为256B存储单元,地址范围为00H~FFH。片内RAM地址空间共有256B,又分为两个部分:低128B(00H~7FH)为真正的RAM区,如图2-5所示。高128B(80H~FFH)为特殊功能寄存器(SFR)区,如表2-5所示

。2.2.2数据存储器RAM数据存储器RAM主要用来存放23图2-5

RAM

7FH30H2FH7F7E7D7C7B7A79782EH77767574737271702DH6F6E6D6C6B6A69682CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H07060504030201001FH18H第3组工作寄存器(R0~R7)17H10H第2组工作寄存器(R0~R7)0FH08H第1组工作寄存器(R0~R7)07H00H第0组工作寄存器(R0~R7)工作寄存器区位寻址区用户RAM区(堆栈、数据缓冲区)图2-5

RAM

7FH24图2-5

SFR

SFRMSB位地址/位定义LSB字节地址BF7F6F5F4F3F2F1F0F0HACCE7E6E5E4E3E2E1E0E0HPSWD7D6D5D4D3D2D1D0D0HCYACF0RS1RS0OV-PIPBFBEBDBCBBBAB9B8B8H---PSPT1PX1PT0PX0P3B7B6B5B4B3B2B1B0B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0IEAFAEADACABAAA9A8A8HEA--ESET1EX1ET0EX0P2A7A6A5A4A3A2A1A0A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0SCON9F9E9D9C9B9A999898HSM0SM1SM2RENTB8RB8TIRIP1979695949392919090HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0TCON8F8E8D8C8B8A898888HTF1TR1TF0TR0IE1IT1IE0IT0P0878685848382818080HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0图2-5

SFR

S252.2.2数据存储器特殊功能寄存器128B内部RAM128B外部RAM64KBFFH80H7FH00HFFFFH0000H注1:用MOV指令读写注2:用MOVX指令读写2.2.2数据存储器特殊功能外部RAMFFH7FHFFF26内部数据存储器FFH80H7FH30H2FH20H1FH00H特殊功能寄存器SFR通用RAM区位寻址区通用寄存器区内部数据存储器FFH7FH特殊功能寄存器SFR通用RAM区位271.通用寄存器区通用寄存器区共分4个区,每个区有8个单元,每个区的8个单元从低地址到高地址分别命名为R0-R7。复位后当前工作寄存器区为0区,可以通用对PSW中的RS1、RS0的设置改变当前工作寄存器区。RS1RS0被选寄存器组000区011区102区113区R7…R0R7…R0R7…R0R7R6R5R4R3R2R1R01FH|18H17H|10H0FH|08H07H06H05H04H03H02H01H00H3区2区1区0区1.通用寄存器区R71FH3区2区1区0区http://ww282.位寻址区字节地址为20H~2FH,既可作RAM,也可位操作共有16个RAM单元,每个单元有8位,共128位,位地址为00H~7FH。位地址区的各位可以单独作为软件触发器,由位操作指令直接对他们置位、清零、取反等操作。每位地址两种表示形式:一种以位地址的形式表示,看表2-4,如20H单元的D0位可以表示00H,DI位可以表示为01H;另一种是以字节地址加第几位的形式来表示,比如同样20H单元的D0位还表示为20H.0注意:虽然位地址和字节地址的表现形式可以一样,但因为位操作与字节操作的指令不同,所以不会混淆。2.位寻址区注意:虽然位地址和字节地址的表现形式可以一样,但292.位寻址区表2-4字节地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H……22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H2.位寻址区表2-4字节位地址D7D6D5D4D3D230也称用户RAM区。在该区域内,只能进行字节寻址。A、堆栈指针操作是在内存RAM区中专门开辟出来的按照“先进后出,后进先出”的原则进行数据存取的一种工作方式,这个存储器区域的一端是固定的,另一端是活动的,每个存储单元是不能按字节任意访问的。主要用于子程序调用及返回和中断断点处理的保护及返回,在完成子程序嵌套和多重中断处理中是必不可少的。B、

堆栈专门指令:数据压入堆栈(PUSH)或数据弹出堆栈(POP)。在使用堆栈之前,应规定堆栈的起始位置(固定端),称为栈底。堆栈最后压入或即将弹出数据的单元(活动端),称栈顶。3

通用RAM区(30H-7FH):也称用户RAM区。在该区域内,只能进行字节寻址。http:/31堆栈C.不管入栈和出栈都是针对栈顶单元的数据进行操作,为此设置堆栈指示器SP(8位)来指示栈顶地址,即SP的内容就是堆栈栈顶的字节地址。SP是个8位特殊功能寄存器。SP始终指向栈顶,栈顶随数据入栈和出栈上下浮动。D.复位时SP=07H堆栈C.不管入栈和出栈都是针对栈顶单元的数据进行操作,为此设32例如:假设SP当前值为2FH,则入栈指令“PUSHB”将寄存器B内容压入堆栈的执行过程如图2-6所示。出栈指令“POPB”指令的执行过程如图2-7所示。

数据入栈的操作过程为:先将SP加1,即(SP)←(SP)+1,然后将要入栈的数据存放在SP指定的存储单元中。而将数据从堆栈中弹出时,先将SP寄存器指定的存储单元内容传送到POP指令给定的寄存器或内部RAM单元中,然后SP减1,即(SP)←(SP)-1。可以看出堆栈的底部是固定的,而堆栈的顶部则随着数据入栈和出栈而上下浮动。例如:假设SP当前值为2FH,则入栈指令“PUSHB”将寄33数据入栈和出栈(a)PUSHB指令执行前;(b)SP加1;(c)寄存器B存入SP指定的单元中图2-6PUSHB指令的执行过程(a)

POPB指令执行前;(b)出栈时的指针;(c)出栈后的指针图2-7POPB指令的执行过程数据入栈和出栈(a)PUSHB指令执行前;(b344.特殊功能寄存器21个SFR的地址离散地分部在内部数据存储器的80H-FFH地址空间。SFR占用21个单元,其余的大部分是空余单元,它们没有定义不能作内部RAM使用。有11个SFR具有位地址,可以进行位寻址,对应的位也有位名称,它们的字节地址正好能被8整除。4.特殊功能寄存器http://www.cmpedu.co354.特殊功能寄存器1)累加器ACC:最常用的8位特殊功能寄存器,大部分指令的操作数取自于ACC,许多运算结果也存放在ACC中。A是累加器ACC的助记符。2)B寄存器:一个8位寄存器,主要用于乘法和除法操作。在其他指令中,作为一般的内部RAM使用。3)程序状态字寄存器PSW:一个8位的寄存器,用于存放程序运行中的各种状态信息。

CyACF0RS1RS0OVPPSW4.特殊功能寄存器CyACF0RS1RS0OVPPSWht36Cy:进位标志位。在进行加(或减)法运算时,若操作结果的最高位(D7位)有进位(或借位)时,Cy=1;否则Cy=0。AC:辅助进位标志位。在进行加(或减)运算时,若操作结果的低半字节(D3位)向高半字节产生进位(或借位)时,AC=1;否则AC=0。F0:用户标志位。RS1、RS0:当前工作寄存器区选择位。Cy:进位标志位。在进行加(或减)法运算时,若操作结果的最高37OV:溢出标志位。当进行补码运算时,运算结果超出-128~+127范围时,即溢出,则OV=1;没有溢出,则OV=0。

出现下列情况即为溢出(运算后OV=1):正数加正数为负数;负数加负数为正数;正数减负数为负数;负数减正数为正数;乘法时结果B≠0;除法运算时除数为0。P:奇偶校验标志位。每条指令执行完后,该位始终跟踪累加器A中1的数目的奇偶性。如果A中有奇数个1,则P=1;否则P=0。OV:溢出标志位。当进行补码运算时,运算结果超出-128~+38【例】若A=96H,R0=84H,执行A+R0A后,判断Cy、AC、OV、P的状态。解:执行该指令A96H+84HA1AH=00011010B最高位向前有进位Cy=1,低四位向高四位无进位AC=0,负数加负数为正数OV=1,A中“1”的个数为奇数P=1【例】若A=36H,执行ADDA,#3BH后,则:A=71H,Cy=0,AC=1,OV=0,P=0负数负数正数Why?【例】若A=96H,R0=84H,执行A+R0A后,394)堆栈指针SP:用于存放当前堆栈操作的单元地址,并根据入栈指令(PUSH)或出栈指令(POP)修改其内容,SP始终指向栈顶。系统复位后,SP初始化为07H。5)数据指针DPTR:DPTR可以作为一个16位SFR使用,也可以作为两个独立的8位寄存器DPH和DPL来使用,其中DPH为8位,DPL为低8位。

如:DPH=34H,DPL=A6H,则DPTR=34A6H。6)I/O端口锁存器P0~P3:P0~P3为四个8位的特殊功能寄存器,它们有字节地址和位地址。当I/O端口某一位用于输入时,必须在相应口锁存器的对应位先写入1。7)其它的SFR有:TMOD、TCON、T0(TH0和TL0组成)、T1(由TH1和TL1组成)、IE、IP、SCON、SBUF、PCON等。4)堆栈指针SP:用于存放当前堆栈操作的单元地址,并根据入栈40第2章MCS-51系列单片机的结构和时序2.1MCS-51系列单片机的结构与引脚2.2MCS-51系列单片机的存储器结构2.3MCS-51系列单片机的时钟电路和时序2.4MCS-51系列单片机的复位与掉电处理本章小结本章重点:了解51系列单片机基本结构;掌握51系列单片机的引脚名称及功能;掌握存储器(内RAM)结构;掌握PSW寄存器各位名称及功能;掌握复位后PC、SP、PSW的状态。第2章MCS-51系列单片机的结构和时序2.1MCS41

2.1MCS-51单片机的基本结构和引脚

MCS-51是美国Intel公司的8位高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。8051/80C51是整个MCS-51系列单片机的核心。MCS-51的典型产品有:8031、8051、8751、89C51。8031片内无ROM程序存储器;8051片内有4KBROM程序存储器;8751片内有4KBEPROM程序存储器;89C51片内有4KBFLASHE2PROM程序存储器。除此之外,四者的内部结构及引脚完全相同。2.1MCS-51单片机的基本结构和引脚MC422.1.1

MCS-51单片机的内部结构8051单片机的功能框图如图2-1所示,可以看出,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:1个8位微处理器(CPU)。4KB程序存储器(ROM)。256B数据存储器(RAM)。4个8位并行I/O接口P0~P3。1个全双工串行I/O接口2个16位定时/计数器T0和T1。64KB扩展总线控制电路。5个中断源,其中包括2个优先级嵌套中断。2.1.1MCS-51单片机的内部结构8051单片机的功能43图2-18051单片机功能框图

图2-18051单片机功能框图44MCS-51系列单片机的内部结构框图如图2-2所示。MCS-51单片机组成结构中包含运算器、控制器、片内存储器、并行I/O口、串行I/O口、定时/计数器、中断系统、振荡器等功能部件。图中:PSW是程序状态字寄存器,PC是程序计数器,SP是堆栈指针寄存器,DPTR是数据指针寄存器。2.1.2MCS-51单片机的内部组成介绍MCS-51系列单片机的内部结构框图如图2-2所示。2.1.45图2-2

8051

图2-2

8051

462.1.2MCS-51系列单片机内部主要组成部分介绍1.中央处理器(CPU)(1)运算器

运算器由ALU(算术及逻辑运算单元)、A(累加器)、B寄存器、PSW(程序状态字寄存器)和暂存器等组成,主要功能用于实现算术运算和逻辑运算。它的主要任务是完成算术运算、逻辑运算、位运算和数据传送等操作,运算结果的状态由程序状态寄存器(PSW)保存。

(2)控制器

控制器由程序计数器PC、指令寄存器、指令译码器、堆栈指针SP、数据指针DPTR、定时与控制逻辑电路等组成。控制器电路完成指挥控制工作,协调单片机各部分正常工作。

CPU的主要功能是产生各种控制信号以控制存储器、输入/输出端口的数据传送、数据的算术运算和逻辑运算以及位操作处理。MCS-51单片机的CPU能处理8位二进制数或代码。从功能分:运算器、控制器。

2.1.2MCS-51系列单片机内部主要组成部分介绍(1)47(2)控制器执行一条指令的过程:先从程序存储器(ROM)中读出指令,送到指令寄存器保存,然后送到指令译码器进行译码,再送到系统的各部分进行相应的操作以完成指令所规定的功能。(2)控制器执行一条指令的过程:481)程序计数器PC:程序计数器PC(16位的计数器)。用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器,可寻址范围是0000H~FFFFH,共64KB。程序中的每条指令存放在ROM区的某些单元,都有自己的存放地址。CPU要执行哪条指令时,就把该条指令所在单元的地址送到地址总线。在顺序执行程序中,当PC的内容被送到地址总线后,会自动加1,即(PC)←(PC)+1,又指向CPU下一条要执行的指令地址。改变PC的内容,就可以改变程序的流向。

注:PC没有地址,是不可寻址的,因此用户无法对它进行直接读写。但可以通过转移、调用、返回等指令改变其内容,实现程序的转移。2)指令寄存器:指令寄存器是一个8位的寄存器,用于暂存待执行的指令代码,等待译码。(2)控制器1)程序计数器PC:程序计数器PC(16位的计数器)。用于存498051单片机中共有256个RAM单元,包括低128个单元(地址为00H~7FH)的内部RAM区和高128B(地址为80H~FFH)的特殊功能寄存器区。8051单片机共有4KB的内部ROM,用于存放程序或表格,称为程序存储器。2.内部数据存储器3.内部程序存储器8051单片机中共有256个RAM单元,包括低128个单元(50P0-P3四个双向的8位并行I/O口,每个端口可以按字节输入或输出,每一条I/O线也可以单独用作输入或输出。

8051片内有一个全双工的串行口,以实现单片机和其他设备之间的串行数据传送。4.I/O端口5.串行口P0-P3四个双向的8位并行I/O口,每个端口可以按字节输入51

8051带有2个16位的计数器,既可以作为定时器用于对被控系统进行定时控制,也可以作为计数器用于产生各种不同频率的矩形波及用于测量脉冲宽度等。

8051单片机有5个中断源,2个中断优先级。

6.定时/计数器7.中断控制系统8051带有2个16位的计数器,既可以作为定时器用于对被控522.1.3MCS-51系列单片机的引脚1.电源类引脚

VCC(40脚):芯片工作电源的输入端,+5V。VSS(20脚):电源的接地端.2.时钟振荡电路引脚XTAL1(19脚)和XTAL2(18脚)的内部是一个振荡电路。当使用内部振荡电路时在这两个管脚上外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。3.控制信号引脚RST/VPD(9脚):RST为复位信号输入端。ALE/PROG(30脚):ALE为地址锁存允许输出信号。PSEN(29脚):外部程序存储器ROM的读选通信号输出端。EA/VPP(31脚):为访问内外部程序存储器控制信号。2.1.3MCS-51系列单片机的引脚1.电源类引脚ht532.1.3MCS-51系列单片机的引脚4.并行I/O端口P0口(32~39脚):8位漏极开路双向I/O口;访问外部存储器时,分时提供低8位地址并用作8位双向数据总线。P1口(1~8脚):带内部提升电阻8位准双向I/O。P2口(21~28脚):带内部提升电阻8位准双向I/O口;访问外部存储器时,提供高8位地址。在对8751片内EPROM进行编程和检验时,P2口用于接收高8位地址和控制信号。P3口(10~17脚):带内部提升电阻8位准双向I/O口。注:I/O口管脚的第二功能2.1.3MCS-51系列单片机的引脚4.并行I/O端口54表2-1P0、P2、P3口的第二功能表2-1P0、P2、P3口的第二功能http://www.55总结单片机的工作原理单片机执行程序的过程,就是逐条执行指令的过程。单片机每执行一条指令都可分为三个阶段,即取指令——分析指令——执行指令。

取指令的任务是根据程序计数器PC中的值从程序存储器读出下一条要执行的指令,送到指令寄存器。分析指令的任务是将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。接下来,就是执行指令。单片机中的程序一般事先都已通过写入器(编程器)固化在片内或片外程序存储器中,因而一开机即可执行指令。总结单片机的工作原理单片机执行程序的过程,就是逐条执行指令的562.2MCS-51系列单片机的存储器结构MCS-51单片机内部有程序存储器和数据存储器两大类。程序存储器:用于存放程序和常数。——ROM类存储器(4KB,但8031片内无ROM)数据存储器:MCS-51系列单片机的数据存储器(采用8位二进制数寻址),用于存放中间结果或暂存数据,部分单元作为特殊功能寄存器。——RAM类存储器2.2MCS-51系列单片机的存储器结构http://w57在物理结构上分为四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从逻辑上分为三个存储器地址空间:⑴片内、片外统一编址的64KB程序存储器地址空间0000H~FFFFH;⑵64KB的外部数据存储器或扩展I/O口地址空间0000H~FFFFH;⑶256B的片内数据存储器地址空间00H~FFH(包括低128B的内部RAM地址00H~7FH和高128B的特殊功能寄存器地址空间)。在物理结构上分为四个存储空间:从逻辑上分为三个存储器地址空间58存储空间分布图

片内外统一寻址的64KB程序存储器空间,地址范围为0000H~FFFFH。64KB的片外数据存储器空间,地址范围也为0000H~FFFFH。256B的片内数据存储器空间,地址范围为00H~FFH。注:CPU访问程序存储器用MOVC指令存储空间分布图片内外统一寻址的64KB程序存储器空间,地址592.2.1程序存储器ROM程序存储器ROM用来存放程序、常数或表格等。在8051中,其存储空间分布如下:片内有4KB的ROM存储单元,地址为0000H~0FFFH。片外最多可扩至64KB的ROM,地址为1000H~FFFFH。内部ROM和外部ROM统一编址。

当EA引脚接高电平时,CPU将首先访问片内ROM,当指令地址超过0FFFH时,自动转向片外ROM取指令。当EA引脚接低电平时,CPU只访问片外ROM。片外ROM的地址从0000H开始编址。对于8031,由于其片内无ROM,所以使用时必须使EA接低电平,以便能够从片外扩展的EPROM中取指令。CPU总是按程序计数器PC(16位)的指示读取程序。PC可自动加1。因此CPU执行程序一般是顺序方式。当发生转移、子程序调用、中断和复位等操作,PC被强制改写,程序执行顺序也发生改变。复位时,PC=0000H,所以CPU总是从0000H开始执行程序。2.2.1程序存储器ROM程序存储器ROM用来存放程序、602.2.1程序存储器ROM外部ROM60KB内部ROM4KBEA=1外部ROM4KBEA=0FFFFH1000H0FFFH0000H0FFFH0000H注:CPU访问程序存储器用MOVC指令2.2.1程序存储器ROM外部ROM外部ROMFFFFH0F612.2.1程序存储器ROM在程序存储器中,以下6个单元具有特殊含义。2.2.1程序存储器ROM在程序存储器中,以下6个单元具622.2.2数据存储器RAM

数据存储器RAM主要用来存放运算的中间结果和数据等。数据存储器分内部存储器和外部存储器两个独立部分:C51扩展64KB(地址范围为0000H~FFFFH)外部数据存储器和外部I/O端口,两者统一编址。片内RAM为256B存储单元,地址范围为00H~FFH。片内RAM地址空间共有256B,又分为两个部分:低128B(00H~7FH)为真正的RAM区,如图2-5所示。高128B(80H~FFH)为特殊功能寄存器(SFR)区,如表2-5所示

。2.2.2数据存储器RAM数据存储器RAM主要用来存放63图2-5

RAM

7FH30H2FH7F7E7D7C7B7A79782EH77767574737271702DH6F6E6D6C6B6A69682CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H07060504030201001FH18H第3组工作寄存器(R0~R7)17H10H第2组工作寄存器(R0~R7)0FH08H第1组工作寄存器(R0~R7)07H00H第0组工作寄存器(R0~R7)工作寄存器区位寻址区用户RAM区(堆栈、数据缓冲区)图2-5

RAM

7FH64图2-5

SFR

SFRMSB位地址/位定义LSB字节地址BF7F6F5F4F3F2F1F0F0HACCE7E6E5E4E3E2E1E0E0HPSWD7D6D5D4D3D2D1D0D0HCYACF0RS1RS0OV-PIPBFBEBDBCBBBAB9B8B8H---PSPT1PX1PT0PX0P3B7B6B5B4B3B2B1B0B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0IEAFAEADACABAAA9A8A8HEA--ESET1EX1ET0EX0P2A7A6A5A4A3A2A1A0A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0SCON9F9E9D9C9B9A999898HSM0SM1SM2RENTB8RB8TIRIP1979695949392919090HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0TCON8F8E8D8C8B8A898888HTF1TR1TF0TR0IE1IT1IE0IT0P0878685848382818080HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0图2-5

SFR

S652.2.2数据存储器特殊功能寄存器128B内部RAM128B外部RAM64KBFFH80H7FH00HFFFFH0000H注1:用MOV指令读写注2:用MOVX指令读写2.2.2数据存储器特殊功能外部RAMFFH7FHFFF66内部数据存储器FFH80H7FH30H2FH20H1FH00H特殊功能寄存器SFR通用RAM区位寻址区通用寄存器区内部数据存储器FFH7FH特殊功能寄存器SFR通用RAM区位671.通用寄存器区通用寄存器区共分4个区,每个区有8个单元,每个区的8个单元从低地址到高地址分别命名为R0-R7。复位后当前工作寄存器区为0区,可以通用对PSW中的RS1、RS0的设置改变当前工作寄存器区。RS1RS0被选寄存器组000区011区102区113区R7…R0R7…R0R7…R0R7R6R5R4R3R2R1R01FH|18H17H|10H0FH|08H07H06H05H04H03H02H01H00H3区2区1区0区1.通用寄存器区R71FH3区2区1区0区http://ww682.位寻址区字节地址为20H~2FH,既可作RAM,也可位操作共有16个RAM单元,每个单元有8位,共128位,位地址为00H~7FH。位地址区的各位可以单独作为软件触发器,由位操作指令直接对他们置位、清零、取反等操作。每位地址两种表示形式:一种以位地址的形式表示,看表2-4,如20H单元的D0位可以表示00H,DI位可以表示为01H;另一种是以字节地址加第几位的形式来表示,比如同样20H单元的D0位还表示为20H.0注意:虽然位地址和字节地址的表现形式可以一样,但因为位操作与字节操作的指令不同,所以不会混淆。2.位寻址区注意:虽然位地址和字节地址的表现形式可以一样,但692.位寻址区表2-4字节地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H……22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H2.位寻址区表2-4字节位地址D7D6D5D4D3D270也称用户RAM区。在该区域内,只能进行字节寻址。A、堆栈指针操作是在内存RAM区中专门开辟出来的按照“先进后出,后进先出”的原则进行数据存取的一种工作方式,这个存储器区域的一端是固定的,另一端是活动的,每个存储单元是不能按字节任意访问的。主要用于子程序调用及返回和中断断点处理的保护及返回,在完成子程序嵌套和多重中断处理中是必不可少的。B、

堆栈专门指令:数据压入堆栈(PUSH)或数据弹出堆栈(POP)。在使用堆栈之前,应规定堆栈的起始位置(固定端),称为栈底。堆栈最后压入或即将弹出数据的单元(活动端),称栈顶。3

通用RAM区(30H-7FH):也称用户RAM区。在该区域内,只能进行字节寻址。http:/71堆栈C.不管入栈和出栈都是针对栈顶单元的数据进行操作,为此设置堆栈指示器SP(8位)来指示栈顶地址,即SP的内容就是堆栈栈顶的字节地址。SP是个8位特殊功能寄存器。SP始终指向栈顶,栈顶随数据入栈和出栈上下浮动。D.复位时SP=07H堆栈C.不管入栈和出栈

温馨提示

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

评论

0/150

提交评论