您好!欢迎访问nba直播免费高清回放
MCS-51单片机内部结构 存 储 器 特殊功能寄存器 时钟电路和复位电路 引脚 MCS-51系列单片机有多种型号的产品: 普通型(51子系列) 8031、 8051、8751、89C51、89S51等。 增强型(52子系列) 8032、8052、8752、89C52、89S52等。 它们的结构基本相同,其主要差别反映在存储器的配置上。 8031片内没有程序存储器除了老产品,已被淘汰。 8051内部设有4KB的掩模ROM程序存储器 8751是将8051片内的ROM换成EPROM 89C51则换成4KB的闪速EEPROM 89S51结构同89C51, 4KB的闪速EEPROM可在线编程 增强型的存储容量为普通型的一倍 本课以 8XX51 代表这一系列的单片机。 8位CPU,片内振荡器。 4KB/8KB字节程序存储器ROM 2/3个16位定时器/计数器 32个可编程的I/O线位并行I/O端口) 一个可编程全双工串行口 5/6个中断源,两个中断优先级 可寻址64KB外部数据存储器空间及控制电路 可寻址64KB外部程序存储器空间及控制电路 有位寻址功能,适于布尔处理机的位处理机 51系列单片机内部结构如图1-1所示。 1.1.2 MCS-51 的CPU CPU是单片机的核心部件。它由运算器和控制器等部件组成 1. 运算器 包含部件:算术/逻辑运算(ALU)、位处理器、累加器A、寄存器B、暂存器以及程序状态字寄存器PSW以及BCD码修正电路。 功能:实现数据的算术、逻辑运算,位变量处理和数据传输。 ALU-算术/逻辑运算部件 数据存送大都通过通过A,易形成“瓶颈”。 累加器A(ACC) 8位的累加器,也是CPU中使用最频繁的 寄存器。它的进位标志Cy是特殊的,因为 它同时是位处理器的一位累加器。 思考:如何减少“瓶颈”现象的发生? 2 控制器 控制器是单片机的神经中枢。单片机执行指令是在控制器下进行的。 一条指令的执行过程: 取指令→分析指令(指令译码)→执行指令 包含部件:指令部件、时序部件和微操作控制部件。 指令部件介绍 程序计数器PC PC中存放的内容:下一条将要执行的指令在程序 存储器中的地址。 PC的位数决定了单片机对程序存储器可以直接寻 址的范围。 程序计数器的基本工作方式: (1)顺序执行时,PC自动加1。 (2)执行转移指令时,PC被置入新值,从而使程序流向改变。 (3)执行子程序调用或响应中断时,单片机自动完成下列操作: ① PC的现行值(断点值),自动压入堆栈。 ② 将子程序入口地址或中断向量的地址送入PC,程序改变流向,转向执行子程序或ISR。执行完毕后,遇到RET或RETI时,将堆栈中保存的断点值弹到PC中,程序又返回到断点处继续执行未完成的部分。 指令寄存器IR IR: 存放指令操作码。 CPU时序及时钟电路 单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。单片机运行时是以主振频率为基准的,控制器控制CPU的时序,对指令进行译码,然后发出各种控制信号,将各个硬件环节组织在一起,这种严格的时序保证了各部件间的同步工作。 为便于对CPU时序做多元化的分析,我们将指令的执行过程规定了以下几种周期,即时钟周期、机器周期和指令周期。 ?? 时钟周期(振荡周期) 时钟周期是计算机中最基本的、最小的时间单位。它定义为时钟脉冲频率的倒数。在80C51单片机中将一个时钟周期定义为1个节拍。 即 TOSC = 1/f OSC 若 f OSC= 1 MHz, TOSC = 1μS 对于8051单片机而言,时钟频率范围是1.2—12 MHz。 机器周期 一条指令的指令过程划分为若干个阶段,每一阶段完成一项基本操作,例如取指令、读存储器、写存储器等,我们将CPU完成这每一个基本操作所需的时间定义为机器周期。 每个机器周期(12个振荡周期)由6个状态周期组成,即S1、S2、……S6,而每个状态周期由两个时相P1,P2组成(即为2个主振振荡周期)。所以一个机器周期可依次表示为S1P1、S1P2、S2P1、S2P2……S6P1、S6P2。 ???指令周期 定义:执行一条指令所需的时间。 MCS-51的指令周期一般只有1—2个机器周期,只有乘、 除两条指令占4个机器周期。当用12MHz晶体作主振频率时,执行一条指令的时间,也就是一个指令周期为1us、2us及4us。 1.2 存 储 器 提示:访问不同的逻辑空间时,应采用不一样的指令。 但是,为了对MCS-51的存储器讲述的更清楚,下面分五类加以介绍:程序存储器、内部数据存储器、特殊功能寄存器、位地址空间和外部数据存储器。 引脚 EA 的接法决定了程序储存器的0000-0FFFH 4KB地址范围是在单片机片内还是片外。p19 1.2.1 程序存储器 程序存储器用于存放应用程序和表格之类的固定常数。上一小节我们已了解了由于程序计数器PC是16位的(地址总线根),所以程序存储器最多可扩展至64KB的。 在8051/8751/89C51 片内,分别内置最低地址空间的4KB ROM/EPROM程序储存器(内部程序储存器),而在8031片内,则无内部程序储存器,必须外部扩展EPROM。MCS-51单片机中64KB内、外程序储存器的地址是统一编排的。 8031单片机无内部程序存储器,地址从0000H~FFFFH都是外部程序存储空间。 应始终接地。由于程序必须存放在存储器中,因此它必须外接程序存储器才能用,因此,已被淘汰。 对于内部有ROM的单片机(51、52系列) , 引脚接高电平,使程序从内部ROM开始执行。当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间。外部程序存储器地址空间为1000H~FFFFH。 访问程序存储器使用MOVC指令。 程序存储器中的几个特殊地址的使用: 地址 用途 0000H 复位操作后的程序入口 0003H 外部中断0服务程序入口 000BH 定时器0中断服务程序入口 0013H 外部中断1服务程序入口 001BH 定时器1中断服务程序入口 0023H 串行口中断服务程序入口 由于两入口地址之间的存储空间存在限制,因此在编程时,通常在这些入口地址开始的两三个地址单元中,放入一条转移类指令,已使相应的程序转到指定的程序存储器区域中执行。 1.2.2 外部数据存储器 用于存放随机读写的数据。 外部I/O口地址影像区。 MCS-51单片机的外部数据存储器和外部I/O口实行统一编址 ,并使用相同的 作选通控制信号,均使用 MOVX 指令访问。 MCS-51 单片机最多可扩展64KB外部数据存储器 1.2.3 内部数据存储器 MCS-51 RAM在物理上和逻 辑上分为两个地址空间。 片内RAM:128字节,用 MOV指令访问。 (从广义上来说,应该有 256B。) 片外RAM:可扩展64KB, 用MOVX指令访问。 内部数据存储器是使用最多的地址空间, 存放随机读写的数据 通用寄存器区 堆栈区 运算操作数存放区 指令(算术运算、逻辑运算、位操作运算等)的操作数只能在此地址空间或特殊功能寄存器地址空间。 内部数据存储器的地址分配 51 系列单片机内部数据存储器地址范围为00~7FH。各区域地址见下表。 (1)地址 0~1FH的前32个单元称为寄存器区 用途:① 作通用寄存器R0~R7。 ② R0与R1可作间址寄存器使用。 使用时应注意: 32个单元的寄存器区分为四组,使用时只能选其中一组寄存器。 寄存器的选组由程序状态字PSW的RS1和RS0位定。 RS1 RS0 选寄存器组 0 0 0组 0 1 1组 1 0 2组 1 1 3组 初始化时或复位时,自动选中0组。 一旦选中一组,其它三组只能作为数据存储器使用,而不能作为寄存器使用。 设置多组寄存器可以方便保护现场。 (2)20H~2FH为位地址区 共16个单元,每单元有八个位,每位有一个位地址,共128位,位地址范围为00H~7FH,该区既可位寻址,又可字节寻址。 如 MOV 20H,C (这里C是Cy进位标志位),该指令是将Cy内容送20H位,如果Cy=1,位20H值为“1”。 (3)除选中的寄存组以外的存储器均可当作通用 RAM区。 (4)堆栈区 8XX51单片机的堆栈设在内部RAM区,深度不大于128字节,初始化时SP指向07H。 注: 对51基本型单片机只有00H~7FH单元128字节的RAM区。对52增强型的单片机还有80H~FFH组成的高128字节RAM区(共256字节RAM )。 1.3特殊功能寄存器 MCS-51单片机共有21个字节的特殊功能寄存器用英文缩写SFR (Special Fuction Register)表示。 1.用途: A 累加器、状态标志寄存器 单片机内部各部件专用的控制、状态寄存器 并行口、串行口影射寄存器 2.地址空间: 21个特殊功能器不连续的分布在80H~FFH 128个字节地址空间,见表1-2。 地址为X0H和X8H是可位寻址的寄存器,表1-2中用“*”表示。 对于尚未定义的字节地址单元,用户不能作普通寄存器使用,若访问没有定义的单元,将得到一个不确定的随机数。 表1-2中还标注了各SFR的名称、字节地址、可寻址位的位地址和位名称。 21个特殊功能寄存器的名称及基本功能介绍如下,详细的用法见后面各节的内容。 A—累加器,自带有全零标志Z,A=0则Z=1;A≠0则Z=0。该标志常用于程序分支转移的判断条件。 B—寄存器,常用于乘除法运算(见第2章)。 PSW—程序状态字。主要起着标志寄存器的作用,其8位定义见表1-3。 其中 CY:进/借位标志 反映最高位的进位借位情况,加法为进位、减 法为借位。 CY=1,有进/借位 ; CY=0,无进/借位。 AC:辅助进/借位标志 反映高半字节与低半字节之间的进/借位, AC=1有进/借位; AC=0无进/借位 。 FO:用户标志位。可由用户设定其含义。 RS1,RS0:工作寄存器组选择位。 OV:溢出标志 反映补码运算的运算结果有无溢出 有溢出 OV=1,无溢出OV=0。 -:无效位。 P:奇偶标志 运算结果有奇个“1”,P=1; 运算结果有偶个“1”,P=0。 影响标志位的指令及其影响方式见第2章。 ?????堆栈指针SP SP是一个8位的SFR, 堆栈的实质是一个特殊的RAM区,基本功能是暂放数据和地址。堆栈的具体功能为: (1)?保护断点:子程序调用以及中断时,最终都要返回主程序。为了能够更好的保证程序能正确返回,应该在堆栈中预先将主程序的断点保护起来。 (2)?现场保护: 单片机执行子程序或ISR之后,很可能要用到单片机中的一些寄存器,为了不破坏寄存器中的原有内容,可以把有关寄存器的内容保存起来,送入堆栈。 堆栈的特点: 先进后出。 堆栈的操作:进栈(PUSH),出栈(POP)。 第一个进栈的数据所在的单元称为栈底,然 后逐次进栈,最后进栈的数据所在的存储单 元称为栈顶。 堆栈的操作有两种方式: (1)指令方式,使用堆栈操作指令进行进栈/出栈操作。 (2)自动方式,在调用子程序或产生中断时,返回地址(断点)自动进栈。程序返回时,断点地址再自动弹回PC。这种堆栈操作不需要干预,是通过硬件自动实现的。 P0口:双向8位三态I/O口,此口为地址总线位)及数据总线复用口,只有该口能直 接用于对外部存储器的读/写数据操作。 P1口:准双向口,专门供用户使用的I/O口。 P2口:准双向口,供系统扩展时输出高8位地 址,也可作为一般I/O口。 P3口:准双向口,双功能口。 在系统扩展片外程序存储器时,由P2口输出高8位地址(低8位地址由P0口输出)。此时,MUX在CPU的控制下转向内部地址线的一端。因为访问片外程序存储器的操作往往接连不断,P2口要不断送出高8位地址,所以这是P2口无法再作通用I/O口。 在不需要外扩程序存储器而只需扩展小容量的片外数据存储器的系统中,使用“MOVX @Ri”类指令访问片外RAM时,寻址范围是256B,则只需低8位地址线口不受该指令影响,仍可作通用I/O口。 I/0口的读操作 每个I/O口都有两种读入方法: ?读锁存器(读-修改-写指令):当目的操作数为某一I/O口或I/O口的某一位时,这些指令为读-修改-写指令: 特殊功能寄存器P0---P3分别为I/O端口P0---P3的锁存器。 在MCS-51中,I/O端口和RAM是统一编址的,所有访问RAM单元的指令,都可用来访问I/O端口。 例如:指令 MOV P1,A实现了把A累加器中的内容从P1端口输出的操作。指令MOV A,P3实现了把P3端口线上的信息输入到A中的操作。 除此以外还有如下寄存器,它们将在后面章节介绍: IP——中断优先级控制寄存器。 IE——中断允许控制寄存器。 TMOD——定时器/计数器方式控制寄存器。 TCON——定时器/计数器控制寄存器。 TH0,TL0——定时器/计数器0。 TH1,TH1——定时器/计数器1。 SCON——串行端口控制寄存器。 SBUF——串行数据缓冲器。 PCON——电源控制寄存器。 注: 在52子系列中,高128字节RAM和SFR的地址是重叠的,究竟访问哪一块可通过不同的寻址方式加以区分,访问高128字节RAM采用寄存器间址,访问SFR则只能采用直接寻址,访问低128字节RAM时,两种寻址均可采用。 下面就MCS-51存储器的结构简要进行小结: ? 地址的重叠性 存在3处重叠性,但是尽管有这些重叠,却不会产生操作的混乱。这是因为MCS-51采用了不同的操作指令及EA的控制选择来自动区分这些重叠的空间。具体的区分方法: 程序存储器与数据存储器在使用上的严格区分 程序存储器存放指令及常数表格,其操作指令不分片内与片外。数据存储器存放数据,访问片内与片外的指令是不同的。 ?位地址共有2个区域 片外数据存储区中,RAM存储单元与MCS-51外扩的I/O口是统一编址的。因此,应用系统中所有外围I/O端口的地址均占用RAM地址单元 . ?? 1.4 时钟电路与复位电路 内部振荡方式: 在引脚 XTAL1和 XTAL2外 接晶体振荡器(简称晶振)如 图1-3所示。 由于单片机内部有一个高增益运算放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。 1.4.2 基本时序单位 单片机的时序单位有: 振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。 状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,一个状态周期包含2个振荡周期。 机器周期(MC):1个机器周期由6个状态周期及12个振荡周期组成。是计算机执行一种基本操作的时间单位。 指令周期 执行一条指令所需的时间。一个指令周期由1~4个机器周期组成,依据指令不同而不同。 4种时序单位中,振荡周期和机器周期是单片机内计算其他时间值(例如,波特率、定时器的定时时间等)的基本时序单位。 例:单片机外接晶振频率12MHZ时的各种时序单位: 振荡周期=1/fosc=1/12MHZ=0.0833us 状态周期=2/fosc=2/12MHZ=0.167us 机器周期=12/fosc=12/12MHZ=1us 指令周期=(1~4)机器周期=1~4us 1.4.3 复位电路 复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。 当MCS-51系列单片机的复位引脚 RST出现 5ms以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态。 复位操作通常有2种基本形式: 上电复位 开关复位。 上电后,由于电容充电,使 RST持续一段高电平时间。当单片 机已在运行过程中时,按下复位键 也能使 RST持续一段时间的高电平, 以此来实现上电且开关复位的操作。 通常选择 C=10?f ,R=10K?。 单片机的复位操作是使SFR寄存器进入初始化,不改变片内RAM区中的内容。 几个主要特殊功能寄存器复位状态归纳如下: PC=0000H,程序计数器为零表明单片机复位后程序从0000H地址单元开始执行。 A=00H 表明累加器已被清零。 PSW=00H 表明选寄存器0组为工作寄存器组。 SP=07H 表明堆栈指针指向片内RAM 07H单元,根据堆栈操作的先加后压法则,第一个被压入的数据被写入08H单元中。 P0~P3=FFH 表明已向各端口线,各端口既可用于输入又可用于输出。 记住一些特殊功能寄存器复位后的主要状态,对于熟悉单片机操作,减短应用程序中的初始化部分是十分必要的。 其它的特殊功能寄存器复位后的状态见教材 表1-4。 1.5 引脚功能 根据单片机的引脚多少,有可总线扩展的单片机和 不可总线扩展的单片机。 单片机内部资源十分丰富,如果设计大系统,内部资源不够,还需要扩展外部存储器或I/O接口,要选择可总线扩展的单片机。这种单片机有地址总线、数据总线个。 有的系统较小,单片机内部资源足够需求, 无需扩展外围芯片,为减小体积,缩小PCB(印刷电路板)面积,可选择不可总线扩展的单片机,它们省去总线个。 两种单片机它们内部资源一样、指令系统兼容 40只引脚按其功能来分,可分为三部分: 1.电源及时钟引脚: Vcc,Vss;XTAL1,XTAL2 2.控制引脚: PSEN、ALE、EA、RESET(即RST)。 3.I/O口引脚: P0、P1、P2、P3,为4个8位I/O口的外部 引脚。 1 电源及时钟引脚 电源引脚 : 接入单片机的工作电源 Vcc(40脚):接+5V电源; Vss(20脚):接地。 时钟引脚:时钟引脚外接晶体与片内的反相放大器构成了一个振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。 ? 2 控制引脚 RST/VPD(9脚) RST:单片机刚接上电源时,其内部各寄存器处于随机状态,在此脚输入24个时钟周期宽度以上的高电平将使单片机复位。单片机正常工作时,此脚应为≤0.5V低电平。 VPD:备用电源输入端。当Vcc下降到低于规定 的值,而VPD在其规定的电压范围内(5±0.5V)时,VPD就向内部RAM提供备用 电源以保持内部RAM的数据。 ALE/PROG(30引脚) 访问片外存储器时,ALE(地址锁存允许信号)输出 脉冲的负跳沿用于16位地址的低8位锁存信号。 不访问片外存储器,ALE端以时钟振荡器频率的 1/6固定输出正脉冲。在访问外部数据存储器时 (执行MOVX指令),ALE会丢失一个ALE脉冲。 注:对于EPROM型单片机(8751),在EPROM编程 期间,此引脚用来输入编程脉冲。 PSEN(29引脚) 此脚的输出信号是单片机访问外部ROM的读选通信号,在访问外部ROM取指令(或常数)期间,每个机器周期PSEN两次有效,在访问外部RAM时(即执行MOVX类指令),这两次有效的PSEN不出现。PSEN可驱动8个LSTTL负载。 EA/VPP 3 I/O口引脚 提示:当P1、P2、P3口作为输入口使用时,必须 先向该口写1(对应口线口作为输入口 MOV P1,#0FFH 思考:MOV P2,#07H的作用是什么? 在51系列单片机的2051/1051型号中因无P0口和P2口总线),由于不可以进行外部扩展,因此无PSEN引脚,它们内部有一个模拟比较器,相比较的模拟信号由P1.0(AIN0)和P1.1(AIN1)输入,而模拟比较器的输出接P3.6,在内部已连接,因此外部无P3.6引脚。由于体积小,占用PCB(印刷电路板)面积小产品中也使用较多。 1.6 小 结 单片机是集CPU、存储器、I/O接口于一体的大规模集成电路芯片。MCS-51系列单片机是目前市场上应用最广泛的单片机机型。 本章重点是单片机的内部结构和存储器结构 ★ 51系列单片机内部包含: 一个8位的CPU。 4KB程序存储器ROM(视不一样的产品型号不相同:8031内部无ROM;8051内部为掩模式ROM;8751为EPROM;89C51内部为FLASH EEPROM)。 128字节RAM数据存储器。 两个16位定时器/计数器。 可寻址64KB外部数据存储器和64KB外部程序存 储器空间的控制电路。 32条可编程的I/O线位并行I/O端口)。 一个可编程全双工串行口。 具有两个优先级嵌套中断结构的五个中断源。 ★ 掌握51系列单片机各存储空间的地址分配,使用特点及数据操作方法。现将此内容归纳于教材表1-5中,此表是编程和硬件扩展的基础,很重要,务必要熟记和掌握。 计算机内部都是数字电路,都按时钟节拍工作,如果系统的时钟电路有问题,没有时钟信号,嵌入式系统是无法工作的,因此,如果你的单片机应用系统不能工作,检查系统有没有时钟信号,也是查找毛病的步骤之一。 如果系统不能工作,也应查一查有无复位信号,因为: 1.如果RST持续为高电平,单片机就处于循环复位状态, PC总为0,不会执行程序 。 2.如果复位电路有问题, PC不会置初始值0,而是其他随机值,而该地址没有程序,或者是乱码,也不会正常执行程序。因此,用户主程序必须从0地址开始存放。后面我们将看到汇编语言程序的第1句是: ORG 0000H(或ORG 0) EA是否接到+5V ,否则不会到片内取指令、执行程序。 图1-8 1.5.1可总线扩展的单片机引脚 可总线个引脚的双列直插式封装形式,最常用 的40个引脚封装,见图。 XTAL1(19脚):接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端。这个放大器构成片内振荡器。当采用外接晶体振荡器时,此引脚应接地。 XTAL2(18脚):接外部晶体的另一端,在单片机内部,接至内部反相放大器的输出端。当采用外接晶体振荡器时,该引脚接收振荡器的信号。 思考:ALE能用做时钟源或做定时吗,为什么? EA :内外程序存储器选择控制端。 输入高电平,CPU访问内部程序存储器(4K)。PC值超过0FFFH时,将自动执行片外程序存储器的程序。 输入低电平,CPU仅访问片外程序存储器。 注意:对于8031来说此脚必须接地。 VPP: 8751片内EPROM固化编程时,用于施加较高的编程电压。编程电压。 作为普通I/O使用 访问片外存储器 (扩展RAM或ROM) 它是一种漏极开路的8位准双向I/O,每一位可驱动8个LSTTL负载,若驱动普通负载,它只有1.6mA灌电流驱动能力,拉负载能力为零。需要输出高电平时,要接上拉电阻。当P0口作为普通输入接口时,应先向口锁存器写“1”。 它是标准的双向I/O接口。时分复用作为低8位地址线脚) 作为普通I/O使用 它是自带上拉电阻的8位准双向I/O接口,每一位可驱动4个LSTTL负载。当P2口作为输入接口时,应先向口锁存器写“1”。 两种工作方式 访问片外存储器时 (扩展RAM或ROM) P2口作为高8位地址线口仅用作I/O使用,它也是自带上拉电阻的8位准双向I/O接口,每一位可驱动4个LSTTL负载。当P1口作为输入接口时,应先向口锁存器写“1”。 3.P1口(P1.0~P1.7,1脚~8脚) (读选通输出口) P3.7 (写选通输出口) P3.6 T1(定时器1外部输入口) P3.5 T0(定时器0外部输入口) P3.4 (外部中断1输入口) P3.3 (外部中断0输入口) P3.2 TXD(串行输出口) P3.1 RXD(串行输入口) P3.0 功能 引脚 P3口引脚第二功能 除了和P1口的功能一样外, P3口的每一引脚还具有第二功能。 4.P3口(P3.0~P3.7,10脚~17脚) 在增强型的52系列单片机中,P1.0、P1.1除为端口线S52)中,P1.5、P1.6、 P1.7除为端口线外,还为在线编程的数据输入、输出线 不可总线扩展的单片机引脚 ★ 时钟电路和复位电路对嵌入式系统是很重要的 在上述表中,打*SFR是可以位寻址的。我们大家可以发现一个规律,那就是其字节地址的末尾是0H或是8H(字节地址能被8整除)。 P - OV RS0 RS1 F0 AC CY D0 D1 D2 D3 D4 D5 D6 D7 位地址 位名称 提示:系统复位后,SP初始化为07H,使得堆栈事实上由08H开始。因为08H---1FH单元为工作寄存器区1---3, 20H---2FH为位寻址区,在程序设计很可能要用到这些区,所以用户在编程时最好把SP初值设为2FH或更大值,当然同时还要顾及其允许的深度。要防止设置不当,引起内部RAM单元冲突。 ★数据指针寄存器DPTR(83H、82H) DPTR 16位专用寄存器 高位字节:DPH,低位字节:DPL 2个独立的8位寄存器DPH和DPL使用 ★端口寄存器P0~P3 (80H,90H,0A0H,0B0H) I/O端口P0~P3的8位锁存器 均为可位寻址寄存器 P0口的字节地址为80H。P0口既可当作通用的I/O口使用,也可作为单片机系统的地址/数据线口的电路中有一个多路转换开关MUX。在内部控制信号的作用下,多路开关MUX可以分别接通锁存器输出和地址线/数据线口作通用I/O口使用的。其输出驱动部分与P0口不同,内部有上拉负载电阻与电源相连。在端口由输出口转为输入口时,必须先向对应的锁存器写入“1”。 P2口的字节地址为A0H。在实际应用中,因为P2口用于为系统提供高位地址,因此同P0口一样,在口电路中有一个MUX。但MUX的1个输入端不再是“地址/数据”,而是单一的“地址”,是因为P2口只作为地址线的引脚数目有限,因此在P3口电路中增加了引脚的第二功能。 读引脚:以I/O端口为源操作数的指令,执行该指令时,打开三态门,输入口状态(即先向该口写入“1”) 例: MOV A,P1 (1) 程序存储器和数据存储器全部64k重叠。 访问程序存储器使用MOVC类指令。 访问数据存储器使用MOV和MOVX类指令。 (2) 数据存储器片内和片外低128B重叠 访问片内数据存储器使用MOV类指令。 访问片外数据存储器使用MOVX类指令。 (3) 程序存储器片内和片外低4KB重叠 EA接高电平, 执行片内ROM中的程序,PC>0FFFH, CPU自动访问片外。 EA接低电平,只执行片外程序存储器中的程序。 XTAL1 XTAL2 GND 8XX51 C01 C02 图1-3 内部振荡方式 1.4.1 时钟电路 单片机的时钟信号用来提供单片机内各种微操作时间基准,8XX51单片机的时钟信号通常有两种电路形式: 内部振荡方式和外部振荡方式。 电容器C01、C02 起稳定振荡频率、快速起振的 作用。电容值一般为 5~30PF。 外部振荡方式是把 已有的时钟信号引入单 片机。这种方式适宜用 于使单片机的时钟与外 部信号保持一致。外部 振荡方式如图1-4所示。 对于51系列的单片机的外部时钟由XTAL1引入。 外部时钟 XTAL1 XTAL2 GND 8XX51 悬空 外部时钟 图1-4 外部振荡方式 RST 8XX51 R C VCC 上电复位要求接通电源后,自动实现复位。 开关复位要求在电源接通的条件下,在单片机运行期间,用接钮开关操作使单片机复位。 常用的上电且开关复位电路如 图1-5所示。 图1-5 复位电路 * * 李芳主编 内 容 提 要 1.1.1 概述 1.1 MCS-51单片机内部结构 图1-1 ( 图中“/” 两边分别为基本型和增强型 ) P3 P1 P2 可编程 串行I/O口 P0 外部中断 基准频率源 控制 128/256B 数据存储器 4KB/8KB 程序存储器 2/3个16位 定时/计数器 振荡器及 定时电路 CPU 64KB 总线扩展控制 可编程 并行I/O口 内部中断 计数脉冲 串行输出 串行输入 增加了不经过累加器A的传送指令,既可以加快数据的传送速度,同时又可减少“瓶颈”现象的发生。 PC是一个16位的计数器,所以寻址范围为 64KB(216=65536). 思考:MCS-51系列单片机,寻址范围是多少? 控制器的功能可总结为:接受来自存储器的指令,进行指令译码,根据指令的性质控制单片机各功能部件,保证单片机各部分协调工作,完成指令做规定的各种操作。 从上图能够正常的看到,一个机器周期中通常出现两次ALE信号,即从ROM中取两次操作码,读入指令寄存器,指令周期的执行开始于S1P1时刻,而总是结束于S6P2时刻 。 提示:访问片外数据存储器(MOVX)时,将会丢失1个ALE脉冲。 MCS-51单片机存储器采用的是哈佛结构,即程序存储器空间和数据存储器空间是分开的。 8051在物理结构上有 4个存储空间: 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器 8051在逻辑结构(用户角度)有3个存储空间: 1.片内外统一编址的64K字节程序存储器地址空间(用16位地址); 2.片内256BRAM; 3.片外64KBRAM 程序存储器用来存放程序和始终要保留的常数。 数据存储器存放程序运行中所需要的常数和变量。MCS-51存储器物理结构见下图所示: 外部数据 存储器 (RAM) 外部程序 存储器 (ROM) 内部程序 存储器 内部数据 存储器 8XX51 H0000 0FFFH 图1-2 MCS-51单片机的存储器逻辑结构 FFFFH 0000H 0FFFH 外部 RAM 外部 R O M 内部ROM (EA=1) H0000 8031 外部ROM (EA=0) 8051 1000H FFFFH 特殊功能 寄存器 内部数据存储器 内部数据 RAM 7FH 80H 00H FFH 外部数据存储器 (增强型) 程序存储器 地址重叠 EA接高电平, PC的值在低4K字节(0000H—0FFFH)内,执行片内ROM,PC>0FFFH,CPU自动访问片外。 EA接低电平,只执行片外程序存储器中的程序。 程序存储器可分为片内和片外。由于逻辑上还是属于同一空间,所以访问用的是相同的指令。访问片内还是片外取决于 EA引脚上所接电平。 EA EA RD WR
第17讲 生活用电(讲义)-【新课标新思维】人教版中考物理一轮复习四步曲 学思讲测(解析版).pdf
第07讲 质量与密度(讲义)-【新课标新思维】人教版中考物理一轮复习四步曲 学思讲测(解析版).pdf
最新版ISO9001-2026质量管理体系规定要求讲解运用及推行培训教材.pptx
CANPURE坎普尔超滤-MBR-EDI模块选型样本中文版-2020.pdf
原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者