单片机 复习笔记Word文档格式.docx
《单片机 复习笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机 复习笔记Word文档格式.docx(38页珍藏版)》请在冰豆网上搜索。
题目中给出的位地址位3EH,可以看出这个地址位于第三组,对应的字节地址组号为3*2=6,该地址左数第二位为E,说明位于位地址组的上面一行,则字节地址组号再+1。
就可以得到字节地址27H。
如果该地址位于位地址组的上面一行,则只需将左数第二位减去8即可得到位地址编号D6。
如果位于下面一行计算字节地址组号时不用+1,左数第二位直接当做位地址编号。
三、特殊功能寄存器
共有21个,字节地址可以被8整除的寄存器可以位寻址。
ACC累加器、B乘法寄存器、DPTR数据指针在程序中最常用。
ACC累加器:
通常用A表示,应用于大部分运算指令,片外RAM与单片机之间传递信息时只能用它。
B乘法寄存器:
主要用于乘除运算,存放乘数或除数,也可的那个普通寄存器用。
DPTR数据指针:
有两个8位寄存器DPH与DPL构成,用来访问外部数据存储器。
SP堆栈指针:
8位专用寄存器。
入栈时,SP先+1然后执行入栈操作。
PSW程序状态字寄存器、存放CPU工作状态,可能要求写出PSW的值。
四、存储器
◆存储器空间分类
●根据作用分
程序存储器ROM
数据存储器RAM
●根据位置分
片内存储器
片外存储器
◆从物理结构上分成了六个独立的存储空间
●片内程序存储器(片内ROM)
●片内数据存储器(片内RAM)
●片外扩展ROM
●片外扩展RAM
●位寻址空间
◆区分存储空间的方法
●使用MOV、MOVX、MOVC三个不同的指令
分别区分片内RAM、片外RAM、ROM。
●片外ROM使用控制信号片外RAM使用控制信号RD、WR
●EA引脚接地,从片外ROM开始0000H~0FFFH位于片外ROMEA引脚接高电平,从片内ROM开始0000H~0FFFH位于片内ROM
五、MCS-51单片机的引脚及其片外总线结构
◆引脚
1、主电源引脚
●VCC(40脚):
接+5V电源正端。
●VSS(20脚):
接+5V电源地端。
2、外接晶振引脚
一共有两个,分别接在晶振的两端。
●XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部时钟时,对于HMOS单片机,该引脚接地。
●XTAL2(18脚):
接外部晶体的另一端。
在单片机内部,接至片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。
3、控制/复位引脚
●RST/VPD(9脚)(考点):
RST即为RESET,VPD为备用电源。
该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,用以完成单片机的初始化操作。
当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
/VPP(31脚):
=1时,访问内部程序存储器,当PC的值超过内部ROM范围时,自动跳转执行外部程序存储器。
当
=0时,只访问外部程序存储器,不管是否有内部程序存储器。
●ALE/PROG:
访问片外存储器时,输出脉冲的下降沿用于锁存低8位地址信号。
通过观察该信号可以确定单片机是否在工作。
4、I/O引脚
I/O引脚分为四组,分别是P0,P1,P2,P3,除了P1只用作准双向I/O口外,其他三个引脚还有其他功能。
P0
标准I/O口,低8位地址总线,双向数据总线
P1
标准I/O口
P2
标准I/O口,高8位地址总线
P3
标准I/O口,控制总线
注:
8031中P0不能作为一般I/O口使用,实际设计中,真正可以用的I/O线只有P1和第一功能的P3。
●P0口(39~32脚):
P0.0~P0.7统称为P0口。
在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。
在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。
P0口作为输出时,输出级是漏极开路电路,要使“1”信号正常输出,必须外接上拉电阻。
(考点)
●P1口(1~8脚):
P1.0~P1.7统称为P1口,可作为准双向I/O口使用。
●P2口(21~28脚):
P2.0~P2.7统称为P2口,一般可作为准双向I/O口使用;
在接有片外存储器或扩展I/O口时,P2口用作高8位地址总线。
●
P3口(10~17脚):
P3.0~P3.7统称为P3口。
除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。
P3口的第二功能如表2-1所示。
表2-1P3口第2功能表
◆总线结构
●地址总线
宽度为16位,能访问的外部存储器的地址范围是0000H~FFFFH,即可达64KB。
●数据总线
宽度8位,由P0口提供
●控制总线
主要包括
,
,ALE,
P3口也可作控制总线用。
6、MCS-51单片机的工作方式
●复位方式
RST引脚上至少保持两个机器周期的高电平时,单片机复位。
复位后特殊功能寄存器中SP=07H,P0~P3=FFH,RAM内容不受影响。
其他都是0。
✧复位的两种方法
Ø
上电复位,是在单片机加电瞬间,通过外部复位电路的电容充电,在RST引脚上出现大于2个机器周期的正脉冲,使单片机进入复位状态。
按键复位,是在系统正常工作时,用户按下"
复位"
按钮,使单片机进入复位状态。
●程序执行方式(P24)
七、MCS-51单片机的时序
考题:
8051单片机晶振为6MHz,则机器周期为__________us,大部分指令执行时间为__________us,和
__________us,只有两条指令的执行时间为___________us。
答案:
2,2,4,8.
分析:
MCS-51单片机中一个机器周期由12个时钟周期组成(考点)。
晶振为6MHz。
则机器周期为
us。
MCS-51中大部分为单周期和二周期指令,只有乘法和除法两个指令是四周期。
(P29)
●时序的概念:
CPU在执行指令时,通常将一条指令分解为若干基本的微操作,这些微操作所对应的脉冲信号在时间上的先后次序称为CPU的时序。
●时钟产生的方式:
内部方式:
在XTAL1、XTAL2跨接定时元件和两个电容就构成了自激振荡器。
C1、C2取5~30PF,起微调和稳定作用。
晶振频率:
fosc=1.2~36MHZ常用频率为6、12、11.0592MHz。
外部方式:
外部振荡脉冲信号直接由XTAL2端输入,XTAL1接地,片内振荡电路不起作用。
常用于多块8051同时工作,以便同步。
●振荡脉冲并不直接使用,由XTAL2端送往内部时钟电路:
经过2分频,向CPU提供内部时钟信号
再经3分频,产生ALE信号(每周期两个)
振荡脉冲经过12分频,成为机器周期信号
●时序定时单位
节拍:
也称拍节,振荡周期,时钟周期,用P表示。
是指为单片机提供时钟脉冲信号的振荡源的周期,是单片机中最小、最基本的时间单位。
状态周期:
在MCS-51中,每个状态周期为振荡周期的2倍,用S表示。
机器周期:
完成一次完整的、基本的操作所需要的时间。
MCS-51中,一个机器周期由6个状态周期组成,共12个振荡周期。
指令周期:
执行一条指令所需的全部时间,是单片机中最大的定时单位。
MCS-51中,有单周期指令、双周期指令和四周期指令。
第三章MCS-51单片机的指令系统
一、指令的分类
2、寻址方式
●寄存器寻址
MOVA,Rn/A/B/DPTR
●直接寻址
直接写地址
MOVA,30H
MOVA,TCON特殊功能寄存器只能用直接寻址方式
●寄存器间接寻址
把寄存器的内容作为地址
MOVXA,@DPTR外部数据存储器RAM,外部数据传送只能通过寄存器A
●立即寻址
直接写操作数
MOVA,#30H
●变址寻址
MOVCA,@A+DPTR程序存储器ROM
@A+DPTR表示@(A+DPTR)
●相对寻址
类似跳转指令之类要用的寻址方式
●位寻址
符号@XX将XX的内容作为地址
#XXXX是一个立即数
二、指令系统
各指令影响的PSW中的标志位
标志位
影响它的指令
CY进/借位1
ADD,ADDC,SUBB,
AC辅助进位2
OV溢出6
ADD,ADDC,SUBB,MUL,DIV
P奇偶校验8
MOV,ADD,ADDC,SUBB,INC,DEC,逻辑运算与位移
INC,DEC,逻辑运算与位移指令,只有在以A为目标寄存器执行时才影响P位。
第4章单片机汇编语言程序设计
汇编程序由汇编语句组成,汇编语句
,指令性语句是进行汇编语言程序设计的可执行语句,每条指令都产生相应的机器语言的目标代码。
源程序的主要功能是由指令性语句去完成的。
指示性语句就是伪指令。
1、伪指令
伪指令是控制汇编过程的一些命令,是程序员通知汇编程序在进行汇编时的一些指示。
没有对应的机器码,不产生目标代码程序,不影响程序的执行。
1).伪指令主要用来指定程序或数据的起始位置,给出一些连续存放数据的地址或为中间运算结果保留一部分存储空间以及表示源程序结束等等。
2).伪指令还可用来对符号﹑标号赋值。
要记住的伪指令
指令
名称
用法
ORG
起始地址伪指令
开头ORG2000H
END
汇编结束伪指令
结尾
EQU
赋值伪指令
WAWAEUQ2BH
DB
定义字节伪指令
DB20H
DW
定义字伪指令
DW20H
DATA
数据地址赋值伪指令
WAWADATA2BH
DATA用法和EQU一样,只是允许先使用后定义。
重点是前三个。
第六章MCS-51单片机中断系统
MCS-51有2个终端优先级
1、中断的概念
所谓中断,是指CPU在执行程序的过程中,当出现某种情况,暂时停止现行程序的执行,而转去执行相应的处理程序,待处理程序执行完毕后,再返回到被暂停程序的断点处,继续执行原来的程序。
2、中断的好处
●解决高速CPU和慢速外设之间的矛盾,提高了CPU效率。
●及时处理控制系统中许多随机的参数和信息。
●具备了处理故障的能力,提供单片机系统自身的可靠性。
三、中断系统与中断控制结构
●中断嵌套:
当CPU正在执行中断服务程序时,又有中断优先级更高的中断申请产生,这时CPU就会暂停当前的中断服务转而处理高级中断申请,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为中断嵌套。
●中断系统结构
●中断控制
MCS-51的中断控制方式就是对一些特殊功能寄存器置数,由中断系统接口可知其本质上就是一些开关电路的控制。
与中断控制有关的特殊功能寄存器主要有四个:
定时器控制寄存器TCON(第七章用)
串行口控制寄存器SCON(第八章用)
中断允许寄存器IE
中断优先级寄存器IP
✧中断允许寄存器IE
功能:
控制各个中断源的开放或关闭
寄存器地址:
0A8H
EA:
总开关。
0禁止全部中断,1开放所有中断。
EX0/EX1/ET0/ET1/ES:
分别是
/
、T0/T1、串行口的中断允许控制位。
✧中断优先级寄存器IP
设置各个中断源的优先级。
0B8H
PS:
串行口的中断优先级控制位。
PT0/PT1:
定时器/计数器T0/T1的中断优先级控制位。
PX0/PX1:
/
的中断优先级控制位。
0为低优先级,1为高优先级。
会考IE,IP的赋值
题目:
设某单片机系统中使用了外部中断0(边沿触发)、定时器1、串行口三个中断,请按照从高到低依次为串行口、外部中断0、定时器1的顺序设定中断优先级,写出中断初始化程序。
答:
SETBIT0
MOVIP,#10H
MOVIE,#99H
同级中断源优先级结构
●中断响应过程
(1)在每条指令结束后,系统都自动检测中断请求信号,如果有中断请求,且CPU处于开中断状态下,则响应中断。
(2)保护现场,在保护现场前,一般要关中断,以防止现场被破坏。
保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。
(3)中断服务,即执行相应的中断服务程序。
(4)恢复现场,用堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断,以防止现场被破坏。
在恢复现场后应及时开中断。
(5)返回,此时CPU将推入到堆栈的断点地址弹回到程序计数器,从而使CPU继续执行刚才被中断的程序。
●中断响应时间(考点)
在一个单一中断系统里,外部中断请求的响应时间在3~8个机器周期。
●中断系统三条原则
低优先级中断请求不能打断高优先级中断服务;
但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。
如果一个中断请求已被响应,则同级的其它中断服务将被禁止,即同级不能嵌套。
如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。
外部中断有边沿和电平两种触发方式。
第七章单片机定时/计数器及其应用
1、定时/计数器的结构
MCS-51内部有两个16位定时器/计数器T0、T1,核心部件是加1计数器,另有控制计数的特殊功能寄存器及电路等组成部分。
2、定时/计数器的原理
●定时器的原理
当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,每过一个机器周期,计数器加1,直至计数溢出为止。
定时器的定时时间不仅与系统的振荡频率有关,还与预置的计数初值以及定时器的工作方式等因素有关。
●计数器的工作原理
当定时器/计数器为计数工作方式时,通过引脚T0、T1对外部信号计数,外部脉冲的下降沿将触发计数。
CPU在每个机器周期的S5P2采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1,直至计数溢出为止。
由于识别一个从1到0的负跳变需要两个机器周期(24个振荡周期),所以外部事件的最高计数频率为系统振荡频率的1/24。
三、定时/计数器的工作方式寄存器和控制寄存器
●T0/T1的功能和工作方式
=1计数:
对P3.4/T0、P3.5/T1送入的脉冲计数。
=0定时:
每个机器周期加1,初值大小决定定时时间的长短。
定时/计数器
工作方式
T0
方式0、方式1、方式2、方式3
T1
方式0、方式1、方式2
●与定时/计数有关的寄存器
TH0(8CH),TH1(8AH)构成的T1。
TH1(8DH),TH2(8BH)构成的T2。
TCON(88H)用于控制定时器的操作及中断溢出标志的设置
TMOD(89H)用于选择工作方式及定时器的运行控制
IE中的EA和ET0/1
IP中的PT0/1
✧定时器控制寄存器TCON
TR0/TR1:
T0/T1的开关
0:
停止1:
启动
TF0/TF1:
当计数溢出时等于1。
其他几位是控制外部中断工作方式的,用不到。
✧工作方式寄存器TMOD
GATE:
启动方式选择。
由TCON中的TR控制T0/1开关
1:
由TR和
共同控制
一般来说等于0
:
功能选择。
定时
计数
M0M1:
工作方式选择
M0M1
功能
00
方式0
13位计数器
01
方式1
16位计数器
10
方式2
8位自动重装初值计数器
11
方式3
用于T0,分立为两个独立的8位计数器
掌握方式0方式1方式2。
方式0和方式1是一样的,方式二用于发生方波。
4、定时/计数器的基本应用
求计数初值的公式
n是定时器位数
最小定时时间就是一个机器周期。
最大定时时间就是
在给计数器赋初值的时候,只能按字节分两次写入。
对于方式1
EX:
若晶振频率为6MHz,要求对T0产生100mS定时进行初始化。
fosc=6MHZ则机器周期为2us
=15536=3CB0H
对于方式2
从P1.0脚输出频率=1KHz方波。
设:
晶振=6MHz,利用T1方式2定时中断。
P1.0脚本身就是有电平输出的,只要每隔一段时间对其取反,就实现了方波输出,这个时间间隔为半个周期,而定时功能由定时器实现。
每隔半个周期,定时器向CPU提请一次中断,请求对P1.0取反。
这样就是实现了方波的输出。
1kHz的方波,则半个周期是500us。
晶振=6MHz,则机器周期为2us。
由初值公式的到计数初值为6。
方式二是8位自动重装初值计数器,其工作过程是,初始化时将计数初值分别装入TH,TL。
计数器通过TL计数,当计数溢出时,硬件自动将TH中的初值装入TL开始新一轮计数。
代码如下
;
代码清单7-1
ORG0000H
LJMPMAIN
ORG001BH;
T1的中断矢量
LJMPSERV
MAIN:
MOVTMOD,#20H;
选T1方式2
MOVTH1,#6;
赋重装值
MOVTL1,#6;
赋初值
SETBET1;
开T1中断
SETBEA;
开总中断
SETBTR1;
启动T1
HERE:
LJMPHERE;
原地等待中断
SERV:
CPLP1.0;
中断服务:
P1.0取反
RETI;
中断返回
END
第8章单片机串行通信接口技术
串行通信的好处:
线路简单,利用电话或电报线路就和可以实现通信,串行通信成本低,特别适合远距离传输,而且信号见的相互干扰少,抗干扰能力强。
1、串行通信的类型
●异步通信
概念异步通信是按帧传送数据,它利用每一帧的起、止信号来建立发送与接收之间的同步,每帧内部各位均采用固定的时间间隔,但帧与帧之间的时间间隔是随机的。
其基本特征是每个字符必须用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收的。
指标波特率:
每秒钟传送的二进制的位数,以位/秒或波特为单位。
优点对时钟同步要求不太严格
缺点传送效率低,速度慢
●同步通信
概念同步通信是一种数据连续传输的串行通信方式。
在这种通信方式中,数据块内各字节数据之间没有间隔,传输效率高,但发送、接收双方必须保持同步(使用同一时钟信号),且数据块长度越大,对同步要求就越高。
优点传输效率高
缺点对时钟同步要求严格,硬件电路复杂
二、串行数据传送方式
单工、半双工、全双工
三、MCS-51单片机的串行口及其控制寄存器
●串行口结构
TXDP3.1发送数据
RXDP3.0接收数据
CPU在读入一个接受字节之前就开始接受下一
个字节,但是如果第二个字节接受完毕而第一
个字节仍未读出,则将丢失一个字节。
波特率发生器由定时器充当,一般工作在方式2
●串行通信控制寄存器
与串行通信有关的寄存器有
串行通信控制寄存器SCON(98H)
电源控制寄存器PCON(87H)
数据缓冲器SUBF(99H)
IE中的ES,EA
IP中的PS
✧串行通信控制寄存器SCON
用于设定串行口的工作方式以及存放串行口的控制和状态信息。
SM0,SM1工作方式选择
SM2多机通信控制位,一般用在方式2或方式3。
✓在方式0时,SM2=0
✓在方式1时,若SM2=1,只有接收到有效的停止位,RI=1
✓方式2或方式3
1、SM2=1时,接收到的第9位数据(RB8):
RB8=0,丢弃接收到的前8位数据,使RI=0RB8=1,接收的数据送入SBUF,并置位RI,向CPU申请中断
2、SM2=0时,则不论第9位数据(RB8)为0或1,都将接收到的前8位数据送入SBUF,并置位RI,向CPU申请中断。
REN接收开关。
1允许2禁止
TB8发送数据位8
在方式2、3中,TB8为发送的第9位数,由软件置位/复位。
在多机通信中,TB8表示主机发送的是地址还是数据:
TB8=0为数据,TB8=1为地址。
双机通信时,TB8通常用作数据的奇偶校验位。
RB8在方式2、3中,RB8为接收的第9位数,由软件置位/复位。
RB8可作为奇偶校验位或地址帧、数据帧的标志。
在方式1时,若SM2=0,则RB8中存放的是已接收到的停止位。
在方式0时,不使用RB8位。
TI发送中断请求标志。
方式0,每发完8位数据,由硬件置1。
其他方式,停止位开始时置1。
TI=1表示发送帧结束,其状态既可用于中断提供查询。
RI接收中断请求标志方式0时,接