搜档网
当前位置:搜档网 › 单片机内部结构详解

单片机内部结构详解

单片机内部结构详解
单片机内部结构详解

单片机内部结构详解

MCS-51单片机结构

MCS-51系列单片机产品有8051,8031,8751,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片)。它们的结构基本相同,其主要差别反映在存储器的配置上。8051内部设有4K字节的掩模ROM程序存储器,8031片内没有程序存储器,而8751是将8051片内的ROM换成EPROM。由ATMEL公司生产的89C51将EPROM改成了4K的闪速存储器,他们的结构大同小异,本章将对8051单片机的结构作一介绍。

MCS-51单片机组成

MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。MCS-51单片机内包含下列几个部件:

◆ 一个8位CPU;

◆ 一个片内振荡器及时钟电路;

◆ 4K字节ROM程序存储器;

◆ 128字节RAM数据存储器;

◆ 两个16位定时器/计数器;

◆ 可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;

◆ 32条可编程的I/O线(四个8位并行I/O端口);

◆ 一个可编程全双工串行口;

◆ 具有五个中断源、两个优先级嵌套中断结构。

8051单片机框图如图所示。各功能部件由内部总线联接在一起。图中4K(4096)字节的ROM存储器部分用EPROM替换就成为8751;图中去掉ROM部分就成为8031的结构图。

CPU

CPU是单片机的核心部件。它由运算器和控制器等部件组成。

1. 运算器

运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。例如能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息送至状态寄存器。

8051运算器还包含有一个布尔处理器,用来处理位操作。它是以进位标志位C为累加器的,

可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其

他可寻址的位之间进行数据传送等位操作。也能使进位标志位与其他可位寻址的位之间进行逻

辑与、或操作。

2. 程序计数器PC

程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。

?指令寄存器

指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令

寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。

?定时与控制部件

①时钟电路

8051片内设有一个由反向放大器所构成的振荡电路,X TAL1和 X TAL2分别为振荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图2-2所示。

在X TAL1和 X TAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用

石英晶体和电容组成的并联谐振回路。晶振可以在1.2MH z到12MH z之间选择,电容值在5-30P F之间选择,电容的大小可起频率微调作用。

外部方式的时钟很少用,若要用时,只要将X TAL1接地,X TAL2接外部振荡器就行。对

外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MH z的方波信号。时钟

发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S 的前半部分有效,P2在每个状态的后半部分有效。

② 时序

MCS-51典型的指令周期(执行一条指令的时间称为指令周期)为一个机器周期,一个机器周期由六个状态(十二振荡周期)组成。每个状态又被分成两个时相P1和P2。所以,一个

机器周期可以依次表示为S1P1,S1P2……,S6P1,S6P2。通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。

下图给出了8051单片机的取指和执行指令的定时关系。这些内部时钟信号不能从外部观察到,所用X TAL2振荡信号作参考。在图中可看到,低8位地址的锁存信号ALE在每个机器周期中两次有效:一次在S1P2与S2P1期间,另一次在S4P2与S5P1期间。

对于单周期指令,当操作码被送入指令寄存器时,便从S1P2开始执行指令。如果是双字

节单机器周期指令,则在同一机器周期的S4期间读入第二个字节,若是单字节单机器周期指令,则在S4期间仍进行读,但所读的这个字节操作码被忽略,程序计数器也不加1,在S6P2结束时完成指令操作。图2-3的(a)和(b)给出了单字节单机器周期和双字节单机器周期指令的时序。

8051指令大部分在一个机器周期完成。乘(MUL)和除(DI V)指令是仅有的需要两个以上机器周期的指令,占用4个机器周期。对于双字节单机器周期指令,通常是在一个机器周期内从程序存储器中读入两个字节,唯有MO VX指令例外。MO VX是访问外部数据存储器的单字节双机器周期指令。在执行MO VX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。图2-3中(c)给出了一般单字节双机器周期指令的时序。

3. 存储器

MCS-51单片机的程序存储器和数据存储器空间是互相独立的,物理结构也不同。程序存储器为只读存储器(ROM)。数据存储器为随机存取存储器(RAM)。单片机的存储器编址方式采用与工作寄存器、I/O口锁存器统一编址的方式。有关存储器的内容将在下一节中详述。

4. I/O端口

I/O端口又称为I/O接口,也叫做I/O通道或I/O通路,I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。

(1) 并行I/O端口

MCS-51单片机设有四个8位双向I/O端口(P0、P1、P2、P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个LSTTL电路。P1、P2、P3口为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),负载能力为4个LSTTL 电路。

1)P0端口功能(P0.0~P0.7、32~39脚)

上图是 P0口位结构,包括1个输出锁存器,2个三态缓冲器,1个输出驱动电路和1个输

出控制端。输出驱动电路由一对场效应管组成,其工作状态受输出端的控制,输出控制端由1个与门、1个反相器和1个转换开关MU X组成。对8051/8751来讲P0口既可作为输入输出口,又可作为地址/数据总线使用,

① P0口作地址/数据复用总线使用

若从P0口输出地址或数据信息,此时控制端应为高电平,转换开关MU X将反相器输出端与输出级场效应管V2接通,同时与门开锁,内部总线上的地址或数据信号通过与门去驱动V1管,又通过反相器去 管,这时内部总线上的地址或数据信号就传送到P0口的引脚上。工作时低8位地址与数据线分时使用P0口。低8位地址由ALE信号的负跳变使它锁存到外部地址锁存器中,而高8位地址由P2口输出(P0口和P2口的地址/数据总线功能,请阅第八章MCS-51扩展技术)。

② P0口作通用I/O端口使用

对于有内部ROM的单片机,P0口也可以作通用I/O,此时控制端为低电平,转换开关把输出级与锁存器的Q端接通,同时因与门输出为低电平,输出级V1管处于截止状态,输出级为漏极开路电路,在驱动N MOS电路时应外接上拉电阻;作输入口用时,应先将锁存器写“1”,这时输出级两个场效应管均截止,可作高阻抗输入,通过三态输入缓冲器读取引脚信号,从而完成输入操作。

③ P0口线上的“读一修改一写”功能

图上面一个三态缓冲器是为了读取锁存器Q端的数据。Q端与引脚的数据是一致的。结构上这样安排是为了满足:“读一修改一写”指令的需要,这类指令的特点时:先读口锁存器,随之可能对读入的数据进行修改再写入到端口上。例如:A N L PO,A;ORL PO,A;X RL PO,A;…。

这类指令同样适合与P1~P3口,其操作是:先将口字节的全部8位数读入,再通过指令修改某些位,然后将新的数据写回到口锁器中。

2)P1口(P1.0~P1.7、1~8脚)准双向口

① P1口作通用I/O端口使用

P1口是一个有内部上拉电阻的准双向口,位结构入图2-5所示,P1口的每一位口线能独立用作输入线或输出线。作输出时,如将“0”写入锁存器,场效应管导通,输出线为低电平,即输出为“0”。因此在作输入时,必须先将“1”写入口锁存器,使场效应管截止。该口线由内部上拉电阻提拉成高电平,同时也能被外部输入源拉成低电平,即当外部输入“1”时该口线为高电平,而输入“0”时,该口线为低电平。P1口作输入时,可被任何TTL电路和MOS 电路驱动,由于具有内部上拉电阻,也可以直接被集电极度开路和漏极开路电路驱动,不必外加上拉电阻。P1口可驱动4个LSTTL门电路。

② P1口其他功能

P1口在EPROM编程和验证程序时,它输入低8位地址;在8032/8052系列中P1.0

和P1.1是多功能的,P1.0可作定时器/计数器2的外部计数触发输入端T2,P1.1可作定时器/计数器2的外部控制输入端T2E X。

3) P2口(P2.0~P2.7,21~28脚)准双向口

P2口的位结构如图2-6所示,引脚上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。

① P2口作通用I/O端口使用

当P2口作通用I/O端口使用时,是一个准双向口,此时转换开关MU X倒向左边,输出级与锁存器接通,引脚可接I/O设备,其输入输出操作与P1口完全相同。

② P2口作地址总线口使用

当系统中接有外部存储器时,P2口用于输出高8位地址A15~A8。这时在CPU的控制下,

转换开关MU X倒向右边,接通内部地址总线。P2口的口线状态取决于片内输出的地址信息,这些地址信息来源于PCH、DPH等。在外接程序存储器的系统中,由于访问外部存储器的操作连续不断,P2口不断送出地址高8位。例如,在8031构成的系统中,P2口一般只作地址总线口使用,不再作I/O端口直接连外部设备。在不接外部程序存储器而接有外部数据存储器的系统中,情况有所不同。若外接数据存储器容量为256B,则可使用MO VX A,@R i类指令由PO口送出8位地址,P2口上引脚的信号在整个访问外部数据存储器期间也不会改变,故P2口仍可作通用I/O端口使用。若外接存储器容量较大,则需用MO VX A,@DPTR类指令,由PO口和P2口送出16位地址。在读写周期内,P2口引脚上将保持地址信息,但从结构可知,输出地址时,并不要求P2口锁存器锁存“1”,锁存器内容也不会在送地址信息时改变。故访问外部数据存储器周期结束后,P2口锁存器的内容又会重新出现在引脚上。这样,根据访问外部数据存储器的频繁程度,P2口仍可在一定限度内作一般I/O端口使用。P2口可驱动4个LSTTL门电路。

4) P3口(P3.0~P3.7、10~17脚)双功能口

P3口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同P1口。P3口的位结构如图 2-7。

当作第二功能使用时,每一位功能定义如表2-1所示。P3口的第二功能实际上就是系统具有控制功能的控制线。此时相应的口线锁存器必须为“1”状态,与非门的输出由第二功能输出线的状态确定,从而P3口线的状态取决于第二功能输出线的电平。在P3口的引脚信号输入通道中有两个三态缓冲器,第二功能的输入信号取自第一个缓冲器的输出端,第二个缓冲器仍是第一功能的读引脚信号缓冲器。P3口可驱动4个LSTTL门电路。

5、总线

MCS-51单片机属总线型结构,通过地址/数据总线可以与存储器(RAM、EPROM)、并行I/O接口芯片相连接。在访问外部存储器时,P2口输出高8位地址,P0口输出低8位地址,由ALE(地址锁存允许)信号将P0口(地址/数据总线)上的低8位锁存到外部地址锁存器中,从而为P0口接受数据作准备。在访问外部程序存储器(即执行MO VX)指令时,PSE N(外部程序存储器选通)信号有效,在访问外部数据存储器(即执行MO VX)指令时,由P3口自动产生读/写(RD/W R)信号,通过P0口对外部数据存储器单元进行读/写操作。MCS-51单片机所产生的地址、数据和控制信号与外部存储器、并行I/O接口芯片连接简单、方便。

8051单片机的内部结构

8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器(CPU)是整个单片机的核心 部件,是8位数据宽度的处理器,能处理 8位二进制数据或代码,CPU负责控制、 指挥和调度整个单元系统协调的工作,完 成运算和控制输入输出功能等操作。 ·数据存储器(RAM): 8051内部有128个8位用户数据存储 单元和128个专用寄存器单元,它们是统 一编址的,专用寄存器只能用于存放控制 指令数据,用户只能访问,而不能用于存 放用户数据,所以,用户能使用的的RAM 只有128个,可存放读写的数据,运算的 中间结果或用户定义的字型表。 ·程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 ·并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。 ·全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以 用作异步通信收发器,也可以当同步移位器使用。 ·中断系统: 8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可 满足不同的控制要求,并具有2级的优先级别选择。 ·时钟电路: 8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051 单片机需外置振荡电容。

AT89C51单片机的基本结构和工作原理

AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能: 1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

(1)运算器 运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。 ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。 暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。 累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。 (2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理: 1.引脚排列及功能 AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。 (1)I/O口线 ·P0口 8位、漏极开路的双向I/O口。 当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。 ·P1口 8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。 ·P2 8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。 ·P3 8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。 (2)控制信号线

8051单片机的引脚及其功能

今天我们学习8051单片机的引脚及其功能。 8051系列各种芯片的引脚是互相兼容的,8051,8751和8031均采用40脚双列直播封装型式。当然,不同芯片之间引脚功能也略有差异。8051单片机是高性能的单片机,因为受到引脚数目的限制,所以有不少引脚具有第二功能,其中有些功能是8751芯片所专有的。各引脚功能简要说明如下: Vcc(40脚):电源端,为+5V。 Vss(20脚):接地端。 时钟电路引脚XLAL2(18脚):接外部晶体和微调电容的一端。若需采用外部时钟电路时,该引脚输入外时钟脉冲,要检查8051的振荡电路是否正确工作,可用示波器查看XLAL2端是否有脉冲信号输出。 时钟电路引脚XLAL1(19脚):接外部晶体的微调电容的另一端。在片内它是振荡电路方相放大器的输入端。在采用外部时钟时,该引脚必须接地。 RST(9脚):RST是复位信号输入端,高电平有效。当此输入端保持两个机器周期,即24个时钟振荡周期的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD,即备用电源的输入端。当主电源Vcc发生故障降低到低电平规定值时,将+5V电源自动接入RST端,为RAM 提供备用电源,以保证存储在RAM中的信息不丢失,以使电源正常后能继续正常运行。 ALE(30脚):地址锁存允许信号端。当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fosc的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。在CPU访问片外数据存储器时,会丢失一个脉冲。平时不访问外存储器时,ALE端也可1/6的振荡频率固定输出正脉冲,因而ALE也可以用作对外输出时钟或定时信号。如果你想看一下8051芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出,如有,则8051基本上是好的。ALE端的负载驱动能力为8个LS型TTL。此引脚的第二功能PROG是对片内带有4K EPROM的8751固化程序时,作为编程脉冲输入端。 PSCN(29脚):程序存储器允许输出信号端。在访问片外程序存储器时,此端口定时输出脉冲作为读片外程序存储器的选通信号。此引脚EPROM的OE端,PSCN端有效,即允许读出片

8051单片机CPU的内部组成及功能介绍

8051单片机CPU的内部组成及功能介绍 一、运算器 运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示。PSW CY AC FO RS1 RS0 OV -P对用户来讲,最关心的是以下四位。 1?进位标志CY(PSW?7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。 2?辅助进位标志AC。又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。 3?溢出标志位OV。MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。 4?奇偶标志P。反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。 PSW的其它位,将在以后再介绍。由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。其功能在介绍位指令时再说明。 二、控制器 控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所

51单片机CPU的内部结构

51单片机CPU的内部结构 在前面的课程中,我们已知道了单片机内部有一个8位的CPU,同时知道了CPU 内部包含了运算器,控制器及若干寄存器。在这节课,我们就与大家一起来讨论一下51单片机CPU的内部结构及工作原理。 从上图中我们可以看到,在虚线框内的就是CPU的内部结构了,8位的MCS-51单片机的CPU内部有数术逻辑单元ALU(Arithmetic Logic Unit)、累加器A (8位)、寄存器B(8位)、程序状态字PSW(8位)、程序计数器PC(有时也称为指令指针,即IP,16位)、地址寄存器AR(16位)、数据寄存器DR(8位)、指令寄存器IR(8位)、指令译码器ID、控制器等部件组成。 1、运算器(ALU)的主要功能 A)算术和逻辑运算,可对半字节(一个字节是8位,半个字节就是4位)和单字节数据进行操作。 B)加、减、乘、除、加1、减1、比较等算术运算。 C)与、或、异或、求补、循环等逻辑运算。 D)位处理功能(即布尔处理器)。 由于ALU内部没有寄存器,参加运算的操作数,必须放在累加器A中。累加器A 也用于存放运算结果。 例如:执行指令 ADD A,B 执行这条指令时,累加器A中的内容通过输入口In_1输入ALU,寄存器B通过内部数据总线经输入口In_2输入ALU,A+B的结果通过ALU的输出口Out、内部

数据总线,送回到累加器A。 2、程序计数器PC PC的作用是用来存放将要执行的指令地址,共16位,可对64K ROM直接寻址,PC低8位经P0口输出,高8位经P2口输出。也就是说,程序执行到什么地方,程序计数器PC就指到哪里,它始终是跟蹿着程序的执行。我们知道,用户程序是存放在内部的ROM中的,我们要执行程序就要从ROM中一个个字节的读出来,然后到CPU中去执行,那么ROM具体执行到哪一条呢?这就需要我们的程序计数器PC来指示。 程序计数器PC具有自动加1的功能,即从存储器中读出一个字节的指令码后,PC自动加1(指向下一个存储单元)。 3、指令寄存器IR 指令寄存器的作用就是用来存放即将执行的指令代码。 在这里我们先简单的了解下CPU执行指令的过程,首先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。关于指令在单片机内部的执行过程,我们在后面将会以另一节课来进行详细的讲解。 4、指令译码器ID 用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。当指令送入译码器后,由译码器对该指令进行译码,根据译码器输出的信号,CPU控制电路定时地产生执行该指令所需的各种控制信号,使单片机正确的执行程序所需要的各种操作。 5、地址寄存器AR(16位) AR的作用是用来存放将要寻址的外部存储器单元的地址信息,指令码所在存储单元的地址编码,由程序计数器PC产生,而指令中操作数所在的存储单元地址码,由指令的操作数给定。从上图中我们可以看到,地址寄存器AR通过地址总线AB与外部存储器相连。 6、数据寄存器DR 用于存放写入外部存储器或I/O端口的数据信息。可见,数据寄存器对输出数据具有锁存功能。数据寄存器与外部数据总线DB直接相连。 7、程序状态字PSW 用于记录运算过程中的状态,如是否溢出、进位等。 例如,累加器A的内容83H,执行: ADD A,#8AH ;累加器A与立即数8AH相加,并把结果存放在A中。 指令后,将产生和的结果为[1]0DH,而累加器A只有8位,只能存放低8位,即0DH,元法存放结果中的最高位B8。为些,在CPU内设置一个进位标志位C,当执行加法运算出现进位时,进位标志位C为1。 8、时序部件 由时钟电路和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号在后面的课程中我们将会安排一节课来讲解这些专用的寄存器。

80C51 单片机的硬件结构 思考题及答案复习过程

1 、如何理解51单片机存储空间在物理结构上可分为4个,而逻辑上又可划分为3个? 答: MCS-51在物理上有四个存储空间: 1、片内程序存储器 2、片外程序存储器、 3、片内数据存储器 4、片外数据存储器。从逻辑上划分有三个存储器地址空间: 1、片内外统一编址的64K字节程序存储器(0000H~0FFFFH) 2、内部256字节数据存储器地址空间(包括 128字节片内RAM和128字节的SFR) 3、外部64K字节数据存储器地址空间(0000H~0FFFFH) 2 、MCS-51片内RAM的容量?8051最大可配置的RAM/ROM容量?答: 1)MCS-51片内RAM的容量: 51子系列:128B 52子系列:256B 2)其ROM最大可扩展到64KB 注:片内数据存储区=片内RAM+SFR,51和52子系列的SFR容量都是128B 3 、8051的/PSEN、/RD、/WR的作用? 答: 1)/PSEN(外部程序存储器读选通信号): CPU访问片外ROM时,使/PSEN低电平有效,可实现片外ROM的读操作,其他情况下此引脚为高电平封锁状态。 2)/RD:外部RAM读信号 3)/WR:外部RAM写信号 4 、ALE线的作用?当8051不和RAM/ROM相连时,ALE线的输出频率是多少? 答: 1)ALE(地址锁存控制信号): 访问片外ROM,RAM时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存,实现低位地址和数据的分时传送。 不访问片外存储器时,可做为外部时钟使用。 2)当8051不和RAM/ROM相连时,ALE线的输出频率等于时钟周期的倒数

5 、MCS-51的工作寄存区包含几个通用工作寄存器组?每组的地址是什么?如何选用?开机复位后,CPU使用的是哪组工作寄存器?答: 1)MCS-51的工作寄存区包含4个通用工作寄存器组 2)第0组通用寄存器区地址:00H~07H 第1组通用寄存器区地址:08H~0FH 第2组通用寄存器区地址:10H~17H 第3组通用寄存器区地址:18H~1FH 3)选择哪个工作寄存器组是通过软件对程序状态字寄存器PSW的第 4、3位进行设置实现的 4 6、 MCS-51的内部RAM地址空间是如何安排的?共有多少个单元可以位寻址?位地址又是如何排列的? 答: 1)MCS-51的内部RAM地址的空间安排: 00H~1FH 寄存器区 20H~2FH 位寻址区 30H~7FH 数据缓冲区 80H~FFH 专用寄存器区 2)位寻址的单元个数:16B*8位/B=128位 3)位地址排列方式: 位地址为:00H~7FH 字节地址:20H~2FH 7 、MCS-51的程序计数器PC是几位寄存器?它是否为专用寄存器?PC的内容是什么信息? 答 1)MCS-51的程序计数器PC是16位寄存器

51单片机的内部结构

51单片机的内部结构 MCS-51单片机内部结构 8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、 并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: ·中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位 二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控 制输入输出功能等操作。 ·数据存储器(RAM): 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据, 所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义 的字型表。 ·程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 ·并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。 ·全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 ·中断系统: 8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

80C51单片机的基本结构是由中央处理器CPU

80C51单片机的基本结构是由中央处理器CPU、存储器、输入/输出接口电路(I/O口)、定时和中断电路组成。 80C51的组成:微处理器、存储器、外部输入/输出接口电路(I/O接口)、中断系统、时钟电路、系统总线、 80C51的存储器 内部数据存储器:实际上80C51芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,供用户使用的只是前128单元,用于存放可读写的数据。 内部程序存储器:内部程序存储器是指ROM(4KB×8)。80C51共有4 KB掩膜ROM,用存放程序和原始数据。因此称之为程序存储器,简称“内部ROM”。 I/O口电路:80C51单片机共有4个8位的I/0口(P0-P3),以实现数据的并行输入输出。还有一个可编程全双工的串行口,它功能强大,可做异步通信收发器使用,也可用作同步移位器使用。 中断系统:80C51单片机的中断功能较强,以满足控制应用的需要。80C51共有5个中断源。即外部中断2个,定时/计数中断2个,串行中断1个。全部中断分为高优先级和低优先级共两级。 时钟电路:80C51单片机的内部具有时钟电路,但石英晶体振荡器和微调电容需外接。 总线:上述这些部件都是通过总线连接起来,才能构成一个完整的单片机系统。总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。 主电源引脚Uss和Ucc :Vss(20脚):接地Vcc(40脚):正常操作、对EPROM编程和验证时为+5V电源。 外接晶振引脚XTALl和XTAL2 XTALl(19脚):内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当使用外部时钟时,对于HMOS单片机,该引脚必须接地;对于CHMOS单片机,该引脚作为驱动端。XTAL2(18脚):内部振荡电路反相放大器的输出端,是外接晶体的另一端。若使用外部时钟时,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。 控制和其它电源复用引脚RST/VPD(9脚):复位信号输入引脚/备用电源输入引脚。ALE/PROG(30脚):地址锁存允许信号输出引脚/编程脉冲输入引脚。当访问外部存储器时,ALE的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE仍以不变的频率周期性的出现正脉冲信号,频率为振荡器频率的1/6。EA/VPP(31脚):当EA端保持电平时,访问内部程序存储器。当PC值超过0FFFH时,将自动转向,执行外部程序存储器的程序。当EA保持低电平时,则只访问外部数据存储器,不管是否有内部程序存储器。PSEN(29脚):外部程序存储器读选通信号。在由外部程序存储器取指令期间,每个机器周期两次PSEN有效。 并行I/O口引脚(32个,分成4个8位口) P0.0~P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;P1.0~P1.7:一般I/O口引脚;P2.0~P2.7:一般I/O口引脚或高位地址总线引脚;P3.0~P3.7:一般I/O口引脚或第二功能引脚。 P3口的第二功能:P3.0:RXD 串行数据接收P3.1:TXD 串行数据接收P3.2:/INT0 外部中断0申请P3.3:/INT1 外部中断1申请P3.4:T0 定时器/计数器0计数输入P3.5:T1 定时器/计数器1计数输入P3.6:/WR 外部RAM写选通P3.7:/RD 外部RAM读选通 3.3.2引脚的复用对于各种型号的芯片,其引脚的第一功能信号是相同的,所不同的只在引脚的第二功能信号上。对于9、30和31各引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。P3口线的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此在实际使用时,总是先按需要优先选用它的第二功能,剩下不用的才作为口线使用。 内部数据存储器80C51单片机的内部数据存储器在物理上分为两个区:00H~7FH单元组成的低128字节单元和高128字节的特殊功能寄存器区(SFR)低128字节单元如图所示。80C51片内RAM共有128 B,分成工作寄存器区、位寻址区、通用用户区。 PSW当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RSl、RS0位来选定。 程序状态字PSW 程序状态字是一个8位寄存器,它包含了程序状态信息。此寄存器各位的含义如表所示。其中PSW.1未用。程序状态字PSW 各位定义CY(PSW.7)进位标志。AC(PSW.6)辅助进位标志。F0(PSW.5)用户标志。RSl、RS0(PSW.4、PSW.3)寄存器区选择控制。OV(PSW.2)溢出标志。P(PSW.0)奇偶标志。 栈指针栈指针SP是一个8位特殊功能寄存器。它指示出堆栈顶部在内部RAM中的位置。系统复位后,SP初始化为07H,使得堆栈的存放事实上由08H单元开始。 数据指针数据指针DPTR是一个16位特殊功能寄存器,其高位字节寄存器用DPH表示,低位字节寄器用DPL表示,既可以作为一个16位寄存器DPTR来处理, 堆栈的作用堆栈主要是为子程序调用和中断操作而设立的。其具体功能有两个:保护断点和保护现场。 堆栈指针SP 堆栈共有两种操作:进栈和出栈。但不论是数据进栈还是数据出栈,都是对堆栈的栈顶单元进行的,堆栈使用方式堆栈的使用有两种方式。一种是自动方式,另一种是指令方式。

80C51单片机内部结构和工作原理

第2章80C51单片机内部结构和工作原理 本章要点 80C51系列单片机内部结构 外部引脚功能 存储空间配置和功能 片内RAM结构和功能 特殊功能寄存器的用途和功能 程序计数器PC的作用和基本工作方式 I/O端口结构、工作原理及功能 时钟和时序 复位电路、复位条件和复位后状态 低功耗工作方式的作用和进入退出的方法 §2-1 内部结构和引脚功能 一、 二、引脚功能 40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。

⒈电源: ⑴VCC - 芯片电源,接+5V; ⑵VSS - 接地端; ⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 ⒊控制线:控制线共有4根, ⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ①ALE功能:用来锁存P0口送出的低8位地址 ②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 ⑵PSEN:外ROM读选通信号。 ⑶RST/VPD:复位/备用电源。 ①RST(Reset)功能:复位信号输入端。 ②VPD功能:在Vcc掉电情况下,接备用电源。 ⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。 ①EA功能:内外ROM选择端。 ②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 ⒋I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 P3.0 ——RXD:串行口输入端; P3.1 ——TXD:串行口输出端; P3.2 ——INT0:外部中断0请求输入端; P3.3 ——INT1:外部中断1请求输入端; P3.4 ——T0:定时/计数器0外部信号输入端; P3.5 ——T1:定时/计数器1外部信号输入端; P3.6 ——WR:外RAM写选通信号输出端; P3.7 ——RD:外RAM读选通信号输出端。 §2-1 存储空间配置和功能 80C51的存储器组织结构可以分为三个不同的存储空间,分别是: ⑴64KB程序存储器(ROM),包括片内ROM和片外ROM; ⑵64KB外部数据存储器(外RAM); ⑶256B内部数据存储器(内RAM) (包括特殊功能寄存器)。 80C51存储空间配置图 一、程序存储器(ROM) 地址范围:0000H~FFFFH,共64KB。其中:

51单片机存储器内部结构

MCS-51单片机在物理结构上有四个存储空间: 1、片内程序存储器 2、片外程序存储器 3、片内数据存储器 4、片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1、片内外统一编址的64K的程序存储器地址空间(MOVC) 2、256B的片内数据存储器的地址空间(MOV) 3、以及64K片外数据存储器的地址空间(MOVX) 在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。 程序内存ROM 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址内部ROM;EA = 0,寻址外部ROM 地址长度:16位 作用:存放程序及程序运行时所需的常数。 七个具有特殊含义的单元是: 0000H ——系统复位,PC指向此处; 0003H ——外部中断0入口 000BH —— T0溢出中断入口 0013H ——外中断1入口 001BH —— T1溢出中断入口 0023H ——串口中断入口 002BH —— T2溢出中断入口 内部数据存储器RAM 物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。 作用:作数据缓冲器用。 下图是8051单片机存储器的空间结构图

程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。 8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意: 其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从

8051 单片机的结构和原理

8051 单片机的结构和原理 2.1 51 系列单片机的结构 51 单片机最初是由Intel 公司开发设计的,但后来Intel 公司把51 核的设计方案卖给了几家大的电子设计生产商,譬如SST、Philip、Atmel 等大公司。如是市面上出现了各式各样的但均以51 为内核的单片机,倒是Intel 公司自己的单片机却显得逊色了。这些各大电子生产商推出的单片机都兼容51 指令、并在51 的基础上扩展一些功能而内部结构是与51 一致的,在前一章我们已经提到51 单片机在今后很长一段时间内仍是主流,所以我们的教材将还是以51 核为例给大家进行详细的介绍。 2.1.1 51 系列单片机的结构框图 我们假设读者是已经学完了计算机的组成原理,所以下面出现的有关计算机的专有名词 就不做详细介绍了。 我们知道我们PC 机的CPU 是基于冯诺伊曼的体系结构,然而MCU(单片机)、Dsp(数字信号处理器)都是基于哈佛结构的体系结构。哈佛结构与冯诺伊曼结构有很大的不同,在冯诺伊曼体系结构下只有一个地址空间,ROM 和RAM 可以随意安排在这一地址范围内的不同空间,即ROM 和RAM 地址统一分配。CPU 访问存储器时,一个地址对应唯一的存储单元,可能是ROM,也可能是RAM。而哈佛结构下ROM 和RAM 是分开编址,即程序和数据分开保存,访问时用不同的指令加以区分,并可同时访问,在这样的体系结构下有利于提高指令的执行速度。在后面的章节我们将详细介绍单片机的存储器配置。 图2-1 所示为MCS-51 系列单片机的基本结构框图。 从结构框图我们可以看出在这一小块芯片上,集成了一个微型计算机的各个组成部分。这些部分包括:

AT89C51单片机的基本结构

A T89C51单片机的主要工作特性: ·内含4KB 的FLASH 存储器,擦写次数1000次; ·内含28字节的RAM ; ·具有32根可编程I/O 线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V 且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能: 1. 中央处理器 1.单片机的中央处理器(CPU )是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。 振荡器和时钟电路 数据存储器 128字节 程序存储器 14KB CPU 两个16位定时器 计数器 中断 控制 总线扩展控制器 并行可编程 I/O 口 可编程 串行口 内部总线 外部中断 扩展控制 P0 P1 P2 P3 RXD TXD B 寄存AC 暂存器2 暂存器1 片内ROM 地址寄存器 PC 增量器 程序计数器 指令指令定时PSEN ALE

(1)运算器 运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。 ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。 暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。 累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。 (2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理: 1.引脚排列及功能 AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。 (1)I/O口线 ·P0口 8位、漏极开路的双向I/O口。 当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。 ·P1口 8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。 ·P2 8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。 ·P3 8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。 (2)控制信号线

单片机io口工作原理及结构框图

单片机IO口工作原理及结构框图 8051单片机I/O引脚工作原理 一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。 下面,我们先就组成P0口的每个单元部份跟大家介绍一下: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数

据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。 D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP 没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0 口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。那么这个多路选

单片机内部结构详解

单片机内部结构详解 MCS-51单片机结构 MCS-51系列单片机产品有8051,8031,8751,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片)。它们的结构基本相同,其主要差别反映在存储器的配置上。8051内部设有4K字节的掩模ROM程序存储器,8031片内没有程序存储器,而8751是将8051片内的ROM换成EPROM。由ATMEL公司生产的89C51将EPROM改成了4K的闪速存储器,他们的结构大同小异,本章将对8051单片机的结构作一介绍。 MCS-51单片机组成 MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。MCS-51单片机内包含下列几个部件: ◆ 一个8位CPU; ◆ 一个片内振荡器及时钟电路; ◆ 4K字节ROM程序存储器; ◆ 128字节RAM数据存储器; ◆ 两个16位定时器/计数器; ◆ 可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路; ◆ 32条可编程的I/O线(四个8位并行I/O端口); ◆ 一个可编程全双工串行口; ◆ 具有五个中断源、两个优先级嵌套中断结构。

8051单片机框图如图所示。各功能部件由内部总线联接在一起。图中4K(4096)字节的ROM存储器部分用EPROM替换就成为8751;图中去掉ROM部分就成为8031的结构图。 CPU CPU是单片机的核心部件。它由运算器和控制器等部件组成。 1. 运算器 运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。例如能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息送至状态寄存器。 8051运算器还包含有一个布尔处理器,用来处理位操作。它是以进位标志位C为累加器的, 可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其 他可寻址的位之间进行数据传送等位操作。也能使进位标志位与其他可位寻址的位之间进行逻 辑与、或操作。 2. 程序计数器PC 程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。 ?指令寄存器 指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令 寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。 ?定时与控制部件 ①时钟电路 8051片内设有一个由反向放大器所构成的振荡电路,X TAL1和 X TAL2分别为振荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图2-2所示。 在X TAL1和 X TAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用 石英晶体和电容组成的并联谐振回路。晶振可以在1.2MH z到12MH z之间选择,电容值在5-30P F之间选择,电容的大小可起频率微调作用。

8051存储结构

8051存储结构: 1.CODE区 用来存放可执行代码。被16位寻址,空间可达64K。代码是只读的。还可以存储查寻表。通过数据指针DPTR或者程序计数器加上累加器提供的偏移量进行寻址。把表头地址装入DPTR,把表中要寻址的元素的偏移量装入累加器中,就可以寻址表中元素。 2.DATA区 第二个是8051内128字节内部RAM,或者8052的钱128字节内部RAM。这部分主要作为数据段。访问DATA区用直接寻址方式,访问XDATA区用间接寻址。通常把使用频繁的变量或者局部变量存储在DATA区,空间有限,需节省使用。 在数据段中也可以通过R0和R1采用间接寻址,R0、R1被作为数据区的指针,将要恢复或者改变字节的地址放入R0或R1中。 数据段中有两个小段,第一个子段包含四个寄存器组,每组包含8个寄存器,可子啊任何时刻通过修改PWS寄存器的RS0和RS1位来选择四组寄存器的任一组作为工作寄存器组,8051也可以默认任意一组喂工作寄存器组。工作寄存器组的快速切换不仅使参数传递更加方便,而且可以进行快速任务转换。 另一个子段叫做位寻址段(BDATA)包括16个字节,共128位,每一位都可以单独寻址。也可以进行字节寻址。 3.IDATA区。8051系列的一些单片机如8052有附加的128字节内部RAM,位于从80H开始的地址空间中,被称为IDATA。因为IDATA区的地址和SFRs 的地址是重叠的,通过区分所访问的存储区来解决地址重叠问题,因为IDATA

只能通过间接寻址来访问。 4.4.XDATA区。8051的最后一个存储空间为64K,和CODE区一样采用16位地址寻址,称作外部数据区,简称XDATA区。这个区通常包括一些RAM或者一些需要通过总线接口的外围器件。对XDATA的读写操作使用DPTR,R0或者DPTR,R1。处理XDATA中的数据至少要三个指令周期,因此使用频繁的数据应尽量保存在DATA区。 位操作和布尔逻辑 8051可分别对BDATA和SFRs中的128个可寻址位,32个I/O口进行位逻辑操作。 MOV C 22H 把位地址22H 中的数移入进位位中 ORL C 23H 把位地址23H 中的数和进位位中的数相或 MOV 24H C 把进位位中的数移入位地址24H 中 寻址方式 8051可对存储区直接或者间接寻址。直接寻址是指在指令中直接包含所需寻址的字节地址。直接寻址只能在DATA区和SFR中进行。 间接寻址要使用DPTR,PC,R0,R1寄存器,用来寻访所要访问的数据地址。间接寻址方式可以访问CODE,IDATA,XDATA存储区,对DATA也可以间接寻址,只能用直接寻址方式对位地址进行寻址。 DATA 和IDATA区寻址 MOV R1 #22H 设置R1 为指向DATA 区内的地址22H 的指针MOV R0 #0A9H 设置R0 为指向IDATA 区内的地址0A9H的指针MOV A @R1 读入地址22H 的数据

相关主题