我的课件第二章单片机芯片的硬件结构_第1页
我的课件第二章单片机芯片的硬件结构_第2页
我的课件第二章单片机芯片的硬件结构_第3页
我的课件第二章单片机芯片的硬件结构_第4页
我的课件第二章单片机芯片的硬件结构_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

本章内容单片机的逻辑结构及信号引脚单片机并行输入/输出口电路单片机的时钟电路与时序单片机的内部存储器单片机的系统复位第二章80C51单片机的硬件结构单片机的概述单片机低功耗工件模式一、单片机的概述单片机是近代计算机技术发展的一个分支——嵌入式计算机系统。它是将计算机的主要部件:CPU、RAM、ROM、定时器/计数器、输入/输出接口电路等集成在一块大规模的集成电路中,形成芯片级的微型计算机称为单片微型计算机(SingleChipMicrocomputer)简称单片机。随着单片机控制功能的增强和控制应用的普及,又把它称为微控制器MCU(MicroControllerUnit)或单片微控制器SMCU(Single

MicroControllerUnit)。嵌入式微处理器(EMP)由于32位单片机的元器件数增多,故在32位单片机中只把运算器控制器单独集成在一个芯片上,而把其余部分集成在另处的芯片上,所以有嵌入式微处理器EMP(EmbeddedMicroProcessor

)的称呼。(一)、单片机的概念(二)、单片机的发展单片机技术发展过程可分为三个主要阶段:

◆单芯片微机形成阶段

1976年,Intel公司推出了MCS-48系列单片机。8位CPU、1K字节ROM、64字节RAM、27根I/O线和1个8位定时/计数器。特点是:存储器容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。◆性能完善提高阶段

1980年,Intel公司推出了MCS-51系列单片机:8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种。

(1)、单片机的发展概述

◆微控制器化阶段

1982年,Intel推出MCS-96系列单片机。芯片内集成:16位CPU、8K字节ROM、232字节RAM、5个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K。片上还有8路10位ADC、1路PWM输出及高速I/O部件等。特点是:片内面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控系统及设备。“微控制器”的称谓更能反应单片机的本质。

80C51系列单片机产品繁多,主流地位已经形成,近年来推出的与80C51兼容的主要产品有:

﹡ATMEL公司融入Flash存储器技术的AT89系列;

﹡Philips公司的80C51、80C552系列;

﹡华邦公司的W78C51、W77C51高速低价系列;

﹡ADI公司的ADμC8xx高精度ADC系列;

﹡LG公司的GMS90/97低压高速系列;

﹡Maxim公司的DS89C420高速(50MIPS)系列;

﹡Cygnal公司的C8051F系列高速SOC单片机。(2)、80C51单片机系列(三)、单片机的特点及应用1.单片机的特点体积小,重量轻电源单一,功耗低功能强,价格低运行速度快,抗干扰能力强,可靠性高可以嵌入到电子产品中——嵌入式应用系统2.单片机应用工业方面民用方面仪表方面电讯方面数据处理方面汽车方面3、单片机的应用领域1).自动控制

单片机已在工业过程控制、机床控制、机器人控制、汽车控制以及飞行器制导系统等方面得到广泛的应用。

2).智能仪器仪表由于单片机具有超微型化的特点,并且有无可比拟的高性能价格比,从而为仪器仪表的智能化提供了可能。3).数据采集系统

由于单片机可提供多路A/D输入通道,因此很适用于模拟量(温度、压力及流量等)输入采样系统。4).计算机外设控制器

智能化键盘、智能化显示器、智能化打印机、智能化软盘和硬盘驱动器、智能化磁带驱动器及智能化绘图仪等,均可用单片机作为控制器。5).家用电器电饭锅、电子游戏机、电视机、录音机、组合音响、录像机、洗衣机、电冰箱以及电子玩具等,都使用单片机进行控制。总之,单片机由于体积小、价格低、性能优越、可靠性高,已广泛地渗透到社会、生产、服务等领域,其应用前景是无限光明的;所以,工程技术人员有必要很好地掌握单片机原理及系统设计技术。输入设备运算器输出设备存贮器控制器运算器+控制器输入设备输出设备存储器二、单片机逻辑结构及信号引脚时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器单片机的结构框图中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源(外部中断2个,定时/计数中断2个,串行中断1个)时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ1、80C51单片机芯片内部逻辑结构1、中央处理器CPU:8位,包括运算器和控制器两部分电路,有运算和控制功能。(1)运算器:是单片机的运算部件,以ALU为核心运算,运算和操作结果的状态由PSW保存。包括:算术逻辑单元ALU、累加器ACC、寄存器B、程序状态字寄存器PSW及两个暂存寄存器。(2)控制器:是单片机的指挥控制部件,它接受来自存储器的指令,进行译码,并通过定时和控制电路,在规定时刻发出指令所需的控制信息和CUP外部所需的各种控制信号,保证单片机各部分能自动而协调地工作。控制器包括:程序计数器PC、PC加1寄存器、指令寄存器IR、指令译码器、定时与控制电路等。2、内部数据存储器:包括RAM(128*8)和RAM地址寄存器等。共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。简称为内部RAM。3、内部程序存储器:包括ROM(4K*8)和程序地址寄存器。4KB掩膜ROM,用于存放程序、原始数据和表格。称为内部ROM。存储器具有记忆功能,用来存放数据和程序。计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。存储器的容量常以字节为单位表示如下:

1Byte=8bit

1024B=1KB1024KB=1MB

1024MB=1GB1024GB=1TB4、定时/计数器:两个16位的定时/计数器,实现定时或计数功能。5、并行I/O口:4个8位的双向I/O口P0、P1、P2、P3。实现数据的并行输入、输出。6、串行口:一个全双工串行口。实现单片机和其它数据设备之间的串行数据传送。7、中断控制系统:5个中断源(外中断2个,定时/计数中断2个,串行中断1个)。8、时钟电路:它的晶振和微调电容需要外接,可产生时钟脉冲序列,常用的晶振频率为6MHZ和12MHZ。9、位处理器:又为布尔处理器,以状态寄存器中的进位标志位C为累加位,可进行置位、复位、取反、等于0转换、等于1转换且清0以及C与可寻址位之间的传送、逻辑与、逻辑或等位操作。10、总线:上述的部件都是通过总线连接起来的。总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。

80C51的内部总线由数据总线、地址总线和控制总线。

2、80C51单片机信号引脚

1.主电源引脚Vss和VccVss(20脚):接地。Vcc(40脚):芯片电源+5V。VPD功能:在Vcc掉电情况下,该引脚可接上备用电源,由VPD向片内RAM供电,确保片内RAM中的数据不丢失。

2.时钟电路引脚XTALl和XTAL2()

XTALl(19脚):接外部晶体的一端。在片内它是振荡电路反向放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。

XTAL2(18脚):接外部晶体的另一端。在片内它是一个振荡电路反向放大电路的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。3.控制信号引脚RST、ALE/PROG、PSEN、EA/VppRST(9脚):单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入两个机器周期(24个振荡周期)以上的高电平将使单片机进行复位(RESET)操作,复位时PC=0000H。ALE(AddressLatchEnable)地址锁存控制信号:

1、当访问外部存储器时,ALE用于把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。

2、即使不访问外部存储器,ALE端仍以振荡频率的1/6周期性地输出正脉冲信号,这可作为外部时钟或外部定时信号。

PROG:对片内EPROM编程写入时的编程脉冲输入端。PSEN(ProgramStoreEnable)外部程序存储器读选通信号:80C51读外ROM时,每个机器周期内PSEN二次有效输出。它可作为外ROM芯片输出允许OE的选通信号。在读内ROM或读外RAM时,PSEN无效。EA(EnableAddress)内部、外部程序存储器访问控制1、当EA端输入高电平时,CPU从片内ROM开始执行程序,当PC值超过4K(0FFFH)时,将自动转向执行外ROM中的程序。2、当EA端输入低电平时,则只访问外ROM,不管芯片内有无内ROM。但对于8031芯片,片内无ROM,所以EA必须接低电平(接地)。Vpp功能:片内有EPROM的芯片,在EPROM编程期间,此引脚用于施加编程电源。P3.0:RXD(串行口数据接收);P3.1:TXD(串行口数据发送);P3.2:外部中断0申请;P3.3:外部中断1申请;P3.4:T0(定时器/计数器0计数输入);P3.5:T1(定时器/计数器1计数输入);P3.6:(外部RAM“写”选通控制输出);P3.7:(外部RAM“读”选通控制输出)。一个引脚有多种功能,在使用时不会引起混乱产生错误,因为第一功能与第二功能信号是不同工作方式下的信号,故不会发生使用上的矛盾。信号引脚第二功能使用:

1)P3口的第二功能:当CPU不对P3口进行字节或位寻址时,内部硬件自动将口锁存器的Q端置1。这时,P3口作为第二功能使用。1

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15EPROM27641

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

31302928272625242422211

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM62641

2

3

4

5

6

7

8

9

10

11

12

13

1428

27

26

25

24

23

22

2120

19

18

17

16

15RAM6264

二.

单片机的存

器8031875180C5189C51片内RAM片内ROM256B(字节)4K64K64K0000HFFFFH(64K)内部外部(1)数据存储器数据存储器00HFFH7FH80H(高128B)(低128B)RAM专用

寄存器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区位寻址区(00H-7FH)20H2FH7F78070030H7FH数据缓冲区/堆栈区(用户RAM区)内部RAM存储器

11第3区18H~1FH

01第1区08H~0FHRS1RS0通用寄存器区片内RAM地址

00第0区00H~07H10第2区10H~17H工作寄存器区选择位RS0、RS1PSW位地址CY

ACF0RS1RS0OV/P

80C51单片机内部共有256个数据存储器单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。其中低128单元是单片机中供用户使用的数据存储器单元,即我们称为内部RAM的存储器,按用途可分为3个区域:(1)寄存器区:地址00H~1FH的前32个单元称为寄存器区。用途:①作通用寄存器R0~R7,每组8个共4组。

它们的功能与使用不作预先规定,称为通用寄存器或工作寄存器。4组通用寄存器占据内部RAM的00H~1FH单元地址。(一)内部数据存储器低128单元区使用时应注意:32个单元的寄存器区分为四组,使用时只能选其中一组寄存器。寄存器的选组由程序状态字PSW的RS1和RS0位定。

RS1RS0选寄存器组

000组

011组

102组

113组初始化时或复位时,自动选中0组。一旦选中一组,其它三组只能作为数据存储器使用,而不能作为寄存器使用。(2)20H~2FH为位寻址区共16个单元,每单元有八个位,每位有一个位地址,共128位,位地址范围为00H~7FH,该区既可位寻址,又可字节寻址。如MOV20H,C(这里C是Cy进位标志位),该指令是将Cy内容送20H位,如果Cy=1,位20H值为“1”。除选中的寄存器以外的存储器均可以作为通用RAM区。MSB——MostSignificantBit(最高有效位)

LSB——LeastSignificantBit(最低有效位)单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07

MSB

位地址

LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位寻址区位地址表(3)用户RAM区在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩余80个单元,是供用户使用的一般RAM区,其单元地址为30H-7FH。此区只能以存储单元的形式来使用,一般把堆栈开辟在此区中。注:对80C51单片机只有00H-7FH单元128字节的RAM区。(二)内部数据存储器高128单元区☆有21个专用寄存器SFR(SpecialFunctionRegister)。☆

11个可以进行位寻址。☆特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。⑴累加器A(Accumulator)是最常用的累加器;功能:1、用于存放操作数,是ALU数据的一个来源。大多数单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器;2、是ALU运算结果的暂存单元,用于存放运算中间结果;3、是数据传送的中转站,单片机中的大部分数据传送都通过累加器进行。4、在变址方式中把累加器作为变址寄存器使用。1、专用寄存器简介⑵B寄存器1、是8位的寄存器,主要用于乘法、除法指令,用B寄存器作为其中的一个操作数,即作为一般数据寄存器使用;2、进行乘法运算时,B、A分别存放乘数和被乘数,运算的结果仍旧存放在A、B中,B存放结果的高八位,A存放结果的低八位;3、进行除法运算时,A中存放被除数,B中存放除数,运算后的结果的商存放在A中,余数存放在B中。⑶程序状态字PSW(ProgramStatusWord)程序状态字PSW包含了程序的运行状态信息。PSW寄存器各位功能、标志符号、位地址功能标志位地址进位标志CYPSW.7辅助进位标志ACPSW.6溢出标志OVPSW.2奇偶标志PPSW.0用户标志F0PSW.5用户标志F1PSW.1寄存器区选择MsbRS1PSW.4寄存器区选择LsbRS0PSW.3PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CYACF0RS1RS0OV

F1P位地址位标志CY(PSW.7)(Carry):进位/借位标志。在进行加法运算时,若最高位有进位,CY=1,否则CY=0。在进行减法运算时,若被减数小于减数,CY=1,否则CY=0。在布尔处理机中,CY被用作位累加器使用。AC(PSW.6)(AuxiliaryCarry):辅助进位/借位标志。当低半字节向高半字节有进/借位时,AC=1,否则AC=0。该标志主要用于十进制调整。F0(PSW.5)(Flag0):用户标志位,由用户定义,可由软件置位或清除,以对程序的运行起指导作用。例如,用它来控制程序的转向。F0有三种表示方法:1)位地址:D5H,2)位编号:PSW.5,3)位定义名:F0。RS1、RS0(PSW.4,PSW.3):寄存器组选择控制位当(RS1,RS0)=00时,选择寄存器组0区,R0对应地址为00H,…,R7对应地址为07H;当(RS1,RS0)=01时,选择1组,R0~R7对应08H~0FH;当(RS1,RS0)=10时,选择2组,R0~R7对应10H~17H;当(RS1,RS0)=11时,选择3组,R0~R7对应18H~1FH。OV(PSW.2)(Overflow):溢出标志,由硬件置位或清除。执行带符号加、减法指令时,如果运算结果超出累加器所能表示的范围(-128至+127)时,则发生溢出,此时OV=1,否则OV=0,结果只需从A取。具体判断方法:当两数相加或相减时,如果位7(D7)和位(D6)同时发生或不发生进位(或借位),或者则OV=0,否则OV=1,说明运算结果产生溢出(即大于+127或小于-128)。当进行乘法运算时,如果乘积超出累加器A所能表示的范围(0-255),则发生溢出,乘积的高字节必须放置在寄存器B中,此时OV=1,否则OV=0。当执行除法指令时,若除数为0,OV=1,否则OV=0。P(PSW.0)(Parity):奇偶标志,若A中值为1的个数为奇数,P=1,否则P=0。(4)数据指针DPTR(DataPointer)

指明访问的数据存储器的单元地址,可寻址范围为64KB,数据指针为16位,由DPH(数据指针高位字节)、DPL(数据指针低位字节)组成。在某些情况下,DPH、DPL也可单独使用。此外,在变址寻址方式中,用数据指针作基址寄存器,用于对程序存储器的访问。2、专用寄存器的单元寻址80C51中专用寄存器的名称、符号及地址见表2.4(P28)。21个专用寄存器的字节寻址问题作如下说明:1)、21个可寻址的专用寄存器不连续地分散在内部高128单元中,尽管还剩余许多空闲单元,但用户并不能使用,如果访问了这些没有定义的单元,读出为不定数,而写入的数被舍弃。2)、对专用寄存器只能使用直接寻址方式,在指令中即可使用寄存器符号表示,也可使用寄存器地址表示。如:指令MOVA,P0和指令MOVA,80H是等同指令,因为80H就是P0口的地址。3)、在P3-P0口中,作为专用寄存器的是它们的锁存器,由各位口线的锁存组成。3、专用寄存器的位寻址在21个专用寄存器中,有11个寄存器是可以位寻址的,即表2.4中带“*”的寄存器。80C51专用寄存器中可寻址位共有83个,其中许多还有其专用名称,寻址时即可使用位地址,也可使用位名称。各寄存器的位地址与位名称列于表2.4。(4)、程序计数器PC(ProgramCounter)程序计数器是16位地址寄存器,系统开机初始化时,PC=0000H,CPU便从这一固定的入口地址开始执行程序,可寻址范围为64KB。用于存放和指示下一条要执行指令的起始地址,因此也称为地址指针。

PC实际上是一个地址指示器,改变PC中的内容就可以改变指令执行的次序,即改变程序执行的路线。所以,PC是维持单片机有秩序地执行程序的关键性寄存器。⑶执行调用子程序或发生中断时,CPU会自动将当前

PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令。五、程序计数器PC※

PC不属于特殊功能寄存器,不可访问,在物理结构上是独立的。※PC的基本工作方式有:⑴自动加1。CPU从ROM中每读一个字节,自动执行

PC+1→PC;⑵执行转移指令时,PC会根据该指令要求修改下一次读ROM新的地址;三、堆栈操作1、堆栈是一种数据结构,它是在内部的用户RAM中开辟的。2、堆栈:就是只允许在其一端进行数据插入和数据删除操作的线性表。3、对堆栈的操作包括压入(PUSH)和弹出(POP)两种方式,它总是指向栈顶。数据写入堆栈称为插入运算,通常叫入栈。数据从堆栈中读出称为删除运算,通常叫出栈。4、堆栈操作遵循“后进先出”的原则:入栈操作时,SP先加1,数据再压入SP指向的单元。

PUSHdirect;sp←sp+1,(sp)←(direct)

出栈操作时,先将SP指向的单元的数据弹出,然后,SP再减1,这时SP指向的单元是新的栈顶。POPdirect;(direct)←(sp),sp←sp-1

可见,80C51单片机的堆栈区是向地址增大的方向生成的。如:PUSHACC;A中的数据进栈

PUSHPSW;PSW中数据进栈

…;执行服务程序

POPPSW;恢复PSW内容

POPACC;恢复A中内容该程序执行后,A和PSW寄存器中的内容可以得到正确的恢复。5、堆栈的功用:主要是为子程序调用和中断操作而设置的。具体功能有两个:保护断点和保护现场。因为在计算机中无论是执行子程序调用操作还是执行中断操作,最终都要返回主程序。6、堆栈指针:SP就是堆栈栈顶的存储单元地址。当系统复位后,SP的内容为07H,但堆栈最好在30H-7FH单元(用户RAM区)中开辟,以免占用经常使用的宝贵的寄存器区和位寻址区,所以要注意把SP值初始化为30H。由于SP可初始化为不同值,因此堆栈位置是浮动的。7、堆栈类型:有两种,向上生长型和向下生长型。向上生长型:栈底在低地址单元。随着数据进栈,地址递增,SP的内容越来越大,指针上移;向下生长型:栈底设在高地址单元。随着数据进栈,地址递减,SP内容越来越小,指针下移。8、堆栈使用方式:一种是自然方式,即在调用子程序或中断时,返回地址(断点)自动进栈。程序返回时,断点再自动弹回PC,无需用户干预。另一种是指令方式,使用专用的堆栈操作指令,进行进出栈操作。其进栈指令为PUSH,出栈指令为POP。如现场保护就是指令方式的进栈操作,而现场恢复则是指令方式的出栈操作。(四)程序存储器程序存储器内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序执行的起始单元,

在这三个单元存放一条

无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0中断地址区定时器/计数器0中断地址区外部中断1中断地址区定时器/计数器1中断地址区串行口中断地址区8位...0FFFH0FFEHEA=1

EA=0程序存储器资源分布中断入口地址程序存储器用于存放编好的程序和表格常数。80C51片内有4KBROM,片外16位地址线最多可扩展64KBROM,两者是统一编址的。如果端保持高电平,80C51的程序计数器PC在0000H~0FFFH范围内(即前4KB地址)是执行片内ROM的程序。当寻址范围在1000H~FFFFH时,则从片外存储器取指令。当端保持低电平时,80C51的所有取指令操作均在片外程序存储器中进行,这时片外存储器可以从0000H开始编址。(3)单片机存储器结构特点一是把数据存储器和程序存储器截然分开,二是存储器有内外之分。片内存储器的特点是使用方便,对于简单的应用系统,有时只使用片内存储器就够了,但容量受限制,所以在芯片之外另行扩展存储器,为了与芯片内固有的存储器区别,通常把扩展的存储器称为外部存储器。ALE(AddressLatchEnable)信号用于外部存储器的地址锁存控制。PSEN信号用于外部程序存储器的读选通。EA信号用于内外程序存储器的访问控制。2.4、80C51单片机的并行I/O口P0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.0

P3.1

P3.2P3.3P3.4P3.5P3.6P3.71

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180C51特点:

P0:访问片外扩展存储器时,

复用为低8位地址线和数据线

P2:高8位地址线。P1:双向I/O端口

P3:第二功能(一)、P0口的逻辑结构

P0口的字节地址为80H,位地址为80H-87H。口的各位口线具有完全相同又相互独立的电路,P0口大多数是作为单片机系统的地址/数据线使用。1.地址/数据分时复用功能

P0口作为地址/数据分时复用口时,可分为两种情况:一种是从P0口输出地址或数据,另一种是从P0口输入数据。

1、在访问片外存储器需从P0口输出地址或数据信号时,控制信号线应为高电平1,使转换开关MUX把反相器的输出端与T2接通,同时把与门打开。

1)当地址或数据信号为“1”时,经反相器反相使T2截止,而经“与”门使T1导通,P0.x引脚上出现相应的高电平“1”;

2)当地址或数据信号为“0”时,经反相器使T2导通而T1截止,引脚上出现相应的低电平“0”。这样就将地址/数据的信号输出。

2、当从P0口输入数据时,执行一条取指操作或输入数据的指令,读引脚读取端口引脚上的外部信息,并打开三态门,引脚上的数据经缓冲器送至内部总线。P0口作为地址/数据总线使用时是一个真正的双向口。2、P0用作通用I/O口

当系统不进行片外ROM扩展和片外RAM扩展时,P0用作通用I/O口。在这种情况下,单片机硬件自动使控制信号为“0”,MUX开关接向锁存器的反相输出端。

CPU向端口输出数据时,因与门的输出为“0”,使T1截止。当写脉冲加在锁存器时钟端CL上时,CPU执行端口的输出指令,内部数据总线上的数据在“写锁存器”信号的作用下由D端进入锁存器,经锁存器的反向端送至场效应管T2,再经T2反向,在P0.X引脚出现的数据正好是内部总线的数据。如:“MOVP0,A”或“

MOVP0.1,C”.

当要从P0口输入数据时,必须先向该端口锁存器写入“Q=1”,使T2截止;CPU执行端口执行输入指令后,“读引脚”信号经输入缓冲器进入内部数据总线。(二)、P1口逻辑结构

P1口的字节地址为90H,位地址为90H-97H,只能作通用I/O口使用。

P1口由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成。它在结构上与P0口的区别在于输出驱动部分,其输出部分由场效应管T与内部上拉电阻组成。

从功能上来看,80C51的P1口只有一种功能,即通用数据输入输出I/O接口使用,每一位口线能独立地用作输入或输出线。

当作为数据输出线时,若将“1”写入口锁存器,Q端将使T截止,输出线由内部上拉电阻拉成高电平,输出为“1”。若将“0”写入口锁存器,Q端使T导通,经T反相,输出“0”。

当作为数据输入线时,必须先将“1”写入锁存器,使T截止,该口线由内部上拉电阻拉成高电平,作高阻输入。若输入的是1,则引脚维持高电平;若输入的是0,则引脚被下拉为低电平。引脚状态送到输入缓冲器,当接到来自CPU的读命令后,三态门打开,引脚状态传送到内部数据总线上。

(三)、

P2口逻辑结构1、P2用作通用I/O口,其字节地址为0A0H,位地址为0A0H-0A7H。

当不在单片机芯片外部扩展ROM,只扩展256B的片外RAM时,仅用到了地址线的低8位,P2口仍可以作为通用I/O口使用。作为通用I/O口使用:执行输出指令时,内部数据总线的数据在“写锁存器”信号的作用下由D端进入锁存器,经反相器后送至场效应管T,再经T反相,在P2.X引脚出现的数据正好是内部总线的数据。

P2口用作输入时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是“读锁存器”指令还是“读引脚”指令来决定。但须先使Q=1,其功能和使用方法与P0、P1口相同。

2、P2口用作地址总线当需要在单片机芯片外部扩展ROM或扩展的RAM容量超过256B字节时,单片机内硬件自动使控制C=1,MUX开关接向地址线,地址信号经反相器和场效应管二次反相后从引脚输出,这时P2.X引脚的状态正好与地址线的信息相同,P2口输出地址总线高8位(A8-A15),供系统并行扩展用。

对于80C51单片机而言,P2口能作为I/O口或地址总线用。P2口在作为通用I/O口时,属于准双向口。这时多路转接开关倒向锁存器Q端.(四)、P3口逻辑结构

P3口的字节地址为0B0H,位地址为0B0H-0B7H。1、P3用作第一功能(通用I/O口)

对P3口进行字节或位寻址时,单片机内部的硬件自动将第二输出功能线的W置1。这时,对应的口线为通用I/O口方式。输出时,锁存器的状态为低电平,“与非门”打开,T通路,P3口即为数据输出口。

输入时,要先向口锁存器写入1,使引脚处于高阻输入状态。输入的数据在“读引脚”信号的作用下,引脚上的外部信号通过三态缓冲器送入内部总线。

P3口作为通用I/O口时,属于准双向口。

用作第二功能:当P3口的某一位作为第二功能输出使用时,CPU将该位的锁存器置1,使“与非门”和输出状态只受“第二功能输出”端控制。第二功能输出信号经“与非门”和场效应管二次反相输出到该位引脚上。当P3口的某一位作为第二功能输入使用时,该位的“第二功能输出”端和锁存器自行置1,场效应管截止,该位引脚上信号经缓冲器送入“第二功能输入”端。P3.0:RXD(串行口输入);P3.1:TXD(串行口输出);P3.2:外部中断0输入;P3.3:外部中断1输入;P3.4:T0(定时器0的外部输入);P3.5:T1(定时器1的外部输出);P3.6:(片外数据存储器“写”选通控制输出);P3.7:(片外数据存储器“读”选通控制输出)。2、P3用作第二功能使用当CPU不对P3口进行字节或位寻址时,内部硬件自动将口锁存器的Q端置1。这时,P3口作为第二功能使用。80C51口电路小结:1、这四个口都是并行I/O口,都可用于数据的输入/输出传送,但P0口和P2口除了可进行数据的输入/输出外,通常是用来构建系统的数据总线和地址总线,所以在口电路逻辑中有一个多路转接开关MUX,以便进行两种用途的转换。而P1和P3口没有构建数据和地址总线的功能,因此在电路中没有MUX。2、在4个口中只有P0一个口是真正的双向口,而其余的3个口都准双向口。3、P3口的口线具有第二功能,为系统提供一些控制信号。四、时钟电路与时序

(一)、时钟电路:单片机时钟电路由振荡电路和分频电路组成。

振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲;

分频电路则用于把振荡脉冲分频,以得到单片机工作所需要的时钟信号。1XTAL1XTAL2C1C2晶振80c51至内部时钟电路内部振荡方式:在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)如图1所示。XTAL1XTAL2GND80C51C01C02图1内部振荡方式单片机的时钟信号用来提供单片机内各种微操作时间基准,80C51单片机的时钟信号通常有两种电路形式:内部振荡方式和外部振荡方式。★电容器C01、C02起稳定振荡频率、快速起振的作用。电容值一般为5~30PF。由于单片机内部有一个高增益运算放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。8XX51

外部振荡方式是把已有的时钟信号引入单片机。这种方式适宜用于使单片机的时钟与外部信号保持一致。外部振荡方式如图2所示。

对HMOS的单片机(8031、8031AH等)外部时钟信号由XTAL2引入,对于CHMOS的单片机(8XCXX),外部时钟由XTAL1引入。外部时钟XTAL1XTAL2GND80c51悬空外部时钟XTAL1XTAL2GND悬空CHMOSHMOS图2外部振荡方式8031

CHMOS(互补金属氧化物HMOS)是CMOS和HMOS(高密度沟道MOS工艺)的结合,除了保持HMOS高速度和高密度之外,还有CMOS低功耗的特点。两类器件的功能是完全兼容的,区别在CHMOS器件具有低功耗的特点。它所消耗的电流比HMOS器件少很多,原因是其采用了两种降低功耗的方式:空闲方式和掉电方式。

CHMOS器件在掉电方式(CPU停止工作,片内RAM的数据继续保持)下时,消耗的电流可低于10μA。采用CHMOS的器件在编号中用一个C来加以区别,如:80C51,80C31,89C51等。CMOS

(ComplementaryMetalOxideSemiconductor)指互补金属氧化物(共同构成的互补型MOS集成电路制造工艺。

CMOS指保存计算机基本启动信息(如日期、时间启动设置等)的芯片。

节拍与状态:把振荡脉冲的周期定义为节拍(用P表示)。振荡频率经单片机内的二分频器分频后就是单片机的时钟信号,把时钟信号的周期定义为状态(用S表示)。因此,一个状态包含2个节拍(前半周期对应的节拍P1和后半周期对应的节拍P2)。机器周期(MC):1个机器周期由6个状态周期(S1-S6)及12个振荡周期(S1P1、S1P2、…、S6P1、S6P2)组成。是计算机执行一种基本操作的时间单位。因此机器周期就是振荡脉冲的十二分频。指令周期:是最大的时序定时单位,执行一条指令所需要的时间称之为指令周期。指令周期以机器周期的数目来表示。根据指令的不同,可包含有1,2或4个机器周期。(二)、时序定时单位时序之间关系:1、振荡脉冲周期(拍节:P):P=T

温馨提示

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

评论

0/150

提交评论