微机原理与单片机部分知识点.docx
- 文档编号:11262369
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:22
- 大小:266.88KB
微机原理与单片机部分知识点.docx
《微机原理与单片机部分知识点.docx》由会员分享,可在线阅读,更多相关《微机原理与单片机部分知识点.docx(22页珍藏版)》请在冰豆网上搜索。
微机原理与单片机部分知识点
1.8086CPU是16位微处理器,具有16根数据线和20根地址线可以和浮点计算器,I/O处理器或其他处理器组成多处理系统。
2.总线接口单元的功能是负责完成CPU与储存器或I/O设备之间的数据传送。
总线接口单元内有4个16位段寄存器:
代码段寄存器CS、数据段寄存器DS、堆
器,
栈段寄存器SS、附加数据段寄存器ES,—个16位的指令指针寄存器IP,—个20位地址加法器,6字节指令队列缓冲器,一个与EU通信的内部寄存器以及总线控
制电路等。
3.代码段寄存器(CS)用来存储程序当前使用的代码段和段地址。
下一条要读取得
指令在代码段中的偏移地址由指令指针寄存器IP提供。
数据段寄存器DS用来存
放程序当前使用的数据段地址。
4.每个源程序必须至少有一个代码段,而数据段,堆栈段和附加数据段则根据程序的需要决定是否设置。
5.由CS和IP的内容决定了程序的执行顺序。
6.物理地址=段地址X10H+段内偏移地址。
7.
:
只是负责执行指令。
执行的指令从
I/O端口读取操
EU向BIU发出请求,再由BIU对存储器或I/O端口进行直接访问。
执行单元EU不与系统外部直接相连,功能
BIU的指令队列缓冲器中直接得到,执行指令时若需要从存储器或作数,则由
8.
4)通用寄存器,5)EU控制电路
8086是16位,8088是8位,2)指令
8086可容纳6个字节,8088只能容纳4个字节,3)部分引
EU组成:
1)16位算数逻辑单元(ALU),2)16位标志寄存器FLAGS,3)数据暂存寄存器,
9.8086和8088的差异:
1)外部数据总线不同,
队列缓冲器大小不同,
脚的功能定义有所区别
8086/8088CPU中可供编程使用的有14个16位寄存器,按其用途可分为3类:
通
用寄存器、段寄存器、控制寄存器。
10.通用寄存器(累加器AX、基址寄存器BX、计数器CX、数据寄存器DX)高8位AH、BH、CH、DH;底8位AL、BL、CL、DL
段寄存器
提供段内偏移地址的寄存器
CS
IP
DS
BX、SI、DI或一个16位立即数形式的偏移地址
SS
SP或BP
ES
DI(用于字符串操作指令)
11.标志寄存器FLAG:
16位寄存器,共9个标志,其中6个用作状态标志,3个用作控制标志。
状态标志CF:
进位标志,ZF:
零标志位,SF:
符号标志位,IF:
中断允许标志位
12.8084A位时钟发生器,8282为8位地址锁存器,8086为具有三态输出的8位数据总线收发器
13.INTA引脚24,中断响应信号,作为输出;ALE引脚25,地址锁存允许信
号,作为输出;
14.8088与8086引脚不同:
1)AD15—A8的定位不同;2)引脚34的定义不同;引脚28的有效电平高低定义不同
1M个存储单元进行访问。
每个存储单
16位,每个存储单元都有
00000H—FFFFFH(0—
15.8086/8088CPU有20条地址线,可直接对
元放一个字节(8位)数据,一个“字”占两个字节即
一个20位的地址,这1M个存储单元对应的地址为
220-1)
16.堆栈操作
(1)存放指令操作数
(2)保护断点和现场;每进行一次进站操作,SP值减2,每进行一次出栈操作,SP加2;栈底(先存),栈顶(先取)
17.存储器/IO读时序:
1)T1,M/IO信号:
从存储器读还是从I/O设备中读数
据;ALE:
地址锁存信号,以使地址/数据线分开。
2)T2状态,RD由高电平变
为低电平,开始进行读数据操作。
18..8086/8088有20条地址线,可直接对1M个存储单元进行访问。
每个存储单
元存放一个字节型数据(8位),一个字占两个字节即16位,存放在两个相邻的存储单元中,高字节存放在高地址单元,低字节存放在低地址单元。
且每个存储单元都有一个20位的地址,这1M个存储单元对应的地址为OOOOOH-FFFFFH
19.保护断点和现场。
此为堆栈的主要功能。
(SS):
(SP)
2000:
0000
2000:
0001
2000
2000
2000
2000
2000
2000
2000
2000
2000:
0100
XX1
XX
XX
XX
XX
XX
XX
XX'
XX
XX
00F8
00F9
.堆栈段
00FA
00FB
00FC
00FD
00FE
00FF
(a)堆栈空
(SP)=
0100H
"栈底
(AX),
4AC7H
XX
XX
XX
XX
1FH
2BH
8FH
A2H
C7H
4AH
栈顶
栈底
(SP):
00FAH
a28X)^
2BX)^
XX1
XX
XX
XX
1FH
2BH
8FH
A2H
C7H
4AH
栈底
(SP)=
00FEH
2Zh-^(CX)
栈顶
(CX)
厂①
(b)执行PUSHAX
PUSHBX
PUSHCX
指令后
(c)执行POPBX
POPCX
指令后
状态输出
BH^输出
地址输出
,数据输入1
厂
I
ALE
⑨
RD
DEN
AD15〜AD0
BHE/S7
A19冷6〜A16/S3
I②I⑥
;④i_⑧
『\BH^输出y
1②!
⑦
\I
—I—
DT/R
总线读周期的时序
AD15〜AD
指令格式中的进栈指令PUSH。
PUSHsrc
!
T1
1
T2
1
h
T3:
T
1
W1
T4:
CLK
/
s
/\/
K
/*
①[
L
r
1
I
1
p
r
1
M/b
X!
高
为
读内
存
j低为读
IOP
1
Xi
1™
P
1
⑥
1
■
1
r
1
■
1
A/S
\I/
地址
X
h
状态输岀
h
163
k
1
1
■④
1
⑧
1
1
1
1
LV
1\
1
b
I
1
■
■
a
■
7
[数据输入:
0
A19/S6
!
②!
、
丄V地-址输’出乂
ALE
WR
DT/R-
DEN
存储器I/O写周期的时序
ALE地址锁存信号。
20.CPU中BIU单元的地址加法器根据指令中给出的段地址和段内偏移地址,通
过将段地址乘以10H(16),即左移4位,再与段内偏移量相加得到一个20位的物
理地址,该20位的物理地址加载到20位的地址总线上,即可实现对8086/8088系统1M个存储单元的访问。
21.数据传送指令MOV。
指令格式及操作:
MOVdst,src;(dst)J(src)dst表示目的操作数,src表示源操作数指令格式及操作:
;(SP)J(SP)-2,((SP)+1:
(SP))J(src)
出栈指令POP。
指令格式及操作:
POPdest;(dest)・((SP)+1:
(SP)),(SP)J(SP)+2
ADD加法,ADC带进位位加,SUB减,SBB带进位位减,CMP数据比较
22.过程调用指令CALL(Callaprocedure)
(1)段内直接调用。
指令格式及操作:
CALLnear_proc;(SP)・(SP)-2,((SP)+1:
(SP))・(IP)
;(IP)J(IP)+disp
相对位移量disp的范围为-32768〜+32767,占2个字节,段内直接调用指令为3
字节指令
(2)段内间接调用。
指令格式及操作:
CALLreg16/mem16;(SP)j(SP)-2,((SP)+1:
(SP))J(IP)
;(IP)J(reg16)/(mem16)
指令的操作数是一个16位的寄存器或存储器,其中的内容是一个近过程的入口
地址。
(3)段间直接调用。
指令格式及操作:
CALLfar_proc;(SP)J(SP)-2,((SP)+1:
(SP))J(CS)
;(CS)JSEGfar_proc
;(SP)J(SP)-2,((SP)+1:
(SP))J(IP)
;(IP)JOFFSETfar_proc
(4)段间间接调用。
指令格式及操作:
CALLmem32;(SP)J(SP)-2,((SP)+1:
(SP))J(CS)
;(CS)J(mem32+2)
;(SP)J(SP)-2,((SP)+1:
(SP))J(IP)
;(IP)J(mem32)
(IP)J((SP)+1:
(SP)),(SP(SP)+2
;(IP)J((SP)+1:
(SP)),(SP片(SP)+2
(SP)J(SP)+pop_value
2)从远过程返回:
RET;(IP)J((SP)+1:
(SP)),
;(CS)J((SP)+1:
RETpop_value;(IP)J((SP)+1:
;(CS)J((SP)+1:
;(SP)J(SP)+pop_value
RET指令还允许带一个弹出值(pop_value),这是一个范围为0〜64K的立即数,通常是偶数。
弹出值表示返回时从堆栈中舍弃的字节数。
返回类型
格式
操作
说明
段内
RET
IP出栈
格式RETexp允许在返回的同时,修
改堆栈指针
RETexp
IP出栈SPjSP+exp
段间
RET
IP出栈
CS出栈
RETexp
IP出栈CS出栈SPjSP+exp
24.DB字节型,每个元素占一个存储单元
DW字型,每个元素占两个存储单元
25.
段定义伪指令
26.随机存取存储器RAM。
只读存储器ROM。
27.中断源
1)中断向量,
向量地址=向量表的首地址+中断类型码X4
对于8086CPU中断类型号有256,中断向量表占用256X4=1KB
字节
字节数
地址
低字节
1
IP
高字节
1
低字节
1
CS
高字节
1
(1)外部硬件中断
CPU的NMI弓I脚或INTR弓I脚向CPU
外部硬件中断是指中断源是外部硬电路,通过提出中断请求
可屏蔽中断INTR,受CPU内标志寄存器中IF位的屏蔽。
非屏蔽中断NMI,不受IF位的屏蔽,CPU必须响应。
CPU每执行完一条指令,就会检测NMI和INTR引脚上有无中断请求。
(2)内部异常中断
内部异常中断是指CPU内部正在执行的过程中发生异常情况,如除法操作时结果太大。
(3)中断优先顺序
1除法出错中断,溢出中断,INTn,•…②NM③INTR④单步中断
(4)中断类型码
中断类型码为8位二进制数,它是连接中断源和中断处理程序的唯一桥梁。
可处理256级中断,中断类型码为配,比如除法错误(n=0)、调试异常
28.中断处理过程
29.8259A的编程
初始化命令字
1
ICW1主要用于设置工作方式
需要设置ICW4
系统中这4位
D2和D7~D5这4位在仅对8080/8085系统有意义,8086/8088不用,通常置为0。
2ICW2用于设置中断类型号,写入A0=1的端口
主片
A0:
A0=1时表示ICW2必须写入奇地址
D7~D3由用户根据中断向量在中断向量表中的位置确定
D2~D0中断源的IR端号
③ICW3用于设置级联,写入A0=1的端口
A0:
A0=1时表示ICW3必须写入奇地址
D7~D0用于说明对应的IR端上有从片(对应位为1)或无从片(对应位为0)
从片
X
X
X
X
X
X
X
X
1
A0:
A0=1时表示ICW3必须写入奇地址
D7~D3不使用时默认为0
D2~D0为从片的识别码,中断源的IR端号
④ICW4用于设置8259A的工作方式,写入A0=1的端口。
ICW1的IC4位为1时,才写入ICW4
0
乌
2
1
0
0
0
SFNM
BUF
MS
AEO1
D4:
SFNM位,设置中断的嵌套方式,0为一般嵌套方式,1为特殊的全嵌套方式。
D3:
BUF位,若该位为1,贝y8259A工作于缓冲方式,8259A通过数据总线收发器和总线相连,SP/EN引脚为输出;该位为0,8259A工作于非缓冲方式,SP/EN引脚为输入,用做主片、从片选择端。
D2:
M/S位,当D3即BUF位为1时,该位才有效,用于主片/从片选择,0表示本片8259A为从片,1表示本片8259A为主片;当BUF位为0时,该位无效,可设为任意值。
D1:
AEOI位,设置结束中断方式。
相应位;1表示自动结束中断,即
D0:
卩PM位,设置微处理器类型。
统采用8086/8088微处理器。
D7~D5特征位,必须为000
工作方式编程
1
OCW的功能是设置和清除中断屏蔽寄存器的相应位,
MX=1表示屏蔽中断源IRX;MX=0表示来自IRX的中断请求得到允许。
2OCW用于设置优先级循环方式和中断结束方式,写入A0=0的端口
D4和D3位是特征位,D4D3=00表示写入的是OCW2
3
OCW3的功能有三个方面:
设置和撤消特殊屏蔽方式、设置中断查询方式以及设置对8259A内部寄存器的读出。
OCW写入A0=0的端口
D2:
P位,为1时表示该OCW3用做查询命令(查询方式在前面已经介绍过,在此不再赘述);为0表示非查询方式。
D1和D0:
RR位和RIS位。
这两位的组合用于指定对中断请求寄存器
(IRR)和中断服务寄存器(ISR)内容的读出。
D1D0=10时,表明紧接着要读出IRR的
1.80C51的寻址方式
寄存器寻址.直接寻址.寄存器间接寻址立即寻址.变址寻址.相对寻址.
若(R0=30H,执行MOVA,R0后,(A)=30H
若(50H)=3AH执行MOVA,50H后,(A)=3AH
.若(RO=30H,(30H)=5AH执行MOVA,@R0后,(A=5AH执行MOVA,#50H结果:
(A)=50H执行MOVA,@A+DPTR后结果:
(A)=88H
若rel为75H,PSW.7为1,JCrel存于1000H开始的单元执行
JCrel指令后,程序将跳转到1077H单元取指令并执行。
位寻址.位地址00H内容为1,MOVC,00H执行后,位地址PSW.7的内容
为1。
2.指令系统五大类数据传送类指令
MOVDPTR,#2000H(16位)
MOVA,20H/R0/#30H/@R1
MOV20H
①特殊传送指令
读ROM中常数表项指令MOVC2条
读片外RAM及接口单元数据的指令MOVX4条
2堆栈操作指令
后进先出
入栈指令PUSHdirect;Sk(SP+1,(SP)J(direct)
出栈指令POPdirect;(direct)・((SP)),SP・(SP-1
3数据交换指令
XCH字节交换指令
XCHD是间址操作数的低半字节与A的低半字节互换。
SWAP是累加器的高低4位互换
3.80C51的中断系统及定时/计数器
(1)中断
15种类型的中断源
外部中断0--INT0。
外部中断1—INT1。
定时器0溢出中断--T0。
定时器1溢出中断一T1。
串行口中断一S
2TCON■—定时器控制寄存器,存放有4个标志位
SCON串行口控制寄存器,存放有2个标志位
IE――中断允许寄存器,用于中断的开放或禁止
IP――中断优先级寄存器,用于中断响应优先管理
3中断响应条件
有中断请求相应的中断允许位为1CPU开中断(即EA=1)
(2)定时/计数器
TH1、TL1
TH0TL0
TCON
求补法:
X=MN求补
2方式1:
16位方式
X=216-N=65536-N计数范围:
1〜65536
计数初值要分成2个字节分别送入TH0TL0
3方式2:
8位自动重装方式
X=28-N=256-N计数范围:
1〜256
特别适合与脉冲信号发生器
4方式3:
(仅T0有此方式,T1的方式3将停止计数)
TL0进行8位定时/计数
TH0进行8位定时(T1方式2时,可出借TR1、TF1)
初始化程序应完成:
对TMO鹹值,以确定T0和T1的工作方式;
求初值,并写入TH0TL0或TH1、TL1;
中断方式时,要对IE赋值,开放中断;
使TR0或TR1置位,启动定时/计数器工作。
8253控制信号与执行的操作
CS
RD
WR
A1
1A0
执行的操作
0
1
0
0
0
对计数器0设置初值
0
1
0
0
1
对计数器1设置初值
0
1
0
1
0
对计数器2设置初值
0
1
0
1
1
写控制字
0
0
1
0
0
读计数器0当前计数值
0
0
1
0
1
读计数器1当前计数值
0
0
1
1
0
读计数器2当前计数值
D7D6D5D4D3D2D1D0
SC1SC21RW1RW2M2
M1M0
BCD
00:
计数器000:
锁存计数值000:
方式00:
二进制数
01:
计数器101:
只读/写低8位001:
方式11:
十进制数
10:
计数器210:
只读/写高8位X10:
方式2
11:
无意义11:
先读/写低8位X11:
方式3
后读/写高8位
方式
4
100:
101:
方式5
1.
,执行RL,A后,(A)=E8H
(A)=74H,(C)=1
2.若(SP)=60H(5FH)=30H,(60H)=20H
POPDPH先出再减
POPDPL
后DOTR的内容为2030HSP的内容为5EH
3.(P1)=OAAH,(A)=15H,分别执行
ANLP1,#F0H(P1)=A0H
ORLP1,#0F0H(P1)=FAH
XRLP1,A(P1)=
4.(A)=6AH,执行ADDA,#47H
(A)=B1H(AC)=1(CX)=0
5将内部20H单元数据,送到片外2000H单元
MOVDPTR,#2000H
MOVA,20H
MOV@DPTR,A
MOVA,
R5
寄存器寻址
ADDA,@R0
间接
SVBBA,
#50H
立即
ADDCA,40H
直接
MOVA,1
P1
直接
MOVCA,
@A+DPTR
变
MOVXA,
@P0
间接
SETB20H,
位寻址
CLRP110
位
JCEX2T
相对寻址
例:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 单片机 部分 知识点