单片机引脚及其功能_第1页
单片机引脚及其功能_第2页
单片机引脚及其功能_第3页
单片机引脚及其功能_第4页
单片机引脚及其功能_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

(优选)第章单片机引脚及其功能当前1页,总共138页。第2章89C51单片机硬件结构和原理§2.1 89C51单片机芯片内部结构及特点§2.2 89C51单片机引脚及其功能§2.3 89C51单片机存储器配置§2.4 时钟电路及89C51CPU时序§2.5 复位操作§2.6 89C51单片机的低功耗工作方式§2.7 输出/输入端口结构当前2页,总共138页。§2.1 89C51单片机芯片内部结构及特点§2.1.189C51单片机的基本组成§2.1.289C51单片机芯片内部结构当前3页,总共138页。§2.1.189C51单片机的基本组成89C51CPU振荡器和时序OSC64KB总线扩展控制器数据存储器256BRAM/SFR2×16位定时器/计数器可编程I/O程序存储器4KBFLASHROM可编程全双工串行口外中断内中断控制并行口串行通信外部时钟源外部事件计数当前4页,总共138页。2.1.189C51单片机的基本组成另外89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式

1.在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。此时的电流可降到大约为正常工作方式的15%。

2.在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一次硬件复位为止。

这种方式下的电流可降到15μA以下,最小可降到0.6μA。当前5页,总共138页。2.1.189C51单片机的基本组成89C51单片机还有一种低电压的型号,即89LV51,除了电压范围有区别之外,其余特性与89C51完全一致。89C51/LV51是一种低功耗/低电压、高性能的8位单片机。它采用了CMOS工艺和高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统都与MCS51兼容;片内的FlashROM允许在系统内改编程序或用常规的非易失性存储器编程器来编程。因此89C51/LV51是一种功能强、灵活性高,且价格合理的单片机,可方便地应用在各种控制领域。当前6页,总共138页。§2.1.289C51单片机芯片内部结构一、结构图二、结构组成当前7页,总共138页。一、结构图由中央处理单元(CPU)、存储器(ROM及RAM)和I/O接口组成。89C51单片机内部结构如图2-2所示。当前8页,总共138页。P0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器128BRAM4KBROMB寄存器暂存器1暂存器2ACCSP程序地址寄存器缓冲器PC增1PCDPTR中断、串行口和定时器PSWP1锁存器P1驱动器P3锁存器P3驱动器定时控制指令寄存器指令译码器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARESET89C51单片机内部结构图返回运算器控制器存储器I/O接口当前9页,总共138页。二、结构组成(一)、中央处理单元(CPU)(二)、存储器(三)、I/O接口返回当前10页,总共138页。1、中央处理单元(89C51CPU)1)运算器返回2)控制器当前11页,总共138页。1)运算器

(1)8位的ALU:可对4位、8位、16位数据进行操作。(2)8位累加器ACC(A):它经常作为一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回ACC。(3)8位程序状态寄存器PSW:指示指令执行后的状态信息供程序查询和判别用。(4)8位寄存器B:在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不能做乘除运算时,作为通用寄存器(5)布尔处理器:专门用于处理位操作的,以PSW中的C为其累加器。(6)2个8位暂存器:ALU的两个入口处当前12页,总共138页。2)控制器(1)程序计数器PC(16位)(2)指令寄存器IR及指令译码器ID(3)振荡器和定时电路返回当前13页,总共138页。(1)程序计数器PC(16位)由两个8位计数器PCH、PCL组成。PC是程序的字节地址计数器,PC内容为将要执行的指令地址。改变PC内容,改变执行的流向。PC可对64KB的ROM直接寻址,也可对89C51片内RAM寻址。返回当前14页,总共138页。(2)指令寄存器IR及指令译码器ID由PC中的内容指定ROM地址取出来的指令经IR送至ID由ID对指令译码产生一定序列的控制信号,以执行指令所规定的操作。返回当前15页,总共138页。(3)振荡器和定时电路89C51单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2MHz~12MHz。该信号作为89C51工作的基本节拍即时间的最小单位。返回当前16页,总共138页。2、存储器1)程序存储器(ROM)2)数据存储器(RAM)返回当前17页,总共138页。1)程序存储器(ROM)89C51片内为4KBFlashROM。地址从0000H开始。用于存放程序和表格常数。返回当前18页,总共138页。2)数据存储器(RAM)89C51RAM均为128B,地址为00H~7FH。用于存放运算的中间结果、数据暂存以及数据缓冲等。这128B的RAM中有32个字节单元可指定为工作寄存器。片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80H~FFH。后面详细介绍。返回当前19页,总共138页。3、I/O接口89C51有四个8位并行I/O接口P0~P3。它们都是双向端口,每个端口各有8条I/O线。P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。当前20页,总共138页。§2.2.1 89C51单片机引脚图2-3是89C51/LV51的引脚结构图,有双列直插封装(DIP)方式和方形封装方式。当前21页,总共138页。图2-389C51/LV51的引脚结构

当前22页,总共138页。一、电源引脚:Vcc和Vss1.Vcc(40脚):电源端,为+5V。2.Vss(20脚):接地端。当前23页,总共138页。二、时钟电路引脚:XTAL1和XTAL2XTAL2(18脚):片内它是振荡电路反向放大器的输出端XTAL1(19脚):在片内它是振荡电路反向放大器的输入端当前24页,总共138页。三、控制信号引脚:

RST、ALE、PSEN和EARST/VPD(9脚):RST:复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。当前25页,总共138页。三、控制信号引脚:

RST、ALE、PSEN和EAALE/PROG(30脚):ALE:地址锁存允许信号端。当89c51上电正常后,ALE引脚不断向外输出正脉冲信号,此频率为震荡频率的1/6可以用作对外输出的时钟或定时信号。CPU访问片外存储器时,该引脚输出信号作为锁存低8位地址的控制信号。PROG:对片内带有4KBFlashROM的89C51单片机编程写入时,作为编程脉冲输入端。当前26页,总共138页。三、控制信号引脚:

RST、ALE、PSEN和EAPSEN(29脚):程序存储器允许信号输出端。当89C51由片外程序存储器取指令时,每个机器周期两次PSEN有效(即输出2个脉冲。)但在此期间内每当访问外部数据存储器时,这两次有效的PSEN信号将部出现。在访问片外ROM时,定时输出负脉冲作为读片外ROM的选通信号,接片外ROM

的OE端。它的负载能力为8个LS型TTL负载。当前27页,总共138页。三、控制信号引脚:

RST、ALE、PSEN和EAEA/Vpp(31脚):EA:

外部程序存储器地址允许输入端。当该引脚接高电平时,CPU访问片内ROM并执行片内程序存储器中的指令,但当PC值超过0FFFH(片内ROM为4KB)时,将自动转向执行片外ROM中的程序。当该引脚接低电平时,CPU只访问片外ROM并执行外部程序存储器中的程序。当前28页,总共138页。EA/Vpp(31脚):Vpp:对89C51片内

FlashROM固化编程时,编程电压输入端(12-21V)。三、控制信号引脚:

RST、ALE、PSEN和EA当前29页,总共138页。四、输入/输出端口P0、P1、P2、P3准双向当I/O口作为输入时,应先向此口锁存器写入全1,此时该口引脚浮空,可作高阻抗输入。当前30页,总共138页。漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。在FlashROM编程时,P0端口接受指令字节;而在校验程序时,则输出指令字节。1、P0口:当前31页,总共138页。2、P1口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。用做输入口时,需对端口写1,通过内部上拉电阻把端口拉到高电位。在对FlashROM编程和校验时,接收低8位地址当前32页,总共138页。3、P2口:P2口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。在CPU访问片外存储器时,它输出高8位地址。在对FlashROM编程和校验时,接收高位地址和控制信号当前33页,总共138页。4、P3口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。在对FlashROM编程和校验时,接收控制信号当前34页,总共138页。表2-1P3端口引脚与复用功能表当前35页,总共138页。§2.3 89C51存储器配置§2.3.1 89C51存储器分类§2.3.2 程序存储器地址空间§2.3.3 数据存储器地址空间当前36页,总共138页。1、普林斯顿结构一般的微机结构:通常只有一个地址空间,而ROM和RAM可以随意安排在一个地址范围内的不同空间,即ROM和RAM的地址在同一个队列里的分配不同的地址空间,CPU访问时一个地址对应唯一的一个存储单元,可以是ROM也可以是RAM,并用同类访问指令。2.3.1 89C51存储器分类当前37页,总共138页。2、89C51-物理结构(哈佛结构)片内程序存储器片外程序存储器片内数据存储器片外数据存储器89C51存储器程序存储器ROM数据存储器RAM2.3.1 89C51存储器分类当前38页,总共138页。3、用户角度2.3.1 89C51存储器分类从用户角度89C51存储器分为3类片内外统一编址0000H~FFFFH的64KB程序存储器地址空间(用16位地址)64KB片外数据存储器地址空间,地址也从0000H~FFFFH编址256字节数据存储器地址空间用8位地址当前39页,总共138页。3、用户角度-存储器的空间配置片外FFFF0FFF0000EA=0片外EA=1片内PSEN

片外RAM&I/O端口FFFF0000片内SFRRAM007F80FFRDWR2.3.1 89C51存储器分类程序存储器数据存储器当前40页,总共138页。1、片内、外统一编址的64K程序存储器地址空间。CPU访问片内、片外ROM指令用MOVC。2、64K的片外数据存储器地址空间。访问片外RAM指令用MOVX。3、256字节的片内数据存储器地址空间。访问片内RAM指令用MOV。当前41页,总共138页。一、用途:二、编址:三、寻址方式:当前42页,总共138页。一、用途:用于存放编好的程序和表格常数。程序存储器通过16位程序计数器寻址。§2.3.2程序存储器地址空间二、编址:89C51片内FlashROM的容量为4KB。地址为0000H~0FFFH。片外最多可扩至64KBROM/EPROM,地址为1000H~FFFFH。片内外统一编址。当前43页,总共138页。三、寻址方式:1、当EA=“1”时:89C51的PC在0000~0FFFH范围内执行片内ROM中的程序,当指令地址超过0FFFH后就自动转向片外ROM中取指令。2、当EA=”0”时:89C51片内ROM不起作用,CPU只能从片ROM/EPROM中取指令。可以从0000H

开始寻址。由于8031片内不带ROM

,所以使用时必须EA=”0”。当前44页,总共138页。片外FFFF0FFF0000EA=0EA=1PSEN片内片外当前45页,总共138页。三、寻址方式:3、89C51从片内ROM和片外ROM取指的速度相同。当前46页,总共138页。三、寻址方式:4、程序存储器低地址的40多个单元是保留存储单元,是留给系统使用的。如表2-2所示。

表2-2保留的存储单元当前47页,总共138页。三、寻址方式:1、0000H~0002H三个单元:用作89C51上电复位后引导程序的存放单元。因为复位后PC的内容为0000H,CPU总是从0000H开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器空间去执行。当前48页,总共138页。三、寻址方式:(2)0003H~002AH单元:均分为五段,每段8个字节,用作5个中断服务程序的入口。当前49页,总共138页。四.执行外部程序时硬件连接图89C51

P1P0EAALEP3P2PSEN74HC373片外程序存储器指令

地址OE当前50页,总共138页。一、用途:用于存放运算的中间结果、数据暂存和缓冲、标志位等。分为片内,片外数据存储器

片外RAM&I/O端口FFFF0000片内SFRRAM007F80FFRDWR§2.3.3数据存储器地址空间当前51页,总共138页。二、片外RAM:(一)片内RAM地址空间(二)低128字节RAM(00H~7FH)(三)高128字节RAM(80H~FFH):

——特殊功能寄存器SFR区§2.3.3数据存储器地址空间当前52页,总共138页。1.片内128字节RAM:用MOV指令寻址2.片外64KB空间RAM:用MOVX指令89C51

P1P0EAALE

WDP3WR锁存器RAM

地址数据

6116I/O页面地址WEOEVCCP2当前53页,总共138页。(1)片内RAM地址空间寻址:用指令MOV最大可寻址256个单元。低128B(00H-7FH):真正RAM区高128B(80H-FFH):特殊功能寄存器(SFR)区地址:00H-FFH二、片内RAM:§2.3.3数据存储器地址空间当前54页,总共138页。FFH80H7FHSFR只通过直间寻址方式访问RAM可通过直间和间接寻址方式访问高128字节区低128字节区0二、片内RAM:§2.3.3数据存储器地址空间当前55页,总共138页。(2)工作寄存器区(00H~1FH)由四组(32个)工作寄存器组成,每组8个寄存器(R0-R7),共占32个单元。见表2-4。通过程序状态寄存器PSW中RS1、RS0两位设定来选择CPU的当前工作寄存器组。复位时,第0组为当前的工作寄存器。若不需要四组,则其余可作为一般RAM单元。二、片内RAM-低128位RAM:§2.3.3数据存储器地址空间当前56页,总共138页。低128字节RAM(00H~7FH)787068605850484038302820181008003组2组1组797169615951494139312921191109017A726A625A524A423A322A221A120A027B736B635B534B433B332B231B130B037C746C645C544C443C342C241C140C047D756D655D554D453D352D251D150D057E766E665E564E463E362E261E160E067F776F675F574F473F372F271F170F07通用的RAM位地址字节地址R7R0R7R0R7R0R7R0缺省寄存器组(0组)7F302F2E2D2C2B2A292827262524232221201F1817100F080700可位寻址RAM区域SP复位值通用工作寄存器当前57页,总共138页。表2-4工作寄存器地址表当前58页,总共138页。低128字节RAM-寻址方式访问128个位地址用位寻址方式访问128个字节单元用直接寻址和间接寻址。这样就能区分开00H-7FH是位地址还是字节地址这些可寻址位,通过执行指令可直接对某一位操作,如置0,清0,或判1,判0等,可用作软件标志位或用于位(布尔)处理当前59页,总共138页。(3)高128字节RAM(80H~FFH)有21个特殊功能功能寄存器。地址分布在80H~FFH的RAM空间。寻址时只允许使用直接寻址方式二、片内RAM-高128位RAM:§2.3.3数据存储器地址空间当前60页,总共138页。F0E0D0B8B0A8A0不可寻址位9890不可寻址位不可寻址位不可寻址位不可寻址位不可寻址位88不可寻址位不可寻址位不可寻址位不可寻址位80F1E1\B9B1A9A199918981F2E2D2BAB2AAA29A928A82F3E3D3BBB3ABA39B938B83F4E4D4BCB4ACA49C948C84F5E5D5\B5\A59D958D85F6E6D6\B6\A69E968E86F7E7D7\B7AFA79F978F87图2-9高128字节RAM区(SFR区,特殊功能寄存器区)字节地址

FFF0E0D0B8B0A8A09998908D8C8B8A89888783828180BACCPSWIPP3IEP2SBUFSCONP1TH1TH0TL1TL0TMDTCONPCONDPHDPLSPP0当前61页,总共138页。(三)高128字节RAM(80H~FFH)-寻址方式访问特殊功能的寄存器只允许用直接寻址方式21个特殊功能寄存器中字节地址可被8整除的具有11个,这11个寄存器具有位寻址能力。二、片内RAM-高128位RAM:当前62页,总共138页。部分特殊功能寄存器介绍累加器ACC(E0H):用A作为ACC的助记符。用于存放第一个操作数及运算结果。在乘法运算中存放一个乘数和乘积的低八位数在除法运算中存放被除数和商。二、片内RAM-高128位RAM:当前63页,总共138页。部分特殊功能寄存器介绍寄存器B(F0H):在乘法指令中,B用于存放乘数和乘积的高8位。在除法指令中用于存放除数和余数。在其它指令中用作一般的寄存器或RAM单元。二、片内RAM-高128位RAM:当前64页,总共138页。部分特殊功能寄存器介绍PSW程序状态寄存器(D0H):PSW是一个8位特殊功能的寄存器,包含了程序执行后的状态信息,供程序查询或判断用。二、片内RAM-高128位RAM:ACCYP—OVRS0RS1F0PSW(D0H)D7D6D5D4D3D2D1D0表2-6PSW程序状态字奇/偶保留溢出寄存器组选择用户标定铺进进、借位地址位名称位意义当前65页,总共138页。PSW各位的含义(1)CY位(PSW.7):进(借)位标志位。执行加法(减法)运算指令时,如运算结果最高位(D7)向前有进位(借位),CY=1;否则,CY=0。在布尔处理器中以CY为其累加器,专门用于处理位操作,如可执行置位、位清0、位取反、位等于1转移,位等于0转移、位等于1转移并清0,以及位累加器C与其他可位寻址的空间之间进行信息传送等位操作,也可使C与其他可寻址位之间进行逻辑与、逻辑或、操作,结果存放在进位标志位中。二、片内RAM-高128位RAM:当前66页,总共138页。PSW各位的含义(2)AC位(PSW.6):半进位标志位(辅助进位标志)。执行加法(减法)运算指令时,如运算结果(和或差)的低半字节(D3)向高半字节有进位(借位),AC=1;否则,AC=0。二、片内RAM-高128位RAM:当前67页,总共138页。PSW各位的含义(3)FO位(PSW.5):用户标志。用户可根据自己的需求对F0赋予一定的含义由用户自己定义、置位、复位,以作为软件标志。二、片内RAM-高128位RAM:当前68页,总共138页。PSW各位的含义(4)RS0、RS1位(PSW.3和PSW.4):工作寄存器组选择控制位。由用户用软件改变RS0和RS1的值,以切换当前选用的工作寄存器组。RS0,RS1的组合关系如表2-8

所示。上电复位时,(RS0)=(RS1)=0,CPU自然选择第0组为当前工作寄存器组。根据需求,可利用传送指令对PSW整字节操作或用位操作指令改变RS1和RS2的状态二、片内RAM-高128位RAM:当前69页,总共138页。RS1 RS0 寄存器组 片内RAM地址0 0 第0组 00H~07H 0 1 第1组 08H~0FH 1 0 第2组 10H~17H 1 1 第3组 18H~1FH 表2-8RS0,RS1的组合关系当前70页,总共138页。PSW各位的含义(5)OV位(PSW.2):溢出标志位。如有溢出,即运算结果超出-128~+127的范围时,OV=1;无溢出时,OV=0。(由硬件自动设置)返回二、片内RAM-高128位RAM:当前71页,总共138页。PSW各位的含义(6)P位(PSW.0):奇偶检验位。每条指令执行后,该位始终跟踪指示累加器A中1的个数。A中“1”的个数为奇数,则P=1;否则,P=0。常用于校验串行通信中的数据传送是否出错。当前72页,总共138页。部分特殊功能寄存器介绍堆栈指针SP(81H):8位特殊功能寄存器,SP的内容可指向片内RAM00H—7FH的任何单元。系统复位时,SP初始化为07H,即指向07H的RAM单元堆栈:在片内的RAM中专门开辟出来一个区域,数据的存取是以‘后进先出的方式处理,好像冲锋枪压入子弹,这种数据结构方式对于处理中断,调用子程序非常方便。二、片内RAM-高128位RAM:当前73页,总共138页。堆栈有两中操作:数据压入,数据弹出若有8个RAM单元,每个单元都在其右面编有地址,栈顶由堆栈指针SP自动管理。每次进行压入弹出操作后,堆栈指针便自动调整以保持指示堆栈顶部的位置。栈底:在使用堆栈之前部分特殊功能寄存器介绍二、片内RAM-高128位RAM:当前74页,总共138页。A2A1堆栈操作676665646362616061A3A2A1A5A4A3A2A167666564636261606766656463626160SP6264A16766656463626160A4A3A2A16766656463626160SPSPSPSP6361二、片内RAM-高128位RAM:部分特殊功能寄存器介绍当前75页,总共138页。部分特殊功能寄存器介绍数据指针DPTR(83H,82H):DPTR是一个16位的特殊功能寄存器。高位字节寄存器用DPH(83H),低位字节用DPL(82H)组成。DPH,DPL可以单独使用。主要是对片外的64KB片外数据存储器做间接寻址二、片内RAM-高128位RAM:当前76页,总共138页。部分特殊功能寄存器介绍返回I/O端口P0、P1、P2、P3(80H、90H、A0H、B0H):分别为四个并行端口的锁存器,每一个口锁存器还有位地址,所以每一条I/O线可独立输入或输出。输出时,可以锁存;输入时,可以缓冲。二、片内RAM-高128位RAM:当前77页,总共138页。F0E0D0B8B0A8A0不可寻址位9890不可寻址位不可寻址位不可寻址位不可寻址位不可寻址位88不可寻址位不可寻址位不可寻址位不可寻址位80F1E1\B9B1A9A199918981F2E2D2BAB2AAA29A928A82F3E3D3BBB3ABA39B938B83F4E4D4BCB4ACA49C948C84F5E5D5\B5\A59D958D85F6E6D6\B6\A69E968E86F7E7D7\B7AFA79F978F87图2-9高128字节RAM区(SFR区,特殊功能寄存器区)字节地址

FFF0E0D0B8B0A8A09998908D8C8B8A89888783828180BACCPSWIPP3IEP2SBUFSCONP1TH1TH0TL1TL0TMDTCONPCONDPHDPLSPP0当前78页,总共138页。§2.4 时钟电路及89C51CPU时序§2.4.1片内时钟信号的产生§2.4.2 CPU取指、执指时序

微机从FlashROM中取出指令和执行指令过程中的各种微操作都是按一定节拍有序进行的,片内的振荡脉冲电路就是这个节拍的发生器当前79页,总共138页。§2.4.1 片内时钟信号的产生返回89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器C1和C2通常取30pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为fOSC=0~24MHz。晶体振荡器的频率为fOSC,振荡信号从XTAL2端输入到片内的时钟发生器上,如图2-12所示。当前80页,总共138页。电容器C1和C2通常取30pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为fOSC=0~24MHz。图2-2189C51的片内振荡器及时钟发生器§2.4.1片内时钟信号的产生高增益反向放大器晶体振荡器的频率为fOSC,振荡信号从XTAL2端输入到片内的时钟发生器上,如图2-12所示。当前81页,总共138页。§2.4.1 片内时钟信号的产生1、节拍与状态周期

2、机器周期和指令周期3、基本时序定时单位当前82页,总共138页。1、节拍与状态周期

时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fOSC除以2,向CPU提供两相时钟信号P1和P2。时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2,节拍2)信号有效。每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥89C51单片机各个部件协调地工作。§2.4.1 片内时钟信号的产生当前83页,总共138页。图2-1289C51的片内振荡器及时钟发生器当前84页,总共138页。2、机器周期和指令周期一个机器周期是指CPU访问存储器一次所需的时间。例如,取指令、读存储器、写存储器等等。他是执行一条指令所需时长的单位一个机器周期包括12个振荡周期,分为6个S状态:S1~S6。每个状态又分为两拍,称为P1和P2。因此,一个机器周期中的12个振荡周期表示为S1P1,S1P2,S2P1,···,S6P1,S6P2。若采用6MHz晶体振荡器,则状态周期及机器周期各为多少?§2.4.1 片内时钟信号的产生当前85页,总共138页。2、机器周期和指令周期指令周期:执行一条指令所需的时间。每条指令的指令周期都由一个或几个机器周期组成。有单周期指令、双周期指令、和四周期指令。机器周期数少则执行速度快。其中四周期指令包括乘除指令。其余都为单周期或双周期。§2.4.1 片内时钟信号的产生当前86页,总共138页。3、基本时序定时单位综上所述,89C51或其他80C51单片机的基本时序定时单位有如下4个振荡周期:晶振的振荡周期,为最小的时序单位。状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,一个状态周期包含2个振荡周期。机器周期(MC):1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。指令周期:执行一条指令所需的时间。一个指令周期由1~4个机器周期组成,依据指令不同而不同,见附录A。§2.4.1 片内时钟信号的产生当前87页,总共138页。4种时序单位中,振荡周期和机器周期是单片机内计算其他时间值(例如,波特率、定时器的定时时间等)的基本时序单位。4个时序单位从小到大依次是节拍(振荡脉冲周期,1/fOSC)、状态周期(时钟周期)、机器周期和指令周期,如图2-13所示。单片机外接晶振频率12MHz时的各种时序单位的大小。3、基本时序定时单位§2.4.1 片内时钟信号的产生当前88页,总共138页。§2.4.2 CPU取指、执指时序每条指令的执行都可以包括取指和执指两个阶段。在取指阶段,CPU从内部或外部ROM中取出指令操作码及操作数,然后再执行这条指令。根据各种操作的繁简程度,单字节和双字节的指令都可能是单机器周期或双周期,而三字节指令都是双周期的,只有乘、除指令占四周期。CPU取指、执指时序如

图2-14所示当前89页,总共138页。当前90页,总共138页。§2.5 复位操作§2.5.1 复位操作的主要功能§2.5.2 复位信号及其产生§2.5.3 复位电路当前91页,总共138页。§2.5.1 复位操作的主要功能一、复位是单片机的初始化操作。二、主要功能:三、寄存器的复位状态:当前92页,总共138页。2.5.1复位操作主要功能复位是单片机的初始化操作(使CPU及各部件处于确定的初态,并从初态开始工作)程序地址指针PC初始化为0000H,使单片机从0000H单元开始执行程序当由于程序运行出错或操作错误使系统死锁状态时,为摆脱困境,也需要按复位键重新启动。当前93页,总共138页。表2-8各特殊寄存器的复位值当前94页,总共138页。§2.5.2 复位信号及其产生一、复位信号:RST引脚为复位信号输入端。当RST引脚为高电平,且有效时间持续24个振荡周期以上,才能复位。二、产生复位信号的电路逻辑图:如图2-15所示。当前95页,总共138页。§2.5.3 复位电路1、上电自动复位:是通过外部复位电路的电容充电实现。如图2-16(a)所示。2、手动复位:手动复位方式:如图2-16(b)所示。当前96页,总共138页。图2-16(a)上电复位电路VCCCRVCCRST/VPDVSS1KΩ22μF89C511)复位过程2)复位条件:只要Vcc的上升时间不超过1ms,就自动上电复位,即接通电源就完成了系统复位。3)参数选择:1、上电自动复位OSC=6MHZC=22uFR=1KΩOSC=12MHZC=10UFR=8.2KΩ当前97页,总共138页。1)复位方式:通过使复位端经电阻与VCC电源接通而实现。VCCCR2VCCRST/VPDVSS1KΩ22μF89C51R1200ΩRESET2.手动复位图2-16(b)按键电平复位电路当前98页,总共138页。§2.5.3 复位电路复位电路具有非常重要作用,一个单片机能否正常运行,首先检查是否复位成功。初步检查可用示波器监视RST引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路电阻容量。当前99页,总共138页。§2.6 89C51单片机的低功耗工作方式89C51属于CHMOS的单片机,运行时耗电少,而且还提供两种节电工作方式,即空闲(等待、待机)方式和掉电(停机)工作方式,以进一步降低功耗。图2-17所示为实现这两种方式的内部电路。由图2-17可见,若IDL=0,则89C51将进入空闲运作方式。掉电方式下(PD=1),振荡器冻结。当前100页,总共138页。§2.689C51单片机的低功耗工作方式图2-17

空闲和掉电方式控制电路图2-17中,PD和IDL均为PCON中PD和IDL触发器的输出端。当前101页,总共138页。§2.6.1 方式的设定空闲方式和掉电方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。图2-18所示为89C51电源控制寄存器PCON各位的分布情况。HMOS器件的PCON只包括一个SMOD位,其他4位是CHMOS器件独有的。3个保留位用户不得使用,因为硬件没有做出安排,可能在今后的MCS51新产品中代表某特定的功能。图2-18电源控制寄存器PCON当前102页,总共138页。图2-18中各符号的名称和功能如下。SMOD:波特率倍频位。若此位为1,则串行口方式1、方式2和方式3的波特率加倍。GF1和GF0:通用标志位。PD:掉电方式位。此位写1即启动掉电方式。由图217可见,此时时钟冻结。IDL:空闲方式位。此位写1即启动空闲方式。这时CPU因无时钟控制而停止运作。如果同时向PD和IDL两位写1,则PD优先。89C51中PCON的复位值为0×××0000B。§2.6.1 方式的设定图2-18电源控制寄存器PCON当前103页,总共138页。§2.6.2 空闲(等待、待机)工作方式当CPU执行完置IDL=1(PCON.1)的指令后,系统进入空闲工作方式。这时,内部时钟不向CPU提供,而只供给中断、串行口、定时器部分。CPU的内部状态维持,即包括堆栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC所有的内容保持不变,端口状态也保持不变。ALE和PSEN保持逻辑高电平。当前104页,总共138页。§2.6.2 空闲(等待、待机)工作方式进入空闲方式后,有两种方法可以使系统退出空闲方式。一是任何的中断请求被响应都可以由硬件将PCON.0(IDL)清0而中止空闲工作方式。当执行完中断服务程序返回到主程序时,在主程序中,下一条要执行的指令将是原先使IDL置位指令后面的那条指令。PCON中的通用标志位GF1和GF0可以用来指明中断是在正常操作还是在待机方式期间发生的。在待机方式时,除用指令使IDL=1外,还可先用指令使GF1或GF0置1。当由于中断而停止待机方式时,在中断服务程序中可以检查这些标志位,说明是从待机方式进入中断的。当前105页,总共138页。§2.6.2 空闲(等待、待机)工作方式另一种退出空闲方式的方法是硬件复位,由于在空闲工作方式下振荡器仍然工作,因此硬件复位仅需2个机器周期便可完成。而RST端的复位信号直接将PCON.0(IDL)清0,从而退出空闲状态,CPU则从进入空闲方式的下一条指令开始重新执行程序。当前106页,总共138页。当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部RAM区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对应的SFR中,ALE和PSEN都为低电平。§2.6.3 掉电(停机)工作方式当前107页,总共138页。§2.6.3 掉电(停机)工作方式退出掉电方式的惟一方法是由硬件复位,复位后将所有特殊功能寄存器的内容初始化,但不改变片内RAM区的数据。在掉电工作方式下,VCC可以降到2V,但在进入掉电方式之前,VCC不能降低。而在准备退出掉电方式之前,VCC必须恢复正常的工作电压值,并维持一段时间(约10ms),使振荡器重新启动并稳定后方可退出掉电方式。当前108页,总共138页。§2.7 输出/输入端口结构I/O端口概述§2.7.1P1口§2.7.2P2口§2.7.3P0口§2.7.4P3口§2.7.5端口的负载能力和接口要求返回当前109页,总共138页。 I/O端口概述返回1.89C51单片机有四个8位并行I/O端口:P0、P1、P2和P3。2.每个端口都是8位准双向口,共占32根引脚。3.每一条I/O线都能独立地用作输入或输出。4.每个端口都包括一个锁存器(即特殊功能寄存器P0~P3),一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作输入时数据可以缓冲。当前110页,总共138页。§2.7.1P1口一、P1口结构二、P1口用作通用I/O当前111页,总共138页。§2.7.1 P1口一、P1口结构:其电路结构见图2-19,输出驱动部分与P0口不同,内部有上拉负载电阻与电源相连。实质上,电阻是两个场效应管FET并在一起:一个FET为负载管,其电阻固定。另一个FET可工作在导通或截止两种状态,使其总电阻值变化近似为0或阻值很大两种情况。当阻值近似为0时,可将引脚快速上拉至高电平;当阻值很大时,P1口为高阻输入状态。返回当前112页,总共138页。图2-19

P1口某位的结构当前113页,总共138页。§2.7.1 P1口二、P1口用作通用I/OP1口也是一个准双向口。在端口用作输入时,也必须先向对应的锁存器写入1,使FET截止。当P1口输出高电平时,能向外提供拉电流负载,所以不必再接上拉电阻。返回当前114页,总共138页。§2.7.2P2口一、P2口结构二、P2口用作一般I/O口三、P2口用作高8位地址总线返回当前115页,总共138页。一、P2口结构如图2-20所示,P2口某位的结构与P0口类似,有MUX开关。驱动部分与P1口类似,但比P1口多了一个转换控制部分。返回当前116页,总共138页。图2-20

P2口某位的结构图返回当前117页,总共138页。二、P2口用作一般I/O口1、当执行MOV指令(片内的数据存储器)或EA=1时,执行MOVC指令(片内的程序存储器)时,由内部硬件自动使开关MUX倒向锁存器的Q端,这时,P2口为一般I/O口。2、当执行MOVX(片外的RAM)或EA=0时执行MOVC指令(片外的ROM)时,开关倒向地址端。输出高8位地址。当前118页,总共138页。二、P2口用作一般I/O口1.当系统扩展片外RAM和ROM时,访问片外的RAM和ROM接连不断,所以P2口无法用作通用的输入输出口。2、在只需扩展256B片外RAM的系统中,使用“MOVXA,@Ri”类指令访问片外RAM时,寻址范围是256B,只需低8位地址线就可以实现。P2口不受该指令影响,仍可作通用I/O口。当前119页,总共138页。二、P2口用作一般I/O口3、若扩展的RAM容量超过256B,使用“MOVXA,@DPTR”类指令的寻址范围是64KB,此时,高8位地址总线用P2口输出。在片外RAM读/写周期内,P2口锁存器仍保持原来端口的数据;在访问片外RAM周期结束后,多路开关MUX自动切换倒锁存器Q端。由于CPU对RAM的访问不是经常的,在这种情况下,P2口在一定的限度内仍可用作通用I/O口。当前120页,总共138页。§2.7.3P0口一、结构二、P0口作为一般I/O口使用三、P0口作为地址/数据总线使用返回当前121页,总共138页。一、结构P0口某位的结构由一个输出锁存器、二个三态输入缓冲器和输出驱动电路及控制电路组成。如图2-21所示。当C=0时,开关MUX被控为如图示位置,P0口为通用I/O口;当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。当前122页,总共138页。图2-21

P0口某位的结构图当C=0时,开关MUX被控为如图示位置,P0口为通用I/O口;当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。当前123页,总共138页。二、P0口作为一般I/O口使用1、P0口用作输出口2、P0口作输入口返回当前124页,总共138页。1、P0口用作输出口当CPU执行输出指令时,写脉冲加在D锁存器的CL上,这样,与内部总线相连的D端的数据取反后就出现在Q端上,又经输出级FET(T2)反相,在P0端口上出现的数据正好是内部总线的数据。这是一般的数据输出情况。返回当前125页,总共138页。2、P0口作输入口当执行一条由端口输入的指令时,“读引脚”脉冲把三态缓冲器2打开,这样,端口上的数据经过缓冲器2读入到内部总线。在端口进行输入操作前,应先向端口锁存器写入1,也就是使锁存器Q=0。因为控制线C=0,因此T1和T2全截止,引脚处于悬浮状态,可作高阻抗输入。当前126页,总共138页。3、P0口作为地址/数据总线使用1.P0口用作输出地址/数据总线以P0口引脚输出低8位地址或数据信息,MUX开关把CPU内部地址/数据线经反向器3与驱动场效应管FET(

温馨提示

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

评论

0/150

提交评论