MCS51单片机复习要点.docx
《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波特,设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 复习 要点

链接地址:https://www.desk33.com/p-499831.html