第11章单片机结构与工作原理_第1页
第11章单片机结构与工作原理_第2页
第11章单片机结构与工作原理_第3页
第11章单片机结构与工作原理_第4页
第11章单片机结构与工作原理_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

1、 本章学习目标本章学习目标 :n明确单片机的概念,了解其发展趋势明确单片机的概念,了解其发展趋势n能说出能说出80C5180C51单片机的硬件组成和各功能部件的单片机的硬件组成和各功能部件的作用作用n总体了解总体了解80C5180C51单片机的内部结构和引脚分类单片机的内部结构和引脚分类n熟悉熟悉80C5180C51单片机并行单片机并行I/OI/O口的特点和功能口的特点和功能n能画出能画出80C5180C51单片机内外存储器的配置图单片机内外存储器的配置图n理解时钟和机器周期的概念,明确时序的含义理解时钟和机器周期的概念,明确时序的含义第第1章章 80C51单片机基础单片机基础什么是单片机?什

2、么是单片机? 将构成计算机的五大组成将构成计算机的五大组成部分集成在一个芯片上就构部分集成在一个芯片上就构成单芯片微型计算机,简称成单芯片微型计算机,简称单片机单片机单片机及其发展应用单片机及其发展应用1.1 80C511.1 80C51单片机的内部结构单片机的内部结构1.1.1 80C511.1.1 80C51单片机和单片机和80C5180C51系列单片机系列单片机 80C51单片机属于美国单片机属于美国Intel 公司的公司的MCS-51系列系列 产品产品中的一个型号中的一个型号,它采用,它采用CHMOS 工艺,功耗低,性能优良,工艺,功耗低,性能优良,在市场中获得了广泛的应用。在市场中获

3、得了广泛的应用。 80C51系列单片机,泛指所有具有系列单片机,泛指所有具有MCS-51指令系统,指令系统,同时采用同时采用CHMOS工艺的单片机。工艺的单片机。 在我国,在我国,80C51系列单片机因其性能价格比高、开发方系列单片机因其性能价格比高、开发方式多、芯片功能适用、且为国内技术人员所熟知等特点得到式多、芯片功能适用、且为国内技术人员所熟知等特点得到了极其广泛的应用。了极其广泛的应用。 表表1-1 80C511-1 80C51典型产品资源配置典型产品资源配置 1基本型与增强型基本型与增强型 基本型基本型 如如80C5180C51。能满足基本的控制要求。能满足基本的控制要求。 增强型增

4、强型 如如80C5280C52。在存储器配置和中断定时控制上进行。在存储器配置和中断定时控制上进行了加强。了加强。 2 2片内片内ROMROM形式形式 无无ROMROM型型 如如80C3180C31。已淘汰。已淘汰。 掩模掩模ROMROM型型 如如80C5180C51。用户程序只能由芯片生产厂家写。用户程序只能由芯片生产厂家写入,但不能更改,适合成型后的批量生产。入,但不能更改,适合成型后的批量生产。 EPROM型型 如如87C51。用户用户程序由编程器写入,通过紫程序由编程器写入,通过紫外线照射擦除,使用不便。外线照射擦除,使用不便。 FlashROM型型 如如89C51。用户程序可以由电写

5、入或者。用户程序可以由电写入或者擦除,这是当前的主流芯片。擦除,这是当前的主流芯片。1.1.2 80C511.1.2 80C51单片机的基本组成单片机的基本组成 图图1-6所示为所示为80C51单片机的基本组成,可以看出在该单片机的基本组成,可以看出在该芯片上集成了一个微型计算机芯片上集成了一个微型计算机 1CPU系统系统l 1个个8位微处理器位微处理器CPU l 内部时钟电路内部时钟电路l 总线控制逻辑总线控制逻辑 2内部存储器内部存储器l 4KB的片内程序存储器(的片内程序存储器(ROM/EPROM/Flash)l 128B数据存储器(数据存储器(RAM)和)和128B特殊功能寄存器特殊功

6、能寄存器SFR(80C51只用到其中只用到其中21B) 3I/O接口及中断定时功能接口及中断定时功能l 4个个8位可编程的位可编程的I/O(输入(输入/输出)并行接口输出)并行接口l 5个中断源的中断控制系统,可编程为个中断源的中断控制系统,可编程为2个优先级个优先级l 2个个16位定时位定时/计数器,既可以定时,又可以对外部事件进计数器,既可以定时,又可以对外部事件进行计数行计数l 1个全双工的串行个全双工的串行I/O接口,用于数据的串行通信接口,用于数据的串行通信 所有这些都通过单片机内部的总线相连接。所有这些都通过单片机内部的总线相连接。 80C5180C51的内部结构的内部结构 1.中

7、央处理器中央处理器CPU CPUCPU是是80C5180C51内部的内部的1 1个字长为个字长为8 8位的中央处理单元,它由位的中央处理单元,它由运算器、控制器两部分组成。实际上构成了单片机的核心。运算器、控制器两部分组成。实际上构成了单片机的核心。 (1)运算器)运算器l 以算术逻辑单元以算术逻辑单元ALUALU(Arithmetic Logic UnitArithmetic Logic Unit)为核心,)为核心,还包括累加器还包括累加器A A、程序状态字寄存器、程序状态字寄存器PSWPSW(Program Status Program Status WordWord)、)、B B寄存器、

8、两个寄存器、两个8 8位暂存器位暂存器 TMP1TMP1和和TMP2TMP2等部件。等部件。l 可以进行加、减、乘、除、加可以进行加、减、乘、除、加1 1、减、减1 1、BCDBCD数十进制调整、数十进制调整、比较等算术运算;比较等算术运算;l 也可以进行与、或、非、异或等逻辑运算;也可以进行与、或、非、异或等逻辑运算;l 还能完成循环移位、判断和程序转移等控制功能。还能完成循环移位、判断和程序转移等控制功能。(一)、运算器(一)、运算器1 1、运算器的组成、运算器的组成算术逻辑单元算术逻辑单元( (简称简称ALUALU)运算器运算器累加器累加器 寄存器寄存器2 2、运算器的作用运算器的作用是

9、把传送到微处理器的数据进行运算或逻辑运是把传送到微处理器的数据进行运算或逻辑运算。算。举例举例ALUALU可对两个操作数进行加、减、与、或、可对两个操作数进行加、减、与、或、比较大小等操作,最后将结果存入累加器。比较大小等操作,最后将结果存入累加器。ALUALU执行不同的运算操作是由不同控制线上执行不同的运算操作是由不同控制线上的信息所确定的。的信息所确定的。例如:例如: 两个数(两个数(7 7和和9 9)相加,在相加之前,操作)相加,在相加之前,操作数数9 9放在累加器中,放在累加器中,7 7放在数据寄存器中,执放在数据寄存器中,执行两数相加运算的控制线发出行两数相加运算的控制线发出“加加”

10、操作信操作信号,号,ALUALU即把两个数相加并把结果(即把两个数相加并把结果(1616)存入)存入累加器,取代累加器前面存放的数累加器,取代累加器前面存放的数9 9。3 3、ALUALU的两个主要的输入来源的两个主要的输入来源输入来源输入来源数据寄存器数据寄存器累加器累加器4 4、运算器的两个主要功能运算器的两个主要功能(1 1)执行各种算术运算。)执行各种算术运算。(2 2)执行各种逻辑运算,并进行逻辑测试。)执行各种逻辑运算,并进行逻辑测试。如零值测试或两个值的比较。如零值测试或两个值的比较。控制器的组成控制器的组成程序计数器程序计数器指令寄存器指令寄存器指令译码器指令译码器时序产生器时

11、序产生器操作控制器操作控制器1 1、控制器的组成、控制器的组成(二)、控制器(二)、控制器2 2、作用、作用它是发布命令的它是发布命令的“决策机构决策机构”,即协调,即协调和指挥整个计算机系统的操作。和指挥整个计算机系统的操作。3 3、控制器的主要功能、控制器的主要功能对指令进行译码或测试,并产生相应对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。的操作控制信号,以便启动规定的动作。指挥并控制指挥并控制CPUCPU、内存和输入内存和输入/ /输出设输出设备之间数据流动的方向。备之间数据流动的方向。从内存中取出一条指令,并指出下一从内存中取出一条指令,并指出下一条指令在内存中

12、的位置。条指令在内存中的位置。(三)、(三)、CPUCPU中的主要寄存器中的主要寄存器1 1、累加器(、累加器(A A)在算术和逻辑运算时,它具有双重功能:在算术和逻辑运算时,它具有双重功能: 运算前,用于保存一个操作数;运算前,用于保存一个操作数; 运算后,用于保存所得的和、差或逻辑运算结果。运算后,用于保存所得的和、差或逻辑运算结果。累加器是微处理器中最繁忙的寄存器。累加器是微处理器中最繁忙的寄存器。2 2、数据寄存器(、数据寄存器(DRDR)数据(缓冲)寄存器(数据(缓冲)寄存器(DRDR)是通过数据总线)是通过数据总线(DBUSDBUS)向存储器()向存储器(M M)和输入)和输入/

13、/输出设备输出设备I/OI/O送(写)或取(读)数据的暂存单元。送(写)或取(读)数据的暂存单元。3 3、指令寄存器(、指令寄存器(IRIR)指令寄存器用来保存当前正在执行的一条指令。指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时先把它从内存取到数据寄当执行一条指令时先把它从内存取到数据寄存器中,然后再传送到指令译码器中。存器中,然后再传送到指令译码器中。4 4、指令译码器(、指令译码器(IDID)指令分为操作码和地址码字段,由二进制数字组成。指令分为操作码和地址码字段,由二进制数字组成。当执行任何给定的指令,必须对操作码进行译码,当执行任何给定的指令,必须对操作码进行译码,以便确

14、定所要求的操作。以便确定所要求的操作。指令寄存器中操作码字段的输出就是指令译码器指令寄存器中操作码字段的输出就是指令译码器的输入。的输入。操作码一经译码后,即可向控制器发出具体操作操作码一经译码后,即可向控制器发出具体操作的特定信号。的特定信号。5 5、程序计数器(、程序计数器(PCPC) 通常又称为指令地址计数器。通常又称为指令地址计数器。在程序开始执行前,必须将其起始地址,即程在程序开始执行前,必须将其起始地址,即程序的第一条指令所在的内存单元地址送到序的第一条指令所在的内存单元地址送到PCPC。当执行指令时,当执行指令时,CPUCPU将自动修改将自动修改PCPC的内容,使之总是的内容,使

15、之总是保存将要执行的下一条指令的地址。保存将要执行的下一条指令的地址。由于大多数指令都是按顺序执行的,所以修改的由于大多数指令都是按顺序执行的,所以修改的过程通常是简单的加过程通常是简单的加1 1操作。操作。6 6、地址寄存器、地址寄存器 (ARAR)地址寄存器用来保存当前地址寄存器用来保存当前CPUCPU所要访问的内存单元或所要访问的内存单元或I/OI/O设备的地址。设备的地址。因为内存(因为内存(I/OI/O设备)和设备)和CPUCPU之间存在着速度上的之间存在着速度上的差别,所以必须使用地址寄存器来保存地址信息,差别,所以必须使用地址寄存器来保存地址信息,直到内存(直到内存(I/OI/O

16、设备)读设备)读/ /写操作完成为止。写操作完成为止。存储器存储器地址总线、数据总线和若干控制线把存储器和地址总线、数据总线和若干控制线把存储器和微处理器连接起来。微处理器连接起来。存储器从存储器从CPUCPU接收控制信号,以确定存储器执行接收控制信号,以确定存储器执行读读/ /写操作。写操作。地址总线将地址总线将8 8位地址信息送入地址译码器,位地址信息送入地址译码器,地址译码器的输出可以确定唯一的存储单地址译码器的输出可以确定唯一的存储单元。元。数据总线用来传送存储器到数据总线用来传送存储器到CPUCPU或或CPUCPU到存到存储器的数据信息储器的数据信息。1、程序存储器(、程序存储器(R

17、OM)2、数据存储器(、数据存储器(RAM)1、程序存储器(、程序存储器(ROM)2地址从地址从0000H0000H开始。开始。2用于存放程序和表格常数。用于存放程序和表格常数。2、数据存储器(、数据存储器(RAM)2地址为地址为00H00H7FH7FH。2用于存放运算的中间结果、数据暂存以用于存放运算的中间结果、数据暂存以及数据缓冲等。及数据缓冲等。2这这128B128B的的RAMRAM中有中有3232个字节单元可指定为个字节单元可指定为工作寄存器。工作寄存器。2片内还有片内还有2121个特殊功能寄存器(个特殊功能寄存器(SFRSFR),),它们同它们同128128字节字节RAMRAM统一编

18、址,地址为统一编址,地址为80H80HFFHFFH。后面详细介绍。后面详细介绍。 (2)控制器)控制器l 包括程序计数器包括程序计数器PC、指令寄存器、指令译码器、振荡器、定时、指令寄存器、指令译码器、振荡器、定时电路及控制电路等部件;电路及控制电路等部件;l 它能根据不同的指令产生相应的操作时序和控制信号,控制单它能根据不同的指令产生相应的操作时序和控制信号,控制单片机各部分的运行;片机各部分的运行;l 单片机执行哪条指令受单片机执行哪条指令受PC控制。控制。 PC是一个是一个16位计数器,具有自动加位计数器,具有自动加1功能。功能。CPU每每读取一个字节的指令则读取一个字节的指令则PC自动

19、加自动加1,指向要执行的下一,指向要执行的下一指令的地址。指令的地址。PC的最大寻址范围为的最大寻址范围为64K。可以通过控。可以通过控制转移指令改变制转移指令改变PC值,实现程序的转移。值,实现程序的转移。关于关于PC3I/O口口 (1) 并行口并行口 有有4个个8位并行位并行I/O口口P0P3,均可并行输入输出,均可并行输入输出8位数据。位数据。 (2)串行口)串行口 有有1个串行个串行I/O口,用于数据的串行输入输出口,用于数据的串行输入输出4定时器定时器/计数器计数器 (1)产生定时脉冲,实现单片机的定时控制;)产生定时脉冲,实现单片机的定时控制; (2)用于计数方式,记录外部事件的脉

20、冲个数。)用于计数方式,记录外部事件的脉冲个数。2.存储器存储器 (1)片内)片内ROM是程序存储器;是程序存储器; (2)片内)片内RAM,可用于存放输入、输出数据和中间计算结,可用于存放输入、输出数据和中间计算结果,或作为数据堆栈区。果,或作为数据堆栈区。1.1.51.1.5 80C51 80C51的引脚功能描述的引脚功能描述图图1-8 80C51系列单片机系列单片机DIP40封装引脚结构封装引脚结构 1.总线型总线型DIP40引脚封装引脚封装 (1)电源引脚()电源引脚(2个)个)VCC:接:接+5V电源电源VSS:接地端:接地端 (2) 外接晶体引脚(外接晶体引脚(2个)个)XTAL1

21、:外接晶振输入端:外接晶振输入端XTAL2:外接晶振输入端:外接晶振输入端 (3) 并行输入输出引脚(并行输入输出引脚(32个,分成个,分成4个个8位口)位口)P0.0P0.7:通用:通用I/O引脚或数据引脚或数据/低低8位地址总线复用引脚位地址总线复用引脚P1.0P1.7:通用:通用I/O引脚引脚P2.0P2.7:通用:通用I/O引脚或高引脚或高8位地址总线复用引脚位地址总线复用引脚P3.0P3.7:通用:通用I/O引脚或第二功能引脚引脚或第二功能引脚 (4) 控制引脚(控制引脚(4个)个)RST/VPD:复位信号输入引脚:复位信号输入引脚/备用电源输入引脚备用电源输入引脚ALE/ :地址锁

22、存允许信号输出引脚:地址锁存允许信号输出引脚/编程脉冲输入引脚编程脉冲输入引脚 /VPP:内外存储器选择引脚:内外存储器选择引脚/片内片内EPROM(或(或FlashROM)编程电压输)编程电压输入引脚入引脚 :片外程序存储器读选通信号输出引脚:片外程序存储器读选通信号输出引脚PROGEAPSEN 2非总线型非总线型DIP2 0引脚封装引脚封装(1) 电源引脚(电源引脚(2个)个)lVCC:接:接+5V电源电源lGND:接地端:接地端(2)外接晶体引脚()外接晶体引脚(2个)个)lXTAL1:外接晶振输入端:外接晶振输入端lXTAL2:外接晶振输入端:外接晶振输入端 图1-9 非总线型DIP2

23、 0引脚(3 3) 并行输入输出引脚(并行输入输出引脚(1515个)个)lP1.0P1.7P1.0P1.7:通用:通用I/OI/O引脚引脚(P1.0P1.0和和P1.1P1.1兼作模拟信号输入引脚兼作模拟信号输入引脚AIN0AIN0、AIN1AIN1)lP3.0P3.5P3.0P3.5、P3.7P3.7:通用:通用I/OI/O引脚或第二功能引脚引脚或第二功能引脚(4 4) 控制引脚(控制引脚(1 1个)个)lRSTRST:复位信号输入引脚:复位信号输入引脚PLCCPLCC 带引线的塑料芯片载体.表面贴装型封装 PQFPPQFPBGA封装(Ball Grid Array Package)的I/O

24、端子以圆形或柱状焊点按阵列形式分布在封装下面, 51单片机引脚功能单片机引脚功能 一、电源引脚:一、电源引脚:Vcc和和Vss 二、时钟电路引脚:二、时钟电路引脚:XTAL1和和XTAL2 三、控制信号引脚三、控制信号引脚RST、ALE、PSEN和和EA 四、四、I/O端口端口P0、P1、P2和和P3一、电源引脚:一、电源引脚:Vcc和和Vss 1Vcc(40脚):电源端,为+5V。 2Vss(20脚):接地端。图图3-33-3二、时钟电路引脚:二、时钟电路引脚:XTAL1和和XTAL2 XTAL2XTAL2(1818脚):接外部晶体和微调电容的一端;脚):接外部晶体和微调电容的一端;在在89

25、C51 89C51 片内它是振荡电路反向放大器的输出端,片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。部时钟电路时,该引脚输入外部时钟脉冲。89C51/803189C51/8031正常工作时,该引脚应有脉冲信号输正常工作时,该引脚应有脉冲信号输出。出。 XTAL1XTAL1(1919脚):接外部晶体和微调电脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟向放大器的输入端,在采用外部时钟时,该引脚接地。时,该引脚接

26、地。二、时钟电路引脚:二、时钟电路引脚:XTAL1和和XTAL2 三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA RST/VRST/VPDPD(9 9脚):脚):RSTRST:复位信号输入端,高电平有效。当:复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电平时,此输入端保持两个机器周期的高电平时,就可以完成复位操作。就可以完成复位操作。 RST/VRST/VPDPD(9 9脚):脚):V VPDPD :RSTRST引脚的第二功能,备用电源输引脚的第二功能,备用电源输入端。当主电源入端。当主电源Vcc Vcc 发生故障,降低到发生故障,降低到低电平规定值时,将低

27、电平规定值时,将+5V+5V电源自动接入该电源自动接入该引脚,为引脚,为RAMRAM提供备用电源,以保证提供备用电源,以保证RAMRAM中的信息不丢失,使得复位后能继续正中的信息不丢失,使得复位后能继续正常运行。常运行。 三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA ALE/PROG(30脚):ALEALE:地址锁存允许信号端。正常工:地址锁存允许信号端。正常工作时,该引脚以振荡频率的作时,该引脚以振荡频率的1/61/6固定输固定输出正脉冲。出正脉冲。CPUCPU访问片外存储器时,该访问片外存储器时,该引脚输出信号作为锁存低引脚输出信号作为锁存低8 8位地址的控位地址的

28、控制信号。它的负载能力为制信号。它的负载能力为8 8个个LSLS型型TTLTTL负载。负载。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA ALE/PROG(30脚):PROGPROG:是对片内带有:是对片内带有4KB EPROM4KB EPROM的的87518751编程写入时的编程脉冲输入端。编程写入时的编程脉冲输入端。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA PSEN(29脚):程序存储器允许信号输出端。程序存储器允许信号输出端。在访问片外在访问片外ROMROM时,定时输出负脉冲时,定时输出负脉冲作为读片外作为读片外ROMROM的选通信号,

29、接片外的选通信号,接片外ROMROM 的的OEOE端。端。它的负载能力为它的负载能力为8 8个个LSLS型型TTLTTL负载。负载。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA EA/Vpp(31脚):EAEA: 外部程序存储器地址允许输入端。外部程序存储器地址允许输入端。当该引脚接高电平时,当该引脚接高电平时,CPUCPU访问片内访问片内EPROM/ROMEPROM/ROM并执行片内程序存储器中的指并执行片内程序存储器中的指令,但当令,但当PCPC值超过值超过0FFFH0FFFH(片内(片内ROMROM为为4KB4KB)时,将自动转向执行片外时,将自动转向执行片外RO

30、MROM中的程序。中的程序。当该引脚接低电平时,当该引脚接低电平时,CPUCPU只访问片外只访问片外EPROM/ROMEPROM/ROM并执行外部程序存储器中的程并执行外部程序存储器中的程序。序。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA EA/Vpppp(31脚):脚):V Vpppp:对:对87518751片内片内EPROMEPROM固化编程时,固化编程时,编程电压输入端(编程电压输入端(12-21V12-21V)。)。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA四、四、I/OI/O端口端口P0P0、P1P1、P2P2和和P3P3 1 1、

31、准双向、准双向 2 2、P0P0口口 3 3、P1P1口口 4 4、P2P2口口 5 5、P3P3口口1、准双向、准双向当当I/OI/O口作为输入时,应先向此口锁存口作为输入时,应先向此口锁存器写入全器写入全1 1, 此时该口引脚浮空,可此时该口引脚浮空,可作高阻抗输入。作高阻抗输入。2、P0口:口:漏极开路的漏极开路的8 8位准双向位准双向I/OI/O口,每口,每位能驱动位能驱动8 8个个LSLS型型TTLTTL负载。负载。P0P0口可作为一个数据输入口可作为一个数据输入/ /输出口;输出口;在在CPUCPU访问片外存储器时,访问片外存储器时,P0P0口为口为分时复用的低分时复用的低8 8位

32、地址总线和位地址总线和8 8位数位数据总线。据总线。3、P1口:口:带内部上拉电阻的带内部上拉电阻的8位准双向位准双向I/O端口,端口,每位能驱动每位能驱动4个个LS型型TTL负载。负载。4、P2口:口:P2口:带内部上拉电阻的口:带内部上拉电阻的8位准双向位准双向I/O端口,每位能驱动端口,每位能驱动4个个LS型型TTL负负载。在载。在CPU访问片外存储器时,它输访问片外存储器时,它输出高出高8位地址位地址。5、P3口:口:带内部上拉电阻的带内部上拉电阻的8 8位准双向位准双向I/OI/O端口,端口,每位能驱动每位能驱动4 4个个LSLS型型TTLTTL负载。负载。P3P3口除口除作为一般作

33、为一般I/OI/O口外,每个引脚都有第二口外,每个引脚都有第二功能。功能。单片机的工作原理单片机的工作原理 CPUCPU的工作原理的工作原理控制器控制器指令部件指令部件程序计数器程序计数器PCPC:1616位专用寄存器,用于存放和指示位专用寄存器,用于存放和指示下一条要执行指令的地址下一条要执行指令的地址 指令寄存器:指令寄存器:8 8位寄存器,用于暂时存放指令,等位寄存器,用于暂时存放指令,等待译码待译码 指令译码器:对送入指令译码器中的指令进行译码指令译码器:对送入指令译码器中的指令进行译码 时序部件:产生操作控制部件所需的时序信号。由时序部件:产生操作控制部件所需的时序信号。由时钟电路和

34、脉冲分配器组成时钟电路和脉冲分配器组成操作控制部件:为指令译码器的输出信号配上节拍操作控制部件:为指令译码器的输出信号配上节拍电位和节拍脉冲电位和节拍脉冲 运算器:对数据进行算术运算和逻辑操作的执行部运算器:对数据进行算术运算和逻辑操作的执行部件件 。包括。包括ALUALU、ACCACC、暂存寄存器、暂存寄存器、PSWPSW、通用寄存、通用寄存器、器、BCDBCD码运算调整电路等码运算调整电路等 算术算术/ /逻辑部件逻辑部件ALUALU对数据进行算术运算和逻辑操作的执行部件。它的对数据进行算术运算和逻辑操作的执行部件。它的运算会影响程序状态标志寄存器的有关标志位运算会影响程序状态标志寄存器的

35、有关标志位 暂存器:暂存器:暂存进入运算器之前的数据,不能通过编暂存进入运算器之前的数据,不能通过编程访问。程访问。 单片机执行程序过程单片机执行程序过程运算器运算器取指令阶段取指令阶段 :根据程序计数器:根据程序计数器PCPC中的值从程序存中的值从程序存储器读出现行指令,送到指令寄存器储器读出现行指令,送到指令寄存器 分析指令阶段:将指令寄存器中的指令操作码取出分析指令阶段:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址则寻找操作数地址 执行指令阶段:取出操作数,然后按照操作码的性执行指令阶段:取出操

36、作数,然后按照操作码的性质对操作数进行操作。质对操作数进行操作。 指令执行示意图指令执行示意图指令执行过程详解指令执行过程详解LJMP 0200HLJMP 0200H MOV A,#0E0H;74H,E0HMOV A,#0E0H;74H,E0H取指阶段取指阶段(PC) (PC) 地址寄存器地址寄存器(PC)+1 (PC)(PC)+1 (PC)地址寄存器内容送存储器,经译码选中地址寄存器内容送存储器,经译码选中0200H0200H单元单元CPUCPU使读控制线有效使读控制线有效在读命令控制下,在读命令控制下,0200H0200H中的内容送数据总线中的内容送数据总线分析指令:经分析分析指令:经分析

37、74H74H知,是将一个数送知,是将一个数送A A,而该数,而该数在此代码的下一个存储单元中,需再次取指。在此代码的下一个存储单元中,需再次取指。执行指令:第二次取指,取出的数经数据总线进入执行指令:第二次取指,取出的数经数据总线进入A A,而不再进入指令寄存器。,而不再进入指令寄存器。 触发器(trigger)是计算机的记忆装置的基本单元,也可说是记忆细胞。触发器可以组成寄存器,寄存器又可以组成存储器。寄存器和存储器统称为计算机的记忆装置。补充触发器常见的寄存器有:缓冲寄存器用以暂存数据;移位寄存器能够将其所存的数据一位一位地向左或向右移;计数器一个计数脉冲到达时,会按二进制数的规律累计脉冲

38、数;累加器用以暂存每次在ALU中计算的中间结果。寄存器存储器(memory)是计算机的主要组成部分。它既可用来存储数据,也可用以存放计算机的运算程序。存储器由寄存器组成,可以看做一个寄存器堆,每个存储单元实际上相当于一个缓冲寄存器。存储器存储单元和存储单元地址在单片机中存储器由大量的缓冲寄存器组成,其中的每一个寄存器称为一个存储单元.每个存储单元所存储的内容称为一个字(word)。一个字由若干位(bit)组成。比如8个记忆元件的存储单元就是一个8位的记忆字称为一个字节(byte),由16个记忆单元组成的存储单元就是一个16位的记忆字(由两个字节组成)。 一个存储器可以包含数以千计的存储单元。所

39、以,一个储存器可以存储很多数据,也可以存放很多计算步骤称为程序(program)。为了便于存入和取出,每个存储单元必须有一个固定的编号存储单元地址。存储器的寻址原理为了减少存储器向外引出的地址线,在存储器内部都自带有译码器。根据二进制编码译码的原理,除地线公用之外,n根导线可以译成2n个地址号。 例:一个88的存储器,它是一个有8个存储单元,每个单元为8位记忆字(即每单元存一个字节)的集成电路片,它将有3条地址线A0,A1,A2和8条数据线D0,D1,D2,D3,D4,D5,D6,D7。如8个存储单元为R0,R1,R7。它们是A0,A1,A2的全部组合。存储器的主要指标 存储器速度 存储器容量

40、:一片存储器最多可存储的单元个数。1.1.4 80C511.1.4 80C51单片机的存储器结构单片机的存储器结构 80C5180C51系列单片机有两个存储器:程序存储器(系列单片机有两个存储器:程序存储器(ROMROM)和)和数据存储器(数据存储器(RAMRAM),且各自独立编址。),且各自独立编址。 从用户使用角度,从用户使用角度,80C5180C51单片机的存储器可以分为三个存单片机的存储器可以分为三个存储空间:储空间:l 片内、片外统一连续编址的片内、片外统一连续编址的0000H0000H0FFFFH0FFFFH共共64KB64KB的程序存的程序存储器空间。储器空间。 l 地址从地址从

41、0000H0000H0FFFFH0FFFFH的片外数据存储器空间。的片外数据存储器空间。 l 地址从地址从00H00H0FFH0FFH的的256B256B的片内数据存储器空间,其中只有的片内数据存储器空间,其中只有前前128B128B能供用户作存储器使用。能供用户作存储器使用。图图1- 10 80C511- 10 80C51单片机的存储器结构单片机的存储器结构u 程序存储器包括片内和片外程序存储器两个部分程序存储器包括片内和片外程序存储器两个部分u 程序存储器主要用来存放编好的用户程序和表格常数程序存储器主要用来存放编好的用户程序和表格常数u 它以它以1616位的程序计数器位的程序计数器PCP

42、C作为地址指针,能寻址作为地址指针,能寻址64KB64KB。 1 引脚的连接引脚的连接l 接高电平接高电平 ( (即即 =1)=1):EAEAEAEA程序存储器程序存储器 ROMROM片内、片外地址空间在片内、片外地址空间在0000H0FFFH有重叠,有重叠,单片机如何访问?单片机如何访问?由某一引脚的高、低电平状态决定EA PC输出值在输出值在0000H0FFFH范围内时,范围内时,CPU访问片内访问片内程序存储器;程序存储器; 当当PC输出值超过输出值超过0FFFH时,时,CPU自动转去访问片外程自动转去访问片外程序存储器。序存储器。 l 接低电平时接低电平时(即即 =0): 片内程序存储

43、器不起作用。片内程序存储器不起作用。CPU总是访问片外程序存储器。总是访问片外程序存储器。当片外程序存储器扩展为当片外程序存储器扩展为64KB时,则其地址范围为时,则其地址范围为0000H0FFFFH。 存储器单元存储器单元保留单元的作用保留单元的作用0000H0002H复位后初始化引导程序入口复位后初始化引导程序入口0003H000AH外部中断外部中断0入口入口000BH0012H定时器定时器0溢出中断入口溢出中断入口0013H001AH外部中断外部中断1入口入口001BH0022H定时器定时器1溢出中断入口溢出中断入口0023H002AH串行口中断入口串行口中断入口002BH定时器定时器2

44、溢出中断入口溢出中断入口注:标注灰色背景的存储空间为增强型芯片所独有注:标注灰色背景的存储空间为增强型芯片所独有 在程序存储器中,某些单元保留给系统使用,见表在程序存储器中,某些单元保留给系统使用,见表1-2。2 2部分关键的程序存储单元部分关键的程序存储单元l 存储单元存储单元0000H0000H0002H0002H: 80C5180C51上电复位后引导程序的存上电复位后引导程序的存放单元。放单元。 80C5180C51上电复位后上电复位后CPUCPU总是从总是从0000H0000H单元开始执行。如果在这单元开始执行。如果在这3 3个个单元中存放一条转移指令(如单元中存放一条转移指令(如LJ

45、MP LJMP 1000H1000H),单片机就会转移到),单片机就会转移到1000H1000H单元,开始执行应用程序。应用程单元,开始执行应用程序。应用程序的引导过程见图序的引导过程见图1-111-11。 图图1-11 应用程序的引导过程应用程序的引导过程 l 0003H0003H002AH002AH单元:单元: 被均匀地分为被均匀地分为5 5段,用作段,用作5 5个中断服务程序的入口;个中断服务程序的入口;只有增强型单片机才占用只有增强型单片机才占用002BH002BH单元。单元。数据存储器数据存储器RAMRAM 数据存储器主要用于存放运算的中间结果、数据等,它可数据存储器主要用于存放运算

46、的中间结果、数据等,它可以分为片内数据存储器和片外数据存储器两大部分。以分为片内数据存储器和片外数据存储器两大部分。 1. 1. 片外数据存储器片外数据存储器 片外数据存储器可以扩展到片外数据存储器可以扩展到64KB,对应地址范围为,对应地址范围为0000H 0FFFFH 2. 片内数据存储器片内数据存储器 片内数据存储器共有片内数据存储器共有256B,在,在功能上分为两部分:功能上分为两部分:l 低低128B(地址为(地址为00H 7FH)是真正的数据存储区;是真正的数据存储区;l 高高128B(地址为(地址为80H 0FFH)用于特殊功能寄存器。用于特殊功能寄存器。 单片机器件设计者为用户

47、提供了两类不同的传单片机器件设计者为用户提供了两类不同的传送指令:送指令:l MOV MOV 指令用于片内指令用于片内00H 00H 0FFH0FFH范围内的寻址,范围内的寻址,l MOVX MOVX 指令用于片外指令用于片外0000H 0000H 0FFFFH0FFFFH范围内的范围内的寻址。寻址。 片内、片外低地址空间在片内、片外低地址空间在0000H00FFH有重叠,单有重叠,单片机如何访问?片机如何访问? 用户通过使用不同的指令,指挥单片机访问不用户通过使用不同的指令,指挥单片机访问不同的存储空间同的存储空间(1 1)工作寄存器区()工作寄存器区(00H00H1FH1FH) 此空间被均

48、匀地分为此空间被均匀地分为4 4段段( (即即4 4个工作寄存器组个工作寄存器组) ),每段,每段8 8个个单元,组成单元,组成8 8个工作寄存器,分别被记做个工作寄存器,分别被记做R0R0R7R7。 在使用这些工作寄存器前,可以通过对程序状态字在使用这些工作寄存器前,可以通过对程序状态字PSWPSW的的RS1RS1、RS0RS0位置位置1 1或清或清0 0,确定选用哪组工作寄存器,否则默认,确定选用哪组工作寄存器,否则默认使用使用0 0区。区。 程序运行时,只能有一个工作寄存器组作为当前工作寄程序运行时,只能有一个工作寄存器组作为当前工作寄存器组。存器组。(2 2)位寻址区()位寻址区(20

49、H20H2FH2FH) 该空间有该空间有1616个单元中共个单元中共128128个二进制位,都可以直接进行个二进制位,都可以直接进行位操作。位操作。80C51低低128B的数据存储空间的功能分区的数据存储空间的功能分区图图1-12 数据存储功能分区数据存储功能分区 我们根据指令的类型来区分!我们根据指令的类型来区分!例:例:p 对字节地址对字节地址20H20H单元清单元清0 0,要用字节操作指令,要用字节操作指令“MOV 20HMOV 20H,#00H”#00H”;p 对位地址对位地址20H 20H 位清位清0 0,则使用位操作指令,则使用位操作指令“CLR 20H”CLR 20H”。(3 3

50、)用户区()用户区(30H30H7FH7FH) 该区域主要用作堆栈、数据缓冲、数据暂存。用户一般应该区域主要用作堆栈、数据缓冲、数据暂存。用户一般应将堆栈设置在这个区间。将堆栈设置在这个区间。 位寻址区的字节地址和位位寻址区的字节地址和位地址也是重合的,单片机地址也是重合的,单片机如何访问?如何访问?片内片内RAM低低128B通用工作寄存器区通用工作寄存器区位寻址区位寻址区用户用户RAM区区特殊功能寄存器特殊功能寄存器(SFR)(SFR) u SFR是是80C51内部具有特殊用途的寄存器内部具有特殊用途的寄存器u 80C51内部共有内部共有21个特殊功能寄存器,每个个特殊功能寄存器,每个SFR

51、占用占用1个个RAM单元,它们分布在单元,它们分布在80H0FFH的地址范围内。的地址范围内。u 程序计数器程序计数器PC不属于不属于SFR,它是独立的。,它是独立的。u 在在21个个SFR中,有中,有11个个SFR既可以进行位寻址,也可既可以进行位寻址,也可以进行字节寻址。它们的特征是字节地址可以被以进行字节寻址。它们的特征是字节地址可以被8整除整除(以(以0H或或8H结尾,在表中以灰背景表示),如结尾,在表中以灰背景表示),如P1、IP。下表下表列出了列出了SFR区的标识符、名称和字节地址。区的标识符、名称和字节地址。 关于关于SFR符号符号名称名称位地址和位符号位地址和位符号字节地字节地

52、址址P0P0口寄存器87H86H85H84H83H82H81H80H80HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0SP堆栈指针81HDPL数据指针低8位82HDPH数据指针高8位83HPCON电源控制寄存器SMODGF1 GF0 PDIDL87HTCON定时/计数器控制寄存器8FH8EH8DH8CH8BH8AH89H88H88HTF1 TR1 TF0 TR0IE1 IT1IE0IT0TMOD定时/计数器方式寄存器GATEM1M0GATEM1M089HTL0T0低8位寄存器8AHTL1 T1低8位寄存器8BHTH0T0高8位寄存器8CHTH1 T1高8位寄存器8DHP1P

53、1口寄存器97H96H95H94H93H92H91H90H90HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0 表表1-3 80C51特殊功能寄存器(特殊功能寄存器(SFR)表表 表表1-3 80C511-3 80C51特殊功能寄存器(特殊功能寄存器(SFRSFR)表)表 (续)(续)符号符号名称名称位地址和位符号位地址和位符号字节地字节地址址SCON串行口控制寄存器9FH9EH9DH9CH9BH9AH99H98H98HSM0 SM1 SM2 RENTB8 RB8 TIRISBUF串行数据缓冲器99HP2 P2口寄存器A7HA6HA5HA4HA3HA2HA1HA0HA0HP2

54、.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0IE中断允许控制寄存器AFHACHABHAAHA9HA8HA8HEAESET1 EX1 ET0EX0P3 P3口寄存器B7HB6HB5HB4HB3HB2HB1HB0HB0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0IP中断优先级控制寄存器BCHBBHBAHB9HB8HB8HPSPT1 PX1 PT0 PX0 PSW程序状态寄存器D7HD6HD5HD4HD3HD2HD1HD0HD0HCYACF0 RS1 RS0 OV PACC累加器E7HE6HE5HE4HE3HE2HE1HE0HE0HACC.7ACC.6ACC.5

55、ACC.4ACC.3ACC.2ACC.1ACC.0BB寄存器F7HF6HF5HF4HF3HF2HF1HF0HF0HB.7B.6B.5B.4B.3B.2B.1B.0常用特殊功能寄存器常用特殊功能寄存器SFR的功能和用法。的功能和用法。1 1运算类寄存器(运算类寄存器(3 3个)个) (1)累加器)累加器A(ACC-Accumulator) 8位,向位,向ALU提供操作数,存放运算的结果提供操作数,存放运算的结果 (2)寄存器)寄存器B 8位,主要用于乘、除法运算。或作为位,主要用于乘、除法运算。或作为RAM的一个单元的一个单元使用。使用。 (3)程序状态字寄存器)程序状态字寄存器PSW(Prog

56、ram Status Word) 8位,存储指令执行的状态信息。用户可以通过指令来位,存储指令执行的状态信息。用户可以通过指令来设置设置PSW中某些指定位的状态,也可以通过查询有关位的中某些指定位的状态,也可以通过查询有关位的状态来进行判断、转移。状态来进行判断、转移。 PSW格式和各位含义为:格式和各位含义为: PSWD7D6D5D4D3D2D1D0CYACF0RS1RS0OVPCY:进位:进位/借位标志。有进位借位标志。有进位/借位时借位时 CY=1,否则,否则CY=0;AC:辅助进位:辅助进位/借位标志。低借位标志。低4位向高位向高4位有进位有进/借位时借位时AC=1,否则否则AC=0;

57、F0:用户标志位,由用户自己定义;:用户标志位,由用户自己定义;RS1、RS0:当前工作寄存器组选择位,用法如下表:当前工作寄存器组选择位,用法如下表: RS1RS1 RS0RS0寄存器区寄存器区 地址地址 0 0 0 0 0 0 00H00H07H07H 0 0 1 1 1 1 08H08H0FH0FH 1 1 0 0 2 2 10H10H17H17H 1 1 1 1 3 3 18H18H1FH1FHOVOV:溢出标志位。有溢出时:溢出标志位。有溢出时OV=1OV=1,否则,否则OV=0OV=0;P P:奇偶标志位。:奇偶标志位。ACCACC中结果有奇数个中结果有奇数个1 1时时P=1P=1

58、,否则,否则P=0P=0。 2 2指针类寄存器(指针类寄存器(3 3个)个) (1 1)堆栈指针)堆栈指针SPSP 8 8位,用来指示堆栈的位置,它总是指向栈顶。位,用来指示堆栈的位置,它总是指向栈顶。 关于堆栈关于堆栈u 堆栈是用户在堆栈是用户在80C51内部数据存储器中开辟的一个用于暂内部数据存储器中开辟的一个用于暂时存放部分数据的时存放部分数据的“仓库仓库”。u 堆栈由若干个存储单元组成,存储单元的个数称为堆栈的堆栈由若干个存储单元组成,存储单元的个数称为堆栈的深度。深度。u 堆栈中数据的存取依照堆栈中数据的存取依照“先进后出先进后出”的原则。的原则。 u 堆栈的位置由堆栈指针堆栈的位置

59、由堆栈指针SP确定,可以通过软件来设置。确定,可以通过软件来设置。u 80C51单片机复位后堆栈指针单片机复位后堆栈指针SP指向指向07H。为保证数据存。为保证数据存储正确,用户应把堆栈设在储正确,用户应把堆栈设在30H7FH区域。区域。SPSP(2) 写入数据写入数据出栈出栈(1) 读出数据读出数据(2) SPSP-1堆栈指针堆栈指针SP及堆栈操作及堆栈操作术语:术语:出栈、入栈、栈底、栈顶、后进先出出栈、入栈、栈底、栈顶、后进先出(1)堆栈的功能:)堆栈的功能:保护断点、保护现场保护断点、保护现场(2 2)堆栈区:堆栈区:内部数据存储器内部数据存储器(3 3)堆栈指针:堆栈指针:(SPSP

60、(复位后为(复位后为07H, 07H, 初始化为初始化为2FH2FH)入栈入栈(1) SPSP+1SPSP(2) 写入数据写入数据出栈出栈(1) 读出数据读出数据(2) SPSP-1堆栈指针堆栈指针SP及堆栈操作及堆栈操作术语:术语:出栈、入栈、栈底、栈顶、后进先出出栈、入栈、栈底、栈顶、后进先出(1)堆栈的功能:)堆栈的功能:保护断点、保护现场保护断点、保护现场(2 2)堆栈区:堆栈区:内部数据存储器内部数据存储器(3 3)堆栈指针:堆栈指针:(SPSP(复位后为(复位后为07H, 07H, 初始化为初始化为2FH2FH)入栈入栈(1) SPSP+1堆栈指针堆栈指针SP及堆栈操作及堆栈操作术

温馨提示

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

评论

0/150

提交评论