




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章单片机结构及原理,第一节单片机结构第二节单片机工作原理第三节存储器第四节输入/输出端口结构第五节CPU时序及时钟电路第六节复位和复位电路第七节89系列单片机的低功耗方式,第一节单片机的结构,一、单片机组成及结构,二、引脚定义及功能,MCS51系列单片机引脚及总线结构(a)管脚图;(b)引脚功能分类,第二节单片机的工作原理,一、指令与程序概述指令是规定计算机执行特定操作(例如加、减)的命令,CPU就是根据指令来指挥和控制计算机各部分协调地动作,完成规定的操作。指令是由二进制代码表示的,通常指令分为操作码和操作数两部分,操作码规定操作的类型,操作数给出参加操作的数据或存放数据的地址。例如“74HE0H”表示把E0H这个值送人A累加器中,其中74H为操作码,E0H为操作数。计算机全部指令的集合称为指令系统,指令系统的性能与计算机硬件密切相关,不同的计算机指令系统不完全相同。程序是根据任务要求有序地编排的指令的集合。程序的编制称为程序设计,为了运行和管理计算机所编制的各种程序的总和称为软件。,中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。它由运算部件和控制部件两大部分组成。,二、CPU的工作原理,1.运算部件运算部件是以算术逻辑单元ALU为核心,加上累加器A、寄存器B、暂存器TMP1和TMP2、程序状态寄存器PSW及专门用于位操作的布尔处理机组成的,它能实现数据的算术逻辑运算,位变量处理和数据传送操作。算术逻辑单元ALU不仅能完成8位二进制数的加(带进位加)、减(带借位减)、乘、除、加1、减1及BCD加法的十进制调整等算术运算,还能对8位变量进行逻辑“与”、“或”、“异或”、求补、清零等逻辑运算,并具有数据传送,程序转移等功能。暂存器用以暂存进入运算器之前的数据。,布尔处理机布尔处理(即位处理)是MCS51单片机ALU所具有的一种功能。单片机指令系统中的布尔指令集(17条位操作指令),存储器中的位地址空间,以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作“累加器”,构成了单片机内的布尔处理机。,2.控制器控制器是用来统一指挥和控制计算机工作的部件,它的功能是接受来自存储器中的逐条指令,进行指令译码,并通过定时和控制电路,在规定的时刻发出各种操作所需的全部内部控制信息及CPU外部所需的控制信号,使各部分协调工作,完成指令所规定的各种操作。它由指令部件、时序部件和操作控制部件等三部分组成。,各部分的功能:(1)指令部件:是一种能对指令进行分析、处理和产生控制信号的逻辑部件,也是控制器的核心。通常,由程序计数器PC、指令寄存器、指令译码器等组成。程序计数器PC(ProgramCounter)程序计数器是16位专用寄存器,用于存放和指示下一条要执行指令的地址。指令寄存器指令寄存器是8位寄存器,用于暂时存放指令,等待译码。指令译码器用于对送入指令译码器中的指令进行译码。,(2)时序部件:由时钟电路和脉冲分配器组成,用于产生操作控制部件所需的定时脉冲信号。(3)操作控制部件:可以为指令译码器的输出信号配上节拍电位和节拍脉冲,也和外部进来的控制信号组合,共同形成相应的微操作控制序列,以完成规定的操作。,三、单片机执行程序的过程计算机每执行一条指令都可分为3个阶段进行,即取指令、分析指令和执行指令。取指令阶段的任务是:根据程序计数器PC中的值,从程序存储器读出现行指令,送到指令寄存器。分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质,如指令要求操作数,则寻找操作数地址。执行指令阶段的任务是:取出操作数,然后按照操作码的性质对操作数进行操作。计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令或循环等待指令。,单片机指令执行过程示意图,第三节存储器,普林斯顿结构:一般计算机通常只有一个逻辑空间,可以随意安排ROM或RAM。访问存储器时,同一地址对应惟一的存储空间,可以是ROM也可以是RAM,并用同类访问指令,这种存储器结构称为普林斯顿结构。哈佛结构:80C51系列单片机在物理结构上有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。这种在物理上把程序存储器和数据存储器分开的结构称为哈佛结构,80C51系列有3个存储空间:1.片内外统一编址的64KB的程序存储器地址空间(用16位地址)。2.256384字节的片内数据存储器的地址空间。3.64KB片外数据存储器地址空间。在访问3个不同的逻辑空间时,应采用不同形式的指令,以产生不同的存储空间的选通信号。,89C51/S51存储器空间分布,1.程序存储器的编址计算机的工作是按照事先编制好的程序命令一条条循序执行的,程序存储器就是用来存放这些已编好的程序和表格常数,它由只读存储器ROM或EEPROM组成。2.程序运行的入口地址实际应用时,程序存储器的容量由用户根据需要扩展,而程序地址空间原则上也可由用户任意安排。但程序最初运行的入口地址,MCS51单片机是固定的,用户不能更改。程序存储器中有复位和中断源共7个固定的入口地址。,一、程序存储器,单片机复位、中断入口地址,单片机复位后程序计数器PC的内容为0000H,故必须从0000H单元开始取指令来执行程序。0000H单元是系统的起始地址,一般在该单元存放一条无条件转移指令,用户设计的程序是从转移后的地址开始存放执行的。,二、数据存储器1.工作寄存器区片内RAM为256字节,地址范围为00HFFH,分为两大部分:低128字节(00H7FH)为真正的RAM区:高128字节(80HFFH)为特殊功能寄存器区SFR。在低128字节RAM中,00H1FH共32单元是4个通用工作寄存器区。每一个区有8个通用寄存器R0R7。,在低128字节RAM区中,00H-1FH地址为通用工作寄存器区,共分为4组,每组由8个工作寄存器(R0R7)组成,共占32个单元,为工作寄存器的地址表。每组寄存器均可选作CPU当前的工字PSW中RS1、RS0的设置来决定CPU当前使用哪一组。若程序中并不需要四组,那么其余的可用作一般的数据缓冲器。CPU在复位后,选中第0组工作寄存器。,2.位寻址区20H2FH单元为位寻址区,这16个单元(共计128位)的每1位都有一个8位表示的位地址,位地址范围为00H7FH。位寻址区的每1位都可当作软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志,位控制变量存于位寻址区内。同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲。,RAM位寻址区位地址表,3.数据缓冲区30H7FH是数据缓冲区,也即用户RAM区,共80个单元。MCS52子系列片内RAM有256个单元,前两个的单元数与地址都和MCS51子系列一致。用户RAM区从30HFFH,共208个单。,三、专用寄存器89C51S51有21个(89C52S52有27个)专用寄存器SFR(SpecialFunctionRegister),亦称特殊功能寄存器,离散地分布在片内数据存储器的高128字节地址80HFFH中,访问这些专用寄存器仅允许使用直接寻址的方式。这些SFR中包括了管理片内和片外资源(指定时器、中断系统及外部扩展的存储器、外围芯片等)的全部要素。用户通过对SFR进行编程操作,即可方便地管理与单片机有关的所有资源,并且可方便地完成各种操作和运算。专用寄存器并未占满80HFFH整个地址空间,对空闲地址的操作是无意义的。若访问到空闲地址,则读出的是随机数。,专用寄存器,1.程序状态字寄存器PSWPSW是8位寄存器,用于作为程序运行状态的标志,其格式如下:P:奇偶标志,该位始终跟踪累加器A内容的奇偶性。如果有奇数个“1”,则置P为l,否则置0。在80C51的指令系统中,凡是改变累加器A中内容的指令均影响奇偶标志位P。Fl:用户标志,由用户置位或复位。OV:溢出标志,有符号数运算时,如果发生溢出,OV置“1”,否则清“0”,对于l字节有符号数,如果用最高位表示正、负号,则只有7位有效位,能表示-128+127之间的数,如果运算结果超出了这个数值范围,就会发生溢出,此时,OV=l,否则OV=0。例如下面所示两个正数相加超过+127范围时,使其符号由正变负,由于溢出得负数,结果是错误的,这时OV=1;两个负数相加,和小于-128,由于溢出得正数,OV=1。此外在乘法运算中,表示乘积超过255;在除法运算中,表示除数为零。,RS0、RS1:工作寄存器组选择位,用以选择指令当前工作的寄存器组。由用户用软件改变RS0和RS1的组合,以切换当前选用的工作寄存器组。单片机在复位后,RS0=RS1=0,CPU自然选中第0组为当前工作寄存器组。根据需要,用户可利用传送指令或位操作指令来改变其状态,这样的设置为程序中快速保护现场提供了方便。,F0:用户标志位,同F1。AC:半进位标志,当进行加法或减法运算时,如果低半字节(位3)向高半字节有进位或借位,AC置“1”,否则清“0”。AC亦可用于BCD码调整时的判别位。C(CY):进位标志,在指令中把CY简写为C。在进行加法或减法运算时,如果操作结果最高位(位7)有进位或有借位,CY置“1”,否则清“0”。在进行位操作时,CY又作为位操作累加器C。,2.累加器ACC累加器(ACC,简称累加器A)为一个8位寄存器,它是CPU中使用最频繁的寄存器。进入ALU作算术和逻辑运算的操作数多来自于A,运算结果也常送回A保存。3数据指针寄存器DPTR由于89C51S51C52S52可以外接64KB的数据存储器和IO接口电路,因此在控制器中设置了一个16位的专用地址指针。它主要用以存放16位地址,作间址寄存器使用。可用于对外部存储器和IO口进行寻址,也可拆成高字节DPH和低字节DPL两个独立的8位寄存器,分别占据83H和82H两个地址。,4B寄存器在乘、除法运算中用B寄存器暂存数据。乘法指令的两个操作数分别取自A和B,结果再存于BA中。除法指令中被除数取自A,除数取自B,结果商存于A中,余数存放在B中。在其它指令中,B寄存器可作为RAM中的一个单元来使用。B寄存器的地址为B0H。,5栈指针SP(StackPointer)栈指针SP是一个8位的特殊功能寄存器,在这个寄存器中始终存放着栈顶的地址。每存人(或取出)一个字节数据,SP就自动加1(或减1)。SP始终指向新的栈顶。栈(也称堆栈)是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。栈的特点是按照“先进后出”的原则存取数据。,栈的操作方式:1)指令方式:即使用栈操作指令进行“进出栈”操作。2)自动方式:即在调用子程序或产生中断时,返回地址(断点)自动进栈。程序返回时,断点地址再自动弹回PC。栈的初始设置:在使用栈前,一般要先给它赋值,规定栈的起始位置,即栈底。系统复位后,SP初始化为07H,使得栈事实上由08H开始。因为08H1FH单元为工作寄存器区13,20H2FH为位寻址区,在程序设计中很可能要用到这些,所以用户在编程时最好把SP初值设为2FH或更大值,当然同时还要顾及其允许的深度。在使用栈时要注意,由于栈的占用,会减少内部RAM的可利用单元,如设置不当,可能引起内部RAM单元冲突。,6端口P0P3专用寄存器P0P3分别是I/O端口P0P3的锁存器。端口某一位用于输入信号时,对应的锁存器必须先置“1”。单片机进人复位状态后,除SP为07H,P0P3为FFH外,其余均为0。,第四节输入/输出端口结构,一、P0口,1.P0作IO使用时,CPU内部发控制电平“0”封锁“与”门,将输出上拉场效应管FET(T1)截止,同时使多路开关MUX把锁存器Q与输出驱动场效应管FET(T2)的栅极接通。2.当P0作输出口时,内部总线与P0端口同相位,写脉冲加在D触发器CL上,内部总线就会向端口引脚输出数据。3.当P0作输人口时,具有读引脚和读端口两种情况。,4.P0端口作为地址数据总线使用时,可分为两种情况:一种是以P0引脚输出地址数据信息。这时CPU内部发控制电平“1”,打开“与”门,同时使多路开关MUX把CPU内部地址数据线与驱动场效应管T2栅极反相接通。另一种情况是由P0输人数据,这时输人信号是从引脚通过输入缓冲器进入内部总线。结论:P0口在有外部扩展存储器时被作为地址/数据总线口,此时是一个真正的双向口;在没有外部扩展存储器时,P0口也可作为通用的I/O接口,但此时只是一个准双向口。,二、P1口,P1口为准双向口,它在结构上与P0口的区别在于输出驱动部分。其输出驱动部分由场效应管T与内部上拉电阻组成。当其某位输出高电平时,可以提供拉电流负载,不必像P0口那样需要外接上拉电阻。P1口只有通用I/O接口一种功能(对51子系列),其输入输出原理特性与P0口作为通用I/O接口使用时一样。,对于89S51C52S52单片机,P1口除了可以作为一般的IO口,其中5位还有第二功能,见表3-5。由表可见,其P1.0、P1.1用于定时器2(89S51C51除外),P1.5、P1.6、P1.7用于在系统编程(89C51C52除外),实际上是把编好的程序通过所定义的这3根SPI接口进行在线下载。,三、P2口,当作为准双向通用I/O口使用时,控制信号使转换开关接向左侧,锁存器Q端经反相器3接T,其工作原理与P1相同,也具有输入、输出、端口操作三种工作方式。当作为外部扩展存储器的高8位地址总线使用时,控制信号使转换开关接向右侧,由程序计数器PC来的高8位地址PCH,或数据指针DPTR来的高8位地址DPH经反相器3和T原样呈现在P2口的引脚上,输出高8位地址A8A15。,四、P3口,当锁存器输出Q为1时,打开“与非”门,端口用于第二功能(详见表36)情况下输出,第二输出功能端内容通过“与非”门和FET送至端口引脚;输人时,端口引脚的第二功能信号通过右边的缓冲器送到第二输入功能端。,五、端口负载能力和接口要求P0口的输出级与P1P3口的输出级在结构上是不同的,主要不同点是无内部上拉电阻,因此它们的负载能力和接口要求也各不相同,P1P3口也被称作准双向口。(1)P0口的每一位可驱动8个LSTTL负载。P0既可作IO端口使用,也可作地址数据总线使用。当把它作通用口输出时,输出级是开漏电路,在驱动NMOS或其它拉电流负载时,只有外接上拉电阻,才有高电平输出;作地址数据总线时,无需外接电阻,此时不能再作IO口使用。(2)P1P3口输出级接有内部上拉负载电阻,每位可驱动3个LSTTL负载。(3)P0P3口都是双向IO口,作输入时,必须先在相应端口锁存器上写“1”,使驱动管FET截止。系统复位时,端口锁存器全为“1”。如果程序执行后没有改变过IO口的状态,则作为输入时不必再写“1”。,第五节CPU时序及时钟电路,一、CPU时序及有关概念1.振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期。2.状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。3.机器周期:一个机器周期包含6个状态周期S1S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。4.指令周期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是由一个或几个机器周期组成。MCS-51系统中,有单周期指令、双周期指令和四周期指令。,基本时序关系,二、85C51的指令时序80C51的一个机器周期包含6个状态周期s,每一个状态周期划分为两个节拍,所以一个机器周期可依次表示为S1P1,S1P2,S2P1,S2P2,S6P1,S6P2,共12个时钟周期。,三、振荡器和时钟电路1.内部时钟方式利用芯片内部的振荡器,然后再引脚XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,C1和C2至通常选择为30pF左右;外接陶瓷谐振器时C1和C2约为47pF。,2.外部时钟方式此方式是利用外部振荡脉冲接入XTALl。对于CHMOS型的89C51S51C52S52单片机,因内部时钟发生器的信号取自反相放大器的输人端,故采用外部时钟源时,接方式为外时钟信号接至XTALl,XTAL2悬空。外部时钟信号通过一个二分频的触发器而成为内部时钟信号,要求高、低电平的持续时间都大于20ns,一般为频率低于24MHz33MHz的方波。当多块芯片同时工作时,这种方式便于同步。,接法,单片机外部时钟接法表,第六节复位和复位电路,一、内部复位信号的产生单片机的整个复位电路包括芯片内、外二部分,外部电路产生的复位信号通过复位引脚RST进入片内一个斯密特触发器(抑制噪声作用)再与片内复位电路相连,复位电路每个机器周期对斯密特触发器的输出采样一次。当RST引脚端保持两个机器周期(24个时钟周期)以上的高电平时,80C51进入复位状态。,二、复位状态,三、外部复位电路设计单片机的外部复位电路有上电自动复位和按键手动复位两种。按键手动复位又分为:按键电平复位和按键脉冲复位。,上电复位,是指计算机加电瞬间,要在RST引脚上出现大于10ms的正脉冲,使单片机进入复位状态。按钮复位是指用户按下复位按钮,使单片机进入复位状态。,低功耗方式也称为省电方式,89系列单片机除具有一般的程序执行方式外,还具有两种低功耗方式:即待机(或称空闲)方式和掉电(或称停机)方式,备用电源直接由Vcc端输入。第1种方式可使功耗减小,电流一般为正常工作时的15,而后一种方式可使功耗减到最小,电流一般为15A以下,最小可降到0.6A。因此,这种单片机特别适合于低功耗应用场合。,第七节89系列单片机的低功耗方式,一、电源控制寄存器PCON待机(或称空闲)方式和掉电(或称停机)方式都是由专用寄存器PCON(电源控制寄存器)中的有关位来控制,其各位作用如下:(1)SMOD:波特率倍增位。在串行口工作方式1、2或3下,SMOD=1使波特率加倍。(2)GFl和GF0:通用标志位。由软件置、复位。(3)PD:掉电方式位。若PD=1,进入掉电工作方式。(4)IDL:待机方式位。若IDL=1,进入待机工作方式。如果PD和IDL同时为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 排水管道调度与优化方案
- 风电场并网设计方案
- 音乐治疗专业毕业论文
- 大专需要毕业论文吗
- 本科学生毕业论文
- 地下排水管网改造项目的成本控制方案
- 社区卫生服务站应急预案
- 成都人力资源管理师考试真题及答案
- 机械专业毕业论文初稿
- 重庆大学本科毕业论文
- 血液肿瘤科知识培训课件
- 网络安全产品代理销售合同
- 单位对个人教育教学情况定性综合分析
- 《2025年CSCO HR阳性晚期乳腺癌治疗指南》解读
- 广播工程系统施工方案
- 新能源汽车概论 课件 5.1新能源汽车高压安全与防护
- 浙江省温州市鹿城区2025年小升初总复习数学测试卷含解析
- 带状疱疹护理查房
- 2025福建德化闽投抽水蓄能有限公司招聘15人笔试参考题库附带答案详解
- 电力服务收费标准
- VR体验馆商业计划书
评论
0/150
提交评论