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

下载本文档

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

文档简介

1、2. 1 89C51单片机的内部结构单片机的内部结构2.1.1 51单片机的基本组成单片机的基本组成一、一、51单片机结构框图单片机结构框图89C51CPU振荡器和时序振荡器和时序OSC64KB 总线总线扩展控制器扩展控制器数据存储器数据存储器256B RAM/SFR216位位定时器定时器/计数器计数器可编程可编程I/O程序存储器程序存储器4KBROM可编程全双工可编程全双工串行口串行口外中断外中断内中断内中断控制控制并行口并行口串行通信串行通信外部时钟外部时钟外部事件计数外部事件计数二、二、89C51内部结构图内部结构图P0驱动器RAM地址寄存器RAMEPROM或ROMP2驱动器P0锁存器P

2、2锁存器B寄存器A暂存器2暂存器1SP16位地址寄存器缓冲器PSWALUP1锁存器P1驱动器振荡器P3锁存器P3驱动器PC加1PCDPTR中断系统串行口定时/计数器定时及控制指令寄存器PSENALEEARSTVccVssP0.0P0.7P2.0P2.7P1.0P0.7P3.0P3.7三、三、CPU结构结构CPU主要由主要由运算器运算器和和控制器控制器组成。组成。1. 运算器运算器ALU(算术逻辑单元)、(算术逻辑单元)、ACC(累加器)、累加器)、B寄存器、程序状态字寄存器、程序状态字PSW、两个暂存寄存器。、两个暂存寄存器。(1) 组成:组成:(2) 功能:功能:算术运算;逻辑运算;算术运算

3、;逻辑运算;移位功能;位操作。移位功能;位操作。1. 1 累加器累加器ACC累加器累加器ACC是是8位寄存器,一个最常用的专用寄存位寄存器,一个最常用的专用寄存器。在指令系统中用器。在指令系统中用A作为累加器作为累加器ACC的助记符。的助记符。功能:功能:用于存放操作数;用于存放操作数;用于存放中间结果;用于存放中间结果;在变址寻址方式中作为变址寄存器使用。在变址寻址方式中作为变址寄存器使用。1. 2 寄存器寄存器B在乘除运算时,用来存放一个操作数也用来存在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;放运算后的一部分结果;如不做乘除运算时,可作为通用寄存器。如不做乘除运算时,可

4、作为通用寄存器。1. 3 程序状态字程序状态字PSW一个一个8位寄存器,用于寄存程序运行的状态信息,位寄存器,用于寄存程序运行的状态信息,供程序查询和判别用。供程序查询和判别用。位序位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志位标志CYACF0RS1RS0OV-P进位标志位进位标志位 CY:有进位或借位时有进位或借位时CY1,1,否则否则CY0 0;在进行位操作时,;在进行位操作时,CY作为位操作累加器进行作为位操作累加器进行位处理,在指令中用位处理,在指令中用C代替代替CY。辅助进位标志位辅助进位标志位AC:当执行加法当执行加法( (或减法或减法

5、) )操作时,操作时,如果运算结果如果运算结果( (和或差和或差) )的低半字节的低半字节( (位位3)3)向高半字向高半字节有半进位节有半进位( (或借位或借位) ),则,则AC位将被硬件自动置位将被硬件自动置1 1;否则否则AC被自动清被自动清0 0。位序位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志位标志CYACF0RS1RS0OV-P用户标志位用户标志位F0:用户可以根据自己的需要对用户可以根据自己的需要对F0位赋位赋予一定的含义,由用户置位或复位,以作为软件标予一定的含义,由用户置位或复位,以作为软件标志志。寄存器组选择位寄存器组选择位RS

6、1、RS0:选择指令当前工作的选择指令当前工作的工作寄存器组。工作寄存器组。RS1RS1RS0RS0工作寄存器区工作寄存器区0 00 00 0区区 00H00H07H07H0 01 11 1区区 08H08H0FH0FH1 10 02 2区区 10H10H17H17H1 11 13 3区区 18H18H1FH1FH位序位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志位标志CYACF0RS1RS0OV-P溢出标志位溢出标志位OV:带符号加减运算中,超过累加器带符号加减运算中,超过累加器A A所能表示的符号数有效范围(所能表示的符号数有效范围(-128-1

7、28+127+127)则)则OV1 1。乘法指令,乘积超过。乘法指令,乘积超过255255时,时,OV=1=1。除法指。除法指令,令,OV=1=1,表示除数为,表示除数为0 0。奇偶标志位奇偶标志位P:该位始终跟踪指示累加器该位始终跟踪指示累加器A中中1 1的个的个数。如结果数。如结果A中有奇数个中有奇数个1 1,则置,则置P=1=1;否则;否则P=0=0。常用于校验串行通信中的数据传送是否出错。常用于校验串行通信中的数据传送是否出错。问题:问题:PSW中哪些位有硬件自动设置?哪些位使用中哪些位有硬件自动设置?哪些位使用软件方法设定?软件方法设定?2. 控制器控制器主要由程序计数器主要由程序计

8、数器PC、指令寄存器、指令寄存器IR、指令译、指令译码器码器ID、堆栈指针、堆栈指针SP、数据指针、数据指针DPTR、时钟、时钟发生器及定时控制逻辑等组成。发生器及定时控制逻辑等组成。(2) 功能:功能:控制器是单片机的指挥控制部件,保证单片机控制器是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。各部分能自动而协调地工作。(1) 组成:组成: 执行执行 取指令取指令 分析分析 执行一条指令的全过程:执行一条指令的全过程:四、存储器(哈佛结构)四、存储器(哈佛结构)51系列单片机的存储器分为数据存储器和程序存储系列单片机的存储器分为数据存储器和程序存储器,其地址空间,存取指令和控制信

9、号各有一套器,其地址空间,存取指令和控制信号各有一套。89C5189C51存储器存储器程序存储器程序存储器ROM数据存储器数据存储器ROM片内程序存储器片内程序存储器片外程序存储器片外程序存储器片内数据存储器片内数据存储器片外数据存储器片外数据存储器1. 物理结构物理结构2. 逻辑结构逻辑结构特殊功能寄存器通用RAM区位寻址区00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外 部RAM(I/O口

10、地址)0000HFFFFH内部数据存储器内部数据存储器外部数据存储器外部数据存储器程序存储器程序存储器工作寄存器区 片内、外程序存储器统一编址,使用片内、外程序存储器统一编址,使用MOVC指令。指令。 片外数据存储器统一编址,使用片外数据存储器统一编址,使用MOVX指令。指令。 片内数据存储器统一编址,使用片内数据存储器统一编址,使用MOV指令。指令。有有EPROMEPROM有有ROMROM无无5 54x84x8位位1 1128128字节字节8051805180C5180C51(4K(4K字节字节) )8751875187C5187C51(4K(4K字节字节) )2x162x16片内片内RAM

11、RAM片内片内ROMROM6 61 14x84x8位位3x163x16256256字节字节8752875287C5287C52(8K(8K字节字节) )8052805280C5280C52(8K(8K字节字节) )8032803280C3280C32IntelIntel5252子系列子系列8031803180C3180C31IntelIntel5151子系列子系列中中断断源源串行串行I/OI/O并行并行I/OI/O定时器定时器计数器计数器片内存储器(字节)片内存储器(字节)系列系列5 51 115152 212812810511051(1K)(1K)/ /20512051(2K)(2K)/ /

12、40514051(4K)(4K)(2020条引脚条引脚DIPDIP封装)封装)5/65/61 132322/32/3128/128/25625689C5189C51(4K)(4K)/ /89C5289C52(8K)(8K)(4040条引脚条引脚DIPDIP封装)封装)ATEMLATEML89C89C系列系列( (常用型常用型) )MCS-51系列单片机配置一览表系列单片机配置一览表外部外部ROM内部内部ROM(EA=1)外部外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H0FFFFH片内片内ROM和片外和片外ROM取指的速度相同取指的速度相同3. 程序存储器程序存储器(

13、1) 功能:功能:用于存放编好的程序和表格常数。用于存放编好的程序和表格常数。(2) 编址:编址:0000H 0000H 0002H0002H 系统复位系统复位0003H 0003H 000AH 000AH 外部中断外部中断0 0 000BH 000BH 0012H 0012H T0 T0溢出中断溢出中断0013H 0013H 001AH 001AH 外中断外中断1 1 001BH 001BH 0022H 0022H T1 T1溢出中断溢出中断 0023H0023H 002AH002AH 串口中断串口中断 002BH 002BH 0032H0032H T2 T2溢出中断(溢出中断(5252系列

14、)系列)使用时注意:使用时注意:0000H0002H三个单元是系统的启动单元。复三个单元是系统的启动单元。复位后位后(PC)=0000H,CPU总是从总是从0000H执行程序。一执行程序。一般将一条无条件转移指令存放到这三个单元。般将一条无条件转移指令存放到这三个单元。中断地址区存放中断服务程序。使用时一般中断中断地址区存放中断服务程序。使用时一般中断地址区首地址开始存放无条件一条转移指令。地址区首地址开始存放无条件一条转移指令。4. 数据存储器数据存储器(1) 功能:功能:用于存放运算的中间结果、数据暂存和缓冲、用于存放运算的中间结果、数据暂存和缓冲、标志位等。标志位等。(2) 编址:编址:

15、00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中11个可个可位寻址位寻址80H80HFFHFFH89C51 128128字节字节R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区00FH10H17H18H00H00H20H20H2FH2FH7FH7FH1FH1FH30H3

16、0H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区片内片内RAM前前3232个单元是个单元是工作寄存器区工作寄存器区(00H1FH)使用时注意:在任一时刻,使用时注意:在任一时刻,CPU只能使用一组寄存只能使用一组寄存器,当前寄存器组由器,当前寄存器组由PSW中的中的RS1和和RS0决定。决定。片内片内RAM中有中有128个可按位寻址的位个可按位寻址的位。 位地址位地址:00H7FH 分布在分布在:20H2FH单元单元00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系

17、列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C

18、 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位使用时注意:使用时注意:这些可位寻址的空间,可这些可位寻址的空间,可通过执行指令直接对某通过执行指令直接对某一位进行操作一位进行操作,如置,如置1 1、清、清0 0或判或判1 1、判、判0 0等,可用作等,可用作软件标志位或用于位(布尔)处理。这是一般微机软件标志位或用于位(布尔)处理。这是一般微机所不具备的,这种位寻址能力是所不具备的,这种位寻址能力是80C5180C51所独有的所独有的, ,也也可对字节操作可对字节操作。20H2FH:既可以字节操作,又可以位操作,但:既可以字节操作,又可以位操作,但是要用是要

19、用不同的指令来区分。不同的指令来区分。 例如:例如: MOV C,7FH MOV C,2FH.7 MOV A,7FH FFHFFHSFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址80H80HFFHFFH89C51 128字节字节89C52 256字节字节只能直接寻址只能直接寻址只能寄存器间接寻址只能寄存器间接寻址(P14)既可间接寻址既可间接寻址,又可直接寻址又可直接寻址00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区89C51片内

20、片内RAM 128字节(字节(00H7FH00H7FH)89C52片内片内RAM 256字节(字节(00H0FFH00H0FFH)特殊功能寄存器特殊功能寄存器(SFR)专用于控制、选择、管理、存放单片机内部各部分专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。的工作方式、条件、状态、结果的寄存器。共共2222个,可寻址的个,可寻址的2121个和个和PCPC。不同的不同的SFRSFR管理不同的硬件模块,负责不同的功能。管理不同的硬件模块,负责不同的功能。换言之:要让单片机实现预定的功能,必须有相应换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,而软件中

21、最重要的一项工作就是对的硬件和软件,而软件中最重要的一项工作就是对SFRSFR写命令(要求)。写命令(要求)。标识符号标识符号地址地址寄存器名称寄存器名称ACCACC0E0H0E0H累加器累加器B B0F0H0F0HB B寄存器寄存器PSWPSW0D0H0D0H程序状态字程序状态字SPSP81H81H堆栈指针堆栈指针DPTRDPTR82H82H、83H83H数据指针数据指针(16(16位位) )含含DPLDPL和和DPHDPHIEIE0A8H0A8H中断允许控制寄存器中断允许控制寄存器IPIP0B8H0B8H中断优先控制寄存器中断优先控制寄存器P0P080H80HI/OI/O口口0 0寄存器寄

22、存器P1P190H90HI/OI/O口口1 1寄存器寄存器P2P20A0H0A0HI/OI/O口口2 2寄存器寄存器特殊功能寄存器特殊功能寄存器(SFR)特殊功能寄存器特殊功能寄存器(SFR)标识符号标识符号地址地址寄存器名称寄存器名称P3P30B0H0B0HI/OI/O口口3 3寄存器寄存器PCONPCON87H87H电源控制及波特率选择寄存器电源控制及波特率选择寄存器SCONSCON98H98H串行口控制寄存器串行口控制寄存器SBUFSBUF99H99H串行数据缓冲寄存器串行数据缓冲寄存器TCONTCON88H88H定时控制寄存器定时控制寄存器TMODTMOD89H89H定时器方式选择寄存

23、器定时器方式选择寄存器TL0TL08AH8AH定时器定时器0 0低低8 8位位TH0TH08CH8CH定时器定时器0 0高高8 8位位TL1TL18BH8BH定时器定时器1 1低低8 8位位TH1TH18DH8DH定时器定时器1 1高高8 8位位与端口相关与端口相关(7个)个)P0、P1、P2、P3SCON (Serial Control Register)SBUF (Serial Date Buffer) PCON (Power Control Register) 与定时与定时/计数器相关(计数器相关(6个)个)TMOD (Timer/Counter Mode Register)TCON (

24、Timer/Counter Control Register)TH0、TL0 、TH1、TL1:分别是分别是T0、T1的记数初值寄存器。的记数初值寄存器。与中断相关的(与中断相关的(2 2个)个)IP (Interrupt Priority Register) IE (Interrupt Enable Register) 程序计数器程序计数器PC(Program Counter)特点:特点:它是它是1616位的按机器周期自动增位的按机器周期自动增1 1计数器。计数器。总指向下一条指令所在首地址总指向下一条指令所在首地址( (当前当前PC值值) )。一切分支一切分支/ /跳转跳转/ /调用调用/

25、 /中断中断/ /复位等操作的本质复位等操作的本质就是就是: :改变改变PC值。值。DPTR ( (Data Pointer) )(分成分成DPH、DPL两个)两个)数据指针数据指针DPTR是一个是一个1616位的专用寄存器位的专用寄存器, , 其高位其高位字节寄存器用字节寄存器用DPHDPH表示表示, ,低位字节寄存器用低位字节寄存器用DPL表表示。既可作为一个示。既可作为一个1616位寄存器位寄存器DPTR来处理来处理, , 也可也可作为两个独立的作为两个独立的8 8位寄存器位寄存器DPH和和DPL来处理。在来处理。在访问程序存储器时访问程序存储器时, , 用作基址寄存器。用作基址寄存器。

26、5. C51单片机的堆栈操作单片机的堆栈操作 特点:特点:先进后出(先进后出(LIFO)和后进先出()和后进先出(FILO) 作用:作用:保护断点和保护现场保护断点和保护现场 C51堆栈的开辟:堆栈的开辟:片内片内RAM中中 堆栈指针:堆栈指针:SP,始终指示栈顶的存储单元地址,始终指示栈顶的存储单元地址 堆栈堆栈是一种数据结构,只允许在其一端进行数是一种数据结构,只允许在其一端进行数据插入和数据删除操作的线性表。据插入和数据删除操作的线性表。系统复位时系统复位时SPSP的初值为的初值为07H07H,实际应用中常把,实际应用中常把C51C51的堆栈一般设在的堆栈一般设在30H30H7FH7FH

27、的范围内。栈顶的位置的范围内。栈顶的位置由由SPSP寄存器指示。寄存器指示。例如:例如: MOV SPMOV SP,#54H#54H进栈的数据将进栈的数据将存在此存在此数据数据进栈进栈 SP栈顶栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区已经进栈的数已经进栈的数据存放在此据存放在此数据进栈时:首先数据进栈时:首先SP+1SP+1,然后写入数据。放进堆,然后写入数据。放进堆栈的仍指着栈顶栈的仍指着栈顶SP+1堆栈有堆栈有向上生长型向上生长型和向下

28、生长型,和向下生长型,C51C51属于前者。属于前者。从堆栈取出数据时:取出的数据,也就是当前栈从堆栈取出数据时:取出的数据,也就是当前栈顶的数据。然后顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶,仍指着栈顶当前要出栈的数据当前要出栈的数据数据数据出栈出栈SP-1指向下一个指向下一个将要出栈的数据将要出栈的数据 SP栈顶栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶断点保护、断点恢复(断点保护、断点恢复(自动方式自动方式

29、)现场保护、现场恢复(现场保护、现场恢复(指令方式指令方式)四、并行四、并行I/O口口C51系列单片机共有系列单片机共有4个个8位的位的I/O口,记作口,记作P0,P1P2,P3也被归入也被归入SFR之列,可以按字节寻址,也之列,可以按字节寻址,也可以按位寻址。可以按位寻址。1. P0口口D QCLK QMUXP0.n读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口口引脚引脚P0口的某位P0.n(n=07)结构图G1G2 通用通用I / O口口写:(片内数据写:(片内数据 端口)端口)数据数据 锁存锁存 MUX P0.nCPU发

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

31、内部总线。内部总线。“在输入数据时应先把口置在输入数据时应先把口置1 1,使两个,使两个FETFET都截止,都截止,引脚处于悬浮状态,可作高阻抗输入引脚处于悬浮状态,可作高阻抗输入”T2导通时,导通时, P0.n被箝位在被箝位在0电平电平准双准双向口向口D QCLK QMUXP0.n读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址/ /数据数据控制控制VCCT1T2P0口口引脚引脚G1G2(2) 地址地址/数据总线口数据总线口CPU发出控制电平发出控制电平“1 1”,打开,打开“与与”门,又使门,又使MUX把把CPU的地址的地址/ /数据总线与数据总线与T2栅极反相接通,栅

32、极反相接通,输出地址或数据。上下两个输出地址或数据。上下两个FET处于反相,构成了处于反相,构成了推拉式的输出电路,其负载能力大大增强。推拉式的输出电路,其负载能力大大增强。写:地址写:地址/ /数据为数据为1,T1T1导通,导通,T2T2截止,截止,P0 x=1=1 地址地址/ /数据为数据为0 0,T1T1截止,截止,T2T2导通,导通,P0 x=0读:经缓冲器读:经缓冲器G1读入读入 此时,此时,CPU自动使自动使MUX向下向下,并向,并向P0口写口写“1”1”,“读引脚读引脚”控制信号有效,下面的缓冲器打开,外控制信号有效,下面的缓冲器打开,外部数据读入内部总线。部数据读入内部总线。D QCLK QMUXP0.n读锁存器读锁存器内部总线内部总线写锁存

温馨提示

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

评论

0/150

提交评论