80C51的结构和原理综述_第1页
80C51的结构和原理综述_第2页
80C51的结构和原理综述_第3页
80C51的结构和原理综述_第4页
80C51的结构和原理综述_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

2024/10/151第2章80C51的结构和原理80C51系列概述2.180C51的基本结构与应用模式2.280C51典型资源配置与引脚封装2.380C51单片机的CPU2.480C51的存储器组织2.580C51的并行口结构与操作2.62024/10/1522.1

80C51系列概述2.1.1MCS-51系列

8051/8751/80318052/8752/803280C51/87C51/80C3180C52/87C52/80C32等

MCS-51是Intel公司生产的一个单片机系列名称。这一系列的单片机有多种,如:2024/10/153生产工艺有两种:在产品型号中凡带有字母“C”的即为CHMOS芯片,CHMOS芯片的电平既与TTL电平兼容,又与CMOS电平兼容。如87C51。一是HMOS工艺(高密度短沟道MOS工艺)。二是CHMOS工艺(互补金属氧化物的HMOS工艺)。2024/10/154功能上,有基本型和增强型2大类:增强型:8052/8752/803280C52/87C52/80C32基本型:8051/8751/803180C51/87C51/80C312024/10/155在片内程序存储器配置上,有3种形式,即掩膜ROM、EPROM和ROMLess。如:80C51有4K字节的掩膜ROM87C51有4K字节的EPROM

80C31在芯片内无程序存储器。2024/10/1562.1.280C51系列各厂商以8051为基核开发出的CMOS单片机统称为80C51系列。常用产品有:Intel:80C31、80C51、87C51,80C32、80C52、87C52等;ATMEL:89C51、89C52、89C2051等;Philips、华邦、Dallas、Siemens等公司的许多产品。2024/10/1572.2

80C51的基本结构与应用模式2.2.180C51的基本结构2024/10/1582.2.280C51的应用模式

带总线扩展引脚的产品扩展总线的应用模式不扩展总线的应用模式

2024/10/159没有总线扩展引脚的产品引脚数减少、体积减小。对于不需进行并行外围扩展,装置的体积要求苛刻且程序量不大的系统极其适合。典型产品,如:AT89S2051/AT89S4051。2024/10/15102.3

80C51典型产品资源配置与引脚封装2.3.180C51典型产品资源配置2024/10/1511由表可见:增强型与基本型的几点不同:片内ROM:从4K增加到8K

片内RAM:从128增加到256

定时/计数器:从2个增加到3个中断源:从5个增加到6个。

2024/10/1512无ROM型,要在片外扩展程序存储器;掩膜ROM型,程序由芯片生产厂写入;EPROM型,程序通过写入装置写入;FlashROM型,程序可电写入(常用)。片内ROM的配置形式:还有OTPROM型,具有较高的可靠性。2024/10/15132.3.280C51的引脚封装2024/10/1514二、引脚分类:1、主电源引脚Vss、Vcc2、外接晶振引脚XTAL1、XTAL22024/10/15153、控制或复位引脚

①、RST/VPD——复位/备用电源 当出现两个机器周期高电平时,单片机复位。

复位后,P0~P3

输出高电平;SP寄存器为07H; 其它寄存器全部清0;不影响RAM状态。②、ALE/PROG——

地址锁存控制端/编程脉冲输入端

ALE:提供1/6fosc振荡频率;

PROG:为其内部的EPROM输入编程脉冲③、

——外部程序存储器的读选通信号端 当执行MOVC指令时,=02024/10/1516

0时,只访问外部程序存储器,即外ROM1时,先访问内部ROM,再访问外部ROM④

——内、外ROM选择端/编程电压输入端4、输入/输出引脚

P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7

四个I/O口,每口八条线,共32脚;还兼作地址/数据线。EA=EAVPP:对于8751(EPROM)单片机编程时,该端施加编程电压21.5V2024/10/15172.480C51的CPU2024/10/15181、中央处理单元CPU(8位)用于数据处理、位操作(位测试、置位、复位)2、只读存储器ROM(4KB或8KB)用于永久性存储应用程序,掩膜ROM、EPROM、EEPROM3、随机存取存储器RAM(256B)用于程序运行中存储工作变量和数据4、并行输入/输出口I/O(32线)用作系统总线、扩展外存、I/O接口芯片80C51的内部结构一、总体结构2024/10/15195、串行输入/输出口UART(二线,借用)串行通信、扩展

I/O接口芯片6、定时/计数器T(16位增量可编程)它与CPU之间各自独立工作,当它计数满时向CPU中断7、时钟电路fosc

分为内部振荡器、外接振荡电路8、中断系统五个中断源、两个优先级,可编程进行控制。2024/10/1520

二、具体介绍1、80C51的微处理器(CPU)(1)运算器累加器ACC;寄存器B;程序状态字寄存器PSW。(2)控制器程序计数器PC;指令寄存器IR;数据指针DPTR。2024/10/15212、80C51的片内存储器

在物理上设计成程序存储器和数据存储器两个独立的空间(称为哈佛结构):

内部ROM容量4K字节 范围是:000H~0FFFH

﹡内部RAM容量128字节 范围是:00H~7FH2024/10/15223、80C51的I/O口及功能单元四个8位的并行口,即P0~P3。它们均为双向口,既可作为输入,又可作为输出。每个口各有8条I/O线。有一个全双工的串行口(利用P3口的两个引脚P3.0和P3.1);有2个16位的定时/计数器;有1套完善的中断系统。

2024/10/15234、80C51的特殊功能寄存器(SFR)内部有SP,DPTR(可分成DPH、DPL两个8位寄存器),PCON,…,IE,IP等21个特殊功能寄存器单元,它们同内部RAM的128个字节统一编址,地址范围是80H~FFH。这些SFR只用到了80H~FFH128个存储单元中的21个字节单元,且这些单元是离散分布的。增强型单片机的SFR有26个字节单元,所增加的5个单元均与定时/计数器2相关。2024/10/1524寄存器及其存储器映射如下图:2024/10/15252.4.280C51的时钟与时序时钟产生方式内部时钟方式外部时钟方式

2024/10/1526

80C51的时钟信号1个机器周期:12个晶荡周期(或6个时钟周期)指令的执行时间称作指令周期(单、双、四周期)2024/10/152780C51的典型时序时序:各条指令执行时各部份电路工作的先后次序。 单片机的时序以XTAC2的振荡信号为参考(fOSC)时序单位:1、晶振周期—即振荡频率周期,单片机的基本时序单位2、时钟周期—由两个晶振周期组成,也称为S状态, 分为P1和P2。2024/10/15283、机器周期由六个状态组成,每个状态S为分两个时相 P1、P2.每个时相为一个振荡周期,因此一个机器周期 为12个晶振周期. MCS—51单片机的典型的指令周期为一个机器周期.4、指令周期——执行一条指令所需的时间为指令周期。2024/10/152980C51的典型时序单字节指令双字节指令

单周期指令2024/10/1530双周期指令

2个机器周期中ALE有效4次,后3次读操作无效。

2024/10/1531访问外部RAM的双周期指令时序

第二机器周期无读操作码的操作,而是进行外部数据存储器的寻址和数据选通。ALE信号会出现非周期现象。

2024/10/15322.4.380C51单片机的复位复位可使单片机或系统部件处于确定的初始状态。

复位电路上电复位电路按键与上电复位2024/10/1533单片机复位后的状态PC=0000H,所以程序从0000H地址单元开始执行;启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM的内容;特殊功能寄存器复位后的状态是确定的:P0~P3=FFH,各口可用于输出,也可用于输入;SP=07H,第一个入栈内容将写入08H单元;IP、IE和PCON的有效位为0,各中断源处于低优先级且均被关断、串行通讯的波特率不加倍;PSW=00H,当前工作寄存器为0组。2024/10/15342.580C51的存储器组织80C51存储器可以分成两大类:

RAM,CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。

ROM,写入信息后不易改写的存储器。断电后,其中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。

2024/10/1535MCS-51单片机的存储器结构

程序存储器)(外部K64RAM数据存储器2024/10/1536物理上分为:两大部分四大块, 即 ROM RAM片内片外片内片外逻辑上分为:

3个空间, 即程序内存(片内、外)统一编址MOVC

数据存储器(片内)MOV

数据存储器(片外)MOVX2024/10/15372.5.180C51单片机的程序存储器配置片内与片外程序存储器的选择

EA引脚接高电平---片内2024/10/1538

EA引脚接高地---片外2024/10/1539程序存储器寻址范围:0000H~FFFFH容量64KB,即地址长度:16位

,寻址内部ROM;

,寻址外部ROM。

当PC值超过片内ROM容量时会自动转向外部存储器空间。8031单片机接低电平。作用:

存放程序及程序运行时所需的常数。2024/10/1540七个具有特殊含义的单元是:

0000H——系统复位,PC指向此处;

0003H——外部中断0入口

000BH——T0溢出中断入口

0013H——外中断1入口

001BH——T1溢出中断入口

0023H——串口中断入口

002BH——T2溢出中断入口

2024/10/1541程序存储器低端的几个特殊单元2024/10/1542程序存储器中的指令代码及其观察2024/10/15432.5.280C51单片机数据存储器配置片内、片外数据存储器概况片内RAM及SFR片外RAM2024/10/1544工作寄存器区(含寄存器组0~3)寄存器组0:地址00H~07H

寄存器组1:地址08H~0FH寄存器组2:地址10H~17H寄存器组3:地址18H~1FH当前工作寄存器组选择

PSW寄存器中:

2024/10/1545片内RAM详图2024/10/1546数据缓冲区(堆栈区)位寻址区(00~7F)3组2组1组0组7FH2FH1FH0FH30H20H10H18H17H08H07H00HR7R0R7R0R7R0R7R0位地址128位数据缓冲区工作寄存器区位寻址区片内数据存储器:2024/10/1547例如:若前面指令中的R0若指的是2区的R0,则在该指令前应加上

MOVPSW,#10H若无该指令,系统默认为0区,(因为复位或开机时PSW为00H见P15)00001000D7D4D3D0PSW2024/10/1548字节地址:20H~2FH共16字节位地址:00H~7FH共8X16=128位

作用:位寻址区的每一位都可以视作软件触发器,由程序趋势进行位处理(位寻址,位操作),通常把各种程序状态标志,位控制变量设在位寻址区.例如MOV C,06H ;或MOVC,20H.6MOVp1.0,C。位寻址区:2024/10/1549位寻址区字节地址位地址D7D6D5D4D3D2D1D020H07H06H05H04H03H02H01H00H21H0FH0EH0DH0CH0BH0AH09H08H22H17H16H15H14H13H12H11H10H23H1FH1EH1DH1CH1BH1AH19H18H24H27H26H25H24H23H22H21H20H25H2FH2EH2DH2CH2BH2AH29H28H26H37H36H35H34H33H32H31H30H27H3FH3EH3DH3CH3BH3AH39H38H28H47H46H45H44H43H42H41H40H29H4FH4EH4DH4CH4BH4AH49H48H2AH57H56H55H54H53H52H51H50H2BH5FH5EH5DH5CH5BH5AH59H58H2CH67H66H65H64H63H62H61H60H2DH6FH6EH6DH6CH6BH6AH69H68H2EH77H76H75H74H73H72H71H70H2FH7FH7EH7DH7CH7BH7AH79H78H2024/10/1550通用RAM区

30H~7FH,共80字节

数据缓冲

堆栈

SP指示栈顶复位时SP=07H

系统初始化通常重新设置2024/10/1551RAM内容查看2024/10/15522.5.380C51单片机的特殊功能寄存器(SFR)基本型单片机有21个SFR离散地分布在80H~FFH空间。与运算器相关3个

ACC

B

PSW与定时/计数器相关6个

TH0,TL0

TH1,TL1

TMODTCON指针类3个

SP

DPH,DPL与I/O口相关7个

P0,P1,P2,P3

SBUFSCON

PCON与中断相关2个

IE

IP2024/10/1553专用功能寄存器分散分布在片内RAM高128字节(80H~FFH)范围内(共27个(见表2-5),加PC共28个),51系列有22个(其中PC不可寻址)各个专用功能寄存器的地址不连续,若访问到该区非专用功能寄存器的存储单元,机器将给出一个随机数,可能造成功能紊乱(痛毒)或死机,因此要避免。27个专用功能寄存器中,有的已经介绍,如P0~P3口,PC程序计数器,有的大家已经比较熟悉,如栈指针SP,其功能与操作与微机原理中很相似,有的在这里三、两句也说不清楚,将随后结合有关部份进行介绍,这里只介绍简单的,常见的几个。2024/10/1554一、与运算器相关的寄存器(3个)1、累加器ACC(常写作A),相当于微机中的AX,大部份单操作数指令的操作数取自A,很多双操作数指令的一个也取自A操作数。+,-,*,/算术运算指令的结果都有在A或A,B寄存器对中。2、B寄存器。乘法指令中,两个取自A和B,而结果的低8位存A,高8位存B。除法指令中,A为被除数,B为除数,商存A(整数),余数存B。在其他指令中,B还可作为一般RAM用(较少)B商余数ABXAB高8位低8位积2024/10/1555P—OVRS0RS1F0ACCYD7D6D5D4D3D2D1D0进位标志辅助进位标志方向标志工作寄存器区选择控制位奇偶校验标志谥出标志3、程序状态字寄存器PSW,8位。2024/10/1556其各位含义为:

CY:进位、借位标志。有进位、借位时 CY=1,否则CY=0;

AC:辅助进位、借位标志;

F0:用户标志位,由用户自己定义;

RS1、RS0:当前工作寄存器组选择位;

OV:溢出标志位。有溢出时OV=1,否则 OV=0;

P:奇偶标志位。ACC中结果有奇数个1时 P=1,否则P=0。2024/10/1557谥出:两个无符号数运算结果超出了计算机的字长(CPU位数),如乘法中,B0,则OV=1两个有符号数运算结果出错:特点:相同则”0”,相异则”1”,即当位6向位7有进位()而位7向Cy无进位()或当位6向位7无进位()而位7向Cy有进位()

反映位6向位7的进位情况,表示有进位,表示无进位反映位7向Cy的进位情况,表示有进位,表示无进位2024/10/155877两个正数相加得负数,肯定不对55原因:,,所以130(-126)例2:例1:-109两个负数相加得正数,也不对-54-163原因:,,所以OV=1(93)CY2024/10/1559D3有进位,AC=1OV=0Cy=1例3:2024/10/1560指针类寄存器(3个)1、堆栈指针SP,8位。它总是指向栈顶。堆栈操作遵循“后进先出”的原则,入栈操作时,SP先加1,数据再压入SP指向的单元。出栈操作时,先将SP指向的单元的数据弹出,然后,SP再减1,这时SP指向的单元是新的栈顶。可见,80C51单片机的堆栈区是向地址增大的方向生成的。堆栈指针SP是一个8位专用寄存器。它指示出堆栈顶部在内部数据存储器中的位置。系统复位后,SP初始化为07H,使得堆栈向上由08H单元开始。考虑到08H~1FH单元属于工作寄存器区,若程序设计中要用到这些区,最好把SP的值置为30H或更大一些,一般将堆栈开辟在30H~7FH区域中。SP的值越小,堆栈深度就越深,但最大为128字节。2024/10/15612、数据指针DPTR,16位。· DPTR由两个8位寄存器DPH和DPL拼装而成,其中DPH为DPTR的高8位,DPL为DPTR的低8位。它既可作为一个16位寄存器来使用,也可作为2个独立的8位寄存器(DPH和DPL)来使用。

DPTR通常用来存放16位地址。既可访问外部RAM,也可访问ROM例如:

MOV DPTR,#2000H MOVXA,@DPTR;将片外RAM2000H单元内容→A MOVCA,@A+DPTR ;访问ROM指令 DPTR与PC的作用类似,区别:DPTR可寻址,可用指令改变基内容,而PC不行。DPTR可作16位的寄存器,也可作两个8位的寄存器(DPH和DPL)处理2024/10/1562与接口相关的寄存器(7个)并行I/O口P0、P1、P2、P3,均为8位;串行口数据缓冲器SBUF;串行口控制寄存器SCON;串行通讯波特率倍增寄存器PCON(一些位还与电源控制相关,所以又称为电源控制寄存器)。2024/10/1563与中断相关的寄存器(2个)中断允许控制寄存器IE;中断优先级控制寄存器IP。2024/10/1564与定时器/计数器相关的寄存器(6个)定时/计数器T0的两个8位计数初值寄存器TH0、TL0,它们可以构成16位的计数器,TH0存放高8位,TL0存放低8位;定时/计数器T1的两个8位计数初值寄存器TH1、TL1,它们可以构成16位的计数器,TH1存放高8位,TL1存放低8位;定时/计数器的工作方式寄存器TMOD;定时/计数器的控制寄存器TCON。2024/10/15652.680C51的并行口结构与操作端口功能:P0口:a、一般并行I/O口;

b、地址/数据总线(PC低8位/DPL)P3口:a、一般并行I/O口;

b、第二功能见表

P2口:a、一般并行I/O口;

b、地址总线(PC高8位/DPH)P1口:a、一般并行I/O口2024/10/15662.680C51的并行口结构与操作P0口结构

P0作通用I/O口(当EA=1或“MOV”传送时C=0)输出时2.6.1P0、P2口的结构2024/10/1567输入时

读锁存器(“读-修改-写”类指令,如ANLP0,A)

读引脚(“MOV”类指令,如MOVA,P0),要先写“1”

10P0作通用I/O时为:准双向口!准双向口就是做输入用的时候要有向锁存器写1的这个准备动作,所以叫准双向口。双向口不需要任何预操作可直接读入读出。2024/10/1568

P0作地址数据总线(当EA=1或“MOVX”类传送时C=1)输出时,地址/数据信息分时出现在输出引脚。输入时,先输出地址,然后自动向锁存器写1,再读引脚。此时为真正双向口。2024/10/1569结论

P0口既可作地址/数据总线使用,又可作通用I/O口用。当P0口作地址/数据总线使用时,就不能再把它当通用I/O口使用了。 作通用输出口时,输出级属漏极开路,在驱动CMOS电路时应外接上拉电阻。 作通用输入口使用时,应区分读引脚和读锁存器。读引脚时,应先向锁存器写“1”,这时输出级2个场效应管截止,可用作高阻抗输入。2024/10/1570P2口结构

P2作通用I/O口(未扩片外存储器,或虽扩RAM但采用“MOVX@Ri”传送时C=0)P2作通用I/O时为:准双向口!

P2作地址总线高8位(C=1)2024/10/15711、P2用作通用I/O口

当不在单片机芯片外部扩展程序存储器,只扩展256B的片外RAM时,仅用到了地址线的低8位,P2口仍可以作为通用I/O口使用。

执行输出指令时,内部数据总线的数据在“写锁存器”信号的作用下由D端进入锁存器,经反相器后送至场效应管T,再经T反相,在P2.X引脚出现的数据正好是内部总线的数据。

P2口用作输入时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是“读锁存器”指令还是“读引脚”指令来决定。2024/10/1572执行“读—修改—写”类输入指令时内部产生的“读锁存器”操作信号使锁存器Q端数据进入内部数据总线,在与累加器A进行逻辑运算之后,结果又送回P2的口锁存器并出现在引脚。执行“MOV”类输入指令时,内部产生的操作信号是“读引脚”。应在执行输入指令前要把锁存器写入“1”,从而使引脚处高阻抗输入状态。

P2口在作为通用I/O口时,属于准双向口。2024/10/15732、P2用作地址总线

当需要在单片机芯片外部扩展程序存储器或扩展的RAM容量超过256字节时,单片机内硬件自动使控制C=1,MUX

温馨提示

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

评论

0/150

提交评论