最新MCS51单片机复习要点Word文件下载.docx

上传人:b****2 文档编号:5741253 上传时间:2023-05-05 格式:DOCX 页数:41 大小:194.32KB
下载 相关 举报
最新MCS51单片机复习要点Word文件下载.docx_第1页
第1页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第2页
第2页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第3页
第3页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第4页
第4页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第5页
第5页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第6页
第6页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第7页
第7页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第8页
第8页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第9页
第9页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第10页
第10页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第11页
第11页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第12页
第12页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第13页
第13页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第14页
第14页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第15页
第15页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第16页
第16页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第17页
第17页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第18页
第18页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第19页
第19页 / 共41页
最新MCS51单片机复习要点Word文件下载.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新MCS51单片机复习要点Word文件下载.docx

《最新MCS51单片机复习要点Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新MCS51单片机复习要点Word文件下载.docx(41页珍藏版)》请在冰点文库上搜索。

最新MCS51单片机复习要点Word文件下载.docx

位地址:

16字节

00H~7FH128可位寻址位

20H

1FH3区

2区

1区32字节4组R0~R7工作寄存器

0区

00H

图2内部数据存储器

二、殊功能寄存器SFR

寻址空间离散分配在:

80H~FFH,

注意PC不在此范围内。

地址末尾为0或8的SFR具有位寻址功能

1、CPU是运算器加控制器

2、算术运算寄存器

(1)累加器A(E0H)

(2)B寄存器:

乘、除法运算用

(3)程序状态字PSW寄存器:

包含程序运行状态信息。

PSWCYACFORS1RS0OV—P

CY(PSW.7)——进位/借位标志;

位累加器。

AC(PSW.6)——辅助进/借位标志;

用于十进制调整。

F0(PSW.5)——用户定义标志位;

软件置位/清零。

OV(PSW.2)——溢出标志;

硬件置位/清零。

P(PSW.0)——奇偶标志;

A中1的个数为奇数P=1;

否则P=0。

RS1、RS0——寄存器区选择控制位。

00:

0区R0~R7

01:

1区R0~R7

10:

2区R0~R7

11:

3区R0~R7

2、指针寄存器

(1)程序计数器PC

PC的内容是指明即将执行的下一条指令的地址,16位,寻址64KB范围,

复位时PC=0000H具有自动加1功能不可寻址即不能通过指令访问。

(2)堆栈指针SP

指明栈顶元素的地址,8位,可软件设置初值,复位时SP=07H

(3)数据指针DPTR

@R0、@R1、@DPTR;

指明访问的数据存储器的单元地址,16位,寻址范围64KB。

DPTR=DPH+DPL,也可单独使用。

没有自动加1功能通过软件INCDPTR内容加1

时序

单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。

执令周期:

即从取指到执行完,所需时间。

不同机器指令周期不一样;

即使相同机器,不同的指令其指令周期也不一样。

机器周期:

机器的基本操作周期。

一个指令周期含若干机器周期(单、双、四周期)

状态周期:

一个机器周期分6个状态周期Si

每个状态周期含两个振荡周期,即相位P1、P2。

振荡周期:

由振荡时钟产生。

振荡周期Tosc=1/fosc

一个机器周期=12个振荡周期=12×

1/fosc。

例如,若fosc=12MHz,则一个机器周期=1μs。

时钟的产生:

通过XTAL1(19)、XTAL(18)。

这两个管脚外部加石英晶体和电容组成振荡器

系统复位

通过给RST管脚加高电平理论上大于两个机器周期,实际大于10ms,系统复后

除了SP=07H,P0、P1、P2、P3为FFH外,所有的寄存器均为00H,PC=0000H,PSW=00H工作寄存器组R0~R7工作在0组。

并行I/O端口

并行I/O端口

四个8位I/O口P0、P1、P2、P3

作为通用I/O使用,是一个准双向口:

“读管脚在输入数据时应先把口置1,使两个FET都截止,引脚处于悬浮状态,可作高阻抗输入”MOVP1.#0FFH

MOVA,P1

读端口数据方式是一种对端口锁存器中数据进行读入的操作方式,CPU读入的这个数据并非端口引脚的数据。

(对端口进行读-修改-写类指令列如CPLP1.0是读端口锁存器而不是管脚)

一、P0口地址80H系统复位后P0=FFH

(1)P0口可作通用I/O口使用,又可作地址/数据总线口;

(2)P0既可按字节寻址,又可按位寻址;

(3)P0作为输入口使用时:

是准双向口;

(4)作通用I/O口输出时:

是开漏输出;

(外部管脚必须接上拉电阻)

(5)作地址/数据总线口时,P0是一真正双向口,分时使用,提供地址线A0~A7由ALE控制信号锁存,数据线D0~D7

二、P1口地址90H地址90H系统复位后P1=FFH

2、特点

(1)无地址/数据口功能

(2)可按字节寻址,也可按位寻址

(3)作I/O输入口时:

是一准双向口,不是开漏输出(无需外接上拉电阻)。

三、P2口地址A0H系统复位后P2=FFH

(1)当P2口作为通用I/O时,是一准双向口。

(2)从P2口输入数据时,先向锁存器写“1”。

(3)可位寻址,也可按字节寻址

(4)可输出地址高8位A8~A15。

四、P3口地址B0H系统复位后P3=FFH

(1)作通用I/O时,是一准双向口,不是开漏输出(无需外接上拉电阻)。

(2)P3口具有第二功能

1、P0口:

地址低8位与数据线分时使用端口,

2、P1口:

按位可编址的输入输出端口,

3、P2口:

地址高8位输出口

4、P3口:

双功能口。

若不用第二功能,也可作通用I/O口。

5、按三总线划分:

地址线:

P0低八位地址,P2高八地址;

数据线:

P0输入输出8位数据;

控制线:

P3口的8位(RXD、TXD、INT0、INT1、T0、T1、WR*、RD*加上PSEN*、ALE、EA组成制总线。

中断系统

五个中断源,两个优先级

一、中断请求源(“五源中断”)

五个中断源:

入口地址

外部中断0(/INT0)0003H

T0溢出中断000BH

外部中断1(/INT1)0013H

T1溢出中断001BH

串口中断0023H

有了中断请求,如何通知CPU?

通过中断请求标志位来通知CPU。

外部中断源、定时/计数器的中断请求标志位分布在TCON中;

串口中断标志位分布在SCON中。

TCONTF1TR1TF0TR0IE1IT1IE0IT0

SCONTIRI

中断请求标志位

IE0(INT0)IE1(INT1)TF0(T0)TF1(T1)TI/RI(串口)

TF1——T1的溢出中断标志。

硬件置1,硬件清0(也可软件清0)。

TF0——T0的溢出中断标志。

(同TF1,只是针对T0的)

IE1——外部中断1(/INT1)请求标志。

外部有中断请求时,硬件使IE1置1,硬件清0。

IE0——外部中断0(/INT0)请求标志。

IT1——外部中断1(/INT1)触发类型控制位。

IT1=0,低电平触发。

IT1=1,下降沿触发。

IT0——外中断0(/INT0)触发类型控制位,用法同IT1。

外部中断INT0、INT1触发方式有电平触发和跳变触发

TI——串口发送中断标志位。

发送完数据,硬件使TI置1,软件清0(CLRTI)

RI——串行口接收中断标志位。

硬件置1,软件清0。

二、中断控制(两级管理)

1、中断屏蔽

在中断源与CPU之间有一级控制,类似开关,其中第一级为一个总开关,

第二级为五个分开关,由IE控制。

IEEAESET1EX1ET0EX0

EA——总控制位

ES——串口控制位若为“1”,允许(开关接通)

ET1——T1中断控制位若为“0”,不允许(开关断开)

EX1——/INT1控制位例如,SETBEA

ET0——T0中断控制位CLRIE.7

EX0——/INT0控制位

2、中断优先级

为什么要有中断优先级?

CPU按中断申请时间先后顺序响应中断,同一时间只能响应一个中断请求。

若同时来了两个或两个以上中断请求CPU响应高级别中断。

为此将5个中断源分成高级、低级两个级别,高级优先,由IP控制。

同时同级的中断源申请中断CPU按优先顺序响应中断。

IPPSPT1PX1PT0PX0

以上各位与IE的低五位相对应,为“1”时为高级。

初始化编程时,由软件确定。

例如,SETBPT0或SETBIP.1

CLRPX0等。

同一级中的5个中断源的优先顺序是:

(注意是同级)

/INT0中断高

T0中断厂家出厂时已固化好顺序

/INT1中断——事先约定

T1中断

串口中断低

中断嵌套同级或低级中断不能打断正在响应的中断的服务程序,高级中断能够打断低级中断服务程序而形成中断嵌套

定时/计数器

定时/计数器两个定时器/计数器T0、T1四种工作方式

中断方式定时器程序初始化主要部分如下

MOVTMOD,#DATA;

设置定时器工作方式

MOVTH0(TH1),#DATA;

给定时器计数器装入初值

MOVTL0(TL1),#DATA

SETBEA;

开中断

SETBET0(ET1);

SETBTR0(TR1);

启动定时器计数器

一、定时/计数器的结构

T0、T1均为16位加1计数器。

TH0TH1

TL0TL1

TMOD

工作方式TCON

1、工作方式控制寄存器TMOD

T1T0

TMODGATEC//TM1M0GATEC//TM1M0

GATE——门控位。

GATE=0软件启动,仅由软件置TR0(TR1)为1启动定时器/计数器;

置0停止定时/计数

GATE=1硬件启动,软件置TR0(TR1)为1后.INT0管脚或/INT1管脚高电平启动定时器/计数器。

C//T——外部计数器/定时器方式选择位

C//T=0定时方式;

C//T=1计数方式。

M1M2——工作模式选择位。

M1M0模式说明

00013位定时/计数器八位TH(7~0)+低五位TL(4~0)

01116位定时/计数器TH(7~0)+TL(7~0)

1028位计数初值自动重装TL(7~0)TH(7~0)

113T0工作在两个8位定时/计数。

运行,而T1只能工作方式2,

TCONTR1TR0

TR0——定时/计数器0运行控制位。

软件置位,软件复位。

与GATE有关,分两种情况:

GATE=0时,若TR0=1,开启T0计数工作;

若TR0=0,停止T0计数。

GATE=1时,若TR0=1且/INT0=1时,开启T0计数;

若TR0=1但/INT0=0,则不能开启T0计数。

若TR0=0,停止T0计数。

TR1——定时/计数器1运行控制位。

用法与TR0类似。

C//T=0——定时

C//T=1——对外计数。

定时:

fosc/12=1/(12/fosc)=1/Tcy

等间隔,次数已定,时间确定

Tcy即对机器周期进行计数。

左图定时时间为n×

Tcy。

n

计数:

脉冲不等间隔。

外部管脚输入(T0P3.4、T1P3.5)每个下降沿计数一次

确认一次负跳变需两个机器周期,(要求计数脉冲的高、低

电平要大于一个机器周期)所以,计数频率最高为fosc/24。

定时器初值计算

计数脉冲的个数N=t(定时时间)/Tcy(机器周期

计数初值X=M(定时计数器的模)-N

方式0X=213-N=8192-N

方式1X=216-N=65536-N

方式2X=28-N=256-N

推荐工作方式1和方式2

例1、设计一个P1.0能产生t=1ms的周期信号发生器,主频试编程。

解:

选T0;

C//T=0,GATE=0定时时间0.5ms

N=t/Tcy=t/(12×

(1/fosc))=500

所以,X=M-500,问:

M取多少?

模式0、模式1均可,取模式1,M=216

X=65536-500=65036=FE0CH

TH00FEH

TL00CH

程序:

ORG0000H

LJMPMAIN

ORG000BH

LJMPINSE1

ORG1000H

MAIN:

MOVSP,#60H

MOVTL0,#0CH

MOVTH0,#0FEH

MOVTMOD,#01H

SETBTR0;

SETBET0;

SETBEA

SJMP$

INSE1:

MOVTH0,#0F0H

CPLP10

RETI

单片机串行接口

8051单片机有一个异步全双工串行通讯口通过RXD(P3.0)接收,通过TXD(P3.1)发送,(串行通信有单工、半双工、全双工),8051单片机串行口有4种工作方式。

异步通信一帧数据的格式如下

空闲位起始位5~8位数据奇偶校验位停止位空闲位

3、串行通信方向

AB

发单工收

发半双工发

收收

A全双工B

发收

收发

4、波特率

即串行通信速率。

b/s、bps

举例、设有一帧信息,1个起始位、8个数据位、1个停止位,传输速率为

240个字符。

求波特率。

(1+8+1)×

240=2400b/s=2400波特。

5、串行通信接口

发送:

CPU通过指令MOVSBUF,A来启动发送发送一帧数据完毕后TI置1,通过查询方式查询到TI=1或中断方式可以继续发送下一帧数据,并软件复位TI=0(CLRTI)

D7D6D5D4D3D2D1D0发送数据寄存器

SBUF(99H)

1D7D6D5D4D3D2D1D00发送数据

发送时钟

接收:

必须置位寄存器SCON,REN位为1才能启动串口接收数据,当接收一帧数据后,RI置1,CPU通过查询RI=1或中断方式,通过指令MOVA.SBUF来取走接收的数据,并软件复位RI=0(CLRRI)

接收时钟

0D0D1D2D3D4D5D6D71接收数据

D0D1D2D3D4D5D6D7接收数据寄存器

CPU

二、MCS-51机串行接口

单片机内有:

通用异步接收/发送器UART

全双工,4种工作方式,波特率可编程设置,可中断。

1、串口的组成

从编程角度讲来看主要由以下寄存器组成。

PCONSMOD

SCONSM0SM1SM2RENTB8RB8TIRI

SBUFD7D6D5D4D3D2D1D0SBUF发

SBUF收

SM0、SM1:

工作方式选择位

SM2:

多机通信控制位,常与RB8配合,决定是否激活RI

REN:

允许接收

TB8:

发送的第九位数

RB8:

接收的第九位数

TI:

中断标志

RI

SMOD:

波特系数选择位,0——20=1

1——21=2

2、串行口的工作方式

(1)SM0、SM1=00;

方式0:

是8位同步移位寄存器方式,波特率固定为fosc/12

RXD——接收/发送数据

TXD——产生同步移位脉冲

接收/发送完,置位RI/TI,(要求SM2=0)

方式0D7D6D5D4D3D2D1D0发送

D0D1D2D3D4D5D6D7接收

无起始位,无停止位

(2)SM0、SM1=01方式1:

8位UART,波特率为(2SMOD×

T1的溢出率)/32

停止位D7D6D5D4D3D2D1D0起始位发送位TXD

起始位D0D1D2D3D4D5D6D7停止位接收位RXD

1帧信息,10位。

送RB8位

波特率可变:

2SMOD/32×

(T1的溢出率)

发送完置位TI。

接收完数据置位RI。

置位RI是有条件的。

即:

REN=1,RI=0且SM2=0或SM2=1但是接收到的停止位为1。

此时,数据装载SBUF,停止位进入RB8,RI置1。

(3)方式2(SM0、SM1=10)、方式3(SM0、SM1=11):

9位UART,多机通信。

多机通信只能工作在方式2、方式3

停止位TB8D7D6D5D4D3D2D1D0起始位发送数据

起始位D0D1D2D3D4D5D6D7TB8停止位接收数据

送SCON寄存器RB8位

方式2波特率:

(固定)2SMOD/64×

fosc

方式3波特率:

(T1溢出率)

数据发送

串口方式2、3发送第九位数据必须通过软件置事先写入寄存器SCON的TB8位,把要发送的数据发送到SBUF(MOVSUBF,A)启动数据发送,发送完数据置位TI。

CPU通过查询方式查询到TI=1或中断方式可以继续发送下一帧数据,并软件复位TI=0(CLRTI)

数据接收

必须置位寄存器SCONREN位为1才能启动串口接收数据,当接收一帧数据后此时,数据装载SBUF,接收到的第9位数据(TB8)送SCON寄存器RB8位,RI置1。

,CPU通过查询RI=1或中断方式,通过指令MOVA.SBUF来取走接收的数据,并软件复位RI=0(CLRRI)

3、波特率的设置

方式0、方式2固定。

方式1,方式3可变。

波特率=2SMOD/32×

T1溢出率=单位时间内溢出次数=1/(T1的定时时间)

而T1的定时时间t就是T1溢出一次所用的时间。

此情况下,一般设T1工作在模式2(8位自动重装初值)。

N=28-t/T,t=(28-N)T=(28-N)×

12/fosc

所以,T1溢出率=1/t=fosc/12(28-N),

故,波特率=2SMOD/32×

fosc/12(256-N)。

若已知波特率,则可求出T1的计数初值:

y=256-2SMOD×

fosc/(波特率×

32×

12)

例、若fosc=6MHz,波特率为2400波特,设SMOD=1,则定时/计数器T1的计数初值为多少?

并进行初始化编程。

y=256-2SMOD×

fosc/(2400×

12)=242.98≈243=F3H

同理,fosc=11.0592MHz,波特率为2400,设SMOD=0,则

y=F4H

初始化编程:

MOVTMOD,#20H

MOVPCON,#80H

MOVTH1,#0F3H

MOVTL1,#0F3H

SETBTR1

MOVSCON,#50H

指令系统

指令按寻址方式分有7种寻址方式,直接寻址(direct)、立即寻址(#20H)、寄存器寻址(Rn)、寄存器间接寻址(@Ri)、相对寻址(rel)、寄存器变址寻址(@A+PC)、位寻址(ACC.1)

指令按功能上分有5种,传送类指令、算术运算类指令、逻辑运算及移位类指令、控制转移类指令、位操作类指令

指令三大属性。

功能属性、空间属性(指令站用的字节数)、时间属性(指令执行的机器周期数)

传送类指令有四种寻址方式对A的数据传送只影响状态标志位P

访问片内RAM和SFR指令格式MOV

唯一的一条16位传送指令MOVDPTR,#DATA16

访问片外RAM4条指令

MOVXA,@RiMOVXA,@DPTR(这两条指令是读片外RAM的数据伴随着控制信号RD*有效)

MOVX@Ri,AMOVX@DPTR,A(这两条指令是写片外RAM的数据伴随着控制信号WR*有效)

访问程序存储器ROM2条指令

MOVCA,@A+PCMOVCA,@A+DPTR(这两条指令是读程序ROM的数据伴随着控制信号PSEN*有效)

2、栈操作指令

PUSHdirect

POPdirect

不影响任何标志位。

Direct可以是内存RAM128个单元任意一个单元也可以特殊功能寄存器这里注意PUSHACC(ACC是直接地址,不能写A)

PUSHdirect指令执行中,机器自动进行两步操作:

(1)(SP)(SP)+1

(2)((SP))(direct)

例1、设分析:

执行PUSHDPL

PUSHDPH

后,各单元中的内容。

(0AH)=23H(0BH)=01H(SP)=0BH

POPdirect指令执行中,机器也自动进行两步操作:

(1)(direct)((SP))

(2)(SP)(SP)-1

例2、设(SP)=40H,(40H)=12H,(3FH)=34H

执行POPDPH

POPDPL

(SP)=3EH,(DPTR)=1234H,

结论:

1)PUSH与POP操作过程刚好相反;

2)进、出栈规则:

先进后出,后进先出。

应注意指令书写先后顺序;

3)可用于“保护现场,恢复现场”

3、字节交换指令

XCHA,Rn

XCHA,direct整字节交换

XCHA,@Ri

XCHDA,@Ri

SWAPA半字节交换

算术运算类指令

包括:

加、减、乘、除;

加一、减一。

一、加法指令

AD

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

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2