最新单片微型计算机原理与接口技术第二版第2章80C51单片微机的基本结构06112lppt课件

上传人:鲁** 文档编号:588087259 上传时间:2024-09-07 格式:PPT 页数:151 大小:2.09MB
返回 下载 相关 举报
最新单片微型计算机原理与接口技术第二版第2章80C51单片微机的基本结构06112lppt课件_第1页
第1页 / 共151页
最新单片微型计算机原理与接口技术第二版第2章80C51单片微机的基本结构06112lppt课件_第2页
第2页 / 共151页
最新单片微型计算机原理与接口技术第二版第2章80C51单片微机的基本结构06112lppt课件_第3页
第3页 / 共151页
最新单片微型计算机原理与接口技术第二版第2章80C51单片微机的基本结构06112lppt课件_第4页
第4页 / 共151页
最新单片微型计算机原理与接口技术第二版第2章80C51单片微机的基本结构06112lppt课件_第5页
第5页 / 共151页
点击查看更多>>
资源描述

《最新单片微型计算机原理与接口技术第二版第2章80C51单片微机的基本结构06112lppt课件》由会员分享,可在线阅读,更多相关《最新单片微型计算机原理与接口技术第二版第2章80C51单片微机的基本结构06112lppt课件(151页珍藏版)》请在金锄头文库上搜索。

1、单片微型计算机原理与接口单片微型计算机原理与接口技术第二版第技术第二版第2 2章章80C5180C51单片单片微机的基本结构微机的基本结构06112l06112l第二章第二章 80C51单片微机单片微机的基本结构的基本结构4.并行并行I/O口口单片微机往往提供了许多功能强、使用灵活的并行输入单片微机往往提供了许多功能强、使用灵活的并行输入/输出引脚,用于检测与控制。输出引脚,用于检测与控制。有些有些I/O引脚还具有多种功能,比如可以作为数据总线的数据引脚还具有多种功能,比如可以作为数据总线的数据线、地址总线的地址线、控制总线的控制线等。线、地址总线的地址线、控制总线的控制线等。单片微机单片微机

2、I/O引脚的驱动能力也逐渐增大,甚至可以直接驱动引脚的驱动能力也逐渐增大,甚至可以直接驱动外扩的外扩的LED显示器。显示器。5.串行串行I/O口口实实现现与与某某些些终终端端设设备备进进行行串串行行通通信信,或或者者和和一一些些特特殊殊功功能能的的器器件件相相连连的的能能力力,甚甚至至用用多多个个单单片片微微机机相相连连构构成成多多机机系系统。统。6.定时器定时器/计数器计数器用于精确的定时,或者需对外部事件进行计数用于精确的定时,或者需对外部事件进行计数80C51有两个有两个16位的定时器位的定时器/计数器,计数器,80C52有三个有三个16位的定时器位的定时器/计数器。计数器。7.中断系统

3、中断系统具有内、外共五个中断源,两个中断优先级。具有内、外共五个中断源,两个中断优先级。8定时电路及元件定时电路及元件计计算算机机的的整整个个工工作作是是在在时时钟钟信信号号的的驱驱动动下下,按按照照严严格格的的时时序有规律地一个节拍一个节拍地执行各种操作。序有规律地一个节拍一个节拍地执行各种操作。单片微机内部设有定时电路,只需外接振荡元件即可工作。单片微机内部设有定时电路,只需外接振荡元件即可工作。外外接接振振荡荡元元件件一一般般选选用用晶晶体体振振荡荡器器,或或用用价价廉廉的的RC振振荡荡器,也可用外部时钟源,作为振荡元件。器,也可用外部时钟源,作为振荡元件。有的单片微机将振荡元件也集成在

4、芯片内部,有的单片微机将振荡元件也集成在芯片内部,80C5180C52的封装及逻辑图如的封装及逻辑图如图图22所示。所示。若若不不需需要要通通过过并并行行总总线线扩扩展展芯芯片片,常常采采用用20引引脚脚甚甚至至 仅仅 14引引 脚脚 的的 单单 片片 微微 机机 , 如如 ATMEL公公 司司 的的89C1051/2051/4051,或或PHILIPS公公司司的的P87LPC764。它它们的封装及引脚见们的封装及引脚见图图23。2.2 80C51单片微机的引脚及其功能单片微机的引脚及其功能按引脚的功能可分为三部分按引脚的功能可分为三部分:1.电源和晶振电源和晶振Vcc运行和程序校验时接电源正

5、端。运行和程序校验时接电源正端。Vss接地。接地。XTAL1输输入入到到单单片片微微机机内内部部振振荡荡器器的的反反相相放放大大器器。当当采采用用外外部部振振荡荡器器时时,对对HMOS单单片片微微机机,此此引引脚脚应应接接地地;对对CHMOS单片微机,此引脚作驱动端。单片微机,此引脚作驱动端。XTAL2反相放大器的输出,输入到内部时钟发生器。反相放大器的输出,输入到内部时钟发生器。当采用外部振荡器时,当采用外部振荡器时,XTAL2接收振荡器信号接收振荡器信号,对,对CHMOS,此引,此引脚应悬浮。脚应悬浮。2.I/OP08位、漏极开路的双向位、漏极开路的双向I/O口。口。当当使使用用片片外外存

6、存储储器器(ROM及及RAM)时时,作作低低8位地址和位地址和8位位数据总线分时复用。数据总线分时复用。P18位、准双向位、准双向I/O口。口。对于对于80C52,P1.0T2,是是定定时时器器2的的计计数数输输入入端端;P1.1T2EX,是定时器,是定时器2的外部输入端。的外部输入端。P28位、准双向位、准双向I/O口。口。当当使使用用片片外外存存储储器器(ROM及及RAM)时时,输输出出高高8位地址。位地址。P38位、准双向位、准双向I/O口,具有内部上拉电路。口,具有内部上拉电路。P3提提供供各各种种替替代代功功能能。在在提提供供这这些些功功能能时时,其其输输出锁存器应由程序置出锁存器应

7、由程序置1。串行口:串行口:P30RXD串行输入口。串行输入口。P31TXD串行输出口。串行输出口。中断:中断:P32INT0外部中断外部中断0输入。输入。P33INT1外部中断外部中断1输入。输入。定时器计数器:定时器计数器:P34T0的外部输入。的外部输入。P35T1的外部输入。的外部输入。数据存储器选通:数据存储器选通:P36WR,片外数据存储器或,片外数据存储器或I/O端口写选通。端口写选通。P37RD,片外数据存储器或,片外数据存储器或I/O端口读选通。端口读选通。3.控制线控制线RST复位输入信号。复位输入信号。在在振振荡荡器器工工作作时时,在在RST上上作作用用两两个个机机器器周

8、周期期以以上上的的高电平,将单片微机复位。高电平,将单片微机复位。EA/Vpp片外程序存储器访问允许信号。片外程序存储器访问允许信号。EA=1,选择片内程序存储器,选择片内程序存储器EA=0,则程序存储器全部在片外。,则程序存储器全部在片外。使使用用80C31时时,EA必必须须接接地地,使使用用8751编编程程时时,EA施施加加21V的编程电压。的编程电压。ALE/PROG地址锁存允许信号。地址锁存允许信号。在在访访问问片片外外存存储储器器或或I/O时时,用用于于锁锁存存低低8位位地地址址,以实现低地址与以实现低地址与8位数据的隔离。位数据的隔离。ALE以以1/6的的振振荡荡频频率率固固定定速

9、速率率输输出出,可可作作为为对对外外输出的时钟或用作外部定时脉冲。输出的时钟或用作外部定时脉冲。PSEN片外程序存储器读选通信号。片外程序存储器读选通信号。在在从从片片外外程程序序存存储储器器取取指指期期间间,在在每每个个机机器器周周期期中中,当当PSEN有有效效时时,程程序序存存储储器器的的内内容容被被送送上上P0口口(数数据据总总线)。线)。 2.3 80C51 CPU的结构和特点的结构和特点中央处理器中央处理器CPU是单片微机内部的核心是单片微机内部的核心部件,主要包括控制器、运算器和工作寄存部件,主要包括控制器、运算器和工作寄存器及时序电路。器及时序电路。2.3.1中央控制器中央控制器

10、识识别别指指令令,并并根根据据指指令令性性质质控控制制计计算算机机各各组组成成部部件件进进行工作的部件,与运算器一起构成中央处理器。行工作的部件,与运算器一起构成中央处理器。在在80C51中中,控控制制器器包包括括程程序序计计数数器器PC、程程序序地地址址寄寄存存器器、指指令令寄寄存存器器IR、指指令令译译码码器器、条条件件转转移移逻逻辑辑电路及定时控制逻辑电路。电路及定时控制逻辑电路。其其功功能能是是控控制制指指令令的的读读出出、译译码码和和执执行行,对对指指令令的的执执行行过过程程进进行行定定时时控控制制,并并根根据据执执行行结结果果决决定定是是否否分分支支转移。转移。1.程序计数器程序计

11、数器PC(ProgramCounter)一个独立的计数器,不属于内部的特殊功能寄存器。一个独立的计数器,不属于内部的特殊功能寄存器。 PC中中存存放放的的是是下下一一条条将将要要从从程程序序存存储储器器中中取取出出的的指指令的地址。令的地址。PC基基本本的的工工作作过过程程是是:读读指指令令时时,PC将将其其中中的的数数作作为为所所取取指指令令的的地地址址输输出出给给程程序序存存储储器器,然然后后程程序序存存储储器器按按此此地地址址输输出出指指令令字字节节,同同时时PC本本身身自自动动加加1,指向下一条指令地址。指向下一条指令地址。PC变化的轨迹决定程序的流程。变化的轨迹决定程序的流程。在在执

12、执行行条条件件转转移移或或无无条条件件转转移移指指令令时时,程程序序计计数数器器将将被被置置入入转转移移的的目目的的地地址址,程程序序的的流流向向发生变化。发生变化。在在执执行行调调用用指指令令或或响响应应中中断断时时,将将子子程程序序的的入入口口地地址址或或者者中中断断矢矢量量地地址址送送入入PC,程程序序流流向向发生变化。发生变化。2.数据指针数据指针DPTR16位位特特殊殊功功能能寄寄存存器器,主主要要功功能能是是作作为为片片外外数数据据存存储器或储器或I/O寻址用的地址寄存器。寻址用的地址寄存器。既既可可以以作作为为一一个个16位位寄寄存存器器处处理理,也也可可以以作作为为两两个个8位

13、位寄寄存存器器处处理理,其其高高8位位用用DPH表表示示,低低8位位用用DPL表示表示。访问片外数据存储器或访问片外数据存储器或I/O的指令为:的指令为:MOVXA,DPTR读读MOVXDPTR,A写写作作为为访访问问程程序序存存储储器器时时的的基基址址寄寄存存器器。寻寻址址程程序序存存储储器器中的表格、常数等单元,而不是寻址指令。中的表格、常数等单元,而不是寻址指令。MOVCA,ADPTRJMPADPTRPC与与DPTR:都都是是与与地地址址有有关关的的16位位的的寄寄存存器器。PC与与程程序序存存储储器器的的地地址址有有关关,DPTR与与数数据据存存储储器器的的地地址址有有关关。作作为为地

14、地址址寄寄存存器器使使用用时时,PC与与DPTR都都是是通通过过P0和和P2口口输输出出的的。PC的的输输出出与与ALE及及PSEN信信号号有有关关;DPTR的的输输出出,则则与与ALE、WR、RD信号有关。信号有关。PC只能作为只能作为16位寄存器对待,是不可以访问的。位寄存器对待,是不可以访问的。DPTR可以作为可以作为16位寄存器,也可以作为两个位寄存器,也可以作为两个8位特位特殊功能寄存器,殊功能寄存器,DPTR是可以访问的是可以访问的。3.指令寄存器指令寄存器IR、指令译码器及控制逻辑、指令译码器及控制逻辑IR是是用用来来存存放放指指令令操操作作码码的的专专用用寄寄存存器器。执执行行

15、程程序序时时,首首先先进进行行程程序序存存储储器器的的读读操操作作,也也就就是是根根据据程程序序计计数数器器给给出出的的地地址址从从程程序序存存储储器器中中取取出出指指令令,送送指指令令寄存器寄存器IR,IR的输出送指令译码器;的输出送指令译码器;指指令令译译码码器器对对该该指指令令进进行行译译码码,译译码码结结果果送送定定时时控控制逻辑电路,如制逻辑电路,如图图24所示。所示。定定时时控控制制逻逻辑辑电电路路则则根根据据指指令令的的性性质质发发出出一一系系列列定定时时控控制制信信号号,控控制制计计算算机机的的各各组组成成部部件件进进行行相相应应的的工工作作,执执行指令。行指令。条件转移逻辑电

16、路主要用来控制程序的分支转移。条件转移逻辑电路主要用来控制程序的分支转移。转移条件分为两部分:转移条件分为两部分:内部条件,程序状态标志位(内部条件,程序状态标志位(PSW)和累加器的零状态;)和累加器的零状态;外部条件,外部条件,F0和所有位寻址空间的状态。和所有位寻址空间的状态。 2.3.2 运算器运算器运算器主要用来实现对操作数的算术逻辑运算和位操作的。运算器主要用来实现对操作数的算术逻辑运算和位操作的。对传送到对传送到CPU的数据进行加、减、乘、除、比较、的数据进行加、减、乘、除、比较、BCD码校正码校正等算术运算。等算术运算。“与与”、“或或”、“异或异或”等逻辑操作;移位、置位、清

17、零、取等逻辑操作;移位、置位、清零、取反、加反、加1、减、减1等操作。等操作。80C51的的ALU还具有极强的位处理功能,如位置还具有极强的位处理功能,如位置1、位清零、位、位清零、位“与与”、位、位“或或”等操作,对等操作,对“面向控制面向控制”特别有用。特别有用。运算器主要包括算术逻辑运算单元运算器主要包括算术逻辑运算单元ALUALU、累加器、累加器A A、暂存寄、暂存寄存器、存器、B B寄存器、程序状态标志寄存器寄存器、程序状态标志寄存器PSWPSW以及以及BCDBCD码运算修正电码运算修正电路等。路等。ALU有两个输入:有两个输入:通通过过暂暂存存器器1的的输输入入:输输入入数数据据来

18、来自自寄寄存存器器、直直接接寻寻址单元(含址单元(含I/O口)、内部口)、内部RAM、寄存器、寄存器B或是立即数。或是立即数。通过暂存器通过暂存器2或累加器或累加器的输入:通过暂存器的输入:通过暂存器2的运算的运算的指令有的指令有ANLdirect,dataORLdirect,dataXRLdirect,data其它的运算,其输入之一大多数也要通过累加器。其它的运算,其输入之一大多数也要通过累加器。ALU有两个输出有两个输出: 数据经过运算后,其结果又通过内部总数据经过运算后,其结果又通过内部总线送回到累加器中;线送回到累加器中; 数据运算后产生的标志位输出至程序状数据运算后产生的标志位输出至

19、程序状态字态字 PSW。2.累加器累加器A简称简称ACC或或A寄存器。寄存器。主要功能:累加器主要功能:累加器A存放操作数,是存放操作数,是ALU单元单元的输入之一,也是的输入之一,也是ALU运算结果的暂存单元。运算结果的暂存单元。单片微机中大部分数据操作都要通过累加器单片微机中大部分数据操作都要通过累加器A进行,容易产生进行,容易产生“瓶颈瓶颈”现象。现象。3B寄存器寄存器乘乘法法中中,ALU的的两两个个输输入入分分别别为为A、B,运运算算结结果果,A中放积的低中放积的低8位,位,B中放积的高中放积的高8位。位。除除法法中中,被被除除数数取取自自A,除除数数取取自自B,商商数数存存放放于于A

20、,余余数存放于数存放于B。在在其其它它情情况况下下,B寄寄存存器器可可以以作作为为内内部部RAM中中的的一一个个单单元来使用。元来使用。4.程序状态字程序状态字PSW(ProgramStatusWord)主主要要部部分分是是算算术术逻逻辑辑运运算算单单元元(ALU)的的输输出出。其其中有些位中有些位(如如F0)状态可用软件方法设定。状态可用软件方法设定。奇奇偶偶校校验验位位P、溢溢出出标标志志位位OV、辅辅助助进进位位标标志志位位AC及及进进位标志位位标志位CY都是都是ALU运算结果的直接输出。运算结果的直接输出。CYAC F0 RS1RS0OV P(1)P奇偶标志位奇偶标志位每个指令周期都由

21、硬件来置位或清除。每个指令周期都由硬件来置位或清除。用用以以表表示示累累加加器器A中中值值为为1的的个个数数的的奇奇偶偶性性:若若累累加加器器值值为为1的的位位数数是是奇奇数数,P置置位位(奇奇校校验验);否否则则P清清除除(偶校验偶校验)。如如(A)=00001010,则,则P=0。在在串串行行通通信信中中,常常以以传传送送奇奇偶偶校校验验位位来来检检验验传传输输数数据据的的可靠性。可靠性。(2)OV溢出标志位溢出标志位当当执执行行运运算算指指令令时时,由由硬硬件件置置位位或或清清除除,OV置置位位表表示示运运算算结结果果超超出出了了目目的的寄寄存存器器A所所能能表表示示的的带带符符号号数数

22、的的范围(一范围(一128127)。)。若若以以Ci表表示示位位i向向位位il有有进进位位,则则OV=C6 C7;当当位位6向向位位7有有进进位位(借借位位)而而位位7不不向向CY进进位位(借借位位)时时;或或当当位位7向向C进进位位(借借位位)而而位位6不不向向位位7进进位位(借借位位)时时,OV标标志志置置位位,表表示示带带符符号号数数运运算算时时运运算算结结果果是是错错误误的的;否否则则,清除清除OV标志,运算结果正确。标志,运算结果正确。对于对于MUL乘法,当乘法,当A、B两个乘数的积超过两个乘数的积超过255时时OV置位;否则,置位;否则,OV0。若。若OV0时,只需从时,只需从A寄

23、寄存器中取积。存器中取积。对于对于DIV除法,若除数为除法,若除数为0时,时,OV=1;否则,;否则,OV=0。(3)RS1、RS0工作寄存器组选择位工作寄存器组选择位用于设定当前工作寄存器的组号。工作寄存器用于设定当前工作寄存器的组号。工作寄存器共有共有4组,其对应关系见组,其对应关系见表表21(4)AC辅助进位标志位辅助进位标志位当当进进行行加加法法或或减减法法运运算算时时,若若低低4位位向向高高4位位数数发发生生进进位位或或借借位位时时,AC将将被被硬硬件件置置位位;否否则则,被被清清除。除。在十进制调整指令在十进制调整指令DA中要用到中要用到AC标志位状态。标志位状态。(5)CY进位标

24、志位。进位标志位。在在进进行行算算术术运运算算时时,可可以以被被硬硬件件置置位位或或清清除除,以以表表示运算结果中高位是否有进位或借位。示运算结果中高位是否有进位或借位。在布尔处理机中在布尔处理机中CY被认为是位累加器。被认为是位累加器。(6)F0用户标志位。用户标志位。开机时该位为开机时该位为“0”。用用户户可可根根据据需需要要,通通过过位位操操作作指指令令置置“l”或或者者清清“0”。 2.3.3 时钟电路及时钟电路及CPU的工作时序的工作时序时钟电路用于产生单片微机工作所需要的时钟时钟电路用于产生单片微机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的信号,而时序所研究的是指

25、令执行中各信号之间的相互关系。相互关系。单片微机本身就如一个复杂的同步时序电路,单片微机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。钟信号控制下严格地按时序进行工作。1.时钟电路时钟电路在在80C51内内带带有有时时钟钟电电路路,只只需需要要在在片片外外通通过过XTALI和和XTAL2引引脚脚接接入入定定时时控控制制元元件件(晶晶体体振振荡荡器器和和电电容容),即即可可构构成成一一个个稳稳定定的的自自激激振振荡荡器器。在在80C51芯芯片片内内部部有有一一个个高高增增益益反反相相放放大

26、大器器,而而在在芯芯片片的的外外部部,XTAL1和和XTAL2之之间间跨接晶体振荡器和微调电容。跨接晶体振荡器和微调电容。80C51的时钟电路如的时钟电路如图图26所示。所示。时时钟钟电电路路由由下下列列几几部部分分组组成成:振振荡荡器器及及定定时时控控制制元件、时钟发生器、地址锁存允许信号元件、时钟发生器、地址锁存允许信号ALE。(1)振荡器及定时控制元件振荡器及定时控制元件在在80C51芯芯片片内内部部有有一一个个高高增增益益反反相相放放大大器器,其其输输入入端端为为引引脚脚XTAL1,其输出端为引脚,其输出端为引脚XTAL2。需需要要在在片片外外通通过过XTAL1和和XTAL2引引脚脚跨

27、跨接接晶晶体体振振荡荡器器和和微微调调电电容容,形形成成反反馈馈电电路路,振振荡荡器器即即可可工工作作。振振荡荡器器的的结结构构和和振荡电路原理如振荡电路原理如图图27所示。所示。振振荡荡器器的的工工作作可可以以由由PD位位(特特殊殊功功能能寄寄存存器器PCON中中的的一一位位)控控制制。当当PD置置1时时,振振荡荡器器停停止止工工作作,系系统统进进入入低低功功耗工作状态。耗工作状态。振荡器的工作频率一般在振荡器的工作频率一般在1.212 MHz之间,有之间,有些单片微机的频率范围高端可达些单片微机的频率范围高端可达40 MHz,低端,低端可达可达0Hz。在由多片单片微机组成的系统中,为了各单

28、片在由多片单片微机组成的系统中,为了各单片微机之间时钟信号的同步,应当引入唯一的公微机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片微机的振荡脉冲。用外部脉冲信号作为各单片微机的振荡脉冲。(2)内部时钟发生器内部时钟发生器内部时钟发生器实质上是一个内部时钟发生器实质上是一个2分频的触发器。其输入分频的触发器。其输入由振荡器引入的,输出为两个节拍的时钟信号。输出的前半由振荡器引入的,输出为两个节拍的时钟信号。输出的前半周期,节拍周期,节拍1(P1)信号有效;后半周期,节拍)信号有效;后半周期,节拍2(P2)信号)信号有效。每个输出周期为一个计算机有效。每个输出周期为一个计算机CPU

29、的状态周期,即时钟的状态周期,即时钟发生器的输出为状态时钟。每个状态周期内包括一个发生器的输出为状态时钟。每个状态周期内包括一个P1节拍节拍和一个和一个P2节拍,形成节拍,形成CPU内的基本定时时钟。内的基本定时时钟。(3)ALE信号信号状态时钟经过状态时钟经过3分频之后,产生分频之后,产生ALE引脚上的信号输出。引脚上的信号输出。2时序定时单位时序定时单位时时序序是是用用定定时时单单位位来来说说明明的的。80C51的的时时序序定定时时单单位共有位共有4个:节拍、状态、机器周期和指令周期。个:节拍、状态、机器周期和指令周期。(1)节拍节拍P振荡脉冲的周期称为节拍振荡脉冲的周期称为节拍。(2)状

30、态状态S一个状态一个状态S包含两个节拍,其前半周期对应的节拍包含两个节拍,其前半周期对应的节拍叫叫P1,后半周期对应的节拍叫,后半周期对应的节拍叫P2。(3)机器周期机器周期80C51采用定时控制方式,有固定的机器周期。采用定时控制方式,有固定的机器周期。规规定定一一个个机机器器周周期期的的宽宽度度为为6个个状状态态,并并依依次次表表示示为为S1S6。一一个个机机器器周周期期共共有有12个个振振荡荡脉脉冲冲周周期期,是是振振荡荡脉冲的脉冲的12分频。分频。 机器周期是单片微机的最小时间单位。机器周期是单片微机的最小时间单位。(4) 指令周期指令周期执行一条指令所需要的时间称为指令周期。执行一条

31、指令所需要的时间称为指令周期。它是最大的时序定时单位。它是最大的时序定时单位。80C51的指令周期根的指令周期根据指令的不同,可包含有据指令的不同,可包含有1、2、3、4个机器周个机器周期。期。3.80C51指令时序指令时序80C51共有共有111条指令,全部指令按其长度可分条指令,全部指令按其长度可分为单字节指令、双字节指令和三字节指令。为单字节指令、双字节指令和三字节指令。图图28所表示的是几种典型单机器周期和双机器周所表示的是几种典型单机器周期和双机器周期指令的时序。期指令的时序。(1)单机器周期指令,如单机器周期指令,如图图28(a)、()、(b)所示。)所示。双字节时,执行在双字节时

32、,执行在S1P2开始,操作码被读入指令寄开始,操作码被读入指令寄存器;在存器;在S4P2时,再读入第二个字节。单字节时,执时,再读入第二个字节。单字节时,执行在行在S1P2开始,操作码被读入指令寄存器;在开始,操作码被读入指令寄存器;在S4P2时时仍有读操作,但被读入的字节(即下一操作码)被忽仍有读操作,但被读入的字节(即下一操作码)被忽略,且此时略,且此时PC并不增量。并不增量。以上两种情况均在以上两种情况均在S6P2时结束操作。时结束操作。(2)双机器周期指令,如双机器周期指令,如图图28(c)、()、(d)所示。)所示。双双字字节节时时,执执行行在在S1P2开开始始,操操作作码码被被读读

33、入入指指令令寄寄存存器器;在在S4P2时时,再再读读入入的的字字节节被被忽忽略略。由由S5开开始始送送出出外外部部数数据据存存储储器器的的地地址址,随随后后是是读读或或写写的的操操作作。在在读读、写写期期间间,ALE不不输输出出有有效效信号。信号。在在第第二二个个机机器器周周期期,片片外外数数据据存存储储器器也也寻寻址址和和选选通通,但但不不产产生生取指操作。取指操作。单单字字节节时时,执执行行在在S1P2开开始始,在在整整个个两两个个机机器器周周期期中中,共共发发生生4次读操作,但是后次读操作,但是后3次操作都无效。次操作都无效。一一般般,算算术术/逻逻辑辑操操作作发发生生在在节节拍拍1期期

34、间间,内内部部寄寄存存器器对对寄寄存存器器的传送发生在节拍的传送发生在节拍2期间。期间。图图中中的的ALE信信号号是是为为地地址址锁锁存存而而定定义义的的,该该信信号号每每有有效一次对应单片微机进行一次读指令操作。效一次对应单片微机进行一次读指令操作。在在一一个个机机器器周周期期中中,ALE信信号号两两次次有有效效,第第一一次次在在S1P2和和S2P1期期间间,第第二二次次在在S4P2和和S5P1期期间间,有有效效宽度为一个状态周期宽度为一个状态周期S。(1)单字节单周期指令单字节单周期指令(例如(例如INCA)只只需需进进行行一一次次读读指指令令操操作作。当当第第二二个个ALE有有效效时时,

35、由由于于PC没有加没有加1,所以读出的还是原指令。,所以读出的还是原指令。(2)双字节单周期指令双字节单周期指令(例如(例如ADDA,data)ALE的的两两次次读读操操作作都都是是有有效效的的,第第一一次次是是读读指指令令操操作作码码,第二次是读指令第二字节。第二次是读指令第二字节。(3)单字节双周期指令单字节双周期指令(例如(例如INCDPTR)两两个个机机器器周周期期共共进进行行4次次读读指指令令的的操操作作,但但其其中中后后3次次的的读读操操作作全是无效的。全是无效的。(4)单字节双周期指令单字节双周期指令(例如(例如MOVX类指令)类指令)执执行行MOVX类类指指令令时时,先先在在R

36、OM读读取取指指令令,然然后后对对外外部部RAM进行读进行读/写操作。写操作。第第一一机机器器周周期期时时,与与其其它它指指令令一一样样,第第一一次次读读指指令令(操操作作码码)有有效,第二次读指令操作无效。效,第二次读指令操作无效。第第二二周周期期时时,进进行行外外部部RAM访访问问,此此时时与与ALE信信号号无无关关,不不产产生生读指令操作。读指令操作。2.4 存储器结构和地址空间存储器结构和地址空间单片微机的存储器有两种基本结构:单片微机的存储器有两种基本结构:普林斯顿(普林斯顿(Princeton)结构:程序和数据合用一个存)结构:程序和数据合用一个存储器空间的结构;储器空间的结构;哈

37、佛(哈佛(Haryard)结构:程序存储器和数据存储器)结构:程序存储器和数据存储器截然分开,分别寻址的结构。截然分开,分别寻址的结构。80C51系列采用哈佛结构。系列采用哈佛结构。图图29为为80C51存储器映象图。存储器映象图。在物理上设有在物理上设有4个存储器空间个存储器空间程序存储器:程序存储器:片内程序存储器;片内程序存储器;片外程序存储器。片外程序存储器。数据存储器:数据存储器:片内数据存储器;片内数据存储器;片外数据存储器。片外数据存储器。在逻辑上设有在逻辑上设有3个存储器地址空间个存储器地址空间片内、片外统一的片内、片外统一的64KB程序存储器地址空间;程序存储器地址空间;片内

38、片内256(80C52为为384)B数据存储器地址空间;数据存储器地址空间;片外片外64KB的数据存储器地址空间。的数据存储器地址空间。片内数据存储器空间,在物理上又包含两部分:片内数据存储器空间,在物理上又包含两部分:80C51:0127B为片内数据存储器空间;为片内数据存储器空间;128255B为特殊功能寄存器空间。为特殊功能寄存器空间。80C52:0127B为片内数据存储器空间;为片内数据存储器空间;128255B共共128个个字字节节是是数数据据存存储储器器和和特特殊殊 功能寄存器地址重叠空间。功能寄存器地址重叠空间。80C51有三种基本的寻址空间:有三种基本的寻址空间:64KB的片内

39、、外程序存储器寻址空间;的片内、外程序存储器寻址空间;64KB的片外数据存储器寻址空间;的片外数据存储器寻址空间;256(或或384)B的的片片内内数数据据存存储储器器寻寻址址空空间间,其中包括特殊功能寄存器寻址空间。其中包括特殊功能寄存器寻址空间。2.4.l 程序存储器程序存储器用于存放经调试正确的应用程序和表格之类的固定常数。用于存放经调试正确的应用程序和表格之类的固定常数。采用采用16位的程序计数器位的程序计数器PC和和16位的地址总线,可扩展的地址空位的地址总线,可扩展的地址空间为间为64KB。程序存储器分为片内和片外两部分。程序存储器分为片内和片外两部分。EA引脚接高电平时,程序从片

40、内程序存储器引脚接高电平时,程序从片内程序存储器0000H开始执行;开始执行;当当PC值超出片内值超出片内程序存储器程序存储器容量时,会自动转向片外程序存储器容量时,会自动转向片外程序存储器空间执行。空间执行。EA引引脚脚接接低低电电平平时时,迫迫使使系系统统全全部部执执行行片片外外程程序序存存储储器器0000H开始存放的程序。开始存放的程序。对对于于片片内内无无ROM的的80C31/80C32,应应将将EA引引脚脚固固定定接接低低电电平平,以迫使系统全部执行片外程序存储器程序。以迫使系统全部执行片外程序存储器程序。程序存储器的特定的程序入口地址程序存储器的特定的程序入口地址由由于于系系统统复

41、复位位后后的的PC地地址址为为0000H,故故系系统统从从0000H单单 元元 开开 始始 取取 指指 , 执执 行行 程程 序序 。 从从 0003H002DH单单元元被被保保留留用用于于6个个中中断断源源的的中中断断服服务务程程序序的入口地址。的入口地址。复位复位0000H外部中断外部中断00003H计时器计时器T0溢出溢出000BH外部中断外部中断10013H计时器计时器T1溢出溢出001BH串行口中断串行口中断0023H计时器计时器T2/T2EX002BH(80C52)片内程序存储器片内程序存储器类类型型有有:掩掩膜膜ROM、OTPROM和和MTPROM(包包括括EPROM及及E2PR

42、OM等)。等)。87C51中中 为为 4KB的的 可可 编编 程程 、 可可 改改 写写 的的 只只 读读 存存 储储 器器EPROM;89C51中中为为4KB的的可可编编程程、可可改改写写的的只只读读存存储储器器EEPROM;80C31片内没有程序存储器,使用时必须由片外进行扩展。片内没有程序存储器,使用时必须由片外进行扩展。片内程序存储器的容量目前已达到片内程序存储器的容量目前已达到62KB。数据存储器由数据存储器由RAM构成,用来存放随机数据。构成,用来存放随机数据。片片内内数数据据存存储储器器地地址址只只有有8位位,最最大大寻寻址址范范围围为为256个字节。个字节。片片外外数数据据存存

43、储储器器有有16位位数数据据指指针针DPTR,用用于于访访问问。80C51具有具有64KB的数据存储器扩展能力。的数据存储器扩展能力。2.4.2 内部数据存储器内部数据存储器片内数据存储器在物理上又分成两个独立的功能不同的区。片内数据存储器在物理上又分成两个独立的功能不同的区。片内数据片内数据RAM区:对区:对80C51,为,为0127B;对对80C52,为,为0255B。特殊功能寄存器特殊功能寄存器SFR区:地址空间的高区:地址空间的高128B。对对于于80C52,高高128B的的RAM区区和和SFR区区的的地地址址空空间间是是重重叠叠的的。访访问问高高128BRAM区区时时,选选用用间间接

44、接寻寻址址方方式式;访问访问SFR区,则应选用直接寻址方式。区,则应选用直接寻址方式。图图2-10为片内数据存储器的地址空间分布图。为片内数据存储器的地址空间分布图。片内数据片内数据RAM区区工作寄存器区工作寄存器区用寄存器直接寻址的区域,用寄存器直接寻址的区域,从从图图210中可知,其中片内数据中可知,其中片内数据RAM区的区的031(00H1FH),共),共32个单元,是个单元,是4个通用工作寄存个通用工作寄存器组(器组(表表2l),每个组包含),每个组包含8个个8位寄存器,编号为位寄存器,编号为R0R7。在某一时刻,只能选用一个寄存器组使用。其选择是通在某一时刻,只能选用一个寄存器组使用

45、。其选择是通过软件对程序状态字(过软件对程序状态字(PSW)中的)中的RS0、RS1两位的设置两位的设置来实现的。若来实现的。若RS0、RS1均为均为0,则选用工作寄存器,则选用工作寄存器0组为组为当前工作寄存器。当前工作寄存器。累累加加器器ACC、B、DPTR及及CY(布布尔尔处处理理器器的的累累加加器器)一一般也作为寄存器对待。般也作为寄存器对待。寄存器寄存器R0、R1通常用做间接寻址时的地址指针。通常用做间接寻址时的地址指针。 位寻址区位寻址区从片内数据从片内数据RAM区的区的3247(20H2FH)的)的16个字节单元,共包含个字节单元,共包含128位,是可位寻址的位,是可位寻址的RA

46、M区。区。这这16个字节单元,既可进行字节寻址,又可位寻址。个字节单元,既可进行字节寻址,又可位寻址。字节地址与位地址之间的关系见字节地址与位地址之间的关系见表表22。可位寻址的特殊功能寄存器。可位寻址的特殊功能寄存器。在这一存储器空间所有位都具有位地址。在这一存储器空间所有位都具有位地址。字节寻址区字节寻址区从从片片内内数数据据RAM区区的的48127(30H7FH),共共80个字节单元,可以采用直接字节寻址的方法访问。个字节单元,可以采用直接字节寻址的方法访问。对对于于80C52,还还有有高高128B的的数数据据RAM区区。这这一一区域只能采用间接字节寻址的方法访问。区域只能采用间接字节寻

47、址的方法访问。堆栈区及堆栈区及堆栈指示器堆栈指示器SP(stackpointer):堆堆栈栈是是在在片片内内数数据据RAM区区中中,数数据据先先进进后后出出或或后后进进先出的区域。先出的区域。SP在在80C51中中存存放放当当前前的的堆堆栈栈栈栈顶顶所所指指存存储储单单元元地地址的一个址的一个8位寄存器。位寄存器。堆堆栈栈有有两两种种形形式式,一一是是向向上上生生成成,二二是是向向下下生生成成。80C51的的堆堆栈栈是是向向上上生生成成的的:即即进进栈栈时时SP的的内内容容是是增增加加的;出栈时的;出栈时SP的内容是减少的。的内容是减少的。系系统统复复位位后后,SP内内容容为为07H,以以07

48、H为为栈栈底底,压压栈栈的的内内容从容从08H单元开始存放。单元开始存放。堆堆栈栈是是为为子子程程序序调调用用和和中中断断操操作作而而设设立立的的,具具体体功功能能:保保护护断断点点和和保保护护现现场场。在在80C51中中,堆堆栈栈在在子子程程序序调调用用和和中中断断时时会会把把断断点点地地址址自自动动进进栈栈和和出出栈栈,还还有有对对堆堆栈栈的的进进栈栈和和出出栈栈的的指指令令(PUSH、POP)操操作作,用用于于保保护护现现场场和和恢恢复现场。复现场。子程序调用和中断都允许嵌套,并可以多级嵌套,而现子程序调用和中断都允许嵌套,并可以多级嵌套,而现场的保护也往往使用堆栈,要注意给堆栈以一定的

49、深度。场的保护也往往使用堆栈,要注意给堆栈以一定的深度。特殊功能寄存器特殊功能寄存器SFR(SpecialFunctionRegister)区)区SFR是是80C51中中各各功功能能部部件件所所对对应应的的寄寄存存器器,用用以以存存放放相应功能部件的控制命令、状态或数据的区域。相应功能部件的控制命令、状态或数据的区域。80C51设设有有128B片片内内数数据据RAM结结构构的的特特殊殊功功能能寄寄存存器器空空间间区区。除除程程序序计计数数器器PC和和4个个通通用用工工作作寄寄存存器器组组外外,其其余所有的寄存器都在这个地址空间之内。余所有的寄存器都在这个地址空间之内。80C51共共定定义义了了

50、21个个特特殊殊功功能能寄寄存存器器,其其名名称称和和字字节节地地址址列列于于表表23中中。在在80C52中中,除除上上述述80C51的的21个个之之外外,还还增增加加了了5个个特特殊殊功功能能寄寄存存器器,共共计计26个。个。在在80C51的的21个个(80C52的的26个个)特特殊殊功功能能寄寄存存器器中中,字字节节地地址址中中低低位位地地址址为为0H或或8H的的特特殊殊功功能能寄寄存存器器,除除有有字字节节寻寻址址能能力力外外,还还有有位位寻寻址址能能力力。这这些些特殊功能寄存器与位地址的对应关系见特殊功能寄存器与位地址的对应关系见表表24。2.4.3 片外数据存储区片外数据存储区在外部

51、存放数据的区域,这一区域只能用寄存器在外部存放数据的区域,这一区域只能用寄存器间接寻址的方法访问。指令助记符为间接寻址的方法访问。指令助记符为MOVX。当当用用R0、R1寻寻址址时时,由由于于R0、R1为为8位位寄寄存存器器,最大寻址范围为最大寻址范围为256B;当当用用DPTR寻寻址址时时,由由于于DPTR为为16位位寄寄存存器器,最大寻址范围为最大寻址范围为64KB。2.5 并行输入并行输入/输出端口输出端口80C51共有共有4个个8位的并行双向口,计有位的并行双向口,计有32根输入根输入输出(输出(I/O)口线。各口的每一位均由锁存器、)口线。各口的每一位均由锁存器、输出驱动器和输入缓冲

52、器所组成。由于它们在结构输出驱动器和输入缓冲器所组成。由于它们在结构上的一些差异,故各口的性质和功能也就有了差异。上的一些差异,故各口的性质和功能也就有了差异。它们之间的异同列于它们之间的异同列于表表25。2.5.1 P0口口多多功功能能的的8位位口口,字字节节访访问问地地址址为为80H,位位访访问问地地址址为为80H87H。位结构位结构P0口位结构原理图见口位结构原理图见图图211。P0口口中中一一个个多多路路开开关关:多多路路开开关关的的输输入入有有两两个个,地地址址数数据据输输出出;输输出出锁锁存存器器的的输输出出/Q。多多路路开开关关的的输输出出用用于于控控制制输输出出FETQ0的的导

53、导通通和和截截止止。多多路路开开关关的的切切换由内部控制信号控制。换由内部控制信号控制。P0口口的的输输出出上上拉拉电电路路导导通通和和截截止止受受内内部部控控制制信信号号和地址数据信号共同(相和地址数据信号共同(相“与与”)来控制。)来控制。当当内内部部信信号号置置1时时,多多路路开开关关接接通通地地址址数数据据输输出端。出端。当当地地址址数数据据输输出出线线置置1时时,控控制制上上拉拉电电路路的的“与与”门门输输出出为为1,上上拉拉FET导导通通,同同时时地地址址数数据据输输出出通通过过反反相相器器输输出出0,控控制制下下拉拉FET截止,这样截止,这样A点电位上拉,地址数据输出线为点电位上

54、拉,地址数据输出线为1。当当地地址址数数据据输输出出线线置置0时时,“与与”门门输输出出为为0,上上拉拉FET截截止止,同同时时地地址址数数据据输输出出通通过过反反相相器器输输出出1,控控制制下下拉拉FET导导通通,这这样样A点电位下拉,地址数据输出线为点电位下拉,地址数据输出线为0。此此时时的的输输出出状状态态随随地地址址数数据据线线而而变变,P0口口可可以以作作为为地地址址/数数据据复复用用总总线线使使用用。这这时时上上下下两两个个FET处处于于反反相相,构构成成了了推推拉拉式式的的输输出电路,其负载能力大大增加。此时的出电路,其负载能力大大增加。此时的P0口相当一个双向口。口相当一个双向

55、口。当内部信号置当内部信号置0时,多路开关接通输出锁存器的时,多路开关接通输出锁存器的Q端端由由于于内内部部控控制制信信号号为为0,与与门门关关闭闭,上上拉拉FET截截止止,形形成成P0口口的输出电路为漏极开路输出。的输出电路为漏极开路输出。输输出出锁锁存存器器的的Q端端引引至至下下拉拉FET栅栅极极,因因此此P0口口的的输输出出状状态态由由下拉电路决定。下拉电路决定。在在P0口作输出口用时,若口作输出口用时,若P0i输出输出1,输出锁存器的,输出锁存器的Q端为端为0,下拉下拉FET截止,这时截止,这时P0i为漏极开路输出;若为漏极开路输出;若P0i输出输出0,输出,输出锁存器的锁存器的Q端为

56、端为1,下拉,下拉FET导通,导通,P0i输出低电平。输出低电平。在在P0口作输入口用时,为了使口作输入口用时,为了使P0i能正确读入数据,必须先能正确读入数据,必须先使使P0.i置置1。这样,下拉。这样,下拉FET也截止,也截止,P0i处于悬浮状态。处于悬浮状态。A点的点的电平由外设的电平而定,通过输入缓冲器读入电平由外设的电平而定,通过输入缓冲器读入CPU,P0口相当于口相当于一个高阻抗的输入口。一个高阻抗的输入口。P0口的功能口的功能作作IO口使用口使用相相当当于于一一个个真真正正的的双双向向口口:输输出出锁锁存存、输输入入缓缓冲冲,但但输输入入时时需需先先将将口口置置1;每每根根口口线

57、线可可以以独独立立定定义义为为输输入入或或输输出出。它它具具有有双双向向口口的一切特点。的一切特点。与与其其它它口口的的区区别别是是,输输出出时时为为漏漏极极开开路路输输出出,与与NMOS的的电电路路接接口口时时必必须须要要用用电电阻阻上上拉拉,才才能能有有高高电电平平输输出出;输输入入时时为为悬悬浮浮状状态,为一个高阻抗的输入口。态,为一个高阻抗的输入口。作地址数据复用总线用作地址数据复用总线用此此时时P0口口为为一一个个准准双双向向口口。但但是是有有上上拉拉电电阻阻,作作数数据据输输入入时时,口口也也不不是是悬悬浮浮状状态态。作作地地址址数数据据复复用用总总线线用用。作作数数据据总总线线用

58、用时时,输输入入输输出出8位位数数据据D0D7;作作地地址址总总线线用用时时,输输出出低低8位位地地址址A0A7。当当P0口口作作地地址址数数据据复复用用总总线线用用之之后,就再也不能作后,就再也不能作IO口使用了。口使用了。8位口,字节访问地址为位口,字节访问地址为90H,位访问地址为,位访问地址为90H97H。位结构和工作原理位结构和工作原理P1口的位结构如口的位结构如图图212所示。所示。包包含含输输出出锁锁存存器器、输输入入缓缓冲冲器器BUF1(读读引引脚脚)、BUF2(读读锁锁存存器)以及由器)以及由FET晶体管晶体管Q0与上拉电阻组成的输出输入驱动器。与上拉电阻组成的输出输入驱动器

59、。P1口的工作过程分析如下:口的工作过程分析如下:P1.i位位作作输输出出口口用用时时:CPU输输出出0时时,D0,Q0,Ql,晶晶体体管管Q0导导通通,A点点被被下下拉拉为为低低电电平平,即即输输出出0;CPU输输出出1时时,Dl,Q1,Q0,晶晶体体管管Q0截截止止,A点点被被上上拉拉为为高高电电平平,即即输出输出l。2.5.2 P1口口P1i位位作作输输入入口口用用时时:先先向向P1i位位输输出出高高电电平平,使使A点点提提升升为为高高电电平平,此此操操作作称称为为设设置置P1i为为输输入入线线。若若外外设设输输入入为为1时时A点点为为高高电电平平,由由BUFI读读入入总总线线后后B点点

60、也也为为高高电电平平;若若外外设设输输入入为为0时时A点点为低电平,由为低电平,由BUF1读入总线后读入总线后B点也为低电平点也为低电平。、P1口的特点口的特点输出锁存器,输出时没有条件;输出锁存器,输出时没有条件;输输入入缓缓冲冲,输输入入时时有有条条件件,即即需需要要先先将将该该口口设设为为输输入入状状态态,先先输输出出1;工作过程中无高阻悬浮状态,也就是该口不是输入态就是输出态。工作过程中无高阻悬浮状态,也就是该口不是输入态就是输出态。具具有有这这种种特特性性的的口口不不属属于于“真真正正”的的双双向向口口,而而被被称称为为“准准”双双向口。向口。P1口的操作口的操作字节操作和位操作字节

61、操作和位操作CPU对于对于P1口可以作为一个口可以作为一个8位口来操作,也可以按位来操作。位口来操作,也可以按位来操作。有关字节操作的指令有:有关字节操作的指令有:输出:输出: MOV P1,A;P1AMOV P1,data;P1dataMOVP1,direct;P1direct输入:输入: MOVA,P1 ;AP1MOV direct,Pl;directPl有关位操作的指令有:有关位操作的指令有:置位、清除:置位、清除:SETBP1.i;P1.i1CLR Pli;P1i0输入、输出:输入、输出:MOVP1i,C;P1iCYMOVC,P1i;CYP1.i判跳:判跳:JBP1i,rel;P1.i

62、=1,跳转,跳转JBC P1i,rel;P1.i1,跳转且,跳转且;清;清P1.i0逻辑运算:逻辑运算:ANL C,P1i ;CY(P1.iCY)ORLC,P1i;CY(P1.iCY)P1i中的中的i0,7。P1口口不不仅仅可可以以以以8位位一一组组进进行行输输入入、输输出出操操作作,还还可可以以逐逐位分别定义各口线为输入线或输出线。例如:位分别定义各口线为输入线或输出线。例如:ORLP1,00000010B使使P1l位口线输出位口线输出l,而使其余各位不变。,而使其余各位不变。ANLP1,11111101B使使P11位线输出位线输出0,而使其余各位不变。,而使其余各位不变。读引脚操作和读锁存

63、器操作读引脚操作和读锁存器操作从从P1口口的的位位结结构构图图中中可可以以看看出出,有有两两种种读读口口的的操操作作:一一种种是读引脚操作,一种是读锁存器操作。是读引脚操作,一种是读锁存器操作。在在响响应应CPU输输出出的的读读引引脚脚信信号号时时,端端口口本本身身引引脚脚的的电电平平值值通通过过缓缓冲冲器器BUF1进进入入内内部部总总线线。这这种种类类型型的的指指令令,执执行行之之前前必必须须先先将将端端口口锁锁存存器器置置1,使使A点点处处于于高高电电平平,否否则则会会损损坏坏引引脚,而且也使信号无法读出。脚,而且也使信号无法读出。这种类型的指令有:这种类型的指令有:MOVA,P1;AP1

64、MOV direct,P1;directP1在在执执行行读读锁锁存存器器的的指指令令时时,CPU首首先先完完成成将将锁锁存存器器的的值值通通过过缓缓冲冲器器BUF2读读入入内内部部,进进行行修修改改,然然后后重重新新写写到到锁锁存存器器中中去去,这就是这就是“读一修改一写读一修改一写”指令。指令。这这种种类类型型的的指指令令包包含含所所有有的的口口的的逻逻辑辑操操作作(ANL、ORL、XRL)和位操作)和位操作(JBC、CPL、MOV、SETB、CLR等)指令。等)指令。P1口的多功能线口的多功能线在在80C52中中,P10和和P11口口线线是是多多功功能能的的,即即除除作作一一般双向般双向I

65、/O口线之外,这两根口线还具有下列功能:口线之外,这两根口线还具有下列功能:P10T2的外部输入端的外部输入端T2;P11T2的外部控制端的外部控制端T2EX。多多功功能能的的8位位口口,字字节节访访问问地地址址为为A0H,位位访访问问地地址址为为A0HA7H。P2口位结构和工作原理口位结构和工作原理P2口位结构原理图示于口位结构原理图示于图图213。多多路路开开关关的的输输入入有有两两个个:一一个个是是口口输输出出锁锁存存器器的的输输出出端端Q;一一个个是是地地址址寄寄存存器器(PC或或DPTR)的的高高位位输输出出端端。多多路路开开关关的的输输出出经经反反相相器器反反相相后后去去控控制制输

66、输出出FET的的Q0。多多路路开开关关的的切切换换由由内内部控制信号控制。部控制信号控制。输出锁存器的输出端是输出锁存器的输出端是Q而不是而不是Q,多路开关之后需接反相器。,多路开关之后需接反相器。2.5.3 P2口口P2口的工作状态是口的工作状态是I/O口状态。口状态。在内部控制信号的作用下,多路开关的输入投向输出锁存在内部控制信号的作用下,多路开关的输入投向输出锁存器的输出器的输出Q(C点)侧,这样多路开关将接通输出锁存器。点)侧,这样多路开关将接通输出锁存器。若若经经由由内内部部总总线线输输出出0,输输出出锁锁存存器器的的Q端端为为0,信信号号经经多多路路开开关关和和反反相相器器后后输输

67、出出1,Q0导导通通,A点点为为0,输输出出低低电电平平;若若经经由由内内部部总总线线输输出出1,输输出出锁锁存存器器的的Q端端为为1,反反相相器器后后输输出出0,Q0截止,截止,A点为点为1,输出高电平。,输出高电平。P2口的工作状态是输出高口的工作状态是输出高8位地址。位地址。在内部控制信号的作用下,多路开关的输入投向地址输出(在内部控制信号的作用下,多路开关的输入投向地址输出(B点)侧,这样多路开关将接通地址寄存器输出。点)侧,这样多路开关将接通地址寄存器输出。A点的电平将点的电平将随地址输出的随地址输出的0、1而而0、1地变化。地变化。P2口的功能口的功能作作IO口使用时,口使用时,P

68、2口为一准双向口。口为一准双向口。作作地地址址输输出出时时,P2口口可可以以输输出出程程序序存存储储器器或或片片外外数数据据存存储储器器的的高高8位位地地址址,与与P0输输出出的的低低地地址址一一起起构构成成16位位地地址址线线,从从而而可可分分别别寻寻址址64KB的的程程序序存存储储器器或或片片外外数数据据存存储储器器。地地址址线线是是8位一起自动输出的。位一起自动输出的。P2口使用中注意的问题口使用中注意的问题由于由于P2口的输出锁存功能,在取指周期内或外部数据存储器口的输出锁存功能,在取指周期内或外部数据存储器读、写选通期间,输出的高读、写选通期间,输出的高8位地址是锁存的,故无需外加地

69、址位地址是锁存的,故无需外加地址锁存器。锁存器。在在系系统统中中如如果果外外接接有有程程序序存存储储器器,由由于于访访问问片片外外程程序序存存储储器器的的连连续续不不断断的的取取指指操操作作,P2口口需需要要不不断断送送出出高高位位地地址址,这这时时P2口的全部口线均不宜再作口的全部口线均不宜再作I/O口使用。口使用。在无外接程序存储器而有片外数据存储器的系统中,在无外接程序存储器而有片外数据存储器的系统中,P2口使口使用可分为两种情况:用可分为两种情况:若片外数据存储器的容量若片外数据存储器的容量256B:可使用:可使用“MOVXA,Ri”及及“MOVXRi,A”类指令访问片外数据存储器,这

70、时类指令访问片外数据存储器,这时P2口不输口不输出地址,出地址,P2口仍可作为口仍可作为I/O口使用;口使用;若片外数据存储器的容量若片外数据存储器的容量256B:这时使用:这时使用“MOVXA,DPTR”及及“MOVXDPTR,A”类指令访问片外数据存储器,类指令访问片外数据存储器,P2口需输出高口需输出高8位地址。在片外数据存储器读、写选通期间,位地址。在片外数据存储器读、写选通期间,P2口引脚上锁存高口引脚上锁存高8位地址信息,但是在选通结束后,位地址信息,但是在选通结束后,P2口内原口内原来锁存的内容又重新出现在引脚上。来锁存的内容又重新出现在引脚上。使使用用“MOVXA,Ri”及及“

71、MOVXRi,A”类类访访问问指指令令时时,高高位位地地址址通通过过程程序序设设定定,只只利利用用P1、P3甚甚至至P2口口中中的的某某几几根根口口线送高位地址,从而保留线送高位地址,从而保留P2口的全部或部分口线作口的全部或部分口线作I/O口用。口用。2.5.4 P3口口多功能的多功能的8位口,字节访问地址为位口,字节访问地址为B0H,位访问地址为,位访问地址为B0HB7H。位结构与工作原理位结构与工作原理P3口的位结构原理如口的位结构原理如图图214所示。所示。与与非非门门有有两两个个输输入入端端:一一个个为为口口输输出出锁锁存存器器的的Q端端,另另一一个个为为替代功能的控制输出。与非门的

72、输出端控制输出替代功能的控制输出。与非门的输出端控制输出FET管管Q0。有有两两个个输输入入缓缓冲冲器器,替替代代输输入入功功能能取取自自第第一一个个缓缓冲冲器器的的输输出出端端;I/O口的通用输入信号取自第二个缓冲器的输出端。口的通用输入信号取自第二个缓冲器的输出端。输出工作过程:输出工作过程:当当替替代代输输出出功功能能B点点置置1时时,输输出出锁锁存存器器的的输输出出可可以以顺顺利利通通到到引引脚脚P3i。其其工工作作状状况况与与P1口口相相类类似似。这这时时P3口口的的工工作作状状态态为为I/O口口,显然此时该口具有准双向口的性质。显然此时该口具有准双向口的性质。当当输输出出锁锁存存器

73、器的的输输出出置置1时时,替替代代输输出出功功能能可可以以顺顺利利通通到到引引脚脚P3i。若若替替代代输输出出为为0时时,因因与与非非门门的的C点点已已置置l,现现B点点为为0,故故与与非非门门的的输输出出为为l,使使Q0导导通通,从从而而使使A点点也也为为0。若若替替代代输输出出为为1时时,与与非非门门的的输输出出为为0,Q0截截止止,从从而而使使A点点也也为为高高电电平平。这这时时P3口口的的工作状态处于替代输出功能状态。工作状态处于替代输出功能状态。P3口的功能口的功能可作可作I/O口使用,为准双向口。口使用,为准双向口。既既可可以以字字节节操操作作,也也可可以以位位操操作作;既既可可以

74、以8位位口口操操作作,也也可可以以逐逐位位定定义义口口线线为为输输入入线线或或输输出出线线;既既可可以以读读引引脚脚,也也可可以以读读锁存器,实现锁存器,实现“读一修改一输出读一修改一输出”操作。操作。可以作为替代功能的输入、输出。可以作为替代功能的输入、输出。替代输入功能:替代输入功能:P30RXD,串行输入口。,串行输入口。P32INT0,外部中断,外部中断0的请求。的请求。P33INT1,外部中断,外部中断1的请求。的请求。P34T0,T0外部计数脉冲输入。外部计数脉冲输入。P35T1,T1外部计数脉冲输入。外部计数脉冲输入。替代输出功能:替代输出功能:P3lTXD,串行输出口。,串行输

75、出口。P36WR外外部部数数据据存存储储器器或或I/O端端口口写写选选通通。P37RD外部数据存储器外部数据存储器或或I/O端口端口读选通。读选通。2.6 布尔(位)处理器布尔(位)处理器一个完整的一位微计算机,它具有自已的一个完整的一位微计算机,它具有自已的CPU、寄存、寄存器、器、I/O、存储器和指令集。一位机在开关决策、逻辑、存储器和指令集。一位机在开关决策、逻辑电路仿真和实时控制方面非常有效。电路仿真和实时控制方面非常有效。位处理器系统包括以下几个功能部件:位处理器系统包括以下几个功能部件:位位累累加加器器:借借用用进进位位标标志志位位CY。在在布布尔尔运运算算中中CY是是数数据据源源

76、之之一一,又又是是运运算算结结果果的的存存放放处处,位位数数据据传传送送的的中心。中心。根据根据CY的状态实现程序条件转移:的状态实现程序条件转移:JCrel、JNCrel。位位寻寻址址的的RAM:内内部部RAM位位寻寻址址区区中中的的0127位位(20H2FH)。位位寻寻址址的的寄寄存存器器:特特殊殊功功能能寄寄存存器器(SFR)中中的的可可以位寻址的位。以位寻址的位。位位寻寻址址的的I/O口口:并并行行I/O口口中中的的可可以以位位寻寻址址的的位位(如如P1.0)。位位操操作作指指令令系系统统:位位操操作作指指令令可可实实现现对对位位的的置置位位、清清0、取取反反、位位状状态态判判跳跳、传

77、传送送、位位逻逻辑辑运运算算、位位输输入入/输出等操作。输出等操作。共有共有4种工作方式种工作方式复位复位程序执行程序执行低功耗低功耗编程和校验。编程和校验。2.7 80C51单片微机的工作方式单片微机的工作方式 复位操作复位操作主主要要功功能能是是把把PC初初始始化化为为0000H,使使单单片片微微机机从从0000H单元开始执行程序。单元开始执行程序。当当由由于于程程序序运运行行出出错错或或操操作作错错误误使使系系统统处处于于死死锁锁状状态态时时,为为摆摆脱脱困困境境,可可以以按按复复位位键键以以重重新新启启动动,也也可以通过监视定时器来强迫复位。可以通过监视定时器来强迫复位。2.7.1 复

78、位方式复位方式除除PC之外,复位操作还对其它一些特殊功能寄存器有之外,复位操作还对其它一些特殊功能寄存器有影响,它们的复位状态见影响,它们的复位状态见表表26。复位操作还对单片微机的个别引脚信号有影响。例如复位操作还对单片微机的个别引脚信号有影响。例如在复位期间,在复位期间,ALE和和PSEN信号变为无效状态,即信号变为无效状态,即ALE=l,PSEN=l。复位信号及其产生复位信号及其产生复位信号复位信号RST引引脚脚是是复复位位信信号号的的输输入入端端。复复位位信信号号是是高高电电平平有有效效,其有效时间应持续其有效时间应持续24个振荡周期个振荡周期(即即2个机器周期个机器周期)以上。以上。

79、若若使使用用频频率率为为6MHz的的晶晶振振,则则复复位位信信号号应应持持续续4s以以上上。产生复位信号的电路逻辑图如产生复位信号的电路逻辑图如图图215所示。所示。整个复位电路包括芯片内、外两部分。整个复位电路包括芯片内、外两部分。外外部部电电路路产产生生的的复复位位信信号号(RST)送送施施密密特特触触发发器器,再再由由片片内内复复位位电电路路在在每每个个机机器器周周期期的的S5P2时时刻刻对对施施密密特特触触发发器器的的输输出进行采样,然后才能得到内部复位操作所需要的信号。出进行采样,然后才能得到内部复位操作所需要的信号。复复位位操操作作有有上上电电自自动动复复位位、按按键键电电平平复复

80、位位和和外外部部脉冲复位三种方式,示于脉冲复位三种方式,示于图图2-16中中单片微机的基本工作方式。单片微机的基本工作方式。复位后复位后PC0000H,程序执行总是从,程序执行总是从0000H开始的。开始的。一般在一般在0000H开始的单元中存放一条无条件转移指令,开始的单元中存放一条无条件转移指令,跳转到实际主程序的入口去执行。跳转到实际主程序的入口去执行。比如:比如:ORG0000HSJMPMAIN;转主程序;转主程序2.7.2 程序执行方式程序执行方式80C51有两种低功耗方式,即待机方式和掉电有两种低功耗方式,即待机方式和掉电保护方式。待机方式和掉电保护方式时涉及的硬件保护方式。待机方

81、式和掉电保护方式时涉及的硬件如如图图217所示。所示。待待机机方方式式和和掉掉电电保保护护方方式式都都是是由由PCON的的有有关关位来控制的。位来控制的。2.7.3 低功耗工作方式低功耗工作方式SMOD:波特率倍增位,在串行通讯时使用。:波特率倍增位,在串行通讯时使用。GF1、GF0:通信标志位:通信标志位1、0。WLF:看门狗定时器:看门狗定时器T3重装标志位。重装标志位。PD:掉电方位式,:掉电方位式,PD1,则进入掉电方式。,则进入掉电方式。IDL:待机方式位,:待机方式位,IDL1,则进入待机方式。,则进入待机方式。若若PD和和IDL同时为同时为1,则先激活掉电方式。,则先激活掉电方式

82、。SMODGF1GF0PDIDL电源控制及波特率选择寄存器电源控制及波特率选择寄存器PCON使用指令使使用指令使PCON寄存器寄存器IDL位置位置1,则,则80C51进入待进入待机方式机方式由由图图2-17中可看出这时振荡器仍然运行,并向中中可看出这时振荡器仍然运行,并向中断逻辑、串行口和定时器断逻辑、串行口和定时器/计数器电路提供时钟,中断功计数器电路提供时钟,中断功能继续存在能继续存在。向向CPU提供时钟的电路被阻断,提供时钟的电路被阻断,CPU不能工作,与不能工作,与CPU有关的如有关的如SP、PC、PSW、ACC以及全部通用寄存器都被以及全部通用寄存器都被冻结在原状态。冻结在原状态。待

83、机方式待机方式可以采用中断方式或硬件复位来退出待机方式。可以采用中断方式或硬件复位来退出待机方式。在在待待机机方方式式下下,若若产产生生一一个个外外部部中中断断请请求求信信号号,在在单单片片微微机机响响应应中中断断的的同同时时,PCON.0位位(IDL位位)被被硬硬件件自自动动清清“0,单单片片微微机机就就退退出出待待机机方方式式而而进进入入正正常常工工作作方方式式。在在中中断断服服务务程程序序中中安安排排一一条条RETI指指令令,就就可可以以使使单单片片微微机机恢恢复复正正常常工工作作,从从设设置置待待机机方式指令的下一条指令开始继续执行程序。方式指令的下一条指令开始继续执行程序。掉掉电保护

84、方式电保护方式PCON寄存器的寄存器的PD位控制单片微机进入掉电保护方式。位控制单片微机进入掉电保护方式。当当80C51检测到电源故障时,除进行信息保护外,检测到电源故障时,除进行信息保护外,还应把还应把PCON.1位置位置“1,使之进入掉电保护方式。,使之进入掉电保护方式。单片微机一切工作都停止,只有内部单片微机一切工作都停止,只有内部RAM单元的内容被单元的内容被保护。保护。只能依靠复位退出掉电保护方式。只能依靠复位退出掉电保护方式。80C51备备用用电电源源由由Vcc端端引引入入。当当Vcc恢恢复复正正常常后后,只只要要硬硬件件复复位位信信号号维维持持10ms,就就能能使使单单片片微微机

85、机退退出出掉掉电电保保护护方方式式,CPU则则从从进进入入待待机机方方式式的的下下一一条条指指令开始重新执行程序。令开始重新执行程序。在待机和掉电保护期间引脚的状态见在待机和掉电保护期间引脚的状态见表表27。当当电电源源电电压压为为5V,时时钟钟频频率率为为12MHz时时,80C51正常运行时电源电流为正常运行时电源电流为20mA。休闲方式时,电源电流降为休闲方式时,电源电流降为5mA,掉电方式时,电源电流降为掉电方式时,电源电流降为75A。可见低功耗控制对降低功耗是非常有效的。可见低功耗控制对降低功耗是非常有效的。对于片内具有对于片内具有EPROM型程序存储器的型程序存储器的87C51(87

86、C52)和片内具有闪速存储器的和片内具有闪速存储器的89C51(89C52)、78E51(78E52)等等单片微机可以通过编程来修改程序存储器中的程序。单片微机可以通过编程来修改程序存储器中的程序。89C51内部有一个内部有一个4KB的的FlashPEROM。编程接口可。编程接口可接收高电压接收高电压(12V)或低电压或低电压(VCC)的允许编程信号。低电压的允许编程信号。低电压编程方式可以很方便的与编程方式可以很方便的与89C51内的用户系统进行编程;而内的用户系统进行编程;而高压编程方式则可与通用的高压编程方式则可与通用的EPROM编程器兼容。对于这两编程器兼容。对于这两种编程方式的芯片面

87、上的型号和片内特征字节的内容不同。种编程方式的芯片面上的型号和片内特征字节的内容不同。闪速存储器编程方式闪速存储器编程方式表表2-8列出了列出了89C51闪速存储器的编程、校验、写锁定位等时闪速存储器的编程、校验、写锁定位等时的逻辑电平。的逻辑电平。2.7.4 编程方式编程方式注意:注意:根据特征字节根据特征字节(地址为地址为032H)的内容选择合适的编程电的内容选择合适的编程电压压(VPP=12V或或5V)片擦除操作时,要求片擦除操作时,要求PROG的脉冲宽度为的脉冲宽度为10ms。闪速存储器编程闪速存储器编程在对在对89C51编程前,地址、数据、控制信号必须按编程前,地址、数据、控制信号必

88、须按表表2-8和和图图2-18设置。设置。对对89C51的编程的步骤如下:的编程的步骤如下:在地址线上输入要编程存储器单元地址。在地址线上输入要编程存储器单元地址。在数据线上输入要写入的数据。在数据线上输入要写入的数据。按按图图2-19的要求输出编程和校验的时序。的要求输出编程和校验的时序。对于高压编程模式,将对于高压编程模式,将EA/VPP升至升至12V。对对89C51的编程的步骤如下:的编程的步骤如下:在地址线上输入要编程存储器单元地址。在地址线上输入要编程存储器单元地址。在数据线上输入要写入的数据。在数据线上输入要写入的数据。按按图图2-19的要求输出编程和校验的时序。的要求输出编程和校

89、验的时序。对于高压编程模式,将对于高压编程模式,将EA/VPP升至升至12V。每对每对Flash存储阵列写入一个字节或每写入一个程序加密存储阵列写入一个字节或每写入一个程序加密位,要向位,要向ALE/PROG输出一个编程脉冲。输出一个编程脉冲。改变地址和数据,重复以上几步操作,直至目标程序改变地址和数据,重复以上几步操作,直至目标程序(OBJ文件文件)结束。结束。字节写周期是自动定时的,一般不超过字节写周期是自动定时的,一般不超过1.5mS查询数据查询数据89C51可以通过数据查询来检测一个写周期是否结束。可以通过数据查询来检测一个写周期是否结束。若数据未写完,则从若数据未写完,则从P0.7引

90、脚上读引脚上读到的是该数据的最高位的到的是该数据的最高位的反码。当写周期结束后,读出值即为写入值。反码。当写周期结束后,读出值即为写入值。准备好准备好/忙忙(RDY/BSY)信号信号从从图图2-19中可看出,编程期间中可看出,编程期间ALE/PROG为高电平后,为高电平后,P3.4引脚被拉成低电平,表示引脚被拉成低电平,表示BUSY,编程结束后,编程结束后,ALE/PROG为低电平,表示为低电平,表示READY。编程校验编程校验如果锁定位如果锁定位LB1和和LB2没有被编程,代码数据则可读没有被编程,代码数据则可读回,用来校验。锁定位不能直接被校验,只能通过观察它们回,用来校验。锁定位不能直接

91、被校验,只能通过观察它们的功能是否被允许而间接得到证实。的功能是否被允许而间接得到证实。芯片擦除芯片擦除通过正确的控制信号的组合,并保持通过正确的控制信号的组合,并保持ALE/PROG引脚脉冲引脚脉冲宽度宽度(低电平低电平)约约10ms,则可对,则可对EPROM阵列和三个锁定位进行电阵列和三个锁定位进行电擦除,擦除后代码阵列全为擦除,擦除后代码阵列全为“1”。注意,在对程序存储器进行。注意,在对程序存储器进行重新编程前必须执行片擦除操作。重新编程前必须执行片擦除操作。读特征字节读特征字节89C51单片微机内有三个特征字节,地址为单片微机内有三个特征字节,地址为030H、031H和和032H,分

92、别用来指示该器件的生产厂商、型号和编程电压。,分别用来指示该器件的生产厂商、型号和编程电压。(030H)=1EH表示表示ATMEL公司生产。公司生产。(031H)=51H表示型号为表示型号为89C51=61H表示型号为表示型号为89LV51(032H)=FFH表示编程电压为表示编程电压为12V=05H表示编程电压为表示编程电压为5VEND图图21 80C51的内部结构图的内部结构图图图22 80C51/80C52的封装及逻辑图的封装及逻辑图图图2280C51/80C52的封装及逻辑图的封装及逻辑图图图23 非总线型单片微机引脚示意图非总线型单片微机引脚示意图 图图24 指令寄存器和指令译码器指

93、令寄存器和指令译码器 图图25 算术逻辑运算单元算术逻辑运算单元ALU 图图26 80C51单片微机的时钟电路单片微机的时钟电路 图图27 振荡器的结构和振荡电路原理振荡器的结构和振荡电路原理图图28 80C51单片微机指令时序单片微机指令时序 图图29 80C51单片微机存储器映象图单片微机存储器映象图 图图210 片内数据存储器各部分地址空间分布图片内数据存储器各部分地址空间分布图 图图211P0口位结构原理图口位结构原理图图图212 P1口位结构原理图口位结构原理图 图图213 P2口位结构原理图口位结构原理图图图214 P3口位结构原理图口位结构原理图图图215 复位电路结构图复位电路

94、结构图图图216 复位电路复位电路图图217 80C51单片微机低功耗方式的内部结构单片微机低功耗方式的内部结构 图图218 89C51的闪速存储器编程和校验的闪速存储器编程和校验 表表21 工作寄存器组工作寄存器组RS1RS0组号组号寄存器寄存器R0R7地址地址000组组00H07H011组组08H0FH102组组10H17H113组组18H1FH表表22 字节地址和位地址的关系字节地址和位地址的关系 表表23 特殊功能寄存器特殊功能寄存器SFR的名称和地址的名称和地址 表表24 特殊功能寄存器特殊功能寄存器(SFR)的位地址的位地址 表表2580C51并行并行I/O接口的异同接口的异同 表表26 特殊功能寄存器特殊功能寄存器SFR的复位状态的复位状态 表表27 待机和掉电保护方式时引脚状态待机和掉电保护方式时引脚状态表表28 89C51闪速存储器的编程方式闪速存储器的编程方式 结束语结束语谢谢大家聆听!谢谢大家聆听!151

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号