mcs-51单片机的组成课件_第1页
mcs-51单片机的组成课件_第2页
mcs-51单片机的组成课件_第3页
mcs-51单片机的组成课件_第4页
mcs-51单片机的组成课件_第5页
已阅读5页,还剩157页未读 继续免费阅读

下载本文档

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

文档简介

MCS-51单片机的组成及结构分析

计算机——数字计算机——冯.诺伊曼计算机:顺序执行预存指令的数字装置MCS-51单片机的组成及结构分析

MCS-51单片机的组成及结构分析

计算机的组成:运算器、控制器、存储器、总线、IO接口、外设单片机把运算器、控制器、存储器、总线、IO接口等集成到一个芯片中得到的一个微处理器芯片。MCS-51单片机的组成及结构分析

内部寄存器分为:┌特殊功能寄存器(SFR)80H-0FFHRAM┤┌工作寄存器(四组)00H-1FH└通用寄存器RAM00H-7FH┤位寻址单元(128位)20H-2FH└通用RAM单元30H-7FH

3,SFR中有CPU专用寄存器和功能单元专用寄存器两类:CPU专用寄存器有:ACC、B、PSW、SP、DPTR等。MCS-51单片机的组成及结构分析

应掌握PSW中各位的含义。

D7D0

CYACF0RS1

RS0OV

-

P堆栈区使用通用RAM单元,复位时堆栈指针SP=07H。在指令系统中通过数据指针DPTR来间接寻址访问外部数据存贮器。

MCS-51单片机的组成及结构分析

功能单元专用寄存器有:并行接口缓冲器:P0、P1、P2、P3P3口的复用功能D7

D0/RD/WRT1T0/INT1/INT0TXDRXD

中断系统:IP、IE定时器/计数器:TMOD、TCON、TH0、TL0、TH1、TL1串行接口:SBUF、SCON电源控制:PCONMCS-51单片机的组成及结构分析

4,并行接口P0、P2用来作总线扩展。P2为地址高8位,P0为地址低8位与8位数据时分复用。工作时外部必须有地址锁存器配合工作,通常使用74LS373作地址锁存器,ALE信号的下降沿把P0口上的地址低8位值打入外部地址锁存器,然后由/PSEN(或/RD、/WR)信号控制从P0口读入或送出数据。

8051输入/输出端口结构8051单片机有四个8位并行I/O端口,记作P0、P1、P2和P3。每个端口都是8位准双向口,共占32根引脚。每一条I/O线都能独立地用作输入或输出。每个端口都包括一个锁存器(即特殊功能寄存器P0—P3),一个输出驱动器和输入缓冲器,作为输出时数据可以锁存,作输入时数据可以缓冲,但这四个通道的功能不完全相同。

结构:一个输出锁存器;二个三态输入缓冲器输出驱动电路及控制电路组成其工作状态受:控制电路与门、反相器、转换开关MUX控制。当CPU使控制线C=0,开关MUX连接输出锁存器,P0口为通用I/O口,当C=1时,开关投向反相器的输出端,P0口分时作为地址/数据总线使用。P0口结构P0口作为一般I/O口使用

当8051组成的系统无外扩存储器、CPU对片内存储器和I/O口读写时,内部硬件自动使控制线C=0。开关MUX处于图示位置,它把输出级(T2)与锁存器的端接通;因与门输出为0,输出级中的上拉场效应管T1处于截止状态,因此,输出级是漏极开路的开漏电路。这时P0口可作一般I/O口用。

P0口用作输出口

一般的数据输出情况:当CPU执行输出指令时,写脉冲加在D锁存器的CP上,这样与内部总线相连的D端的数据取反后就出现在端口,又经输出级FFT(T2)反相,在P0端口上出现的数据正好是内部总线的数据。

P0口用作输出口

读P0口D锁存器:8051有几条输出指令功能特别强,属于“读一修改—写”指令。例如,执行—条“ANLP0,A”指令的过程是:不直接读引脚上的数据,而是CPU先读P0口D锁存器中的数据,当“读锁存器”信号有效.三态缓冲器①开通,Q端数据送入内部总线和累加器A中的数据进行“逻辑与”操作,结果送问P0端口锁存器。此时,锁存器的内容(Q端状态)和引脚是—致的。P0口作输入口

图中的缓冲器用于CPU直接读端口数据。当执行一条由端口输入的指令时,“读引脚”脉冲把该二态缓冲器打开,这样,端口上的数据经过缓冲器读入到内部总线。这类操作由数据传送指令实现。从图中还可看出,在读入端口引脚数据时由于输出驱动FET(T2)并接在引脚上,如果FET(T2)导通就会将输入的高电平拉成低电平,以致于产生误读。在端口进行输入操作前,应先向端口锁存器写入“l”,也就是使锁存器=0,因为控制线C=0,因此T1和T2全截止,引脚处于悬浮状态,可作高阻抗输入。这就是所谓的准双向口的含义。P0口作为地址/数据总线使用

CPU对片外存储器读写,由内部硬件自动使控制线C=l,开关MUX拨向反相器输出端。这时P0口可作地址/数据总线分时使用,分为两种情况。①P0口用作输出地址/数据总线:在扩展系统中,—种是以P0口引脚输出低8位地址或数据信息。MUX开关把CPU内部地址/数据线经反向器与驱动场效应管FET(T2)栅极接通。从图上可以看到,上下两个FET处于反相,构成推拉式的输出电路(T1导通时上拉,T2导通时下拉),大大增加了负载能力。P0口的特点●P0既可作—般I/O端口用使用,又可作地址/数据总线使用。●I/O输出时,输出级属开漏电路,必须外接上拉电阻,才有高电平输出;●作I/O输入时,必须先向对应的锁存器写入“1”,使FET(T2)截止,不影响输入电平。●当P0口被地址/数据总线占用时,就无法再作I/O口使用了。

P1口某位结构

P3口的结构P3口是一个多功能端口:第—功能:通用I/O口第二功能:其他功能(见下表)P3口与P1口的差别在于多了一个与非门和缓冲器,与非门的作用实际上是一个开关,决定是输出锁存器上的数据还是输出第二功能(W)的信号。当W=1时.输出Q端信号;当Q=1,可输出W线信号。P3各口线的第二功能表

口线第二功能P3.0RXD(串行口接收)

P3.1TXD(串行口发送)

P3.2(外部中断0输入)

P3.3(外部中断1输入)

P3.4T0(计数器0输入)

P3.5T1(计数器1输入)

P3.6(片外数据存储器写)

P3.7(片外数据存储器读)

编程时,不必事先由软件设置P3门为第一功能(通用I/O口)还是第二功能。●当CPU对P3口进行SFR寻址(位或字节)访问时,由内部硬件自动将第二功能输出线W置1,这时P3口为通用I/O口;●当CPU不把P3口作为SFR寻址(位或字节)访问时,即用作第二功能输出/输入时,由内部硬件使锁存器Q=1。P3口的应用方法P3口作为通用I/O口使用

当对P3口的SFR寻址时,“第二输出功能端W”保持高电平。打开与非门,所以D锁存器输出端Q的状态可通过与非门送至FET场效应管输出,这是作通用I/O口输出的情况。当P3口作为输入使用(即CPU读引脚状态)时。同P0—P2口一样,应由软件向口锁存器写“1”,即使得锁存器Q端保持为1,与非门0输出为0,FET场效应管截止,引脚端可作为高阻输入。当CPU发出读命令时,使缓冲器的“读引脚”信号有效,三态缓冲器开通,于是引脚的状态经两个缓冲器到CPU内部路线。

P3口用作第二功能使用

当端口用于第二功能时.8个引脚是按位独立定义。当某位被用作第二功能时,该位的D锁存器Q应被内部硬件自动置1,使与非门对“第二输出功能端W”是畅通的。输入:Q=1,W=1(W不作第二功能输出)读引脚无效,只有T0、T1、INT0、INT1、RXD有效②P1—P3口的输出级接有内部上拉负载电阻,它们的每一位输出可驱动3个LS型TT负载。作为输入口时,任何TTL电路都能以正常的方式驱动805l单片机(HMOS)的P1—P3口。由于它们的输出级具有上拉电阻,也可以被集电极开路(oc门)或漏极开路所驱动,而无需外接上拉电阻,对于80c51单片机(CHMOS),端口能提供几毫安的输出电流。Pl—P3口也都是准双向I/O口,作输入时,必须先在相应端口锁存器先写1。端口的负载能力和接口要求

MCS-51单片机的组成及结构分析

6,执行指令的最小时间单元是机器周期。每个机器周期由12个时钟周期构成,分为6个S状态。一般每个机器周期中ALE和/PSEN信号有效两次。指令长度有单字节、双字节、三字节三种情况。执行指令的时间有单周期、双周期、四周期三种情况。单字节指令的执行时间有单周期、双周期、四周期三种情况;双字节指令的执行时间有单周期、双周期两种情况;三字节指令的执行时间都为双周期。具体指令的长度和执指时间见附录Ⅰ。

片内振荡器及时钟信号的产生

805l芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器及输入端为XTAL1,输出端为XTAL2,分别为8051的引脚19和18。在XTAL1和XTAL2两端跨接石英晶体及两个电容就构成了稳定的自激振荡器。电容器Cl和C2通常都取30pF左右,对振荡频率有微调作用。振荡频率范围是1.2—12MHz。

外部振荡脉冲信号

8051也可使用外部振荡脉冲信号,由XTAl2端引脚输入,直接送至内部时钟电路。因为XTAL2的逻辑电平与TTL电平不兼容,所以应接一个上拉电阻(5.1k)。对于CHMOS型80c51单片机,外部脉冲信号须从XTALl端引脚输入,XTAL2端悬空。

外部振荡脉冲源方式常用于多片8051同时工作,以便于同步。两相时钟信号Pl和P2时钟信号的周期称为机器状态时间S(state),它是振荡周期的2倍。在每个时钟周期(即机器状态时间S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟Pl和P2为基本节拍指挥8051单片机各个部件协调地工作。两相时钟信号Pl和P2CPU时序图CPU取指、执行周期时序

每一条指令的执行都可以包括取指和执行两个阶段。在取指阶段,CPU从内部或者外部ROM中取出指令操作码及操作数,然后再执行这条指令的逻辑功能。

在8051指令系统中,其指令可由单字节、双字节和三字节组成。CPU取指、执行周期时序

从机器执行指令的速度看,单字节和双字节指令都可能是单周期或双周期,而三字节指令都是双周期,只有乘、除指令占四个周期。执行—条指令的时间(指令周期)分别为2us、4us和8us。

(采用6MHz晶体振荡器)单周期指令的执行始于S1P2,此时操作码被锁存于指令寄存器内。若是双字节指令,则同一机器周期的S4读第2个字节。如果是单字节指令,在S4仍作读操作,但无效,且程序计数器PC不加1。图分别给出了单字节单周期和双字节单周期指令的时序,都在S6P2结束时完成执行指令的操作。MCS-51单片机的组成及结构分析

8,复位状态是指对CPU内部单元的预先约定的初值状态。复位是指进入这种状态的过程。复位条件是:在RST管脚上维持两个机器周期的高电平将导致单片机进入复位状态。在复位状态下,PC指向0000H地址,SP内容为07H、P0-P3口锁存器内容为0FFH、其余SFR的内容为00H、通用RAM的内容保持不变。复位电路可采用由电阻和电容构成的上电复位电路或按键复位电路。

复位及复位电路

HMOS型805l的复位结构见图。复位引脚RST通过片内一个斯密特触发器与片内复位电路相连。斯密特触发器用来脉冲整形及抑制噪声,其输出在每个机器周期的S5P2时被复位电路采样一次。如果输出2个机器周期(24个振荡周期)的高电平的正脉冲,805l便执行内部复位。上电复位电路上电瞬间,RST端的电位与Vcc相同,随着充电电流的减小,RST端的电位逐渐下降,只要在RST处有时间足够长的阂值以上的电压时就能可靠复位。图中参数适宜6MHz晶振。按键手动复位电路

该电路是上述电复位电路另加一个200电阻和手动开关组成。实际上该电路是上电复位兼按键手动复位电路。当开关常开时,上电复位:当常开按键闭合时,相当于RST端通过电阻与Vcc电源接通,提供足够宽度的阂值电压完成复位。

MCS-51单片机的指令系统

本章介绍了单片机的寻址方式和指令系统。本章应掌握的主要内容有:1,MCS-51的指令系统有七种寻址方式:(1)直接寻址direct在指令中给出RAM的直接地址。(H为16进制;D为十进制;B为二进制;O为八进制)(2)寄存器寻址Rn,n为0~7在指令中给出寄存器名。MCS-51单片机的指令系统

(3)立即寻址#data、#data16在指令中给出立即数(用字母#表明所采用的数制)。其中#data为单字节,#data16为双字节。(4)寄存器间接寻址@Ri,i为0、1通过间址寄存器R0、R1的内容给出RAM单元的地址。注意:SFR不能通过间接寻址访问。

MCS-51单片机的指令系统

(5)相对寻址rel在指令中给出相对当前PC值(指向下一条指令)的相对偏移量rel,该偏移量为8位补码数,表示-128~+127范围内的数。(6)变址寻址@A+DPTR,@A+PC把变址寄存器A的内容和基址寄存器DPTR(或PC)的内容加在一起来给出所需的程序存贮器地址。

MCS-51单片机的指令系统

(7)位寻址bit在指令中直接给出位地址单元的位地址。通过指令来区分位地址和字节地址,也就是说,访问位地址的指令是不会访问字节地址的,反之亦然。

MCS-51单片机的指令系统

2,指令的格式为[标号:]操作码助记符[目的操作数][,源操作数][;注释]

MCS-51单片机的指令系统

3,数据传送与交换类指令MOV、MOVC、MOVX、PUSH、POP、XCH、XCHDMCS-51单片机的指令系统

MCS-51单片机的指令系统

堆栈操作指令MCS-51单片机的指令系统

数据交换指令MCS-51单片机的指令系统

查表指令:MCS-51单片机的指令系统

外部数据传送指令:MCS-51单片机的指令系统

算术运算类指令ADD、ADDC、DAA、SUBB、INC、DEC、MUL、DIV

MCS-51单片机的指令系统

十进制加法调整指令:DAAMCS-51单片机的指令系统

减法指令MCS-51单片机的指令系统

乘法指令:MULAB;A×B=>BAMCS-51单片机的指令系统

除法指令:DIVAB;A/B=(A)商(B)余数MCS-51单片机的指令系统

逻辑操作类指令CLR、CPL、RL、RR、RLC、RRC、S、ORL、XRL

CLRA;A清零CPLA;A取反RLA:A内容循环左移RRA;A的内容循环右移MCS-51单片机的指令系统

RLCA;A的内容带进位循环左移RRCA;A的内容带进位循环右移SWAPA;A的高、低四位数对倒MCS-51单片机的指令系统

MCS-51单片机的指令系统

控制转移类指令

ACALL、LCALL、RET、RETI、AJMP、LJMP、SJMP、JMP、JZ、JNZ、CJNE、DJNZ、NOP

MCS-51单片机的指令系统

ACALLaddress11;2K页面内调用;SP+1=>SP;PCL=>(SP);SP+1=>SP;PCH=(SP);address11=>PC0~10MCS-51单片机的指令系统

LCALLaddress16;64K调用;SP+1=>SP;PCL=>(SP);SP+1=>SP;PCH=(SP);address16=>PCMCS-51单片机的指令系统

RETRETI;(SP)=>PCH;SP-1=>SP;(SP)=>PCL;SP-1=>SPMCS-51单片机的指令系统

AJMPaddress11LJMPaddress16SJMPrel;短跳转JMP@A+DPTR;在DPTR的基础上,根据A的值,进行跳转。MCS-51单片机的指令系统

条件转移指令:JZrel;A的内容为0则跳转JNZrel;A的内容为非0则跳转

比较,不相等则转移,A>#dataCy=0;A<#dataCy=1MCS-51单片机的指令系统

Rn-1≠0则跳转NOPMCS-51单片机的指令系统

位操作指令:

MOV、CLR、SETB、CPL、ANL、ORL、JC、JNC、JB、JBC、JNBMOVC,bitMOVbit,CCLRCCLRbitMCS-51单片机的指令系统

SETBCSETBbitCPLCCPLbitANLC,bitANLC,/bitORLC,bitORLC,/bitMCS-51单片机的指令系统

条件转移指令:JCrel;C的内容为1则转移JNCrel;C的内容为0则转移JBbit,rel;JNBbit,relJBCbit,rel;bit的内容为1则转移,且清零bit。MCS-51单片机的指令系统

MCS-51单片机的定时器/计数器

本章介绍8051内部的定时器的结构、工作原理和编程使用方法。应当掌握的内容有:1,定时/计数器的核心结构是一个内部计数器,当此计数器对内部标准时钟信号计数时就作为定时器工作;而当它对从T0(T1)管教输入的外部事件脉冲计数时就作为计数器工作。启动计数器后,它在预先置入的初值的基础上累加计数,计满溢出时置位溢出标志,同时发出中断请求。

MCS-51单片机的定时器/计数器

本章介绍8051内部的定时器的结构、工作原理和编程使用方法。应当掌握的内容有:1,定时/计数器的核心结构是一个内部计数器,当此计数器对内部标准时钟信号计数时就作为定时器工作;而当它对从T0(T1)管脚输入的外部事件脉冲计数时就作为计数器工作。启动计数器后,它在预先置入的初值的基础上累加计数,计满溢出时置位溢出标志,同时发出中断请求。

MCS-51单片机的定时器/计数器

2,和定时器有关的寄存器有TMOD,TCON,TH0,TL0,TH1,TL1。它们各自相应位的含义参见教材。TMODD7D0TCON

D7D0TF1TR1TF0TR0IE1IT1IE0IT0GATEC//TM1M0GATEC//TM1M0MCS-51单片机的定时器/计数器

3,定时器有四种工作方式,不同工作方式下定时器的组织结构略有不同。MCS-51单片机的定时器/计数器

方式0:13位定时计数器注意:TL0的低5位和TH0共同组成方式1:16位定时计数器方式2:自动重装入的8位定时计数器溢出后(TF0=0)由TH0→TL0方式3:T0成为两个独立的8位计数器TL0作为定时计数器;TH0仅作定时器用TL0的控制用原T0的,TH0用原T1的控制位T1工作在方式0~2,溢出时送串行口,经常作为串行口波特率发生器MCS-51单片机的定时器/计数器

4,定时器的初值计算方法是:计数:设计数范围为Y,初值为X,则定时:设定时时间为,初值为,则

其中M=8、13、16,取决于定时器的工作方式MCS-51单片机的定时器/计数器

例:fOSC=12MHZ,试计算定时时间2MS所需的定时器的初值。方式2、方式3TMAX=0.256MS,所以必须将工作方式设在方式0或方式1:方式0:TC=213-2MS/1US=6192=1830HTL0=10H,TH0=0C1H方式1:TC=216-2MS/1US=63536=0F830HTL0=30H,TH0=0F8HMCS-51单片机的定时器/计数器

定时器的初始化:1,根据要求给方式寄存器TMOD送一个方式控制字,以设定定时器响应的工作方式;2,根据需要给C/T选送初值以确定需要的定时时间或计数的初值;3,根据需要给中断允许寄存器IE送中断控制字,以开放相应的中断和设定中断优先级;4,给TCON送命令字以启动或禁止C/T的运行。MCS-51单片机的定时器/计数器

5,定时器、计数器的工作范围为最长定时时间:最大计数范围:最高计数频率:MCS-51单片机的定时器/计数器

6,定时器在多次重复定时应用中应注意中断响应和中断处理所需要的时间,并采取相应的处理方法—精确定时。下面是一段精确定时的中断服务程序的例子(在学习完相应章节后再读这段程序),设采用T1定时

MCS-51单片机的定时器/计数器

PIT1:CLREA ; 关中断CLRTR1 ; 关定时器MOVA,#LOW(原初值+7) ;1周期 把原初值加7(处理所需的机器周ADDA,TL1 ;1周期 期数)与TL1中累计的响应中断所需MOVTL1,A ;1周期的机器周期数相加,再作为新的初MOVA,#HIGH(原初值+7);1周期值送回TH1ADDCA,TH1 ;1周期MOVTH1,A ;1周期SETBTR1 ;1周期共7个机器周期....MCS-51单片机的UART

本章在简单介绍串行数据通信的基础上介绍了8051的UART的结构和工作原理以及应用方法。应当掌握的内容有:1,串行通信的基本概念:串行、并行通信;同步、异步通信;双工、半双工、单工通信;异步通信的信号格式、波特率。

MCS-51单片机的UART

2,和串口有关的寄存器有SCON,PCON,SBUF。

3,8051串口有四种工作方式,分别为:

MCS-51单片机的UART

方式0:移位寄存器工作方式移出:RXD:数据出、TXD:时钟出;每个时钟(fosc/12)上升沿把RXD脚上的数据打入外部移位寄存器的D0,然后RXD脚上移出新的数据启动:执行任意一条以SBUF为目的寄存器的指令停止:8位数据移出后TI置位申请中断中断服务程序:①清零TI②送新的数据给SBUFMCS-51单片机的UART

移入:RXD:数据入、TXD:时钟出;每个时钟(fosc/12)上升沿把外部移位寄存器的D7数据从RXD脚打入内部移位寄存器,同时外部移位寄存器移位一次。启动:置位REN(RI=0)开始移入停止:移入8位数据后RI置1,申请中断中断服务程序:①清零RI②把SBUF的数据送到内部RAM存放方式0主要用于扩展并行I/O接口。

MCS-51单片机的UART

方式1:8位UART,波特率可变发送:TXD:数据出--1位起始位(0),8位数据位(LSB在先),1位结束位(1)波特率:T1溢出率的1/16(SMOD=1)或1/32(SMOD=0)并与除16器同步。启动:执行任一条以SBUF为目的寄存器的指令后除16器翻转(溢出)时开始发送。停止:发送完8位数据和1位结束位后TI置1,发出中断请求。中断服务程序:①清零TI②再送数据到SBUFMCS-51单片机的UART

接收:RXD:数据入,格式应与发端相同,波特率也应与发端相同。启动:置位REN,以波特率的16倍速率采样RXD脚上的信号,采到从1到0的跳变时起动接收器①负跳沿复位除16器;②除16器的7、8、9状态确认起始位,N:重新采样起始位,Y:开始接收,并在以后除16器的每个周期的7,8,9状态采样数据,3取2判决。MCS-51单片机的UART

停止:收到8位数据和停止位后若满足①RI=0②SM2=0或停止位为1则8位数据送入SBUF,停止位送入RB8,RI置1,发出中断请求。否则收到的信息丢失,也不发出中断请求。1位时间以后,不管是否满足条件,都将重新检测“1”到“0”的跳变。中断服务程序:①清零RI②把SBUF内的数据送入RAM存放MCS-51单片机的UART

方式2:9位UART,波特率固定发送:TXD:数据出--1位起始位(0),8位数据位(LSB在先),1位可编程位(TB8),1位结束位(1)波特率:fosc/32(SMOD=1)或fosc/64(SMOD=0)。启动:执行任一条以SBUF为目的寄存器的指令后与除16器溢出同步发送。停止:发送完8位数据和1位可编程位、1位结束位后,TI置1,发出中断请求。中断服务程序:①清零TI②再送数据到SBUFMCS-51单片机的UART

接收:RXD:数据入,格式应与发端相同,波特率也应与发端相同。启动:置位REN,以波特率的16倍速率采样RXD脚上的信号,采到从1到0的跳变时起动接收器①负跳沿复位除16器;②除16器的7、8、9状态确认起始位,N:重新采样起始位,Y:开始接收,并在以后除16器的每个周期的7,8,9状态采样数据,3取2判决。MCS-51单片机的UART

停止:收到8位数据和1位可编程位、1位停止位后若满足①RI=0②SM2=0或可编程位为1则8位数据送入SBUF,可编程位送入RB8,RI置1,发出中断请求。否则收到的信息丢失,也不发出中断请求。1位时间以后,不管是否满足条件,都将重新检测“1”到“0”的跳变。中断服务程序:①清零RI②把SBUF内的数据送入RAM存放。MCS-51单片机的UART

方式3:9位UART,波特率可变发送:TXD:数据出--1位起始位(0),8位数据位(LSB在先)、1位可编程位(TB8)、1位结束位(1)波特率:T1溢出率的1/16(SMOD=1)或1/32(SMOD=0)并与除16器同步。启动:执行任一条以SBUF为目的寄存器的指令后除16器翻转(溢出)时开始发送。停止:发送完8位数据和1位可编程位、1位结束位后TI置1,发出中断请求。中断服务程序:①清零TI②再送数据到SBUF。MCS-51单片机的UART

接收:RXD:数据入,格式应与发端相同,波特率也应与发端相同。启动:置位REN,以波特率的16倍速率采样RXD脚上的信号,采到从1到0的跳变时起动接收器①负跳沿复位除16器;②除16器的7、8、9状态确认起始位,N:重新采样起始位,Y:开始接收,并在以后除16器的每个周期的7,8,9状态采样数据,3取2判决。MCS-51单片机的UART

停止:收到8位数据和停止位后若满足①RI=0②SM2=0或可编程位为1则8位数据送入SBUF,可编程位送入RB8,RI置1,发出中断请求。否则收到的信息丢失,也不发出中断请求。1位时间以后,不管是否满足条件,都将重新检测“1”到“0”的跳变。中断服务程序:①清零RI②把SBUF内的数据送入RAM存放

MCS-51单片机的UART

4,8051的UART的波特率有两种方式:固定方式和可变方式。固定方式下波特率为:fosc/32(SMOD=1)fosc/64(SMOD=0)可变方式下波特率为:T1溢出率的1/16(SMOD=1)T1溢出率的1/32(SMOD=0)MCS-51单片机的UART

5,8051的UART可以实现多机通信的应用,SCON中的多机通信位SM2就是为此而设。进行多机通信时工作在方式2或方式3下,在这两种方式下SM2=1时RB8为1则接收并请求中断,而RM8=0则不接收数据。因此,设计发送过程中的数据格式为:地址呼号的TB8=1,通信数据的TB8=0.

MCS-51单片机的UART

呼叫过程:开始时全部从机SM2=0,RI=0;主机发地址呼号(TB8=1),所有从机均收到该呼号,判断是否与本机地址同,若相同,则清零SM2,否则SM2=1不变。MCS-51单片机的UART

通信过程:主机发数据信号(TB8=0),仅被呼叫从机接收,其它从机因SM2=1而不能接收。主机在数据收发完成后发出结束通信呼号,从机接收到结束通信呼号以后将其SM2位置1,全部从机又重新回到等待通信状态。

MCS-51单片机的中断系统

本章介绍8051的中断系统的特点和应用方法。应当掌握的内容有:1,中断的概念:通过硬件来改变CPU的程序运行方向,及时处理外界异步事件的一种方式。MCS-51单片机的中断系统

2,8051的中断源及相应的中断服务程序入口地址。

中断源中断服务程序入口地址外部中断0 0003H定时器0 000BH外部中断1 0013H定时器1 001BH串行通信口 0023HMCS-51单片机的中断系统

3,和中断系统有关的寄存器有IE,IP,TCON以及功能单元中的SFR中的某些位。MCS-51单片机的中断系统

4,中断的优先级:①由IP设定中断的优先级,高级中断可以中断低级中断的中断服务,同级中断则必须在执行完当前的中断服务程序后才能响应新的中断请求。②若有多个同级中断同时请求中断服务,则按前面列出的顺序查询响应。

MCS-51单片机的中断系统

5,中断的响应过程为每个机器周期S5P2采样中断请求标志,下一周期查询,再下一周期硬件生成LCALL指令执行。硬件生成LCALL指令被以下条件封锁:(1)有高级或同级中断服务正在处理。(2)当前不是执行当前指令的最后一个机器周期。(3)当前正在执行的是RETI指令或对IE、IP进行操作的指令(执行完它们后还要再执行一条指令)。MCS-51单片机的中断系统

中断响应过程为:置位中断触发器→PC入栈→中断服务程序入口地址入PC→执行中断服务程序→RETI(清零中断触发器,断点入PC)→返回原断点继续执行执行MCS-51单片机的中断系统

6,响应中断的时间为:

从上表中可看出,如果没有高级或同级中断正在执行,则响应中断所需的等待时间为3到8个机器周期。

MCS-51单片机的中断系统

7,关于外部中断:外部中断有低电平触发和下跳沿触发两种触发方式,对于需要保持中断触发标志的情况应当采用下跳沿触发方式。

MCS-51单片机的中断系统

8,中断请求标志的处理(1)TF0、TF1及边沿触发时的IE0、IE1在响应中断后会自动清零。(2)RI、TI必须在中断服务程序中由软件清零(3)低电平触发时的IE0、IE1随外部信号变化而变化。MCS-51单片机的中断系统

9,关于单步执行:

利用MCS-51单片机的中断系统执行完RETI指令后必须再执行一条其它指令才能响应新的中断的特点,可以方便地实现单步操作。

MCS-51单片机的系统扩展

本章介绍单片机的应用系统扩展方法。本章是这门课程的重点,需要认真学习,较好地掌握它的内容。单片机的应用系统扩展分为存储器扩展和应用接口扩展两种类型。

MCS-51单片机的系统扩展

存储器扩展:1,存储器的特点和接口连线及所需的单片机的控制信号(1)常用存储器有ROM:掩模ROM,PROM,EPROM,EEPROMRAM:SRAM,DRAM两类,响应速度(从I/O有效到数据准备好的时延)以SRAM最快,DRAM次之,EEPROM最慢,使用中应当注意速度匹配问题。

MCS-51单片机的系统扩展

(2)接线:地址线--决定存储器的可寻址范围;数据线--决定存储器的数据宽度;片选线--无效时数据线处于高阻状态;读/写允许线--控制输入输出;电源/地线—供电。MCS-51单片机的系统扩展

(3)扩展存储器时需解决:①地址分配与片选译码②地址锁存--用ALE控制③I/O选通--程序存储器用/PSEN;数据存储器用/RD,/WR

MCS-51单片机的系统扩展

2,程序存储器和数据存储器的扩展方法

MCS-51单片机的系统扩展

接口扩展:1,接口芯片的扩展方法(1)根据功能需要选择合适的接口芯片,弄清芯片的管脚定义、动作时序、工作方式、控制方法。(2)单片机与接口芯片的联系主要有①对控制、状态寄存器的访问一般均以访问外部存储器的方式进行②管脚上所需的控制信号的实现有3种途径A,通过单片机的P1口提供B,通过/RD,/WR等动作提供C,通过地址译码提供MCS-51单片机的系统扩展

2,显示器、键盘的扩展方法(1)LED显示器有静态显示和扫描显示两种方式,扫描显示可以大大减少所需控制信号线。具体电路见教材(2)少量的按键可以用口线直接扩展,大量的按键一般以矩阵键盘形式扫描实现。具体电路见教材(3)可以通过串口的移位寄存器工作方式配合外部移位寄存器扩展LED显示器和键盘MCS-51单片机的系统扩展

3,串行通信接口的扩展方法(1)串行通信一般应遵循通用的通信标准,如RS-232、RS-422、RS-488等,不同的标准有不同的通信性能。(2)对应不同的标准,有不同的通信线路驱动芯片。如RS-232的1488、1489,RS-422的75175、75176等等。(3)要实现可靠的数据通信,必须建立收发双方的通信协议,按照通信协议,编制通信管理程序。(4)只要遵循同样的通信标准、通信协议,单片机系统就可以实现与同类单片机、异类单片机、PC机、智能仪器等多种不同对象间的数据通信。

MCS-51单片机的系统扩展

4,AD/DA的扩展方法模拟通道的接口需要考虑以下问题(1)根据速率、精度选择合适的A/D、D/A芯片(转换时间,位数)。(2)按照传感器和A/D芯片的电平指标、精度指标,选择合适的放大电路和滤波电路。(3)如有需要,在多路输入的情况下应选择合适的多路转换开关(继电器或模拟开关)。(4)对于快速变化的信号,还应当采用采样保持电路以减小孔径误差。(5)单片机应时序要求提供A/D,D/A芯片所需的各接口信号。MCS-51单片机的系统扩展

一、外部程序存储器的扩展MCS—51的程序存储器空间、数据存储器空间是相互独立的。程序存储器寻址空间为64K字节(0000H—FFFFH),其中8051、8751片内包含有4K字节的ROM或EPROM。8031片内不带ROM。当片内ROM不够使用或采用8031芯片时,需扩展程序存储器。用作程序存储器的器件是EPROM和EPROM。

51单片机扩展外部程序存储器的硬件电路

访问外部程序存储器的时序

地址锁存器

由于MCS—51单片机的PO口是分时复用的地址/数据总线,因此在进行程序存储器扩展时,必须利用地址锁存器特地址倍号从地址/数据总线中分离开来。地址锁存器可使用带三态缓冲输出的八D锁存器74LS373或8282,也可以使用带清除端的八D锁存器74LS273,地址锁存信号为ALE。几种地址锁存器的管脚配置图

74LS373和8282都是透明的带有三态门的八D锁存器,可简化成下图所示的结构外部数据存储器的扩展

803l单片机内部有128个字节RAM存储器。CPU对内部的RAM具有丰富的操作指令。在用于实时数据采集与处理时,仅靠片内提供的128个字节的数据存储器是远远不够的,在这种情况下,可利用MCS—51的扩展功能,扩展外部数据存储器。常用的数据存储器有静态RAM和动态RAM两种.这里主要讨论静态RAM与MCS—51的接口。MCS—51读外部数据存储器的时序

MOVX A,@DPTR该指令执行时,P0口输出地址低8位,P2口输出地址高8位,ALE有效时,P0口的地址低8位被锁存在373中。随后ALE无效,/RD变为有效,根据373锁存的地址低8位和P2口的地址高8位,从外部存储器中取出数据放入P0口中。MCS—51写外部数据存储器的时序

MOVX@DPTR,ARAM扩展电路1.线选法以高位地址线作为片选信号;地址空间是不连续分布的;适用于外部器件较少的情况。2.全地址译码法采用译码器,常用:74LS138、74LS139、74LS154。地址空间连续;适用于外部器件较多的情况。74LSl38(3-8译码器)

●138是一种三位二进制代码的译码器。●它有二个输入端A、B、C,八个输出端Y0一Y7。A、B、C三个输入端的八个不同组合对应着Y0一Y7的每一路输出,可选中八个电路芯片。例如:C、B、A三个端子为000时,则Y0=0,Y1—Y7=1.即Y0端被选中.●138还有三个允许端G1、G2A、G2B。只有当G1端为高电平、G2A和G2B都为低电平时,该译码器才可以对某一种组合进行译码。74LS138译码器功能表74LSl39(2-4译码器)●139是二位二进制译码器,有两个输入端A、B和四个输出端Y0、Y1、Y2、Y3。●A、B的四种组合分别对应着四个不同的输出Y0一Y3。●74LS139集成芯片内有两组二—四译码器,每组都有一个允许端G。

74LS139真值表74LS154(4-16译码器)真值表INPUTSOUTPUTSE0E1A3A2A1A00123456789101112131415LHXXXXHHHHHHHHHHHHHHHHHLXXXXHHHHHHHHHHHHHHHHHHXXXXHHHHHHHHHHHHHHHHLLLLLLLHHHHHHHHHHHHHHHLLLLLHHLHHHHHHHHHHHHHHLLLLHLHHLHHHHHHHHHHHHHLLLLHHHHHLHHHHHHHHHHHHLLLHLLHHHHLHHHHHHHHHHHLLLHLHHHHHHLHHHHHHHHHHLLLHHLHHHHHHLHHHHHHHHHLLLHHHHHHHHHHLHHHHHHHHLLHLLLHHHHHHHHLHHHHHHHLLHLLHHHHHHHHHHLHHHHHHLLHLHLHHHHHHHHHHLHHHHHLLHLHHHHHHHHHHHHHLHHHHLLHHLLHHHHHHHHHHHHLHHHLLHHLHHHHHHHHHHHHHHLHHLLHHHLHHHHHHHHHHHHHHLHLLHHHHHHHHHHHHHHHHHHHLA/D转换器接口技术

模/数(A/D)转换电路的种类有:计数比较型、逐次逼近型、双积分型等等。选择A/D转换器件主要是从速度、精度和价格上考虑。逐次逼近法A/D转换器,在精度、速度和价格上都适中,是最常用的A/D转换器件。双积分A/D变换器,具有精度高、抗干扰性好、价格低廉等优点,但转换速度慢。近年来在微机应用领域中也得到广泛应用。

逐次逼近型A/D转换器原理

逐次逼近法A/D转换器是一种速度较快、精度较高的A/D转换器,它是通过最高位DN—1至最低位D0的逐次检测来逼近被转换的输入电压。

其转换原理如下:

在启动信号控制下.置数控制逻辑电路置N位寄存器最高位DN-1为l,其余位清0,N位寄存器的内容经D/A转换后得到整个量程—半的模拟电压Vn,与输入电压Vx比较。若Vx>Vn时,则保留DN-1=1,若Vx<Vn时,则DN-1清0。然后,控制逻辑使寄存器下一位DN-2置1,与上次的结果一起经D/A转换后与Vx比较,重复上述过程,直至判别出D0取1还是0为止,此时DONE发出信号表示转换结束。这样,经过N次比较后,N位寄存器的状态就是转换后的数字量,经输出缓冲器读出。整个转换过程就是这样对分搜索比较逼近实现的,其转换速度由时钟频率决定,一般在几微秒到上百微秒之间。例如ADC0809,当时钟频率为640kHz时,转换时间为64μs。

双积分A/D转换器原理

双积分A/D转换器是基于间接测量原理,将被测电压值Vx转换成时间常数,由测量时间常数得到未知电压值的。所谓双积分,就是进行一次A/D转换需要二次积分。①定时积分:控制门通过电子开关把被测电压Vx加到积分器的输入端,在固定时间T0内对Vx积分,积分输出终值与Vx成正比;②控制门将电子开关切换到极性与Vx相反的基准电压Vr上,进行反相积分,由于基准电压Vr恒定,所以积分输出将按T0期间积分的值以恒定的斜率下降(称定值积分),由比较器检测积分输出过零时,停止积分器工作。反相积分的时间Tx与定值积分的初值(即定时积分的终值)成比例关系,故可以通过测量反相积分时间Tx计算出Vx,即:Vx=(Tx/T0)×Vr反相积分时间T1由计数器对时钟脉冲计数得到。

下图表示出了两种不同输入电压(Vx>Vˊ)的积分情况:显然Vˊ值小,在T0定时积分期间积分器输出终值也就小,而下降斜率相同,故反相积分时间Tˊ也就小。

由于双积分方法二次积分时间比较长。所以A/D转换速度慢,但精度可以做得比较高;对周期变化的干扰信号积分为零,抗干扰性能也比较好。目前国内外双积分A/D转换器集成电路芯片很多,大部分是应用于数字测量仪器上。适用单片机接口的有3位半双积分A/D转换器MC14433(精度相当于1l位二进制数)和4位半双积分A/D转换器ICL7135(精度相当于14位二进制数)。

A/D转换器的主要技术指标

分辨率(Resolution)

对于ADC来说,分辨率表示输出数字量变化一个相邻数码所需输入模拟电压的变化量。转换器的分辨率定义为满刻度电压与2n之比值,其中n为ADC的位数。例如:具有12位分辨率的ADC能够分辨出满刻度的1/212或满刻度的0.0245%一个10v满刻度的12位ADC能够分辨输入电压变化的最小值为2.4mv。

转换速率(ConversionRate)

ADC的转换速率就是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间)是转换速率的倒数。

线性度(Linearity)

线性度有时又称为非线性度(Non-Linearity),它是指转换器实际的转移函数与理想直线的最大偏移。理想直线可以通过理想的转移函数的所有点来描述。ADC的线性度如图所示,其典型值是土1/2LSB。

MCS-51单片机与A/D转换器接口

ADC0809A/D转换芯片ADC0809是CMOS工艺、采用逼近法的8位A/D转换芯片,28引脚双列直插式封装,片内除A/D转换部分外还有多路模拟开关部分。有8路模拟量输入端,最多允许8路模拟量分时输入,共用一个A/D转换器进行转换。

ADC0809的内部结构逻辑图

引脚功能说明

IN0—IN7:8路输入通道的模拟输入端。DB0一DB7:8位数字量输出端。START:启动信号。加上正脉冲后,A/D转换开始进行。ALE:地址锁存信号,高电平时把三个地址信号送入地址锁存器,并经译码器得到地址输出,以选择相

温馨提示

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

评论

0/150

提交评论