2.1-89C51单片机的内部结构解析_第1页
2.1-89C51单片机的内部结构解析_第2页
2.1-89C51单片机的内部结构解析_第3页
2.1-89C51单片机的内部结构解析_第4页
2.1-89C51单片机的内部结构解析_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

2.189C51单片机的内部结构2.1.151单片机的基本组成一、51单片机结构框图89C51CPU振荡器和时序OSC64KB总线扩展控制器数据存储器256BRAM/SFR2×16位定时器/计数器可编程I/O程序存储器4KBROM可编程全双工串行口外中断内中断控制并行口串行通信外部时钟外部事件计数二、89C51内部结构图P0驱动器RAM地址寄存器RAMEPROM或ROMP2驱动器P0锁存器P2锁存器B寄存器A暂存器2暂存器1SP16位地址寄存器缓冲器PSWALUP1锁存器P1驱动器振荡器P3锁存器P3驱动器PC加1PCDPTR中断系统串行口定时/计数器定时及控制指令寄存器PSENALEEARSTVccVssP0.0~P0.7P2.0~P2.7P1.0~P0.7P3.0~P3.7三、CPU结构CPU主要由运算器和控制器组成。1.运算器ALU(算术逻辑单元)、ACC(累加器)、B寄存器、程序状态字PSW、两个暂存寄存器。(1)组成:(2)功能:算术运算;逻辑运算;移位功能;位操作。1.1累加器ACC累加器ACC是8位寄存器,一个最常用的专用寄存器。在指令系统中用A作为累加器ACC的助记符。功能:用于存放操作数;用于存放中间结果;在变址寻址方式中作为变址寄存器使用。1.2寄存器B在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不做乘除运算时,可作为通用寄存器。1.3程序状态字PSW一个8位寄存器,用于寄存程序运行的状态信息,供程序查询和判别用。位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV-P进位标志位

CY:有进位或借位时CY=1,否则CY=0;在进行位操作时,CY作为位操作累加器进行位处理,在指令中用C代替CY。辅助进位标志位AC:当执行加法(或减法)操作时,如果运算结果(和或差)的低半字节(位3)向高半字节有半进位(或借位),则AC位将被硬件自动置1;否则AC被自动清0。位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV-P用户标志位F0:用户可以根据自己的需要对F0位赋予一定的含义,由用户置位或复位,以作为软件标志。寄存器组选择位RS1、RS0:选择指令当前工作的工作寄存器组。RS1RS0工作寄存器区000区00H~07H011区08H~0FH102区10H~17H113区18H~1FH位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV-P溢出标志位OV:带符号加减运算中,超过累加器A所能表示的符号数有效范围(-128~+127)则OV=1。乘法指令,乘积超过255时,OV=1。除法指令,OV=1,表示除数为0。奇偶标志位P:该位始终跟踪指示累加器A中1的个数。如结果A中有奇数个1,则置P=1;否则P=0。常用于校验串行通信中的数据传送是否出错。问题:PSW中哪些位有硬件自动设置?哪些位使用软件方法设定?2.控制器主要由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、时钟发生器及定时控制逻辑等组成。(2)功能:控制器是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。(1)组成:

执行取指令

分析

执行一条指令的全过程:四、存储器(哈佛结构)51系列单片机的存储器分为数据存储器和程序存储器,其地址空间,存取指令和控制信号各有一套。89C51存储器程序存储器ROM数据存储器ROM片内程序存储器片外程序存储器片内数据存储器片外数据存储器1.物理结构2.逻辑结构特殊功能寄存器通用

RAM区位寻址区00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外部RAM(I/O口地址)0000HFFFFH内部数据存储器外部数据存储器程序存储器工作寄存器区

片内、外程序存储器统一编址,使用MOVC指令。片外数据存储器统一编址,使用MOVX指令。片内数据存储器统一编址,使用MOV指令。有EPROM有ROM无54x8位1128字节805180C51(4K字节)875187C51(4K字节)2x16片内RAM片内ROM614x8位3x16256字节875287C52(8K字节)805280C52(8K字节)803280C32Intel52子系列803180C31Intel51子系列中断源串行I/O并行I/O定时器计数器片内存储器(字节)系列511521281051(1K)/2051(2K)/4051(4K)(20条引脚DIP封装)5/61322/3128/25689C51(4K)/89C52(8K)(40条引脚DIP封装)ATEML89C系列(常用型)MCS-51系列单片机配置一览表外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H0FFFFH片内ROM和片外ROM取指的速度相同3.程序存储器(1)功能:用于存放编好的程序和表格常数。(2)编址:0000H~0002H

——系统复位0003H~000AH——外部中断0000BH~0012H——T0溢出中断0013H~001AH——外中断1001BH~0022H——T1溢出中断0023H

~002AH

——串口中断002BH~0032H

——T2溢出中断(52系列)使用时注意:

0000H~0002H三个单元是系统的启动单元。复位后(PC)=0000H,CPU总是从0000H执行程序。一般将一条无条件转移指令存放到这三个单元。

中断地址区存放中断服务程序。使用时一般中断地址区首地址开始存放无条件一条转移指令。4.数据存储器(1)功能:用于存放运算的中间结果、数据暂存和缓冲、标志位等。(2)编址:00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SFR分布在80H-FFH其中11个可位寻址80HFFH89C51128字节R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区2工作寄存器区1工作寄存器区00FH10H17H18H00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区片内RAM前32个单元是工作寄存器区(00H—1FH)使用时注意:在任一时刻,CPU只能使用一组寄存器,当前寄存器组由PSW中的RS1和RS0决定。片内RAM中有128个可按位寻址的位。位地址:00H—7FH分布在:20H—2FH单元00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241407F7E7D7C7B7A7978位地址总共128个可按位寻址的位使用时注意:

这些可位寻址的空间,可通过执行指令直接对某一位进行操作,如置1、清0或判1、判0等,可用作软件标志位或用于位(布尔)处理。这是一般微机所不具备的,这种位寻址能力是80C51所独有的,也可对字节操作。

20H~2FH:既可以字节操作,又可以位操作,但是要用不同的指令来区分。例如:MOVC,7FHMOVC,2FH.7MOVA,7FH

FFHSFR分布在80H-FFH其中92个位可位寻址80HFFH89C51128字节89C52256字节只能直接寻址只能寄存器间接寻址(P14)既可间接寻址,又可直接寻址00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区89C51片内RAM128字节(00H—7FH)89C52片内RAM256字节(00H—0FFH)特殊功能寄存器(SFR)专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。共22个,可寻址的21个和PC。不同的SFR管理不同的硬件模块,负责不同的功能。换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。标识符号地址寄存器名称ACC0E0H累加器B0F0HB寄存器PSW0D0H程序状态字SP81H堆栈指针DPTR82H、83H数据指针(16位)含DPL和DPHIE0A8H中断允许控制寄存器IP0B8H中断优先控制寄存器P080HI/O口0寄存器P190HI/O口1寄存器P20A0HI/O口2寄存器特殊功能寄存器(SFR)特殊功能寄存器(SFR)标识符号地址寄存器名称P30B0HI/O口3寄存器PCON87H电源控制及波特率选择寄存器SCON98H串行口控制寄存器SBUF99H串行数据缓冲寄存器TCON88H定时控制寄存器TMOD89H定时器方式选择寄存器TL08AH定时器0低8位TH08CH定时器0高8位TL18BH定时器1低8位TH18DH定时器1高8位与端口相关(7个)P0、P1、P2、P3SCON(SerialControlRegister)SBUF(SerialDateBuffer)PCON(PowerControlRegister)

与定时/计数器相关(6个)TMOD(Timer/CounterModeRegister)TCON(Timer/CounterControlRegister)TH0、TL0、TH1、TL1:分别是T0、T1的记数初值寄存器。与中断相关的(2个)IP(InterruptPriorityRegister)IE(InterruptEnableRegister)

程序计数器PC(ProgramCounter)特点:

它是16位的按机器周期自动增1计数器。

总指向下一条指令所在首地址(当前PC值)。

一切分支/跳转/调用/中断/复位等操作的本质就是:改变PC值。DPTR(DataPointer)(分成DPH、DPL两个)数据指针DPTR是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。在访问程序存储器时,用作基址寄存器。5.C51单片机的堆栈操作

特点:先进后出(LIFO)和后进先出(FILO)作用:保护断点和保护现场

C51堆栈的开辟:片内RAM中堆栈指针:SP,始终指示栈顶的存储单元地址

堆栈是一种数据结构,只允许在其一端进行数据插入和数据删除操作的线性表。系统复位时SP的初值为07H,实际应用中常把C51的堆栈一般设在30H~7FH的范围内。栈顶的位置由SP寄存器指示。

例如:MOVSP,#54H进栈的数据将存在此数据进栈

SP栈顶00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区已经进栈的数据存放在此数据进栈时:首先SP+1,然后写入数据。放进堆栈的仍指着栈顶……SP+1堆栈有向上生长型和向下生长型,C51属于前者。从堆栈取出数据时:取出的数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶……当前要出栈的数据数据出栈SP-1指向下一个将要出栈的数据

SP栈顶00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区

SP栈顶断点保护、断点恢复(自动方式)

现场保护、现场恢复(指令方式)四、并行I/O口C51系列单片机共有4个8位的I/O口,记作P0,P1

P2,P3也被归入SFR之列,可以按字节寻址,也可以按位寻址。1.P0口DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚P0口的某位P0.n(n=0~7)结构图G1G2通用I/O口写:(片内数据端口)数据锁存MUX

P0.nCPU发出控制电平“0”封锁“与”门,将输出上拉场效应管T1截止,同时使MUX把锁存器连通。由于输出驱动级是漏极开路电路,需要外接上拉电阻DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚G1G2读:(端口外数据内部寄存器)方式1(读锁存器):

QG2

内部总线,方式2(读引脚):

P0.nG1

内部总线。“在输入数据时应先把口置1,使两个FET都截止,引脚处于悬浮状态,可作高阻抗输入”T2导通时,P0.n被箝位在0电平准双向口DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚G1G2(2)地址/数据总线口CPU发出控制电平“1”,打开“与”门,又使MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。写:地址/数据为1,T1导通,T2截止,P0·x=1

地址/数据为0,T1截止,T2导通,P0·x=0读:经缓冲器G1读入

此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内部总线。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引

温馨提示

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

评论

0/150

提交评论