多功能引脚.ppt

上传人:ga****84 文档编号:382558 上传时间:2018-09-29 格式:PPT 页数:53 大小:1.76MB
下载 相关 举报
多功能引脚.ppt_第1页
第1页 / 共53页
多功能引脚.ppt_第2页
第2页 / 共53页
多功能引脚.ppt_第3页
第3页 / 共53页
多功能引脚.ppt_第4页
第4页 / 共53页
多功能引脚.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、第二章 89C51单片机硬件结构和原理,2.1 89C51单片机内部结构及特点,一、89C51单片机的基本组成 89C51单片机的基本结构见下图。,MCS-51系列单片机为Intel 公司产品,1980年推出。 MCS-51 系列单片机有: 8051,8751,8031 80c51BH,80c31BH 它们的基本组成、基本性能和指令系统都是相同的。,89C51单片机是ATNMEL、PHILIPS、SST公司的产品: 89C51 80C31373Flash ROM 给单片机的开发及应用带来很大的方便,89C51单片机结构框图,89C51CPU,振荡器和时序OSC,64KB 总线扩展控制器,数据存

2、储器256B RAM/SFR,216位定时器/计数器,可编程I/O,程序存储器4KBROM,可编程全双工串行口,外中断,内中断,控制,并行口,串行通信,外部时钟源,外部事件计数,含有: 1. 一个8位 CPU 80C51 2. 128 B/256 B RAM/SFR 3. 4KB Flash ROM (8051/8052是掩膜 ROM, 8751/8752是EPROM,但8031、 8032、80C32片内无ROM) 4. 片内振荡器和时钟产生电路(石英晶体与微调电容需外接, 最高允许振荡频率为12MHZ) 5. 4个8位并行I/O接口(共32位I/O)P0P3,每个口皆可输入 和输出,其中P

3、3口还可用于串行输入/输出、定时/计数 器、外部事件计数输入,中断输入。 6. 2个 16位 定时/计数器 7. 5个中断源的中断控制系统(2个外中断,2个定时/计数器中 断,1个串行口中断) 8. 1个全双工的串行I/O 接口,51系列单片机的温度适用范围 为: 民品(商业用) 070 C 工业品 4085 C 军品 55125 C,工业级产品1. 采用密封式封装2. 在工业级规定的温度范围内进行电器特性测试3. 产品经过125 C 温度下44小时的老化处理4. 老化后100进行电气测试,质量检验。 军品则要求更高,与8051相比,89C51具有两种用软件选择的节电工作方式 空闲方式:CPU

4、停止工作,RAM、定时/计数器、中断系统等继续工作。 掉电方式:片内振荡器停止,所以系统不能工作,仅保存RAM中内容。,二、 89C51单片机内部结构,89C51与8051/8751/8031芯片的外部引脚和指令系统完全兼容,仅在内部配置了一个Flash ROM。结构总图如下:,由 中央处理单元(CPU)、 存储器(ROM及RAM)、 I/O接口组成。,ALU可对4位,8位,16位数据进行算术逻辑运算等操作。ACC提供一个运算数,经Temp2送入ALU或中转站, 用A表示。 PSW程序状态字,标志指令执行后的信息状态。 B 8位Reg, 可作通用Reg.使用。,布尔处理器 以PSW中的C(进位

5、标志位)为其累加器,专门 用于处理位操作(位运算、位处理、位寻址),运算器,1. CPU,P0驱动器,P2驱动器,P0锁存器,P2锁存器,RAM地址寄存器,128BRAM,4KBFlash ROM,B寄存器,暂存器1,暂存器2,ACC,SP,程序地址寄存器,缓冲器,PC增1,PC,DPTR,中断、串行口和定时器,PSW,P1锁存器,P1驱动器,P3锁存器,P3驱动器,定时控制,指令寄存器,指令译码器,OSC,ALU,P0.0-P0.7,P2.0-P2.7,P3.0-P3.7,P1.0-P1.7,XTAL1 XTAL2,PSENALEEARET,程序计数器PC(16bit)PCH,PCL。 其中

6、存放着将要执行的下一条指令的地址。指令Reg. IR存放从PC中地址取出的指令。 指令译码器ID对指令进行译码PLA,产生控制信 号,以执行指令规定的操作。振荡器及定时电路:外接晶体和微调电容(30pF),其频率范围为1.2MHZ12MHZ,常用6MHZ晶体。, 控制器,2. 存储器 (特点: ROM和RAM独立编址(哈佛结构),(1)程序存储器(ROM) 地址从0000H开始,内部4KB。用于存放程序和表格常数。,(2)数据存储器(RAM) 地址为00H7FH,128B。存放中间结果、数据暂存及数据缓冲等。 128B的RAM中有32个字节单元可指定为工作寄存器。 片内还有21个特殊功能寄存器

7、(SFR),它们同128字节RAM统一编址,地址为80HFFH。后面详细介绍。,3. I/O接口(1) 4个8位并行I/O口 P0P3,均可输入/输出。(2)每个I/O口(8位)有一锁存器,锁存器地址与RAM地址统一编址,可作为特殊功能Reg. (SFR)来寻址。 这个锁存器(SFR)类似于8255中I/O口与Reg之间的关系。对I/O口操作,即是对这个锁存器操作。,在单片机外部的存储器:(1)外部程序存储器ROM单元: 与内部程序存储器ROM统一编址,共64KB。 如,内部已用4KB,则外部ROM地址为 1000HFFFFH。(2)外部数据存储器RAM单元:0000HFFFFH(64KB)

8、内、外部数据存储器RAM的操作指令不同。,89C51为40 PIN DIP封装。,2.2 89C51单片机引脚及其功能,89C51单片机引脚图,1.电源引脚(Vss,Vcc) Vss(I,20) 电源地电平 Vcc(I, 40) 电源端 +5V,当外接晶体时,接晶体和微调电容的一端。,2.时钟电路引脚(XTAL1, XTAL2) XTAL1(I,19):振荡器反向放大器输入端。,当采用外部时钟时,此脚作为驱动端,接外部时钟。,XTAL2(I,18):振荡器反向放大器输出端。,当外接晶体时,接晶体和微调电容的一端。,当采用外部时钟时,此脚悬空。,振荡电路的频率就是晶体固有频率。单片机正常工作时,

9、该引脚应有脉冲信号输出。,注,CHMOS(互补金属氧化物HMOS)是CMOS和HMOS(高密度沟道MOS工艺)的结合,除了保持HMOS高速度和高密度之外,还有CMOS低功耗的特点。 两类器件的功能是完全兼容的,区别在CHMOS器件具有低功耗的特点。它所消耗的电流比HMOS器件少很多,主要在于其采用了两种降低功耗的方式:空闲方式和掉电方式。 CHMOS器件在掉电方式(CPU停止工作,片内RAM的数据继续保持)下时,消耗的电流可低于10A。 采用CHMOS的器件在编号中用一个C来加以区别, 如 : 80C51,80C31,89C51等。,(1)RST/VPD(I,9)多功能引脚,复位/备用电源。

10、RST 复位信号,高电平有效。 VPD 备用电源输入端。当Vcc发生故障(掉电等 ),降低到低 电平的规定值时,可由该端子为片内RAM提供电源。,在通电瞬间(Vc0),电容C通过R充电,在RST端出现如图正脉冲,则89C51加电自动复位。 R、C随CPU时钟频率而变化,取值如图。,复位电路有上电复位、按键兼上电复位两种:,上电复位(右图),开关常开时,为上电复位电路; 当常开按键闭合时,相当于RST端通过电阻R1(200)与Vcc电源接通,22uF电容迅速放电,RST上得到一个5V经220与1K电阻的分压(高电平)。这个分压大致为5V的5/6,4.2V,使单片机复位。,当常开按键松开时,RST

11、端经一段时间后又逐渐降至0V。时序图如右所示。,上电兼手动复位 (右图,电平方式开关复位),即使不访问外部存储器,ALE端仍以振荡频率的1/6周期性地输出正脉冲信号,这可作为输出脉冲或定时信号。,ALE端的负载能力为8个LS型TTL输入。,VPP:用于在对89c51的片内Flash ROM编程时,施加 (12V21V)高压的输入端。,(4) EA/VPP(I,31)内外程序存储器选择/编程电源输入,4. I/O端口 P0P3,准双向 当I/O口作为输入时,应先向此口锁存器写入全1, 此时该口引脚浮空,可作高阻抗输入。,漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。在CPU访问片

12、外存储器(RAM、ROM)时,P0口为分时复用的低8位地址总线和8位数据总线(此时,其内部上拉电阻被激活 )若系统中无外扩存储器(RAM、ROM),P0口可作为一个数据输入/输出口(输出时,不能激活内部上拉电阻,需外接上拉电阻;输入时,应先向口锁存器写入1,使P0口全部引脚浮空再输入)。,(2) P1口(P1.0P1.7,18pin,I/O) 带内部上拉电阻的8位 准双向I/O端口。(并行或按位使用) 输出时,P1口的每一位能驱动4个LS型TTL负载。 输入时,先向其口锁存器写入全1,此时将P1口引脚由内部上拉电阻拉成高电平。,(3) P2口(P2.0P2.7,2128,I/O) 带内部上拉电

13、阻的8位 准双向I/O端口。 当有外部存贮器时,用作高8 位地址总线。 当无外部存贮器时,可用作一般I/O线。输出输入时的情况同P1口。,(4) P3口(P3.0P3.7,1017pin,I/O) 双功能口。 带内部上拉电阻的8位准双向I/O端口。,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。,第一功能:一般I/O口,准双向,输出输入时的情况同P1口。,第二功能:系统控制信号,定义如下:,第二功能:系统控制信号,定义如下:,任意一位不用于第二功能(首选)时,可用于第一功能。, 程序MEM和数据MEM独立编址(哈佛结构)。 程序MEM:片内与片外统一编址(6

14、4KB) 。 数据MEM:片内与片外独立编址。, 片内片外统一编址的64KB ROM: 0000HFFFFH 64KB 片外RAM:0000HFFFFH 256字节片内RAM:00HFFH 存储空间分布图见下图。,编址特点,从用户角度看,89C51存贮器地址空间分为3类:,89c51指令系统设计了不同的访问指令,以区别3个存贮区的访问。如: 片内、外ROM 用 MOVC 片外RAM用 MOVX 片内RAM用 MOV,2. 3 89C51单片机存储器配置,图2-4 89C51存储器配置,一、 程序存储器(地址线16位,最多达64KB) 用于存放程序和表格常数等。,2.程序M中的部分保留单元(系统

15、留用),见下表。,中断向量表,1. 片外RAM 0000HFFFFH,使用MOVX指令访问。,二、 数据存储器用于存放暂存数据、中间运算结果等。,2. 片内RAM 00HFFH,使用MOV指令访问。,0003H002AH均匀地分为5段,为5个中断服务程序起始处。因为字节单元太少,所以常在这些存储单元中存放转移指令。,注:P26 图,扩展ROM。一般,尽量不扩充片外ROM,而选用片内具有大容量Flash的单片机。,安排了21个SFR地址离散分布,32个字节通用Reg.区,即可字节寻址,又可位寻址.,80字节RAM区,由PSW中的RS1、RS0两位组合选中当前组,CPU上电时选中0组;未用到的组可

16、作为RAM用.程序执行的任何时刻,只能用一组。,16字节,图28 低128字节RAM区,图29 高128字节RAM区(SFR区), 高128字节RAM SFR 是80HFFH的部分单元,使用时只能直接寻址。其余未定义部分不能使用。, 低128字节RAM 00H7FH 均可用作一般的RAM单元外,其中某些部分还可以以其它形式使用。,片内RAM,通用Reg.区 4个,00H1FH (48=32), 指令 比一般RAM更丰富、简洁、快捷。 位地址区 20H2FH 以位寻址方式使用时,地址从00H7FH。 对字节RAM,用直接寻址和间接寻址;对位地址单元用位寻址方式。(以区别某个单元是字节或位单元)

17、用户通用RAM 可在此将部分区域设置为堆栈,低128字节,)SFR包括 ACC累加器(字节地址E0H),指令中用A表示。 BReg.(字节地址F0H),用于乘除指令。 在其他指令中,可作为一般通用Reg或 RAM单元。 PSW程序状态字(字节地址D0H),各位的含义及格式见下一页。,SP-堆栈指针(字节地址81H),其内容可为007FH的 任何地址单元,系统复位时为07H(向上生成)。 DPTR-数据指针(83H、82H),既可作为一个16位Reg (DPTR)、 也可作为两个8位Reg ( DPH,DPL)使用。 以16位使用时,对片外RAM寻址。,P0P3 I/O端口(80H,90H,A0

18、H,B0H) 4个I/O端口的锁存器地址,还可按位寻址,即每一条/线均可独立用作输入或输出。 在单片机中,将I/O端口当作SFR,不设专门的口操作指令(IN或OUT),而采用统一的MOV指令,使用方便。 例:MOV P1,A ;AP1,SBUF串行数据缓冲器(99H) 用于存放欲发送或已接收的数据。 例:MOV SBUF,A; ASBUF,THi,TLi 定时/计数器 i中的计数器(i=1,2) 一个16位(THi TLi) 或两个8位定时/计数器(THi,TLi)。,其他控制Reg.IP,IE,TMOD 为中断系统、定时/计数器、串行口和供电方 式的控制与状态位。P30 表,2. 4 CPU

19、时序,一、片内振荡器及时钟信 号的产生,2. 时钟信号的产生,1. 振荡器 (构成见前),时钟信号的周期S包含2个振荡周期: S=fosc/2。 每个时钟周期S有两个节拍P1、P2,称为相1(P1)和相2(P2)。,CPU以P1、P2为基本节拍指挥单片机各部件协调工作。,1. 机器周期:CPU访问存储器一次所需要的时间 (如取指令、读存储器、写存储器等)。 2. 1个机器周期 = 12个振荡周期( fosc) = 6个时钟周期(S,fosc/2) 当使用6MHZ晶振时,一个机器周期 = 2us。 3. 指令周期(一条指令的执行时间)= n 个机器周期 n小则执行速度快。 注:大部分指令周期为1

20、个或2个机器周期,乘除指令为4个机器周期。,二、机器周期和指令周期,CPU的4个时序单位从小到大依次是: 节拍、时钟周期、机器周期和指令周期,如图2-13所示。,图2-13 89C51单片机各种周期的相互关系,三、CPU取指、执指周期时序,每条指令的执行都可以包括取指和执指两个阶段。在取指阶段,CPU从内部或外部ROM中取出指令操作码及操作数,然后再执行这条指令。单字节和双字节的指令都可能是单机器周期或双周期,而三字节指令都是双周期的,只有乘、除指令占四周期。因此,当使用6MHZ晶振时,执行一条指令的时间(指令周期)分别是2s,4s和8s。如 图2-14所示。,图214 89C51单片机的取指

21、/执行时序,(1) 每个机器周期出现两次ALE脉冲,用于地址锁存。(此周期信号可用于其它外设的控制信号) (2) 对外RAM进行读写时,ALE信号不是周期性的,缺一次。故用ALE做系统定时脉冲时要考虑到这一点。,1. 复位电路 复位信号的内部电路 复位引脚RST通过片内一个斯密特触发器与片内复位电路相连,斯密特触发器用来脉冲整形及抑制噪声,其输出在每个机器周期的S5P2被复位电路采样一次。如果RST引脚有一高电平并维持2个机器周期,89C51便执行内部复位。P39 图215。, 复位信号的外部电路(见前),2. 复位时SFR的状态,复位后,PC=0000H,使单片机从起始地址0000H单元开始

22、执行程序。 若单片机运行出错或进入死循环,可按复位键重新启动,或通过watchdog电路使其自动复位。,2. 5 复位操作,A=00H:累加器已被清0。 PSW=00H:选寄存器0组为工作寄存器组。 SP=07H:堆栈指针指向片内RAM 07H字节单元,根据堆栈操作法则,第一个被压入的数据被写入08H单元中。 P0P3=FFH: 已向各端口线写入1,此时,各端口既可用于输入,又可用于输出。 IP=00000B: 各个中断源处于低优先级。 IE=000000B: 各个中断均被关断。 TMOD=00H: T0/T1均为工作方式0,且运行于定时器状态。 TCON=00H: T0/T1均被关断。 SC

23、ON=00H: 串行口处于工作方式0,允许发送,不允许接收。 PCON=00H: SMOD=0,波特率不加倍。,表2-8中的符号意义如下:,2. 6 89c51单片机的低功耗工作方式,89C51提供两种节电工作方式:空闲(等待、待机)方式和掉电(停机)工作方式图2-17所示为实现这两种方式的内部电路。,89c51有4个8位并行I/O端口P0、P1、P2、P3。 每个端口是8位准双向口,每一条I/O线都能独立地作I/O。 每个端口有: 1个输出锁存器(P0P3),即常说的口地址(80H,90H,A0H,B0H)。 1个输出驱动器 2(或3)个三态输入缓冲器。,2. 7 输入/输出端口,一、P0口

24、 某一位结构见图2-21,当C=0时,开关MUX被控为如图示位置,P0口为通用I/O口;,当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。,这时,输出级是漏极开路的开漏电路,P0口可作为一般I/O口使用。 当用于I/O时,需外接10K的上拉电阻到Vcc,否则不能有高电平输出。,当执行一条由端口输入的指令时,“读引脚”脉冲把三态缓冲器2打开,这样,端口上的数据经过缓冲器2读入到内部总线。,当用一根端口线去驱动一个晶体管的基极时,向此端口线输出“1”使该晶体管导通,导通的晶体管会把引脚上的电平拉低。若这时从该引脚读入刚才输出的数据,读入的 为“0”,与刚才输出的值不符。 为

25、避免错读引脚电平,单片机还提供了一组“读锁存器”操作。见图中的“读锁存器”线。,如:ORLP0,A ;指令功能: 将P0与A相或,然后P0 该指令先将P0口D锁存器数据(即此时引脚应该的电平)读入CPU,再与A内容相“或”,最终将“或”的结果送到P0锁存器。此时,锁存器的内容(Q端状态)和引脚一致,P0数据来源于锁存器而不是引脚。,(3)P0口作输出时需注意,在以上过程中,读入操作不是“读引脚”,而是“读锁存器”。这一类指令称为“读修改写”指令,有: ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ等。这类指令常用来“位”修改,修改时不能影响其他位。,CPU对片外存储器读写时,

26、系统自动使C=1,图中MUX接反相器3的输出端: (1)输出 地址/数据信号经T1、T2推拉输出(T1导通时上拉,T2导通时下拉),负载能力较强。(激活内部上拉电阻T1) (2)输入 数据从P0输入。这时,“读引脚”信号有效打开输入缓冲器2数据到DB。,2. P0口作为地址/数据总线使用(C1),对89C51外扩存储器并使用时,系统自动使C=1。这时: P0口可作为地址/数据总线使用,对片外ROM(或RAM)寻址及作为数据输入/输出通道。,注意:当P0作为总线使用时,不再能作I/O口使用。,3. P1口用作输出时:能向外提供拉电流负载,所以不必再接 上拉电阻。 作输入时:先对锁存器 写入“1”

27、,使FET截止。,内部电阻实际上是两个FET并在一起,一个为负载管,其阻值固定;另一个工作在导通或截止两种状态,使其总阻值在0或阻值很大两种情况下变化。 当阻值为0时,引脚快速上拉至高电平; 当阻值很大时,P1口为高阻输入状态。,二、P1口,某一位结构图见图2-19,工作原理同P0口, 也是一个准双向口。区别如下: 1. 仅作为一般I/O口。 2. 内部有上拉电阻,无需外接。,3. 当系统中无需外扩ROM(89C51/8751),只需扩展256B片外RAM 时,只需用P0口的低8位地址即可。这时,P2口仍可作为通用I/O口。 使用MOVX A,Ri,4. 若扩展RAM超过256B(用MOVX

28、A, DPTR),需使用P2口的 高8位地址线。,访问片外RAM周期结束后,P2口仍可作通用I/O口,但使用时要谨慎。,三、P2口 见 图2-20,1. 作为一般I/O口使用时,同P1口。,2. 当系统中有外部ROM、RAM时,P2口输出高8位地址。 此时,不再作为通用I/O口。,驱动部分与P1口类似,但比P1口多了一个转换控制部分。,当CPU对片内存储器和I/O口进行读/写(执行MOV 指令或EA=1时,执行MOVC指令)时,由内部硬件自动使开关MUX倒向锁存器的Q端,这时,P2口为一般I/O口。,四、P3口多功能口,某一位结构图见图2-22 1. 作为一般I/O口使用时(W1), 同P0、

29、P1、P2口。 CPU对P3口进行SFR(位或字节)寻址访问时,为I/O口。,2. 作为第二功能使用时(Q1) (CPU不把P3口作为SFR寻址),内部硬件使锁存器Q1。,表2-10 P3口线与第二功能表,(1)作为I/O口使用时,外接上拉电阻,输出时才有高电平输出;用作输入时需先向锁存器(80H)写“1”,不影响输入电平。(2)用作地址/数据总线时,无需外接上拉电阻。这时用作输入时,也无需写“1”。(3)若通过OC门输入,需外接上拉电阻。,(1)输出时,无需外接上拉电阻 。 (2)输入时,先写“1”。 (3)若通过OC门输入,无需外接上拉电阻。 对89C51单片机(CHMOS),由于其端口只

30、能提供几mA输出电流,当其端口接普通晶体管的基极,应在端口与晶体管基极之间串连一个电阻以限流。对TTL门或NMOS电路,可直接接入。,五、端口的负载能力和接口要求,1. P0口的每一位输出可驱动8个LS型TTL负载,2. P1P3口的 每一位输出级有上拉电阻,每一位可驱动4个TTL负载。,这样,当P1.x输出高电平时,不至于负载电阻过小,而需P1.x端输出大电流(过载)。,例:,说明:,哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。,冯诺依曼结构和哈佛结构两者有什么区别? 区别是地址空间和数据空间分开与否。冯诺依曼结构数据空间和地址空间不分开;哈佛结构数据空间和地址空间是分开的。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。