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

下载本文档

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

文档简介

1、MCS-51单片机的组成及结构分析单片机的组成及结构分析n计算机数字计算机冯.诺伊曼计算机:顺序执行预存指令的数字装置MCS-51单片机的组成及结构分析单片机的组成及结构分析MCS-51单片机的组成及结构分析单片机的组成及结构分析n计算机的组成:运算器、控制器、存储器、总线、IO接口、外设n单片机把运算器、控制器、存储器、总线、IO接口等集成到一个芯片中得到的一个微处理器芯片。MCS-51单片机的组成及结构分析单片机的组成及结构分析 1,8051由CPU、内部程序存贮器ROM、内部寄存器RAM、I/O接口控制单元、定时器计数器、串行通信接口、内部总线等部分构成。 2,8051的存贮空间分为64

2、K程序存贮器、64K数据存贮器、256字节内部寄存器RAM三个部分。 程序存贮器中低端的4K可用/EA脚来选择使用内部或外部的程序存贮器。 MCS-51单片机的组成及结构分析单片机的组成及结构分析n内部寄存器分为: 特殊功能寄存器(SFR)80H-0FFH RAM 工作寄存器(四组) 00H-1FH 通用寄存器RAM 00H-7FH 位寻址单元(128位) 20H-2FH 通用RAM单元 30H-7FH 3,SFR中有CPU专用寄存器和功能单元专用寄存器两类: CPU专用寄存器有:ACC、B、PSW、SP、DPTR等。MCS-51单片机的组成及结构分析单片机的组成及结构分析应掌握PSW中各位的

3、含义。 D7 D0 CY AC F0 RS1 RS0 OV - P 堆栈区使用通用RAM单元,复位时堆栈指针SP=07H。 在指令系统中通过数据指针DPTR来间接寻址访问外部数据存贮器。 MCS-51单片机的组成及结构分析单片机的组成及结构分析n功能单元专用寄存器有: 并行接口缓冲器:P0、P1、P2、P3P3口的复用功能 D7 D0/RD /WR T1 T0 /INT1 /INT0 TXD RXD 中断系统:IP、IE 定时器计数器:TMOD、TCON、TH0、TL0、TH1、TL1 串行接口:SBUF、SCON 电源控制:PCONMCS-51单片机的组成及结构分析单片机的组成及结构分析 4

4、,并行接口P0、P2用来作总线扩展。P2为地址高8位,P0为地址低8位与8位数据时分复用。工作时外部必须有地址锁存器配合工作,通常使用74LS373作地址锁存器,ALE信号的下降沿把P0口上的地址低8位值打入外部地址锁存器,然后由/PSEN(或/RD、/WR)信号控制从P0口读入或送出数据。 MCS-51单片机的组成及结构分析单片机的组成及结构分析5,四个并行I/O接口有着不同的电路结构。I/O口的每一位基本上都是由口锁存器、功能转换开关和驱动电路三部分组成。对I/O口的操作分为锁存器操作和管脚操作两种类型,由“读修改写”指令和直接操作指令来分别进行。使用接口时应注意读入管脚状态前要先输出“1

5、”,还应注意P0口的外部上拉和各个口的驱动能力。 8051输入输出端口结构输入输出端口结构 80 51单片机有四个8位并行I/O端口,记作P0、P1、P2和P3。每个端口都是8位准双向口,共占32根引脚。每一 条I/O线都能独立地用作输入或输出。 每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器,作为输出时数据可以锁存,作输入时数据可以缓冲,但这四个通道的功能不完全相同。 8051输入输出端口结构输入输出端口结构 在无片外扩展存储器的系统中,这四个端口的每一位都可以作为准双向通用IO端口使用。在具有片外扩展存储器系统中,P2口送出高8位地址P0口为双向总线,分时

6、送出低8位地址和数据的输入输出。 8051单片机四个I()端口的电路设计非常巧妙,熟悉IO端口逻辑电路,不但有利于正确合理地使用端口。而且会对设计单片机外围逻辑电路有所启发。 结构:一个输出锁存器; 二个三态输入缓冲器 输出驱动电路及控制电路组成其工作状态受: 控制电路与门、反相器、转换开关MUX控制。 当CPU使控制线C0,开关MUX连接输出锁存器,P0口为通用IO 口,当C1时,开关投向反相器的输出端,P0口分时作为地址数据总线使用。 P0口结构口结构P0口结构(口结构(8位中的位中的1位)位)P0口作为一般IO口使用 当8051组成的系统无外扩存储器、CPU对片内存储器和IO口读写时,内

7、部硬件自动使控制线C0。开关MUX处于图示位置,它把输出级(T2)与锁存器的端接通; 因与门输出为0,输出级中的上拉场效应管T1处于截止状态,因此,输出级是漏极开路的开漏电路。这时P0口可作一般IO口用。 P0口用作输出口 一般的数据输出情况:当CPU执行输出指令时,写脉冲加在D锁存器的CP上,这样与内部总线相连的D端的数据取反后就出现在端口,又经输出级FFT(T2)反相,在P0端口上出现的数据正好是内部总线的数据。 P0口用作输出口 读P0口D锁存器:8051有几条输出指令功能特别强,属于“读一修改写”指令。 例如,执行条“ANL P0,A”指令的过程是:不直接读引脚上的数据,而是CPU先读

8、P0口D锁存器中的数据,当“读锁存器”信号有效三态缓冲器开通,Q端数据送入内部总线和累加器A中的数据进行“逻辑与”操作,结果送问P0端口锁存器。此时,锁存器的内容(Q端状态)和引脚是致的。 P0口作输入口 图中的缓冲器用于CPU直接读端口数据。当执行一条由端口输入的指令时,“读引脚”脉冲把该二态缓冲器打开,这样,端口上的数据经过缓冲器读入到内部总线。这类操作由数据传送指令实现。 从图中还可看出,在读入端口引脚数据时由于输出驱动FET(T2)并接在引脚上,如果FET(T2)导通就会将输入的高电平拉成低电平,以致于产生误读。在端口进行输入操作前,应先向端口锁存器写入“l”,也就是使锁存器0,因为控

9、制线C0,因此T1和T2全截止,引脚处于悬浮状态,可作高阻抗输入。这就是所谓的准双向口的含义。P0口作为地址数据总线使用 CPU对片外存储器读写,由内部硬件自动使控制线Cl,开关MUX拨向反相器输出端。这时P0口可作地址数据总线分时使用,分为两种情况。P0口用作输出地址/数据总线:在扩展系统中,种是以P0口引脚输出低8位地址或数据信息。MUX开关把CPU内部地址数据线经反向器与驱动场效应管FET(T2)栅极接通。从图上可以看到,上下两个FET处于反相,构成推拉式的输出电路(T1导通时上拉,T2导通时下拉),大大增加了负载能力。 P0口作为地址数据总线使用 另一种情况是由P0口输入数据。这种情况

10、是在“读引脚”信号有效时打开输入缓冲器使数据进入内部总线。 P0口的特点P0既可作般IO端口用使用,又可作地址数据总线使用。 I/O输出时,输出级属开漏电路,必须外接上拉电阻,才有高电平输出;作IO输入时,必须先向对应的锁存器写入“1”,使FET(T2)截止,不影响输入电平。当P0口被地址数据总线占用时,就无法再作IO口使用了。 P1口某位结构 P2口某位结构P3口的结构 P3口是一个多功能端口 : 第功能:通用IO口 第二功能:其他功能(见下表) P3口与P1口的差别在于多了一个与非门和缓冲器,与非门的作用实际上是一个开关,决定是输出锁存器上的数据还是输出第二功能(W)的信号。 当W1时输出

11、Q端信号; 当Q1,可输出W线信号。 P3各口线的第二功能表 口口 线线 第第 二二 功功 能能 P3.0RXD(串行口接收)(串行口接收) P3.1TXD(串行口发送)(串行口发送) P3.2(外部中断(外部中断0输入)输入) P3.3(外部中断(外部中断1输入)输入) P3.4T0(计数器(计数器0输入)输入) P3.5T1 (计数器(计数器1输入)输入) P3.6(片外数据存储器写)(片外数据存储器写) P3.7(片外数据存储器读)(片外数据存储器读) P3口的位结构编程时,不必事先由软件设置P3门为第一功能(通用IO口)还是第二功能。当CPU对P3口进行SFR寻址(位或字节)访问时,由

12、内部硬件自动将第二功能输出线W置1,这时P3口为通用IO口;当CPU不把P3口作为SFR寻址(位或字节)访问时,即用作第二功能输出/输入时,由内部硬件使锁存器Q1。 P3口的应用方法P3口作为通用IO口使用 当对P3口的SFR寻址时,“第二输出功能端W”保持高电平。打开与非门,所以D锁存器输出端Q的状态可通过与非门送至FET场效应管输出,这是作通用IO口输出的情况。 当P3口作为输入使用(即CPU读引脚状态)时。同P0P2口一样 ,应由软件向口锁存器写“1”,即使得锁存器Q端保持为1,与非门0输出为0,FET场效应管截止,引脚端可作为高阻输入。当CPU发出读命令时,使缓冲器的“读引脚”信号有效

13、,三态缓冲器开通,于是引脚的状态经两个缓冲器到CPU内部路线。 P3口用作第二功能使用 当端口用于第二功能时8个引脚是按位独立定义。当某位被用作第二功能时,该位的D锁存器Q应被内部硬件自动置1,使与非门对“第二输出功能端W”是畅通的。 输入:Q=1,W=1(W不作第二功能输出) 读引脚无效,只有T0、T1、INT0、INT1、RXD有效端口的负载能力和接口要求 P0口的输出级与P1P3口的输出级在结构上是不同的!因此,其负载能力与接口要求也各不相同。P0口与其它口不同,它的输出级无上拉电阻。当把它用作通用IO口使用时,输出级是开漏电路,输入时需外接上拉电阻;用作输入时,应先向口锁存器(80H)

14、写1;把它当作地址数据总线时则无需外接上拉电阻。 P0口的每一位输出可驱动8个LS型TTL负载。 P1P3口的输出级接有内部上拉负载电阻,它们的每一位输出可驱动3个LS型TT负载。 作为输入口时,任何TTL电路都能以正常的方式驱动805l单片机(HMOS)的P1P3口。由于它们的输出级具有上拉电阻,也可以被集电极开路(oc门)或漏极开路所驱动,而无需外接上拉电阻, 对于80c51单片机(CHMOS),端口能提供几毫安的输出电流。 Pl P3口也都是准双向I/O口,作输入时,必须先在相应端口锁存器先写1。 端口的负载能力和接口要求 MCS-51单片机的组成及结构分析单片机的组成及结构分析6,执行

15、指令的最小时间单元是机器周期。每个机器周期由12个时钟周期构成,分为6个S状态。一般每个机器周期中ALE和/PSEN信号有效两次。指令长度有单字节、双字节、三字节三种情况。执行指令的时间有单周期、双周期、四周期三种情况。单字节指令的执行时间有单周期、双周期、四周期三种情况;双字节指令的执行时间有单周期、双周期两种情况;三字节指令的执行时间都为双周期。具体指令的长度和执指时间见附录。 片内振荡器及时钟信号的产生 805l芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器及输入端为XTAL1,输出端为XTAL2,分别为8051的引脚19和18。在XTAL1和XTAL2两端跨接石英晶体及两个

16、电容就构成了稳定的自激振荡器。电容器Cl和C2通常都取30pF左右,对振荡频率有微调作用。振荡频率范围是1.212MHz。 外部振荡脉冲信号 8051也可使用外部振荡脉冲信号,由XTAl2端引脚输入,直接送至内部时钟电路。因为XTAL2的逻辑电平与TTL电平不兼容,所以应接一个上拉电阻(5.1k)。n 对于CHMOS型80c51单片机,外部脉冲信号须从XTALl端引脚输入,XTAL2端悬空。 n外部振荡脉冲源方式常用于多片8051同时工作,以便于同步。两相时钟信号Pl和P2时钟信号的周期称为机器状态时间S(state),它是振荡周期的2倍。n在每个时钟周期(即机器状态时间S)的前半周期,相位1

17、(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。n每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟Pl和P2为基本节拍指挥8051单片机各个部件协调地工作。 两相时钟信号Pl和P2CPU时序图CPU取指、执行周期时序 n 每一条指令的执行都可以包括取指和执行两个阶段。n在取指阶段,CPU从内部或者外部ROM中取出指令操作码及操作数,然后再执行这条指令的逻辑功能。 n在8051指令系统中,其指令可由单字节、双字节和三字节组成。CPU取指、执行周期时序 n从机器执行指令的速度看,单字节和双字节指令都可能是单周期或双周期,n而三字节指令都是双周期,n只

18、有乘、除指令占四个周期。n执行条指令的时间(指令周期)分别为2us、4us和8us。 (采用6MHz晶体振荡器)n单周期指令的执行始于S1P2,此时操作码被锁存于指令寄存器内。n若是双字节指令,则同一机器周期的S4读第2个字节。n如果是单字节指令,在S4仍作读操作,但无效,且程序计数器PC不加1。n图分别给出了单字节单周期和双字节单周期指令的时序,都在S6P2结束时完成执行指令的操作。 MCS-51单片机的组成及结构分析单片机的组成及结构分析 8,复位状态是指对CPU内部单元的预先约定的初值状态。复位是指进入这种状态的过程。复位条件是:在RST管脚上维持两个机器周期的高电平将导致单片机进入复位

19、状态。在复位状态下,PC指向0000H地址,SP内容为07H、P0-P3口锁存器内容为0FFH、其余SFR的内容为00H、通用RAM的内容保持不变。复位电路可采用由电阻和电容构成的上电复位电路或按键复位电路。 复位及复位电路 nHMOS型805l的复位结构见图。n复位引脚RST通过片内一个斯密特触发器与片内复位电路相连。斯密特触发器用来脉冲整形及抑制噪声,其输出在每个机器周期的S5P2时被复位电路采样一次。如果输出2个机器周期(24个振荡周期)的高电平的正脉冲,805l便执行内部复位。 上电复位电路n上电瞬间,RST端的电位与Vcc相同,随着充电电流的减小,RST端的电位逐渐下降,只要在RST

20、处有时间足够长的阂值以上的电压时就能可靠复位。n图中参数适宜6MHz晶振。 按键手动复位电路 n该电路是上述电复位电路另加一个200电阻和手动开关组成。n实际上该电路是上电复位兼按键手动复位电路。当开关常开时,n上电复位:当常开按键闭合时,相当于RST端通过电阻与Vcc电源接通,提供足够宽度的阂值电压完成复位。 MCS-51单片机的指令系统单片机的指令系统 本章介绍了单片机的寻址方式和指令系统。本章应掌握的主要内容有: 1,MCS-51的指令系统有七种寻址方式: (1)直接寻址 direct 在指令中给出RAM的直接地址。(H为16进制;D为十进制;B为二进制;O为八进制) (2)寄存器寻址

21、Rn ,n为07 在指令中给出寄存器名。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的内

22、容和基址寄存器DPTR(或PC)的内容加在一起来给出所需的程序存贮器地址。 MCS-51单片机的指令系统单片机的指令系统(7)位寻址 bit 在指令中直接给出位地址单元的位地址。通过指令来区分位地址和字节地址,也就是说,访问位地址的指令是不会访问字节地址的,反之亦然。 MCS-51单片机的指令系统单片机的指令系统2,指令的格式为标号: 操作码助记符 目的操作数 ,源操作数 ;注释 MCS-51单片机的指令系统单片机的指令系统 3,数据传送与交换类指令 MOV、MOVC、MOVX、PUSH、POP、XCH、XCHDniRdirectMOV A , R#datanAMOV R , direct#d

23、ataMCS-51单片机的指令系统单片机的指令系统niARMOV direc1 , direct2R#dataiAMOV R , direct#data16MOV DPTR , #dataMCS-51单片机的指令系统单片机的指令系统堆栈操作指令PUSH direct; SP+1SP; direct(SP)POP direct; (SP)direct; SP-1SPMCS-51单片机的指令系统单片机的指令系统数据交换指令niRXCH A , directRii0303XCHD A , R; R )A(MCS-51单片机的指令系统单片机的指令系统查表指令:PCPCMOVC A , A+DPTR ;

24、 (A+DPTR)AMOVC A , A+PC ; (A+PC)AMCS-51单片机的指令系统单片机的指令系统外部数据传送指令:iiDPTRDPTRMOVX A , MOVX , ARRMCS-51单片机的指令系统单片机的指令系统算术运算类指令 ADD、ADDC、DAA、SUBB、INC、DEC、MUL、DIV niRdirectADD A , R#dataniRdirectADDC A , R#dataniARINC directRDPTRMCS-51单片机的指令系统单片机的指令系统n十进制加法调整指令:DA AMCS-51单片机的指令系统单片机的指令系统减法指令niRdirectSUBB

25、A , R#dataniRdirectDEC RAMCS-51单片机的指令系统单片机的指令系统乘法指令:MUL AB;AB=BAMCS-51单片机的指令系统单片机的指令系统除法指令:DIV AB;A/B=(A)商(B)余数MCS-51单片机的指令系统单片机的指令系统逻辑操作类指令 CLR、CPL、RL、RR、RLC、RRC、SWAP、ANL、ORL、XRL CLR A;A清零CPL A; A取反RL A: A内容循环左移RR A; A的内容循环右移MCS-51单片机的指令系统单片机的指令系统RLC A ;A的内容带进位循环左移RRC A ;A的内容带进位循环右移SWAP A ;A的高、低四位数

26、对倒MCS-51单片机的指令系统单片机的指令系统niRdirectANL A , R#dataniRdirectORL A , R#dataAANL direct, #dataAORL direct, #dataniRdirectXRL A , R#dataAXRL direct, #dataMCS-51单片机的指令系统单片机的指令系统控制转移类指令 ACALL、LCALL、RET、RETI、AJMP、LJMP、SJMP、JMP、JZ、JNZ、CJNE、DJNZ、NOP MCS-51单片机的指令系统单片机的指令系统ACALL address11 ;2K页面内调用;SP+1=SP; PCL=(S

27、P); SP+1=SP; PCH=(SP);address11=PC010MCS-51单片机的指令系统单片机的指令系统LCALL address16 ;64K调用;SP+1=SP; PCL=(SP); SP+1=SP; PCH=(SP); address16=PCMCS-51单片机的指令系统单片机的指令系统RET RETI;(SP)=PCH; SP-1=SP; (SP)=PCL; SP-1=SPMCS-51单片机的指令系统单片机的指令系统AJMP address11 LJMP address16SJMP rel;短跳转JMP A+DPTR ;在DPTR的基础上,根据A的值,进行跳转。 MCS-

28、51单片机的指令系统单片机的指令系统条件转移指令:JZ rel;A的内容为0则跳转JNZ rel ; A的内容为非0则跳转 nACJNE R,#data , rel iR比较,不相等则转移,A#data Cy=0; A#data Cy=1CJNE A , direct , relMCS-51单片机的指令系统单片机的指令系统 nRDJNZ , reldirectRn-10 则跳转NOPMCS-51单片机的指令系统单片机的指令系统位操作指令: MOV、CLR、SETB、CPL、ANL、ORL、JC、JNC、JB、JBC、JNBMOV C, bitMOV bit, CCLR CCLR bitMCS-

29、51单片机的指令系统单片机的指令系统SETB CSETB bitCPL CCPL bitANL C, bitANL C, /bitORL C, bitORL C, /bitMCS-51单片机的指令系统单片机的指令系统条件转移指令:JC rel; C的内容为1则转移JNC rel ; C的内容为0则转移JB bit, rel ;JNB bit, relJBC bit, rel; bit的内容为1则转移,且清零bit。MCS-51单片机的指令系统单片机的指令系统MCS-51单片机的定时器单片机的定时器/计数器计数器本章介绍8051内部的定时器的结构、工作原理和编程使用方法。应当掌握的内容有: 1,

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

31、满溢出时置位溢出标志,同时发出中断请求。 MCS-51单片机的定时器单片机的定时器/计数器计数器 2 , 和 定 时 器 有 关 的 寄 存 器 有TMOD,TCON,TH0,TL0,TH1,TL1。它们各自相应位的含义参见教材。 TMODD7 D0TCON D7 D0TF1TR1TF0TR0IE1IT1IE0IT0GATEC/T M1M0GATEC/TM1M0MCS-51单片机的定时器单片机的定时器/计数器计数器3,定时器有四种工作方式,不同工作方式下定时器的组织结构略有不同。MCS-51单片机的定时器单片机的定时器/计数器计数器方式0:13位定时计数器注意:TL0的低5位和TH0共同组成方

32、式1: 16位定时计数器方式2: 自动重装入的8位定时计数器溢出后(TF0=0)由TH0TL0方式3:T0成为两个独立的8位计数器TL0作为定时计数器;TH0仅作定时器用TL0的控制用原T0的,TH0用原T1的控制位T1工作在方式02,溢出时送串行口,经常作为串行口波特率发生器MCS-51单片机的定时器单片机的定时器/计数器计数器 4,定时器的初值计算方法是:计数:设计数范围为Y,初值为X,则定时:设定时时间为,初值为,则 其中M=8、13、16,取决于定时器的工作方式2MXY122oscYMfTXMCS-51单片机的定时器单片机的定时器/计数器计数器例:fOSC=12MHZ,试计算定时时间2

33、MS所需的定时器的初值。方式2、方式3 TMAX=0.256MS,所以必须将工作方式设在方式0或方式1:方式0:TC=213-2MS/1US=6192=1830H TL0=10H,TH0=0C1H方式1:TC=216-2MS/1US =63536=0F830H TL0=30H,TH0=0F8HMCS-51单片机的定时器单片机的定时器/计数器计数器 定时器的初始化: 1,根据要求给方式寄存器TMOD送一个方式控制字,以设定定时器响应的工作方式; 2,根据需要给C/T选送初值以确定需要的定时时间或计数的初值; 3,根据需要给中断允许寄存器IE送中断控制字,以开放相应的中断和设定中断优先级; 4,给

34、TCON送命令字以启动或禁止C/T的运行。MCS-51单片机的定时器单片机的定时器/计数器计数器5,定时器、计数器的工作范围为 最长定时时间: 最大计数范围: 最高计数频率:oscf/1221616224/oscfMCS-51单片机的定时器单片机的定时器/计数器计数器 6,定时器在多次重复定时应用中应注意中断响应和中断处理所需要的时间,并采取相应的处理方法精确定时。下面是一段精确定时的中断服务程序的例子(在学习完相应章节后再读这段程序),设采用T1定时 MCS-51单片机的定时器单片机的定时器/计数器计数器PIT1: CLR EA; 关中断 CLR TR1; 关定时器 MOV A,#LOW(原

35、初值+7) ;1周期 把原初值加7(处理所需的机器周 ADD A,TL1;1周期 期数)与TL1中累计的响应中断所需 MOV TL1,A;1周期 的机器周期数相加,再作为新的初 MOV A,#HIGH(原初值+7);1周期 值送回TH1 ADDC A,TH1;1周期 MOV TH1,A;1周期 SETB TR1 ;1周期 共7个机器周期 .MCS-51单片机的单片机的UART 本章在简单介绍串行数据通信的基础上介绍了8051的UART的结构和工作原理以及应用方法。应当掌握的内容有: 1,串行通信的基本概念:串行、并行通信;同步、异步通信;双工、半双工、单工通信;异步通信的信号格式、波特率。 M

36、CS-51单片机的单片机的UART2,和串口有关的寄存器有SCON,PCON,SBUF。 3,8051串口有四种工作方式,分别为: MCS-51单片机单片机的的UART方式方式0 0:移位寄存器工作方式移出:RXD:数据出、TXD:时钟出;每个时钟(fosc/12)上升沿把RXD脚上的数据打入外部移位寄存器的D0,然后RXD脚上移出新的数据启动:执行任意一条以SBUF为目的寄存器的指令停止:8位数据移出后TI置位申请中断中断服务程序:清零TI 送新的数据给SBUFMCS-51单片机的单片机的UART移入:RXD:数据入、 TXD:时钟出;每个时钟(fosc/12)上升沿把外部移位寄存器的D7数

37、据从RXD脚打入内部移位寄存器,同时外部移位寄存器移位一次。启动:置位REN (RI=0)开始移入停止:移入8位数据后RI置1,申请中断中断服务程序:清零RI 把SBUF的数据送到内部RAM存放方式0主要用于扩展并行I/O接口。 MCS-51单片机的单片机的UART方式方式1 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,发

38、出中断请求。中断服务程序:清零TI 再送数据到SBUFMCS-51单片机的单片机的UART接收:RXD:数据入,格式应与发端相同,波特率也应与发端相同。启动:置位REN,以波特率的16倍速率采样RXD脚上的信号,采到从1到0的跳变时起动接收器 负跳沿复位除16器;除16器的7、8、9状态确认起始位, N:重新采样起始位, Y:开始接收,并在以后除16器的每个周期的7,8,9状态采样数据,3 3取取2 2判决判决。MCS-51单片机的单片机的UART停止:收到8位数据和停止位后若满足 RI=0 SM2=0或停止位为1 则8位数据送入SBUF,停止位送入RB8,RI置1,发出中断请求。否则收到的信

39、息丢失,也不发出中断请求。1位时间以后,不管是否满足条件,都将重新检测“1”到“0”的跳变。 中断服务程序:清零RI 把SBUF内的数据送入RAM存放MCS-51单片机的单片机的UART方式方式2 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 再送数据到SBUF

40、MCS-51单片机的单片机的UART接收: RXD:数据入,格式应与发端相同,波特率也应与发端相同。 启动:置位REN,以波特率的16倍速率采样RXD脚上的信号,采到从1到0的跳变时起动接收器 负跳沿复位除16器;除16器的7、8、9状态确认起始位, N:重新采样起始位, Y:开始接收,并在以后除16器的每个周期的7,8,9状态采样数据,3 3取取2 2判决。判决。MCS-51单片机的单片机的UART停止:收到8位数据和1位可编程位、1位停止位后若满足 RI=0 SM2=0或可编程位为1 则8位数据送入SBUF,可编程位送入RB8,RI置1,发出中断请求。否则收到的信息丢失,也不发出中断请求。

41、1位时间以后,不管是否满足条件,都将重新 检测“1”到“0”的跳变。 中断服务程序:清零RI 把SBUF内的数据送入RAM存放。MCS-51单片机的单片机的UART方式方式3 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

42、。MCS-51单片机的单片机的UART接收: RXD:数据入,格式应与发端相同,波特率也应与发端相同。 启动:置位REN,以波特率的16倍速率采样RXD脚上的信号,采到从1到0的跳变时起动接收器 负跳沿复位除16器;除16器的7、8、9状态确认起始位, N:重新采样起始位, Y:开始接收,并在以后除16器的每个周期的7,8,9状态采样数据,3 3取取2 2判决。判决。MCS-51单片机的单片机的UART停止:收到8位数据和停止位后若满足 RI=0 SM2=0或可编程位为1 则8位数据送入SBUF,可编程位送入RB8,RI置1,发出中断请求。否则收到的信息丢失,也不发出中断请求。1位时间以后,不

43、管是否满足条件,都将重新检测“1”到“0”的跳变。 中断服务程序:清零RI 把SBUF内的数据送入RAM存放 MCS-51单片机的单片机的UART4,8051的UART的波特率有两种方式:固定方式和可变方式。 固定方式下波特率为: fosc/32 (SMOD=1) fosc/64 (SMOD=0) 可变方式下波特率为: T1溢出率的1/16 (SMOD=1) T1溢出率的1/32 (SMOD=0)MCS-51单片机的单片机的UART5,8051的UART可以实现多机通信的应用,SCON中的多机通信位SM2就是为此而设。 进行多机通信时工作在方式2或方式3下,在这两种方式下SM2=1时RB8为1

44、则接收并请求中断,而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单片机的中断系统

45、单片机的中断系统本章介绍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,中断的优先级:

46、由IP设定中断的优先级,高级中断可以中断低级中断的中断服务,同级中断则必须在执行完当前的中断服务程序后才能响应新的中断请求。 若有多个同级中断同时请求中断服务,则按前面列出的顺序查询响应。 MCS-51单片机的中断系统单片机的中断系统5,中断的响应过程为 每个机器周期S5P2采样中断请求标志,下一周期查询,再下一周期硬件生成LCALL指令执行。硬件生成LCALL指令被以下条件封锁: (1)有高级或同级中断服务正在处理。 (2)当前不是执行当前指令的最后一个机器周期。 (3)当前正在执行的是RETI指令或对IE、IP进行操作的指令(执行完它们后还要再执行一条指令)。MCS-51单片机的中断系统单

47、片机的中断系统 中断响应过程为中断响应过程为: 置位中断触发器PC入栈中断服务程序入口地址入PC执行中断服务程序RETI(清零中断触发器,断点入PC)返回原断点继续执行执行MCS-51单片机的中断系统单片机的中断系统 6,响应中断的时间为响应中断的时间为: 从上表中可看出,如果没有高级或同级中断正在执行,则响应中断所需的等待时间为3到8个机器周期。 MCS-51单片机的中断系统单片机的中断系统 7,关于外部中断:,关于外部中断: 外部中断有低电平触发和下跳沿触发两种触发方式,对于需要保持中断触发标志的情况应当采用下跳沿触发方式。 MCS-51单片机的中断系统单片机的中断系统 8 8,中断请求标

48、志的处理,中断请求标志的处理 (1)TF0、TF1及边沿触发时的IE0、IE1在响应中断后会自动清零。 (2)RI、TI必须在中断服务程序中由软件清零 (3)低电平触发时的IE0、IE1随外部信号变化而变化。MCS-51单片机的中断系统单片机的中断系统 9,关于单步执行:,关于单步执行: 利用MCS-51单片机的中断系统执行完RETI指令后必须再执行一条其它指令才能响应新的中断的特点,可以方便地实现单步操作。 MCS-51单片机的系统扩展单片机的系统扩展 本章介绍单片机的应用系统扩展方法。本章是这门课程的重点,需要认真学习,较好地掌握它的内容。 单片机的应用系统扩展分为存储器扩展和应用接口扩展

49、两种类型。 MCS-51单片机的系统扩展单片机的系统扩展 存储器扩展:存储器扩展: 1,存储器的特点和接口连线及所需的单片机的控制信号 (1)常用存储器有 ROM:掩模ROM,PROM,EPROM,EEPROM RAM:SRAM,DRAM两类,响应速度(从I/O有效到数据准备好的时延)以SRAM最快,DRAM次之,EEPROM最慢,使用中应当注意速度匹配问题。 MCS-51单片机的系统扩展单片机的系统扩展(2 2)接线:)接线:地址线-决定存储器的可寻址范围;数据线-决定存储器的数据宽度;片选线-无效时数据线处于高阻状态;读/写允许线-控制输入输出;电源/地线供电。MCS-51单片机的系统扩展

50、单片机的系统扩展(3 3)扩展存储器时需解决:)扩展存储器时需解决:地址分配与片选译码 地址锁存-用ALE控制 I/O选通-程序存储器用/PSEN; 数据存储器用/RD,/WR MCS-51单片机的系统扩展单片机的系统扩展2 2,程序存储器和数据存储器的扩展方法,程序存储器和数据存储器的扩展方法 MCS-51单片机的系统扩展单片机的系统扩展接口扩展:接口扩展:1 1,接口芯片的扩展方法,接口芯片的扩展方法(1)根据功能需要选择合适的接口芯片,弄清芯片的管脚定义、动作时序、工作方式、控制方法。(2)单片机与接口芯片的联系主要有 对控制、状态寄存器的访问一般均以访问外部存储器的方式进行 管脚上所需

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

52、遵循通用的通信标准,如RS-232、RS-422、RS-488等,不同的标准有不同的通信性能。 (2)对应不同的标准,有不同的通信线路驱动芯片。如RS-232的1488、1489,RS-422的75175、75176等等。 (3)要实现可靠的数据通信,必须建立收发双方的通信协议,按照通信协议,编制通信管理程序。 (4)只要遵循同样的通信标准、通信协议,单片机系统就可以实现与同类单片机、异类单片机、PC机、智能仪器等多种不同对象间的数据通信。 MCS-51单片机的系统扩展单片机的系统扩展4 4,AD/DAAD/DA的扩展方法的扩展方法模拟通道的接口需要考虑以下问题 (1)根据速率、精度选择合适的

53、A/D、D/A芯片(转换时间,位数)。 (2)按照传感器和A/D芯片的电平指标、精度指标,选择合适的放大电路和滤波电路。 (3)如有需要,在多路输入的情况下应选择合适的多路转换开关(继电器或模拟开关)。 (4)对于快速变化的信号,还应当采用采样保持电路以减小孔径误差。 (5)单片机应时序要求提供A/D,D/A芯片所需的各接口信号。MCS-51单片机的系统扩展单片机的系统扩展一、外部程序存储器的扩展一、外部程序存储器的扩展nMCS51的程序存储器空间、数据存储器空间是相互独立的。n程序存储器寻址空间为64K字节(0000HFFFFH),其中8051、8751片内包含有4K字节的ROM或EPROM

54、。 8031片内不带ROM。n当片内ROM不够使用或采用80 31芯片时,需扩展程序存储器。n用作程序存储器的器件是EPROM和EPROM。 5151单片机扩展外部程序存储器的硬件电路单片机扩展外部程序存储器的硬件电路 访问外部程序存储器的时序访问外部程序存储器的时序 地址锁存器地址锁存器 n 由于MCS51单片机的PO口是分时复用的地址数据总线,因此在进行程序存储器扩展时,必须利用地址锁存器特地址倍号从地址数据总线中分离开来。n地址锁存器可使用带三态缓冲输出的八D锁存器74LS373或8282,也可以使用带清除端的八D锁存器74LS273,n地址锁存信号为ALE。 几种地址锁存器的管脚配置图

55、几种地址锁存器的管脚配置图 74LS37374LS373和和82828282都是透明的带有三态门的八D锁存器,可简化成下图所示的结构外部数据存储器的扩展外部数据存储器的扩展 n803l单片机内部有128个字节RAM存储器。CPU对内部的RAM具有丰富的操作指令。n在用于实时数据采集与处理时,仅靠片内提供的128个字节的数据存储器是远远不够的,在这种情况下,可利用MCS51的扩展功能,扩展外部数据存储器。n常用的数据存储器有静态RAM和动态RAM两种这里主要讨论静态RAM与MCS51的接口。 MCSMCS5151读外部数据存储器的时序读外部数据存储器的时序MOVXMOVX A A,DPTRDPT

56、R 该指令执行时,P0口输出地址低8位,P2口输出地址高8位,ALE有效时,P0口的地址低8位被锁存在373中。随后ALE无效,/RD变为有效,根据373锁存的地址低8位和P2口的地址高8位,从外部存储器中取出数据放入P0口中。MCSMCS5151写外部数据存储器的时序写外部数据存储器的时序 MOVX DPTRMOVX DPTR,A ARAM扩展电路1.线选法 以高位地址线作为片选信号; 地址空间是不连续分布的; 适用于外部器件较少的情况。2.全地址译码法 采用译码器,常用:74LS138、74LS139、 74LS154。 地址空间连续; 适用于外部器件较多的情况。74LSl38 (3-87

57、4LSl38 (3-8译码器译码器) ) 138是一种三位二进制代码的译码器。是一种三位二进制代码的译码器。 它有二个输入端它有二个输入端A、B、C,八个输出,八个输出端端Y0一一Y7。A、B、 C三个输入端的三个输入端的八个不同组合对应着八个不同组合对应着Y0一一Y7的每一路的每一路输出,可选中八个电路芯片。输出,可选中八个电路芯片。例如例如: C、 B、A三个端子为三个端子为000时,则时,则Y0= 0,Y1Y71即即Y0端被选中端被选中. 138还有三个允许端还有三个允许端G1、G2A、G2B。只有当只有当G1端为高电平端为高电平、G2A和和G2B都为都为低电平时,低电平时, 该译码器才

58、可以对某一种该译码器才可以对某一种组合进行译码组合进行译码 。74LS13874LS138译码器功能表译码器功能表74LSl39 (2-4译码器)139是二位二进制译码器,有两个输入端A、B和四个输出端Y0、Y1、Y2、Y3。A、B的四种组合分别对应着四个不同的输出Y0一Y3。74LS139集成芯片内 有两组二四译码器,每组都有一个允许端G。 74LS13974LS139真值表真值表74LS154(4-1674LS154(4-16译码器)真值表译码器)真值表INPUTSOUTPUTSE0E1A3A2A1A00123456789101112131415LHXXXXHHHHHHHHHHHHHHHH

59、HLXXXXHHHHHHHHHHHHHHHHHHXXXXHHHHHHHHHHHHHHHHLLLLLLLHHHHHHHHHHHHHHHLLLLLHHLHHHHHHHHHHHHHHLLLLHLHHLHHHHHHHHHHHHHLLLLHHHHHLHHHHHHHHHHHHLLLHLLHHHHLHHHHHHHHHHHLLLHLHHHHHHLHHHHHHHHHHLLLHHLHHHHHHLHHHHHHHHHLLLHHHHHHHHHHLHHHHHHHHLLHLLLHHHHHHHHLHHHHHHHLLHLLHHHHHHHHHHLHHHHHHLLHLHLHHHHHHHHHHLHHHHHLLHLHHHHHHHHHH

60、HHHLHHHHLLHHLLHHHHHHHHHHHHLHHHLLHHLHHHHHHHHHHHHHHLHHLLHHHLHHHHHHHHHHHHHHLHLLHHHHHHHHHHHHHHHHHHHLA AD D转换器接口技术转换器接口技术 模数模数(A(AD)D)转换电路的种类有:计数比较转换电路的种类有:计数比较型、逐次逼近型、双积分型等等。选择型、逐次逼近型、双积分型等等。选择A AD D转转换器件主要是从速度、精度和价格上考虑。换器件主要是从速度、精度和价格上考虑。 逐次逼近法逐次逼近法A AD D转换器,在精度、速度和价转换器,在精度、速度和价格上都适中,是最常用的格上都适中,是最常用的A

温馨提示

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

评论

0/150

提交评论