版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.1CPU单元1.运算器运算器由可进行8位算术/逻辑运算的ALU单元,8位的累加器ACC,寄存器B,8位的暂存器1(TMP1)、暂存器2(TMP2)和程序状态寄存器PSW组成。算术/逻辑运算单元ALU:可对4位(半字节)、8位(1字节)和16位(2字节)的数据进行加、减、乘、除、加1、减1、BCD数十进制调整等算术运算,也可进行与、或、异或、求补、循环移位等逻辑操作。累加器ACC:用于向ALU提供操作数和存放运算结果。运算时将操作数经暂存器2(TMP2)送至ALU,与来自暂存器1(TMP1)的操作数在ALU中进行运算,运算结果又送回ACC。下一页返回2.1CPU单元此外,ACC在51单片机内部经常作为数据传送中转站,是微处理器中最繁忙的一个寄存器。在51汇编指令中用助记符A来表示。2.控制器控制器由指令寄存器IR、指令译码器ID和控制逻辑电路组成。指令寄存器IR:保存当前正在执行的一条指令,当执行一条指令时,先把指令从程序存储器(ROM)中取到指令寄存器IR中。指令内容含操作码和地址码两部分,操作码送往指令译码器ID,形成相应的微操作控制信号;地址码送往操作数地址形成电路,形成实际操作数地址。上一页下一页返回2.1CPU单元3.程序计数器PC程序计数器PC是一个16位寄存器,由两个8位的计数器PCH及PCL组成(但PC不属于特殊功能寄存器SFR的空间,其不可寻址)。程序运行过程中,CPU把PC的内容作为地址,从程序存储器(ROM)中取出指令码,取完后,PC内容自动加1。所以,PC实际上是程序的字节地址自动加1计数器,PC中的内容是将要执行的下一条指令的地址,改变PC的内容就可改变程序执行的方向。因此,在执行程序跳转或中断时,给PC置入新的地址即可,在子程序返回时,将断点处的下一个地址值置入PC就完成了中断返回功能。上一页返回2.251单片机存储器的配置在一般微机的存储器配置中,ROM和RAM可以随意安排在一个地址范围内,CPU访问存储器时,其地址对应的存储器单元,可以是ROM,也可以是RAM,并不区分访问ROM和RAM类的指令,即用同类访问指令,此种存储器结构称为普林斯顿结构。从本节以后,将程序存储器简称为ROM,数据存储器简称为RAM,不再另外说明。2.2.1程序存储器ROM空间ROM用于存放编好的程序和表格常数。ROM通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB地址空间内任意跳转,但不能使程序从ROM空间转移到RAM空间。下一页返回2.251单片机存储器的配置当引脚EA接低电平(接地)时,51单片机片内ROM不起作用,CPU只能从片外ROM中取指令,地址可以从0000H开始编址。这种接法适用于8031单片机。由于8031片内不带ROM,所以使用时必须使EA=0,以便能够从片外扩展ROM中读取指令。51单片机从片内ROM和片外ROM取指令时,执行速度相同。51单片机的ROM配置如图2.2所示。ROM低地址的40多个单元是留给系统使用的,见表2.1。存储单元0000H~0002H用作51单片机上电复位后引导程序的存放单元。因为51单片机上电复位后程序计数器的内容为0000H,所以CPU总是从0000H开始执行程序。如果在这3个单元中存有转移指令,那么程序就被引导到转移指令指定的ROM空间去执行。0003H~002AH单元均匀地分为5段,每段8字节,用作5个中断服务程序的入口。上一页下一页返回2.251单片机存储器的配置例如,当外部中断引脚INT0(P3.2)有效时,即引起中断申请,CPU响应中断后自动将地址0003H装入PC,程序就自动转向0003H单元开始执行。如果事先在0003H~000AH存有引导(转移)指令,程序就被引导(转移)到指定的中断服务程序空间去执行。这里,0003H称为中断矢量地址,相应51单片机的5个中断矢量地址均可在表2.1中找到。当51单片机片内4KBROM容量不够时,可选择8KB、16KB、32KB的89C52、89C54、89C58等单片机。但应尽量避免外扩ROM空间而增加硬件的负担。在极特殊的情况26下,才应外扩ROM空间执行外部程序。执行外部程序时的硬件连接如图2.3所示。上一页下一页返回2.251单片机存储器的配置2.2.2数据存储器RAM空间数据存储器RAM用于存放运算的中间结果、数据暂存和缓冲、标志位等。RAM也分为片内和片外两大部分,即片内RAM和片外RAM。51单片机片外RAM为64KB,地址从0000H~FFFFH;片内存储器空间为256B,地址从0000H~00FFH。1.片外RAM如图2.2所示,片外RAM与片内RAM空间的低地址部分(0000H~00FFH)是重叠的,51单片机有MOV和MOVX两种指令,用以区分片内、片外RAM空间。片内RAM使用MOV指令,片外64KBRAM空间专门为MOVX指令(使引脚RD或WR信号有效)所用。上一页下一页返回2.251单片机存储器的配置图2.4所示是访问2KB片外RAM时的硬件连接图。在这种情况下,CPU执行片内ROM中的指令(EA接VCC)。P0口用作RAM的地址/数据总线,P2口中的3位也作为RAM的页面地址。访问片外RAM期间,CPU根据需要发送RD和WR信号。2.片内RAM片内RAM最大可寻址256个单元,它们又分为两部分:低128字节(00H~7FH)是真正的RAM区;高128字节(80H~FFH)为特殊功能寄存器(SFR)区。如图2.5所示。低128字节和高128字节RAM中的配置及含义如图2.6和图2.7所示。上一页下一页返回2.251单片机存储器的配置00H~1FH地址安排为4组工作寄存器区,每组有8个工作寄存器(R0~R7),共占32个单元,见表2.2。通过对程序状态字PSW中RS1、RS0的设置,每组寄存器均可选作CPU的当前工作寄存器组。若程序中并不需要4组,那么其余可用作一般RAM单元。CPU复位后,选中第0组寄存器为当前的工作寄存器。2)高128字节RAM———特殊功能寄存器(SFR)51单片机片内高128字节RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80H~FFH的RAM空间中。这些特殊功能寄存器如图2.7所示。各SFR的名称及含义如表2.3所示。在这21个特殊功能寄存器中,11个具有位寻址能力,其字节地址正好能被8整除,其地址分布见表2.3。在51单片机中,寄存器只是CPU里特定地址的数据存储器而已。若使用汇编编程,必须熟练掌握;若使用C语言编程,则不太重要。上一页下一页返回2.251单片机存储器的配置下面介绍部分特殊功能寄存器,其余将在后续章节中讲述。(1)累加器ACC(E0H)。累加器ACC是51单片机最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数取自ACC,许多运算中间结果也存放于ACC。在指令系统中用A作为累加器ACC的助记符。(2)寄存器B(F0H)。在乘、除指令中,用到了8位寄存器B。乘法指令的两个操作数分别取自A和B,乘积高位存于B和低位存于A两个8位寄存器中。除法指令中,A中存放被除数,B中存放除数,商存放于A,余数存放于B。上一页下一页返回2.251单片机存储器的配置(3)程序状态寄存器PSW(D0H)。PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。PSW除有确定的字节地址(D0H)外,每一位均有位地址,各位的含义及其格式见表2.4。RS0和RS1(PSW.3和PSW.4):工作寄存器组选择控制位。这两位的值可决定选择哪一组工作寄存器为当前工作寄存器组。通过用户用软件改变RS1和RS0值的组合,以切换当前选用的工作寄存器组,其组合关系见表2.5。51单片机上电复位后,RS1=RS0=0,CPU自动选择第0组为当前工作寄存器组。上一页下一页返回2.251单片机存储器的配置根据需要,可利用传送指令对PSW整字节操作或用位操作指令改变RS1和RS0的状态,以切换当前工作寄存器组。这样的设置为程序中保护现场提供了方便。(4)堆栈指针SP(81H)。堆栈指针SP为8位特殊功能寄存器,SP的内容可指向51单片机片内00H~7FHRAM的任何单元。系统复位后,SP初始化为07H,即指向07H的RAM单元。51单片机同一般微处理器一样,设有堆栈。在片内RAM中专门开辟出来一个区域,数据的存取是以“后进先出”的结构方式处理数据。这种数据结构方式对于处理中断、调用子程序都非常方便。上一页下一页返回2.251单片机存储器的配置堆栈的操作有两种:一种叫数据压入(PUSH),另一种叫数据弹出(POP)。在图2.8中,假若有8个RAM单元,每个单元都在其右面编有地址,栈顶由堆栈指针SP自动管理。每次进行压入或弹出操作以后,堆栈指针便自动调整以保持指示堆栈顶部的位置。这些操作可用图2.8说明。(5)数据指针DPTR(83H,82H)。DPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。DPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便对64KB片外RAM作间接寻址。上一页下一页返回2.251单片机存储器的配置(6)I/O端口P0~P3(80H,90H,A0H,B0H)。除上述21个SFR以外,还有一个16位的PC,在2.1节中曾提到过,且不可寻址的。图2.9所示为各个SFR所在的字节地址位置。空格部分为未来设计新型芯片可定义的SFR位置。上一页返回2.3时序与复位2.3.1时序分析51系列单片机与其他微机一样,从ROM中取指令和执行指令过程中的各种微操作,都是按着节拍工作的。51单片机片内有一个节拍发生器用来提供工作节拍,即片内的振荡脉冲电路。在51系列单片机的111条指令里,除了执行乘法与除法指令需要4个机器周期外,其余指令都能在1个或2个机器周期执行完毕。尽管如此,有些指令的长度为1B,有些为2B,还有少数指令为3B。对于不同的指令,CPU如何读取与执行呢?其工作时序如图2.10所示。首先是地址锁存使能引脚ALE,每个机器周期送出两个脉冲(分别是在S1及S4时),以锁存P0输出的地址(A0~A7),CPU进行读取存储器的动作。对于不同的指令类型,其动作分别说明如下。下一页返回2.3时序与复位(1)1个机器周期、1B的指令,如CLRC指令,在S1时读取指令,在S6时执行完毕;而在S4时读取下条指令,但并不使用它,直到下个机器周期的S1时再重新读取下条指令。(2)1个机器周期、2B的指令,如INCdirect指令,在S1时读取指令,在S4时读取第二个字节,在S6时执行完毕。在下个机器周期的S1时读取下条指令,以此类推。(3)2个机器周期、1B的指令,如RET指令,在S1时读取指令,而在S4及下个机器周期的S1、S4时分别读取下条指令,由于指令尚未执行完毕,所以这三个阶段的指令读取都会被放弃。直到第二个机器周期的S6,指令执行完毕后,CPU才会在第三个机器周期的S1重新读取下条指令,才是有效的读取。上一页下一页返回2.3时序与复位(4)另外一种2个机器周期、1B的指令为存取外部存储器数据的指令,即MOVX指令。2.3.2时序单位51单片机的基本时序定时单位有4个,即振荡周期、状态周期、机器周期和指令周期,将它们分别介绍如下。(1)振荡周期:晶体振荡器的频率为fosc,其倒数是晶振的振荡周期,为最小的时序单位。(2)状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,状态周期也称时钟周期,其包含2个振荡周期。上一页下一页返回2.3时序与复位(3)机器周期(MC):1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。(4)指令周期:执行一条指令所需的时间。一个指令周期含1~4个机器周期,依据指令不同而不同。4个时序单位从小到大依次是节拍(振荡脉冲周期,1/fosc)、状态周期(时钟周期)、机器周期和指令周期,如图2.11所示。上一页下一页返回2.3时序与复位2.3.3复位51系列单片机与其他微处理器一样,在启动时都需要复位,使CPU及系统各部件处于确定的初始状态,并从初态开始工作。如其中的功能之一是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也须按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表2.6所示,表中的符号意义如下:A=00H:表明累加器已被清0。PSW=00H:表明选寄存器0组为工作寄存器组。SP=07H:表明堆栈指针指向片内RAM07H字节单元,根据堆栈操作的先加后减法则,第一个被压入的数据被写入08H单元中。上一页返回2.4节电方式图2.12所示为实现这两种方式的内部电路。从图中可见,若IDL=0,则51单片机将进入空闲运作方式。在这种方式下,振荡器仍继续运行,但IDL封锁了去CPU的“与”门,故CPU此时得不到时钟信号。而中断、串行口和定时器等环节却仍在时钟控制下正常运行。掉电方式下(PD=0),此时完全不提供时钟脉冲,振荡器冻结,功率损耗降至最低。图2.12中,PD和IDL均为PCON中PD和IDL触发器的Q输出端。空闲方式和掉电方式是通过对SFR中的PCON(地址87H)相应位置1而启动的,如图2.13所示,其中各符号的名称和功能如下。返回2.5输入/输出端口2.5.1P0口P0为8位、可位寻址的输入/输出端口,图2.14为其中一位的内部结构,其特点说明如下。(1)P0的8位皆为漏极开路输出(OpenDrain,OD),每个引脚可驱动8个LS型TTL负载。(2)P0内部无上拉电阻,执行输出功能时,外部必须接上拉电阻(10kΩ即可)。(3)若要执行输入功能,必须先输出高电平“1”才能读取该口所连接的外部数据。(4)若系统连接外部存储器,则P0可作为地址总线(A0~A7)及数据总线(D0~D7)的复用引脚,此时内部具有上拉电阻,不用外接。下一页返回2.5输入/输出端口2.5.2P1口P1为8位、可位寻址的输入/输出端口,图2.15为其中一位的内部结构,其特点说明如下。(1)P1内部具备约30kΩ上拉电阻,执行输出功能时,无须连接外部上拉电阻。(2)P1的8位类似于漏极开路输出(OD),但已内接上拉电阻,每个引脚可驱动4个LS型TTL负载。(3)若要执行输入功能,必须先输出高电平“1”才能读取该口所连接的外部数据。上一页下一页返回2.5输入/输出端口(4)若是8052/8032,则P1.0兼具Timer2的外部脉冲输入功能(即T2),P1.1兼具Timer2的捕捉/重新加载的触发输入功能(即T2EX)。(5)若是89S51/89S52,进行在线刻录(ISP,在系统编程)时,其中的P1.5作为MOSI之用,P1.6作为MISO之用,P1.7作为SCK之用。2.5.3P2口P2为8位、可位寻址的输入/输出端口,图2.16为其中一位的内部结构,P2的特点说明如下。上一页下一页返回2.5输入/输出端口2.5.4P3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 完善职业发展体系
- 人工智能巨头:科技领军企业分析
- 消防安全云平台推广方案
- 语文课堂常规培训课件
- 物流服务信誉责任书3篇
- 隧道工程矿山法基础知识
- 四川天府新区第十二幼儿园2025年教师招聘备考题库及答案详解一套
- 分离技术论文
- 攀枝花市东区公益性岗位安置备考题库及参考答案详解1套
- 六下《正比例与反比例》教学设计
- 初中寒假前心理健康教育主题班会课件
- 事业编退休报告申请书
- 原发性骨髓纤维化2026
- 2023-2024学年北京市海淀区清华附中八年级(上)期末数学试卷(含解析)
- 临终决策中的医患共同决策模式
- 2025年贵州省辅警考试真题附答案解析
- 半导体厂务项目工程管理 课件 项目6 净化室系统的设计与维护
- 河南省洛阳强基联盟2025-2026学年高二上学期1月月考英语试题含答案
- 防护网施工专项方案
- 2026年中考数学模拟试卷试题汇编-尺规作图
- TCFLP0030-2021国有企业网上商城采购交易操作规范
评论
0/150
提交评论