MCS51单片机复习要点.docx

上传人:夺命阿水 文档编号:499831 上传时间:2023-08-03 格式:DOCX 页数:34 大小:175.34KB
返回 下载 相关 举报
MCS51单片机复习要点.docx_第1页
第1页 / 共34页
MCS51单片机复习要点.docx_第2页
第2页 / 共34页
MCS51单片机复习要点.docx_第3页
第3页 / 共34页
MCS51单片机复习要点.docx_第4页
第4页 / 共34页
MCS51单片机复习要点.docx_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《MCS51单片机复习要点.docx》由会员分享,可在线阅读,更多相关《MCS51单片机复习要点.docx(34页珍藏版)》请在课桌文档上搜索。

1、MCS-51单片机8051单片机是8位单片机,有40个管脚,8根数据线,16根地址线。单片机的八大组成部分:CPU、ROM、RAM、I/O、定时/计数器、串口、SFR、中断服务系统OFFFH0000H外部数;物田一、MCS-51机的内存结构(如图1所示)64KB外部rh H RAM /比 内B 储器FFH80H7FH_ZXTUJ特殊功MCS-51才取构片内RAM、片外RAMEM、片卜Ls一逻辑上分为;3个空间,程序内存(片内、外)统一编址MOVC数据存储器(片内)MOV数据存储器(片外)MOVX1、程序内存寻址范围:OOooHFFFFH容量64KBEA=1,寻址从内部ROM;EA=0,寻址从外

2、部RoM地址长度:16位存储器地址空间为64KB作用:存放程序及程序运行时所需的常数。系统复位,PC指向8051单片机6个具有特殊含义的单元是:OOOoH此处;0003H外部中断0入口OOOBHTo溢出中断入口0013H外中断1入口OOlBHTl溢出中断入口0023H串口中断入口2、内部数据存储器物理上分为两大区:OOH7FH即128B内RAM和SFR区。如图2所示。7pHI、资料缓冲区堆栈区80字节数据缓冲器用工作单元30H2FH位地址:轲字节OoH7FH词可位寻址位20HIFH3区12区1区32字节4组R(TR7工作寄存器0区JOOH图2内部数据存储器二、殊功能寄存器SFR寻址空间离散支配

3、在:80HFFH,留意PC不在此范围内。地址末尾为0或8的SFR具有位寻址功能1、CPU是运算器加限制器2、算术运算寄存器(1)累加器A(EOH)(2)B寄存器:乘、除法运算用(3)程序状态字PSw寄存器:包含程序运行状态信息oPSWICYlACIFOIRSllRSOlOV|一FCY(PSW.7)进位/借位标记;位累加器。AC(PSW.6)帮助进/借位标记;用于十进制调整。FO(PSW.5)用户定义标记位;软件置位/清零。OV(PSW.2)溢出标记;硬件置位/清零。P(PSW.0)一一奇偶标记;A中1的个数为奇数P=I;否则P=OoRSl、RSO寄存器区选择限制位。00:0区ROR701:1区

4、ROR710:2区ROR711:3区ROR72、指针寄存器(1)程序计数器PCPC的内容是指明即将执行的下一条指令的地址,16位,寻址64KB范围,复位时PC-0000H具有自动加1功能不行寻址即不能通过指令访问。(2)堆栈指针SP指明栈顶元素的地址,8位,可软件设置初值,复位时SP=07H(3)数据指针DPTRR0、R1、DPTR;指明访问的数据存储器的单元地址,16位,寻址范围64KB。DPTR=DPH+DPL,也可单独运用。没有自动加1功能通过软件INCDPTR内容加1时序单片机内的各种操作都是在一系列脉冲限制下进行的,而各脉冲在时间上是有先后依次的,这种依次就称为时序。执令周期:即从取

5、指到执行完,所需时间。不同机器指令周期不一样;即使相同机器,不同的指令其指令周期也不一样。机器周期:机器的基本操作周期。一个指令周期含若干机器周期(单、双、四周期)状态周期:一个机器周期分6个状态周期Si每个状态周期含两个振荡周期,即相位Pl、P2。振荡周期:由振荡时钟产生。振荡周期TOSC=1/fosc一个机器周期二12个振荡周期=121/fosc0例如,若fosc=12MHz,则一个机器周期=Iuso时钟的产生:通过XTALl(19)、XTAL(18)o这两个管脚外部加石英晶体和电容组成振荡器系统复位通过给RST管脚加高电平理论上大于两个机器周期,实际大于IOms,系统复后除了SP=07H

6、,P0Pl、P2、P3为FFH外,全部的寄存器均为OoH,PC=OOOOH,PSW=OOH工作寄存器组R0R7工作在0组。并行I/O端口并行I/0端口四个8位I/O口P0、PkP2、P3作为通用I/0运用,是一个准双向口:“读管脚在输入数据时应先把口置1,使两个FET都截止,引脚处于悬浮状态,可作高阻抗输入MOVPLttOFFHMOVA,P1读端口数据方式是一种对端口锁存器中数据进行读入的操作方式,CPU读入的这个数据并非端口引脚的数据。(对端口进行读-修改-写类指令列如CPLPl.O是读端口锁存器而不是管脚)一、PO口地址80H系统复位后Po=FFH(1)PO可作通用I/0口运用,又可作地址

7、/数据总线口;(2) Po既可按字节寻址,又可按位寻址;(3) Po作为输入口运用时:是准双向口;(4)作通用I/0口输出时:是开漏输出;(外部管脚必需接上拉电阻)(5)作地址/数据总线口时,PO是一真正双向口,分时运用,供应地址线A0A7由ALE限制信号锁存,数据线D(TD7二、Pl口地址90H地址90H系统复位后Pl=FFH2、特点(1)无地址/数据口功能(2)可按字节寻址,也可按位寻址(3)作I/0输入口时:是一准双向口,不是开漏输出(无需外接上拉电阻)。三、P2口地址AOH系统复位后P2=FFH2、特点(1)当P2口作为通用I/0时,是一准双向口。(2)从P2输入数据时,先向锁存器写“

8、1”。(3)可位寻址,也可按字节寻址(4)可输出地址高8位A8A15四、P3口地址BoH系统复位后P3=FFH2、特点(1)作通用I/O时,是一准双向口,不是开漏输出(无需外接上拉电阻)。(2)P3口具有其次功能1、PO口:地址低8位及数据线分时运用端口,2、Pl:按位可编址的输入输出端口,3、P2:地址高8位输出口4、P3口:双功能口。若不用其次功能,也可作通用I/0口。5、按三总线划分:地址线:PO低八位地址,P2高八地址;数据线:PO输入输出8位数据;限制线:P3口的8位(RXD、TXDINTO、INThTO、TKWR*、RD*加上PSEN*、ALE、EA组成制总线。)中断系统五个中断源

9、,两个优先级一、中断请求源(“五源中断”)五个中断源:入口地址外部中断0(/INTO)0003HTO溢出中断OOOBH外部中断1(/INTD0013HTl溢出中断OOlBH串口中断0023H有了中断请求,如何通知CPU?通过中断请求标记位来通知CPUo外部中断源、定时/计数器的中断请求标记位分布在TCON中;串口中断标记位分布在SCON中。TCONIFIITRlITF0ITROlIEll叩JE0ITOSCONIIIIIIITIRI中断请求标三位JIEO(INTO)IEl(INTl)TFO(TO)TFl(TI)TI/RI(串口)TFlTl的溢出中断标记。硬件置I,硬件清0(也可软件清0)。TFO

10、TO的溢出中断标记。(同TFl,只是针对TO的)IEl外部中断1(/INTD请求标记。外部有中断请求时,硬件使IEl置1,硬件清0。IEO外部中断0(/INTO)请求标记。ITl一一外部中断1(/INTI)触发类型限制位。ITl=0,低电平触发。ITl=1,下降沿触发。ITO外中断0(/INTO)触发类型限制位,用法同IT1。外部中断INT0、INTl触发方式有电平触发和跳变触发TI一一串口发送中断标记位。发送完数据,硬件使Tl置1,软件清0(CLRTDRI串行口接收中断标记位。硬件置1,软件清0。二、中断限制(两级管理)1、中断屏蔽IE EA ES ETl EXl ETOEAfI:sETlE

11、XlETO其次级为五个分开关,由IE限制。EXO在中断源及CPU之间有一级限制,类似开关,其中第一级为一个总开关,若为“1”,允许(开关接通) 若为“0”,不允许(开关断开) 例如,SETB EACLR IE. 7串口限制位Tl中断限制位/INTI限制位TO中断限制位EXO/INTO限制位2、中断优先级为什么要有中断优先级?CPU按中断申请时间先后依次响应中断,同一时间只能响应一个中断请求。若同时来了两个或两个以上中断请求CPU响应高级别中断。为此将5个中断源分成高级、低级两个级别,高级优先,由IP限制。同时同级的中断源申请中断CPU按优先依次响应中断。IP以上各位及 定。例如,SETB CL

12、RPS I PTl IPXI I PTQ PXOIE的低五位相对应,为“1”时为高级。初始化编程时,由软件确PTO 或 SETB IP. 1PXO 等。/INTO中断 TO中断/INTl中断 Tl中断串口中断厂家出厂时已固化好依次 一一事先约定同一级中的5个中断源的优先依次是:(留意是同级)MOV MOV MOVSETB SETB SETBTMOD, #DATA THO (THl), TLO (TLl),EAETO (ETl) TRO (TRl)中断嵌套同级或低级中断不能打断正在响应的中断的服务程序,高级中断能够打断低级中断服务程序而形成中断嵌套定时/计数器定时/计数器两个定时器/计数器TO、

13、Tl四种工作方式中断方式定时器程序初始化主要部分如下;设置定时器工作方式DATA;给定时器计数器装入初值DATA;开中断;开中断1、一、定时/计数器的结构TO、Tl均为16位加1计数器。;启动定时器计数器GATE门控位。GATE二O软件启动,仅由软件置TRO(TRl)为1启动定时器/计数器;置0停止定时/计数GATE=1硬件启动,软件置TRO(TRI)为1后.INTO管脚或/INTl管脚高电平启动定时器/计数器。C/T一一外部计数器/定时器方式选择位C/T=0定时方式;C/T=1计数方式。M1M2工作模式选择位。MlMO模式0说明0013位定时/计数器八位TH(70)+低五位TL(40)011

14、16位定时/计数器TH(7Z0)+TL(7、0)1028位计数初值自动重装TM70)TH(7、0)113TO工作在两个8位定时/计数。运行,而Tl只能工作方式2,定时TR/计/LTRO位。软件置位,软件复位。及GATE有关,分两种状况:GATE=0时,若TRO=1,开启To计数工作;若TRO=0,停止TO计数。GATE=1时,若TRo=1且/INTO=1时,开启To计数;若TRO=1但/INTO=0,则不能开启To计数。若TRo=0,停止TO计数。TRl一一定时/计数器1运行限制位。用法及TRO类似。C/T=0定时C/T=1对外计数。定时:fosc/12=1/(12/fosc)=1/TcyJ-

15、1-IJ-等间隔,次数已定,时间确定,Tcyi即对机器周期进行计数。“左图定时时间为nXTcy。发送数据发送时钟接收:必需置位寄存器SCoN,REN位为1才能启动串口接收数据,当接收一帧数据后,Rl置1,CPU通过查询Rl=I或中断方式,通过指令MOVA.SBUF来取走接收的数据,并软件复位RI=O(CLRRD接收时钟0DODlD2D3D4D5D6D71一接收数据DODlD2D3D4D5D6D7接收数据寄存器SBUF(99H)CPU二、MCS-51机串行接口单片机内有:通用异步接收/发送器UART全双工,4种工作方式,波特率可编程设置,可中断。1、串口的组成从编程角度讲来看主要由以下寄存器组成

16、。SM2:多机通信限制位,常及RB8协作,确定是否激活RlREN:允许接收TB8:发送的第九位数RB8:接收的第九位数TII:中断标记RIJSMOD:波特系数选择位,02二11 2-22、串行口的工作方式(1) SM0.SMl=OO;方式0:是8位同步移位寄存器方式,波特率固定为fosc/12RXD一一接收/发送数据TXD产生同步移位脉冲接收/发送完,置位Rl/TI,(要求SM2=0)方式0I式D6IDqD4U2IDl发送IDOIDD211)3D5Ip6接收无起始位,无停止位(2)SMO.SMl=Ol方式1:8位UART,波特率为(2SMD的溢出率)/32停止位D7D6D5D4D3D2DlDO

17、起始你发送位TXD起始位DODlD2D3D4D5D6D7停止位一接收位RXD1帧信息,10位。波特率可变:2SMoI)/32X(Tl的溢出率)送RB8位发送完置位TL接收完数据置位RI。置位Rl是有条件的。即:REN=1,RI=O且SM2=O或SM2=1但是接收到的停止位为k此时,数据装载SBUF,停止位进入RB8,Rl置1。(3)方式2(SMO.SM1=1O)方式3(SM0、SMl=ID:9位UART,多机通信。多机通信只能工作在方式2、方式3I停止位ITBBp7p6p5D4DqD2DIlDO起发送数据起始位DODlD2D3D4D5D6D7TB8停止位接收数据送SCON寄存器RB8位方式2波

18、特率:(固定)2SMOO/64fosc方式3波特率:2SM0D/32(TI溢出率)数据发送串口方式2、3发送第九位数据必需通过软件置事先写入寄存器SCON的TB8位,把要发送的数据发送到SBUF(MOVSUBF,A)启动数据发送,发送完数据置位TIoCPU通过查询方式查询到Tl=I或中断方式可以接着发送下一帧数据,并软件复位TI=O(CLRTD数据接收接收:必需置位寄存器SCONREN位为1才能启动串口接收数据,当接收一帧数据后此时,数据装载SBUF,接收到的第9位数据(TB8)送SCON寄存器RB8位,RI置1。,CPU通过查询Rl=I或中断方式,通过指令MOVA.SBUF来取走接收的数据,

19、并软件复位Rl=O(CLRRD3、波特率的设置方式0、方式2固定。方式1,方式3可变。波特率=2smod/32(Tl的溢出率)Tl溢出率二单位时间内溢出次数=1/(Tl的定时时间)而TI的定时时间t就是Tl溢出一次所用的时间。此状况下,一般设Tl工作在模式2(8位自动重装初值)。N=28-t/T,t=(28-N)T=(28-N)12/fosc所以,Tl溢出率=1/t=fosc/12(28-N),故,波特率=2SM0D/32fosc/12(256-N)o若已知波特率,则可求出Tl的计数初值:y=256-2SM0DXfosc/(波特率X32X12)例、若fosc=6MHz,波特率为2400波特,设

20、SMoD=1,则定时/计数器Tl的计数初值为多少?并进行初始化编程。解:y=256-2SM0DXfosc/(2400X32X12)=242.98243二F3H同理,fosc=11.0592MHz,波特率为2400,设SMOD=0,则y二F4H初始化编程:MOVTMOD,#20HMOVPCON,tt80HMOVTHb#0F3HMOVTLl,ttOF3HSETBTRlMOVSCON,#50H指令系统指令按寻址方式分有7种寻址方式,干脆寻址(direct)、立刻寻址(#20H)、寄存器寻址(Rn)、寄存器间接寻址(Ri)、相对寻址(rel),寄存器变址寻址(A+PC)、位寻址(ACC.1)指令按功能

21、上分有5种,传送类指令、算术运算类指令、逻辑运算及移位类指令、限制转移类指令、位操作类指令指令三大属性。功能属性、空间属性(指令站用的字节数)、时间属性(指令执行的机器周期数)传送类指令有四种寻址方式对A的数据传送只影响状态标记位P访问片内RAM和SFR指令格式MOV唯一的一条16位传送指令MOVDPTR,ttDATA16访问片外RAM4条指令MOVXA,RiMOVXA,DPTR(这两条指令是读片外RAM的数据伴随着限制信号RD*有效)MOVXRi,AMOVXDPTR,A(这两条指令是写片外RAM的数据伴随着限制信号WR*有效)访问程序存储器RoM2条指令MOVCA,A+PCMOVCA,A+D

22、PTR(这两条指令是读程序ROM的数据伴随着限制信号PSEN*有效)2、栈操作指令PUSHdirectPOPdirect不影响任何标记位。Direct可以是内存RAM128个单元随意一个单元也可以特殊功能寄存器这里留意PUSHACC(ACC是干脆地址,不能写A)PUSHdirect指令执行中,机器自动进行两步操作:(1) (SP)(SP)+1(2) (SP)(direct)例1、设分析:执行PUSHDPLPUSHDPH后,各单元中的内容。(OAH)二23H(OBH)=OlH(SP)=OBHPoPdirect指令执行中,机器也自动进行两步操作:(1) (direct)(SP)(2) (SP)J(

23、SP)-1例2、设(SP)=40H,(40H)=12H,(3FH)二34H执行POPDPHPOPDPL后,各单元中的内容。(SP)=3EH,(DPTR)=1234H,结论:1)PUSH及POP操作过程刚好相反;2)进、出栈规则:先进后出,后进先出。应留意指令书写先后依次;3)可用于“爱惜现场,复原现场”3、字节交换指令XCHA,Rn1XCHA,RiXCHDA,RiASWAPA半字节交换不影响任何标记位。算术运算类指令包括:力口、减、乘、除;加一、减一。一、加法指令ADDA,Rn;(八)255)o带符号数相加时:若OV=D7cD6c=1,说明有溢出。影响COVAC这三个标记位奇偶标记P由累加器A

24、的值确定INCA;(的(八)+1,以下类同。INCRnINCdirectINCRiINCDPTR不影响COVAC这三个标记位奇偶标记P由累加器A的值确定逻辑操作类指令共分两大类:单字节逻辑操作,双字节逻辑操作,共24条。一、单字节逻辑操作指令CLRA;(八)J0CPLAA中8位按位求反。循环左移、右移指令:RLARLCARRARRCA二、双字节逻辑操作指令“及操作”:ANLA,Rn;F)(八)A(Rn),以下类同。ANLA,directANLA,RiANLA,#dataANLdirect,AANLdirect,#data例1、(Pl)=35H,使其高4位输出0,低4位不变。解;ANLP1,#0

25、FH此做法称为“屏蔽”位。“或操作”:ORL,Rn;飞)(八)V(Rn),以下类同。ORLA,directORLA,RiORLA,#dataORLdirect,AORLdirect,#data例2、将A中的低3位送入Pl中,并且保持Pl中高5位不变。ANLA,#07HANLPb#0F8HORLPbA;(Pl)=P17Pl6Pi5PMPiaA2A1Ao这称为“数位组合”。“异或操作”:XRLA,Rn;xTA)(八)(Rn),以下类同。XRLA,directXRLA,#dataXRLdirect,AXRLdirect,#data例3、设(Pl)=0B4H=10110100B,执行:XRLPl,#0

26、01100OlB结果按#00110001取反,即:(Pl)=10000101B=85H这称为“指定位取反”。在上述ANL、ORL.XRL操作中,用于端口操作时,无论P0P3是第一,还是其次操作数,都遵循“读一修改一写,端口锁存器的操作。3-5限制转移类指令作用:变更程序计数器PC的值,从而变更程序执行方向。分为四大类:无条件转移指令;条件转移指令;调用指令;返回指令。一、无条件转移指令1.JMPaddrl6AJMPaddrllSJMPrelJMPA+DPTR1.JMPaddrl6转移目的地址addp44(PC);OOOOHFFFFH,64KBAJMPaddrll;确定转移转移目的地址的形成:先

27、(PeA(PO2;后PC1511不变,PaW-0addrl064KB=216=25211=32X2KB转移目的地址及(PC)+2在同一个2KB范围内。SJMPrel;短转移,相对寻址。转移目的地址=(PC)+2+rel,所以rel=转移目的地址一(PC)一2但,实际运用中常写成SJMPaddrl6,汇编时会自动转换出rel。JMPA+DPTR;间接转移,散转移指令。转移目的地址=(八)+(DPTR)二、调用指令1.CALLaddrl6ACALLaddrll1.CALLaddrl6过程:;长调用;确定调用;转移范围64KB,不影响标记位。执行中自动完成如下(P(PC)+3(SRi(SP)+1(S

28、P)(PC70),爱惜断点地址低字节;(SW(SP)+2(SwO(PC158),保存断点地址高字节;(PCZaddrl6,目的地址送PC,转子程序例2、设(SP)=07H,(PC)=2100H,子程序首地址为3456H,执行:1.CALL3456HMOVA,20H执行结果:(SP)=09H,(09H)=21H,(08H)=03H,(PC)=3456HACALLaddrll;转移范围及(PC)+2在同一个2KB内。不影响任何标记位,执行中机器自动完成下列过程:(PC)(PC)+2(SP)(SP)1(SP)(PC70)(SP)(SP)+2(SP)(PC15Z8)(PClOVaddrl0三、返回指令

29、从子程序返回主程序。RET;调用子程序返回;(子程序不能缺少的指令)RETI;中断子程序返回。(中断程序不能缺少的指令)(PC158c)(SP)(SP)(SP)一1(PC7钮(SP)(SP(SP)一2例3、设(SP)=OBH,(OAH)二23H,(OBH)=OlH执行:RET结果;(SP)=09H,(PC)=0123H(返回主程序)二、条件转移指令实现依据确定条件确定转移的方向。分三类。1、判零转移JZrelJNZrelJZrel;若(八)=0,则转移,否则依次执行。JNZrel;若(八)0,则转移,否则依次执行。转移目的地址=(PC)+2+rel不影响任何标记位。例1、将外RAM的一个数据块

30、(首地址为DATAl)传送到内部数据RAM(首地址为DATA2),遇到传送的数据为零时停止传送,试编程。解:MOVRO,ttDAT2MOVDPTR,SDT11.OOP1:MOVXA,DPTRJZL00P2MOVR0,AINCROINCDPTRSJMPLOOPl1.00P2:SJMPL00P22、比较转移指令功能:比较二个字节中的值,若不等,则转移。CINEA,ttdata,relCJNEA,direct,relCJNERi,#data,relCJNERn,#data,rel该类指令具有比较和推断双重功能,比较的本质是做减法运算,用第一操作数内容减去其次操作数内容,但差值不回存。转移目的地址=(

31、PC)3+rel若第一操作数内容小于其次操作数内容,则(C)=1,否则(C)=Oo该类指令可产生三分支程序:即,相等分支;大于分支;小于分支。例2、设PI口的PLOPL3为准备就绪信号输入端,当该四位为全1时,说明各项工作已准备好,单片机可依次执行,否则,循环等待。解:MOV,PlANLA,#0FHCJNEA,#0FH,WAIT;PLOPL3不为全1时,返回WAlTMOVA,R23、循环转移指令DJNZRn,rel;(二字节指令)DINZdirect,rel;(三字节指令)本指令也为双功能指令,即减1操作和推断转移操作。第一操作数内容减1后,若差值不为零,则转移;否则依次执行。转移目的地址=(

32、PC)+2或3+rel例3、将8031内部RAM的40H4FH单元置初值#AOH#AFHO解:MOVRO,#40HMOVR2,#10HMOVA,ttOAOH1.OOP:MOVR0,AINCROINCADJNZR2,LOOP3-6位操作指令包括:位传送指令、条件转移指令、位运算指令。位操作由单片机内布尔处理器来完成。位地址的四种表示:1)运用干脆位地址表示:如20H、30H、33H等;2)运用位寄存器名来表示;如C、0V.Fo等;3)用字节寄存器名后加位数来表示:如PSW.4、P0.5、ACC.3等;4)字节地址加位数来表示:如20.0、30.4、50.7等。一、位传送指令MOVC,bitMOV

33、bit,C功能:(C)=(bit);二、位状态限制指令CLRbit;(bit)0SETBbit;(bit)1CPLbit;(bit)(/bit)例1、编程通过PIo线连续输出256个宽度为5个机器周期长的方波。解:MOVR0,#0011CLRPlO1.OOP:CPLPlONOPNOPDJNZRO,LOOP四、布尔条件转移指令有5条,分别对C和干脆位地址进行测试,并依据其状态执行转移。1、判布尔累加器转移JCrel;(C)二1,转移,否则依次执行。JNCrel;(C)=0,转移,否则依次执行。不影响标记。转移地址:(P电(PC)+rel例3、比较内部RAM的30H和40H单元中的二个无符号数的大

34、小,将大数存入20H单元,小数存入21H单元,若二数相等,则使内RAM的第127位置1。解:MOVA,30HCJNEA,40H,LOOPSETB7FHSJMP$1.OOPl:JCL00P2MOV20H,AMOV21H,40HSJMP$L00P2:MOV20H,40HMOV21H,ASJMP$2、判位变量转移JBbit,rel;(bit)=1,则转移,否则依次执行。JBCbit,rel;(bit)=1,则转移,否则依次执行,且无论(bit)是否等于1,均使该位清零。JNBbit,rel;(bit)=0,则转移,否则依次执行。不影响标记。例4、试推断A中的正负,若为正数,存入20H单元;若为负数则

35、存入21H单元。解:JBACC7,LOOPMOV20H,ASJMP$1.OOP:MOV21H,ASJMP$单片机小系统及外扩展单片机内资源少,容量小,在进行较困难受程的限制时,它自身的功能远远不能满足须要。为此,应扩展其功能。一、5-1MCS-51单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机电路可以工作运行指令的系统.1、8051/8751硬件最小系统对51系列单片机来说,最小系统一般应当包括:单片机、晶振电路、复位电路2、8031硬件最小系统8031单片机片内无ROM,若要正常工作,必需外配RoM。外接RoM后,P3口、P2口、PO口均被占用只剩下Pl口作

36、I/O口用,其它功能不变。二、存储器的扩展1、三总线的连接ABUS、DBUS、CBUSABUS(A15A8A7A0)DBUS(D7D0)CBUSPSEN*是程序存储器读选通信号RD*WR*是片外数据存储器读、写选通信号EA是片内和片外程序存储器的选择信号EA=I,CPU起先从片内程序存储器取指令,PC大于OFFF后转向片外程序存储器取指令。EA=O,CPU起先从片外程序存储器取指令。ALE锁定PO口供应的地址低8位(A7A0)的锁存信号1、数据线的连接(D7DO)PO口的八位线担当此任,此时不用外接上拉电阻。2、地址线的连接PO口担当地址低八位线,AOA7;P2口担当地址高八位线。A8、A15

37、o留意:PO口线地址/数据分时复用,需用限制信号ALE通过地址锁存器74LS373锁存地址低8位(A7A0)03、限制线的连接对存储器来讲限制线无非是:芯片的选通限制、读写限制。单片机及外部器件数据交换要遵循两个重要原则:一是,地址唯一性,一个单元一个地址。二是,同一时刻,CPU只能访问一个地址,即只能及一个单元交换数据。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。选通:CPU及器件交换数据或信息,需先发出选通信号/CE或/CS,以便选中芯片。读/写:CPU向外部设备发出的读/写限制叮嘱。ROM:/OE/PSENRAM:/WE/WR/阱/RD2)存储器地址编码RAM6116:“16”2K

38、8b21210=211即6116有11根地址线。地址空间:AlOA9A8A7A6A5A4A3A2A1AO最低地址:0OOOOOo0000OoolH6116本身J最高地址:Illllll1IllHllH的地址空间MCS-51单片机寻址范围:64KBf26210=2附即16位地址线地址空间:A15A14A13A12A11A10A9A8A7AO单片机XXXXXA10A9A8A7AO611625=322KB上式中:“X”表示0或1。即单片机地址空间中包含有32个2KBo某片6116占据的是哪2KB不能确定地址浮动。只有限定A15All的取值才能确定6116在系统中的地址范围。如,P2.6=0,选中61

39、16的/CS线。设P2.7P2.5P2.4P2.3假定全为1则:6116地址范围是B800HBFFFH0同理,P2.7P25P24P23假定全为0则:6116地址范围是OooOH07FFH;再设P2.7选中6116(设P26P25P24P23全为1)则:地址范围是780OH7FFFH可见:存储器芯片在系统中地址分布由两个因素确定:一是,芯片本身的地址线(及容量有关)二是,芯片选通信号的获得方式。扩展存储器时,总是让单片机低位地址及存储器芯片地址线相接;而让单片机剩余的高位地址线(在P2口)常作为片选信号线(CE*)。片选信号通过高位地址线译码取得。译码方式有。部分译码:所谓部分译码就是存储器芯片的地址线及单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码,这样的地址有重叠奢侈确定的空间适用于扩张空间有限的存储器全译码:所谓全译码就是存储器芯片的地址线及单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是唯一确定的,但译码电路相对困难。片选信号按线路有线选法和地址译码器。前者电路简洁,不需另外增加硬件电路,体积小,成本低。缺点可寻址的器件数目受限,地址空间不连续。只适于外扩芯片不多,规模不大的单片机系统,后者线路困难,可以全局扩展64K空间。总结扩展的存储器地址不

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号