MCS51单片机硬件基础.ppt

上传人:sccc 文档编号:4593859 上传时间:2023-04-29 格式:PPT 页数:55 大小:1.89MB
返回 下载 相关 举报
MCS51单片机硬件基础.ppt_第1页
第1页 / 共55页
MCS51单片机硬件基础.ppt_第2页
第2页 / 共55页
MCS51单片机硬件基础.ppt_第3页
第3页 / 共55页
MCS51单片机硬件基础.ppt_第4页
第4页 / 共55页
MCS51单片机硬件基础.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《MCS51单片机硬件基础.ppt》由会员分享,可在线阅读,更多相关《MCS51单片机硬件基础.ppt(55页珍藏版)》请在三一办公上搜索。

1、第二章 MCS-51单片机硬件基础,本章主要内容:1 MCS-51 单片机内部结构及引脚 2 MCS-51 单片机的存储器配置 3 MCS-51 单片机CPU时序 4 MCS-51 单片机硬件配置 重点内容:1 MCS-51 单片机内部结构 2 MCS-51 单片机的存储器配置,单片机原理多媒体教程,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,2.1 MCS-51单片机内部结构及引脚,一、MCS-51单片机的内部结构框图,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,二、MCS-51单片机的基本组成(一)、中央处理器 中央处理器简称CPU,是单片机的核心,完成运算和控

2、制功能。中央处理器包括运算器和控制器。1.运算器 即运算电路,用于实现算术和逻辑运算。运算电路包括算术逻辑单元ALU、累加器ACC、程序状态字PSW、B寄存器等。其中算术逻辑单元ALU是运算电路的核心。2.控制器 即控制电路,用于发出控制信号,指挥单片机各部件协调工作。控制电路包括程序计数器PC、指令寄存器、指令译码器、定时与控制电路等。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,(二)、内部数据存储器(即内部RAM)MCS-51单片机内部数据存储器(即内部RAM)的地址范围为:00HFFH,共256个字节(即256B)。(三)、定时器/计数器 MCS-51单片机共有2个16位

3、的定时器计数器,以实现定时或计数功能。(四)、并行I/O口 MCS-51单片机共有4个8位的I/O口(P0,P1,P2,P3),以实现与外设的数据并行输入/输出。(五)、串行口 MCS-51单片机有1个全双工的串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通信。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,(六)、中断控制系统 MCS-51单片机共有5个中断源(其中有2个外部中断源)。(七)、时钟电路 MCS-51单片机内部有一个时钟电路,可通过引脚XTAL1和XTAL2外接晶体振荡器和微调电容,为单片机产生时钟脉冲。(八)、地址/数据总线 在外扩存储器和外接其它设备

4、时,MCS-51单片机的P0口和P2口被用做地址/数据总线。其中P0口用以分时传送低8位地址或8位数据(硬件以ALE信号区别);而P2口则用以传送高8位地址。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,三、MCS-51单片机的引脚及功能 MCS-51单片机共有3种封装形式。最常用的是40引脚双列直插式(DIP封装方式),集成电路芯片的引脚排列如下图。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,引脚可分4组,1.主电源引脚2.外接晶体引脚3.控制信号引脚 4.输入/输出端口引脚,1.主电源引脚VCC和GND(1)VCC(40脚),接+5V电源。(2)GND(20脚

5、),接数字电路地。,2.外接晶体引脚XTAL1和XTAL2(1)XTAL1(19脚),接外部晶体振荡器。(2)XTAL2(18脚),接外部晶体振荡器。,(3)P2口(21脚-28脚),当访问外部存储器或外部设备时,P2口的8条引脚作为高8位地址线,系统自动把高8位地址(A8-A15)送出。(4)P3口(10脚-17脚),是一个复用端口。作为第一功能使用时,是普通的I/O端口。作为第二功能使用时,各引脚的定义如下表所示。,AT89C51,图2-2 89C51引脚排列图及输入/输出逻辑示意图,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,2.2 MCS-51单片机的存储器配置,单片机原

6、理多媒体教程,第二章 MCS-51单片机硬件基础,地址的确定:每根地址线可传送一位二进制信息(0或1),当地址总线包含8根地址线时,则可传送的最小数字为00000000=0=00H,最大数字为11111111=255=FFH。所以地址范围是:00HFFH。当地址总线包含16根地址线时,则可传送的最小数字为0000000000000000=0=0000H,最大数字为1111111111111111=65536=FFFFH。所以地址范围是:0000HFFFFH。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,一、MCS-51单片机的存储器分类 1.按功能分类:程序存储器和数据存储器。2

7、.按分配空间分类:内部存储器和外部扩展存储器。内部存储器:也称为片内存储器。即内部数据存储 器(256B),简称内部RAM。AT89C51单片机内部程序存储器(4KB)。外部扩展存储器:简称外部存储器或外扩存储器,也称为片外存储器。可分为:外部程序存储器(64KB)和外 部数据存储器(简称外部RAM;64KB)。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,存储器,内部数据存储器:256B,内部程序存储器:4KB(AT89C51),外部程序存储器:64KB,即内部RAM,内部存储器,外部存储器,外部数据存储器:64KB,即外部RAM,(常指ROM),单片机原理多媒体教程,第二章

8、MCS-51单片机硬件基础,二、MCS-51单片机存储器的特点 1.将程序存储器和数据存储器分开设置。在空间上完全独立,并不重叠。存取指令完全不同(MOV、MOVX、MOVC)。控制信号完全不同(RD、WR;EA、PSEN)。2.存储器有内外之分。即分为内部存储器和外部存储器。内部存储器,也称为片内存储器。即内部数据存储器,简称内部RAM。外部存储器,也称为片外存储器。即外部数据存储器和 外部程序存储器,也称为外扩数据存储器和外扩程序存储 器。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,三、程序存储器地址空间,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,在单片机处

9、理问题之前必须先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。如上所述,89C51除片内4KB的ROM外,还可外扩64KB程序存储器,地址为0000HFFFFH(内部与外部统一64KB)。它以程序计数器PC作地址指针,由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此,可寻址的地址空间为64KB。程序存储器的操作完全由程序计数器PC控制。程序存储器的操作分为程序运行与读(查表)操作两类。下图为 51单片机程序存储器示意图,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,六个存储单元的地址(即6个字节的地址):,串行中断0入口地

10、址 0023H,定时器/计数器1溢出中断入口地址 001BH,定时器/计数器0溢出中断入口地址 000BH,外部中断1入口地址 0013H,外部中断0入口地址 0003H,系统引导区 0000H 0002H,单片机复位后程序计数器PC的内容为0000H,故系统必须从0000H单元开始取指令来执行程序。0000H单元是系统的起始地址,一般0000H0002H存放跳转指令,使程序被引导到跳转指令指定的程序存储空间去执行。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,四、外部数据存储器地址空间 MCS-51单片机的外部数据存储器空间为64KB(即容量为64KB),地址范围为0000HF

11、FFFH。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,问题:MCS-51单片机的外部程序存储器和外部数据存储器的地址范围都是从0000HFFFFH。使用时会不会因为混淆而出错呢?(答案是:不会出错!)为什么?,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,MCS-51单片机的外部程序存储器和外 部数据存储器的地址范围都是从0000H FFFFH,共64KB。但使用时不会出错,原因 为:,1.存储器空间相互独立。并不重叠。,2.采用了不同的存储器访问指令,访 问外部程序存储器时指令用MOVC,访问外 部数据存储

12、器时指令用MOVX。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,五、内部数据存储器地址空间 MCS-51单片机内部RAM空间为256B(即共有256个存储单元),地址范围为00H FFH。,内部存储器,内部数据存储器低128单元,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,MCS-51单片机256B的内部RAM可以分为四个区域:,寄存器区 00H1FH。共计32个工作寄存器。分四组,每组8个工作寄存器。2.位寻址区 有16个字节,每字节有8个二进制位,共计128个二进制位,位地址范围为00H7FH。3.用户RAM区 30H7FH。4.特殊功能寄存器区 80HFFH

13、。也称为SFR区。(Special Function Register),单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,MCS-51单片机的外部数据存储器空间与内部数据存储器空间的低地址0000H00FFH在使用时是重叠的。为了避免混淆,MCS-51单片机用MOVX和MOV两种指令对其加以区别,用MOV访问内部RAM,用MOVX访问外部RAM。,外部数据存储器,FFH,内部数据存储器,00H,(64KB),(256B),FFFFH,0000H,00FFH,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,1.寄存器区:共计32个工作寄存器,分为四组,每组8个。,工作寄存器常

14、用于存放操作数及中间结果等,由于它们的功能及使用不作预先规定,因此称为通用寄存器,也叫工作寄存器。每组的8个工作寄存器,占8个内部RAM存储单元,因此,4个工作寄存器组总共占用32个内部RAM存储单元。在任一时刻,CPU只能使用这四组工作寄存器中的一组,并把正在使用的那组工作寄存器称为当前工作寄存器组,用R0R7表示8个当前工作寄存器。,第二章 MCS-51单片机硬件基础,问题1:4个工作寄存器组的地址范围各是多少?,00H 07H,08H 0FH,10H 17H,18H 1FH,答案:,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,2.位寻址区:共计128个二进制位。位地址范围:

15、00H7FH。,位寻址区有16个字节,字节地址为20H2FH。每字节有8个二进制位,每个二进制位都有各自的地址,称为位地址。16个字节共计包含128个二进制位,位地址范围为00H7FH。,间接寻址用户RAM区/SFR区,直接寻址用户RAM区,问题:什么叫字节地址?,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,3.用户RAM区:30H7FH。,用户RAM区:30H7FH:80个字节。,SFR区,直接寻址用户RAM区,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,4.特殊功能寄存器区(即SFR区):地址范围 80HFFH。,直接寻址SFR区,直接寻址用户RAM区,单片机原

16、理多媒体教程,第二章 MCS-51单片机硬件基础,SFR区采用直接寻址方式。因这些寄存器的功能已做了专门规定,故而也称为专用寄存器。MCS-51单片机有22个特殊功能寄存器,除程序计数器PC不可寻址外,有21个是可寻址的(其中有11个也可位寻址)。其余的单元厂家没做定义,用户不能使用。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,六、常用特殊功能寄存器介绍 常用特殊功能寄存器有:程序计数器PC、累加器ACC、B寄存器、程序状态字PSW、数据指针DPTR。,1.程序计数器(PC:Program Counter):功能:用于指向程序存储器的某个存储单元。,(1).PC是一个16位的计

17、数器。,(3).PC的内容为将要执行的指令地址。寻址范围达64KB。,(2).PC有自动加1功能,以实现程序的顺序执行。,(4).PC没有地址,是不可寻址的。因此用户无法对它进行 读写操作。但可以通过转移、调用、返回等指令改变 其内容,以实现程序的转移。,特点:,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,2.累加器(ACC:Accumulator;也可用A表示):功能:累加器可用于存放指令的操作数,以及存放 ALU 运算的中间结果。它是程序中最常用的特殊功能寄存器,功能较多,地位重要。,(1).累加器是一个8位的特殊功能寄存器。,(2).累加器有地址,是可以寻址的。,问题1:累

18、加器的地址是多少?,特点:,问题2:累加器可以位寻址吗?,答案:E0H,答案:可以,答案1:SETB ACC.0(不能用A.0),答案2:SETB E0H,答案3:SETB E0H.0,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,3.B寄存器(B Register):功能:(1).用于乘法运算。此时,B寄存器中存放乘数。乘法 运算完成后,乘积的高位数据存放于B中。(2).用于除法运算。此时,B寄存器中存放除数。除法 运算完成后,余数存于B中。(3).B寄存器也可作为一般的数据寄存器使用。,(1).B寄存器是一个8位的特殊功能寄存器。,(2).B寄存器有地址,是可以寻址的。,特点:

19、,问题1:B寄存器的地址是多少?,问题2:B寄存器可以位寻址吗?,答案:F0H,答案:可以,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,4.程序状态字(PSW:Program Status Word):功能:用于寄存指令执行的状态信息。,(1).PSW是一个8位的特殊功能寄存器。,(2).PSW有地址,是可以寻址的。,特点:,问题1:PSW的地址是多少?,问题2:PSW可以位寻址吗?,答案:D0H,答案:可以,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,P:奇偶校验位。用于表明累加器A中1的个数的奇偶性。若A中1的个数为偶数,则(P)=0;若A中1的个数为奇数,则(

20、P)=1。,OV:溢出标志位。,PSW中各位的含义及功能,在带符号数的加减运算中,(OV)=1表示运算结果超出了累加器A所能表示的带符号数的有效范围(-128+127),即产生了溢出;反之,(OV)=0表示运算结果正确,即无溢出产生。,在乘法运算中,(OV)=1表示乘积超过255,即乘积分别在B与A中;反之,(OV)=0,表示乘积只在A中。,在除法运算中,(OV)=1表示除数为0,除法不能进行;反之,(OV)=0,表示除数不为0,除法可正常进行。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,例题:,(OV)=?,(OV)=1,符号位,符号位,例题:,两个负数相加结果不可能为正。,

21、问题:(P)=?,答案:(P)=1,在进行十进制数运算时需要十进制调整,此时要用到AC位的状态进行判断,以决定如何进行十进制调整。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,F0、F1:用户标志位。这两位是由用户定义的标志位,用户可根据需要,通过编程将其设置为 1 或 0。,AC:辅助进位标志位。,PSW中各位的含义及功能,在加减运算中,当低4位向高4位进位或借位时,AC由硬件置位(即设置为 1),否则AC位被清0(即设置为 0)。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,问题:(P)=?(OV)=?,例题1:,(AC)=?,(AC)=1,低4位,高4位,(A

22、C)=?,(AC)=1,问题:(P)=?(OV)=?,答案:(P)=1,(OV)=0,答案:(P)=0,(OV)=0,在位操作中,作累加位使用。在位传送、位与、位或等位操作中,都要使用进位标志位。在加减运算中,当有低4位向高4位进位或借位时,AC由硬件置位(即设置为 1),否则AC位被清0(即设置为 0)。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,CY:进位标志位。也可用 C 表示。,PSW中各位的含义及功能,存放算术运算的进位标志。在加减运算中,当第8位向更高位进位或借位时,CY由硬件置位(即设置为 1),否则CY位被清0(即设置为 0)。,单片机原理多媒体教程,第二章 M

23、CS-51单片机硬件基础,例题:,(CY)=?,(CY)=1,第7位,问题:(P)=?(OV)=?(AC)=?,答案:(P)=1,(OV)=1,(AC)=0,这两个位的状态是由软件设置的(即由用户编程设定),它们的每一种状态组合对应选中一组工作寄存器,被选中的工作寄存器组即为当前工作寄存器组,包含8个当前工作寄存器。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,RS0、RS1:当前工作寄存器(R0 R7)选择位。,PSW中各位的含义及功能,用于设定当前工作寄存器所在组的组号。,RS0、RS1的状态组合与工作寄存器组之间的对应关系:,单片机原理多媒体教程,第二章 MCS-51单片机

24、硬件基础,第0组工作寄存器的地址范围是:00H07H。,答案:可利用PSW中的RS0、RS1这两位的状态组合来选择某一组工作寄存器作为当前工作寄存器。,例题2:如果要求选择第2组工作寄存器作为当前工作寄存器,则RS0、RS1的状态组合应为多少?,答案:RS1、RS0的状态组合应为1 0。,例题3:如果要求选择第0组工作寄存器作为当前工作寄存器,则RS0、RS1的状态组合应为多少?第0组工作寄存器的地址范围是多少?,答案:RS0、RS1的状态组合应为00。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,5.数据指针:MCS-51单片机中有一个数据指针:DPTR。,(1).DPTR是一

25、个16位的特殊功能寄存器。,(2).DPTR有地址,是可以寻址的。,DPTR的特点:,问题1:DPTR的地址是多少?,问题2:DPTR可以位寻址吗?,答案:82H(DPL)、83H(DPH),答案:不可以,DPTR的功能:用于指向外部数据存储器空间,即在访问外部数据存储器时作为地址指针使用,以实现对外部数据存储器的存取访问。,(3).DPTR既可按16位寄存器使用,也可作为两个8位寄存器使用,即:DPH(DPTR高8位),DPL(DPTR低8位)。,(4).DPTR的寻址范围为64KB。(216=64KB),单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,七、MCS-51单片机的堆栈

26、 堆栈的含义:在用户进行程序设计时,往往需要一个后进先出(LIFO-Last In First Out)的RAM区,以便将某些重要信息暂时保存起来,以免被破坏。这种后进先出的缓冲区就称为堆栈。从数据结构的角度讲,堆栈实际上是一种数据结构,是只允许在其一端进行数据插入和数据删除操作的线性表。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,MCS-51单片机的堆栈可开辟在内部RAM的用户RAM区(30HFFH)。,30H,00H,01H,31H,7FH,堆栈区,堆栈的开辟区域:,内部RAM,堆栈的深度:,堆栈的深度就是堆栈的容量。MCS-51单片机堆栈的深度与堆栈所存储的数据多少有关。

27、如:堆栈中存储了10个字节的数据,则堆栈的深度就是10字节(即10B)。,单片机原理及接口技术多媒体教程,第二章 MCS-51单片机硬件基础,堆栈的操作:进栈和出栈。,堆栈的操作特点:遵循后进先出的操作特点。,这是因为:堆栈是只允许在其一端进行数据插入和数据删除操作的线性表。先入栈的数据存放在栈的底部,所以后出栈;而后入栈的数据存放在栈的顶部,所以先出栈。,00000111,00000011,00000010,进栈,出栈,因此:不论是进栈还是出栈,都 是对堆栈的栈顶单元进行 的。,栈底,栈顶,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,堆栈指示器(SP:Stack Pointer

28、):也称为堆栈指针。是一种常用的特殊功能寄存器。,为了指示栈顶单元,所以设置了堆栈指示器!,堆栈指示器的特点:是一个8位的特殊功能寄存器。,堆栈指示器的功能:用于指示栈顶单元地址。,注意:堆栈指示器的内容就是当前堆栈栈顶单元的地址。,栈顶,SP,SP,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,栈顶,00000010,系统复位后,SP的内容为07H。一般情况下,堆栈最好在内部RAM的30H7FH单元中开辟,而栈顶的位置则由堆栈指针SP指出,所以在程序设计时应该将SP的值初始化为30H,即(SP)=30H!以免占用宝贵的寄存器区和位寻址区。SP的内容一经确定,堆栈的位置也就确定下来

29、了,由于SP可初始化为不同的值,所以堆栈位置是可浮动的。,SP,:堆栈开辟在芯片的外部存储器中。,:堆栈开辟在芯片的内部数据存储器中。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,堆栈的分类:堆栈有两种分类方法。1.按照堆栈的开辟区域分类:,内堆栈,外堆栈,问题:根据堆栈的开辟区域,MCS-51单片机的堆栈属于哪一类堆栈?,答案:MCS-51单片机的堆栈是内堆栈。,栈底在高地址单元,随着数据进栈,地址递减;随着数据出栈,地址递增。,栈底在低地址单元,随着数据进栈,地址递增;随着数据出栈,地址递减。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,2.按照堆栈的操作方式分

30、类:,向上生长型堆栈,向下生长型堆栈,向上生长型堆栈,向下生长型堆栈,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,向下生长型堆栈,向上生长型堆栈,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,00000111,00000011,00000010,进栈,出栈,栈底,栈顶,答案:MCS-51单片机的堆栈是向上生长型堆栈。,问题:根据堆栈的操作方式,MCS-51单片机的堆栈属于哪种类型?,栈顶,栈顶,执行主程序,继续执行主程序,执行子程序,调用子程序,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,堆栈的功能:保护断点和保护现场。,断点,断点:实际上是程序存储器中

31、,一个存储单元的地址。这个存储单元用于存储“子程序调用指令”接下来的那条指令。,现场:实际上是指某些重要的寄存器中的内容,例如:A、R0R7、DPTR等的内容。,单片机原理多媒体教程,第二章 MCS-51单片机硬件基础,堆栈的使用方式:自动方式和指令方式。,自动方式:在调用子程序或中断时,断点(即返回地址)自动进栈,不需用户干预。当子程序或中断返回时,断点(即返回地址)自动出栈,也不需用户干预。,指令方式:由用户使用专用的堆栈操作指令,通过编程实现数据的进栈或出栈(PUSH、POP)。,问题1:保护现场时,现场(即A、R0R7、DPTR等的内容)以什么方式进入堆栈?,答案:指令方式。,问题2:今有一组数据:00H,12,00010010B,应使用什么方式将其送入堆栈保护起来?,答案:指令方式。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号