单片机考试知识.docx

上传人:b****1 文档编号:14460018 上传时间:2023-06-23 格式:DOCX 页数:26 大小:331KB
下载 相关 举报
单片机考试知识.docx_第1页
第1页 / 共26页
单片机考试知识.docx_第2页
第2页 / 共26页
单片机考试知识.docx_第3页
第3页 / 共26页
单片机考试知识.docx_第4页
第4页 / 共26页
单片机考试知识.docx_第5页
第5页 / 共26页
单片机考试知识.docx_第6页
第6页 / 共26页
单片机考试知识.docx_第7页
第7页 / 共26页
单片机考试知识.docx_第8页
第8页 / 共26页
单片机考试知识.docx_第9页
第9页 / 共26页
单片机考试知识.docx_第10页
第10页 / 共26页
单片机考试知识.docx_第11页
第11页 / 共26页
单片机考试知识.docx_第12页
第12页 / 共26页
单片机考试知识.docx_第13页
第13页 / 共26页
单片机考试知识.docx_第14页
第14页 / 共26页
单片机考试知识.docx_第15页
第15页 / 共26页
单片机考试知识.docx_第16页
第16页 / 共26页
单片机考试知识.docx_第17页
第17页 / 共26页
单片机考试知识.docx_第18页
第18页 / 共26页
单片机考试知识.docx_第19页
第19页 / 共26页
单片机考试知识.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机考试知识.docx

《单片机考试知识.docx》由会员分享,可在线阅读,更多相关《单片机考试知识.docx(26页珍藏版)》请在冰点文库上搜索。

单片机考试知识.docx

单片机考试知识

知识结构

图2-1典型单片机的基本组成结构

P3——8位、准双向I/O口,具有内部上拉电阻。

P3还提供各种替代功能。

在提供这些功能时,其输出锁存器应由程序置1。

P3口可以驱动4个LSTTL负载。

·串行口:

P3.0——RXD(串行输入口),输入。

P3.1——TXD(串行输出口),输出。

·中断:

P3.2——INT0,外部中断0,输入。

P3.3——INT1,外部中断1,输入。

·定时器/计数器:

P3.4——T0,定时器/计数器0的外部输入,输入。

P3.5——T1,定时器/计数器1的外部输入,输入。

·数据存储器选通:

P3.6——WR,低电平有效,输出,片外数据存储器写选通。

P3.7——RD,低电平有效,输出,片外数据存储器读选通。

(3)控制线:

共4根。

①输入:

RST——复位输入信号,高电平有效。

在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。

EA/VPP——片外程序存储器访问允许信号,低电平有效。

在编程时,其上施加21V或12V的编程电压。

②输入、输出:

ALE/PROG——地址锁存允许信号,输出。

用做片外存储器访问时,低字节地址锁存。

ALE以1/6的振荡频率稳定速率输出,可用做对外输出的时钟或用于定时。

在EPROM编程期间,作输入。

输入编程脉冲(PROG)。

ALE可以驱动8个LSTTL负载。

③输出控制线:

PSEN——片外程序存储器选通信号,低电平有效。

在从片外程序存储器取指期间,在每个机器周期中,当PSEN有效时,程序存储器的内容被送上P0口(数据总线)。

PSEN可以驱动8个LSTTL负载。

2)数据指针DPTR

数据指针是80C51中一个功能比较特殊的寄存器。

从结构上说,DPTR是一个16位的特殊功能寄存器,主要功能是作为片外数据存储器寻址用的地址寄存器(间接寻址),故称为数据指针。

访问片外数据存储器的指令为:

MOVXA,@DPTR读

MOVX@DPTR,A写

此时,DPTR的输出,即片外数据存储器的地址,与P0、P2口之间的关系如图2--5所示。

图2—5DPTR的输出与P0、P2口之间的关系

DPTR寄存器也可以作为访问程序存储器时的基址寄存器。

MOVCA,@A+DPTR

JMP@A+DPTR

DPTR寄存器既可以作为一个16位寄存器处理如,

MOVDPTR,#16位地址

INCDPTR

也可以作为两个8位寄存器处理,其高8位用DPH表示,低8位用DPL表示。

如:

CJNEA,DPL,$

CJNEA,DPH,$

在80C51中,两个地址寄存器,即程序计数器PC与数据指针DPTR,有相同之处,也有差别:

①两者都是与地址有关的、16位的寄存器。

其中,PC与程序存储器的地址有关,而DPTR与数据存储器的地址有关。

作为地址寄存器使用时,PC与DPTR都是通过P0和P2口输出的。

但是,PC的输出与ALE及PSEN有关;

DPTR的输出,则与ALE、WR、RD相联系。

DPTR寄存器也可以作为访问程序存储器时的基址寄存器。

MOVCA,@A+DPTR

JMP@A+DPTR

DPTR寄存器既可以作为一个16位寄存器处理如,

MOVDPTR,#16位地址

INCDPTR

也可以作为两个8位寄存器处理,其高8位用DPH表示,低8位用DPL表示。

如:

CJNEA,DPL,$

CJNEA,DPH,$

在80C51中,两个地址寄存器,即程序计数器PC与数据指针DPTR,有相同之处,也有差别:

①两者都是与地址有关的、16位的寄存器。

其中,PC与程序存储器的地址有关,而DPTR与数据存储器的地址有关。

作为地址寄存器使用时,PC与DPTR都是通过P0和P2口输出的。

但是,PC的输出与ALE及PSEN有关;

DPTR的输出,则与ALE、WR、RD相联系

②PC只能作为16位寄存器对待;

由于有自动加1的功能,故又称为计数器;PC是不可以访问的;有自己独特的变化方式;它的变化轨迹决定了程序执行的流程。

DPTR可以作为16位寄存器对待,也可以作为两个8位寄存器对待;DPTR是可以访问的。

4程序状态字PSW

程序状态字PSW(ProgramStatusWord)是一个逐位定义的8位的寄存器,其内容的主要部分是算术逻辑运算单元(ALU)的输出。

它是一个程序可访问的寄存器,而且可以按位访问。

格式如下:

MSBLSB

CY

AC

F0

RS1

RS0

OV

P

其中,除PSW.1(保留位)、

RS1和RS0(工作寄存器选择控制位)

及F0之外,其他四位:

PSW.0(P,奇偶校验位),

PSW.2(OV,溢出标志位),

PSW.6(AC,辅助进位标志位)及

PSW.7(CY,进位标志位)都是ALU运算结果的直接输出。

(1)PSW.0——P,奇偶标志位。

每个指令周期都由硬件来置位或清除。

用以表示累加器中值为1的位数是奇数还是偶数:

若累加器值为1的位数是奇数,P=1置位;

否则,P=0清除。

在串行通信中,常以传送奇偶校验位来检验传输数据的可靠性。

通常将P置入串行帧中的奇偶校验位。

(2)PSW.2——OV,溢出标志位。

当执行运算指令时,由硬件置位或清除,以指示运算是否产生溢出;OV置位表示运算结果超出了目的寄存器A所能表示的带符号数的范围(-128~+127)。

①对于ADD加法:

若Ci’表示位i向位i+1有进位,则OV=C6’C7’;当位6向位7有进位而位7不向CY进位时,或当位7向C进位而位6不向位7进位时,OV标志置位;否则,清除。

②对于SUBB减法:

若Ci’表示位i向位i+1有借位,则OV=C6’C7’;当位6向位7有借位而位7无借位时,或当位7向CY有借位而位6不向位7借位时,OV标志置位。

③对于MUL乘法:

当A、B两个乘数的积超过255时,OV置位;否则,OV=0。

因此,若OV=0时,只需从A寄存器中取积;若OV=1时,则需从B、A寄存器对中取积。

④对于DIV除法:

若除数为0时,OV=1;否则,OV=0。

(3)PSW.6——AC,辅助进位标志位。

当进行加法或减法运算时,若低4位向高4位数发生进位或借位时,AC将被硬件置位;否则,被清除。

在十进制调整指令DA中有用。

(4)PSW.7——CY,进位标志位。

在进行算术运算时,可以被硬件置位或清除,以表示运算结果中高位是否有进位或借位的状态。

在布尔处理机中,CY被认为是位累加器。

(5)PSW.5——F0,用户可使用的通用标志位。

开机时该位为“0”。

用户可根据需要,通过位操作指令置“l”或者清“0”。

当CPU执行F0测试转移指令时,根据F0的状态实现分支转移。

(3)ALE信号

一般地说,状态时钟经过3分频之后,产生ALE引脚上的信号输出

2时序定时单位

时序是用定时单位来说明的。

80C51的时序定时单位共有4个,从小到大依次是:

节拍、状态、机器周期和指令周期。

(1)节拍与状态:

一个状态包含两个节拍,其前半周期对应的节拍叫P1,后半周期对应的节拍叫P2

(2)

(2)机器周期:

80C51采用定时控制方式,因此它有固定的机器周期。

规定一个机器周期的宽度为6个状态,并依次表示为S1~S6。

由于一个状态又包括两个节拍,因此一个机器周期总共有12个节拍,分别记作S1P1,S1P2,…,S6P2。

由于一个机器周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的12分频。

当振荡脉冲频率为l2MHz时,一个机器周期为1μs;当振荡脉冲频率为6MHz时,一个机器周期为2μs。

(3)指令周期:

执行一条指令所需要的时间称为指令周期。

它是最大的时序定时单位。

80C51的指令周期根据指令的不同,可包含有一、二、四个机器周期。

380C51指令时序

80C51共有111条指令,全部指令按其长度可分为单字节指令、双字节指令和三字节指令。

执行这些指令所需要的机器周期数目是不同的,概括起来共有以下几种情况:

单字节单机器周期指令、单字节双机器周期指令、双字节单机器周期指令和双字节双机器周期指令,三字节指令都是双机器周期的,而单字节乘除指令则均为四机器周期的。

图2--10所表示的是几种典型单机器周期和双机器周期指令的时序.

图21080C51的取指/执行时序

①单机器周期指令,如图2--10(a)、(b)所示。

双字节时,执行在S1P2开始,操作码被读入指令寄存器;在S4P2时,再读入第二个字节。

单字节时,执行在S1P2开始,操作码被读入指令寄存器;在S4P2时仍有读操作,但被读入的字节(即下一操作码)被忽略,且此时PC并不增量。

以上两种情况均在S6P2时结束操作。

②双机器周期指令,如图2--10(c)、(d)所示。

双字节时,执行在S1P2开始,操作码被读入指令寄存器;在S4P2时,再读入的字节被忽略。

由S5开始送出外部数据存储器的地址,随后是读或写的操作。

在读、写期间,ALE不输出有效信号。

在第二个机器周期,片外数据存储器也寻址和选通,但不产生取指操作。

单字节时,执行在S1P2开始,在整个两个机器周期中,共发生四次读操作,但是后三次操作都无效。

一般地,算术/逻辑操作发生在节拍1期间,内部寄存器之间的传送发生在节拍2期间。

图中的ALE信号是为地址锁存而定义的,该信号每有效一次对应单片机进行的一次读指令操作。

ALE信号以振荡脉冲六分之一的频率出现,因此在一个机器周期中,ALE信号两次有效,第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间,有效宽度为一个状态。

现对几个典型指令的时序作如下说明:

✶单字节单周期指令(例如INCA)由于是单字节指令,因此只需进行一次读指令操作。

当第二个ALE有效时,由于PC没有加1,所以读出的还是原指令,属于一次无效的操作。

✶双字节单周期指令(例如ADDA,#data)这种情况下对应于ALE的两次读操作都是有效的,第一次是读指令操作码,第二次是读指令第二字节(本例中是立即数)。

✶单字节双周期指令(例如INCDPTR)两个机器周期共进行四次读指令的操作,但其中后三次的读操作全是无效的。

(4)单字节双周期指令(MOVX类指令)如前述每个机器周期内有两次读指令操作,但MOVX类指令情况有所不同。

因为执行这类指令时,先在ROM读取指令,然后对外部RAM进行读/写操作。

第一机器周期时,与其它指令一样,第一次读指令(操作码)有效,第二次读指令操作无效。

第二机器周期时,进行外部RAM访问,此时与ALE信号无关,因此不产生读指令操作。

此外还应说明,时序图中只表现了取指令操作的有关时序,而没有表现指令执行的内容。

存储器结构和地址空间

①在物理上设有4个存储器空间

·程序存储器:

片内程序存储器;

片外程序存储器;

·数据存储器:

片内数据存储器;

片外数据存储器。

②在逻辑上设有3个存储器地址空间

·片内、片外统一的64KB程序存储器地址空间;

·片内256(或384)B数据存储器地址空间;

·片外64KB的数据存储器地址空间。

总括起来,80C51系列单片机设有三种基本的寻址空间:

·64KB的片内、外程序存储器寻址空间;

·64KB的片外数据存储器寻址空间;

·256(或384)B的片内数据存储器寻址空间,其中包括特殊功能寄存器寻址空间。

由上可见,80C51系列单片机具有相当容量的存储器寻址空间,大大开拓了它的应用范围。

图2--12为片内数据存储器各部分地址空间分布图。

2.680C51单片机的工作方式

80C51单片机共有复位、程序执行、低功耗以及编程和校验四种工作方式。

2.6.1复位方式

1复位操作

复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。

除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。

除PC之外,复位操作还对其它一些特殊功能寄存器有影响,它们的复位状态见表2--7。

复位操作还对单片机的个别引脚信号有影响。

例如在复位期间,ALE和PSEN信号变为无效状态,即ALE=l,PSEN=1。

2复位信号及其产生

(1)复位信号

图2--13复位电路结构图

RST引脚是复位信号的输入端。

复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即两个机器周期)以上。

若使用频率为6MHz的晶振,则复位信号持续时间应超过4μs才能完成复位操作。

产生复位信号的电路逻辑图如图2--13所示。

整个复位电路包括芯片内、外两部分。

外部电路产生的复位信号(RST)送斯密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对斯密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。

(2)复位方式

复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,示于图2--14

图2--14复位电路

上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图2--14(a)所示。

只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。

按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图2--14(b)所示。

而按键上述电路图中的电阻、电容参数适宜于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。

外部脉冲复位是由外部提供一个复位脉冲。

此复位脉冲应保持宽度大于2个机器周期,如图2--14(c)所示。

复位脉冲过后,由内部下拉电阻保证RST端的低电平。

寄存器

复位时内容

寄存器

复位时内容

PC

0000H

IE

0**0000B

ACC

00H

TL0

00H

B

00H

TH0

00H

PSW

00H

TL1

00H

SP

07H

TH1

00H

DPTR

0000H

SCON

00H

P0—P3

FFH

SBUF

不定

TMOD

00H

PCON

0***0000B

TCON

00H

IP

(****00000B)

表2-6特殊功能寄存器的复位状态

第3章

1一般传送指令

一般传送指令共有15条,这类传送指令的格式为:

MOV<目的字节>,<源字节>

它的功能是把源字节的内容送到目的字节,而源字节的内容不变。

操作属于拷贝性质,不属于搬家性质。

(1)以累加器A为目的操作数的指令组,共有4条指令:

MOVA,Rn;(A)←(Rn)

MOVA,direct;(A)←(direct)

MOVA,@Ri;(A)←((Ri))

MOVA,#data;(A)←#data

(2)以寄存器Rn为目的操作数的指令组,共有3条指令:

MOVRn,A;(Rn)←(A)

MOVRn,direct;(Rn)←(direct)

MOVRn,#data;(Rn)←#data

这组指令的功能是把源操作数的内容送入当前工作寄存器区的R0~R7中的某一个寄存器。

源操作数有寄存器寻址、直接寻址和立即寻址等寻址方式。

(3)A与片外数据存储器的传送指令MOVX组,共有4条指令:

MOVXA,@Ri

MOVXA,@DPTR

MOVX@Ri,A

MOVX@DPTR,A

这组的功能是实现累加器A与外部数据存储器或I/O口之间传送一个字节数据的指令。

采用间接寻址方式访问外部数据存储器,有Ri和DPTR两种间接寻址方式。

例如:

设工作寄存器R0的内容为12H,R1的内容为34H,片外RAM34H单元的内容为56H。

执行指令为

MOVXA,@R1;(34H)=56H→(A)

MOVX@R0,A;(A)=56H→12H单元中

执行结果为(34H)=56H,(12H)=56H。

3.3.2算术运算类指令

3.3.2算术运算类指令

1加法指令

加法类指令共14条,包括加法、带进位的加法、加1以及二—十进制调整4组指令。

(1)加法指令这组指令的助记符为ADD,共有4条指令:

ADDA,Rn;(A)+(Rn)→(A)

ADDA,direct;(A)+(direct)→(A)

ADDA,@Ri;(A)+((Rn))→(A)

ADDA,#data;(A)+#data→(A)

(2)加1指令这组指令的助记符为INC,共有5条指令:

INCRn;(Rn)←(Rn)+1

INCdirect;(direct)←(direct)+1

INC@Ri;((Ri))←((Ri))+1

INCA;(A)←(A)+1

INCDPTR;(DPTR)←(DPTR)+1

这组指令的功能是将工作寄存器Rn、片内RAM单元中的内容、间接地址存储器中的8位无符号二进制数、累加器A和数据指针DPTR的内容加1,相加的结果仍存放在原单元中。

这类指令不影响各个标志位。

例如:

设(R0)=7EH,(7EH)=0FFH,(7FH)=40H。

执行指令为

INC@R0;0FFH+1=00H→(7EH)

INCR0;7EH+1=7FH→(R0)

INC@R0;40H+1=41H→(7FH)

执行结果为(R0)=7FH,(7EH)=00H,(7FH)=41H。

2减法指令

减法类指令共8条,包括带借位的减法、减1两组指令。

(1)带借位减法指令

这类指令的助记符为SUBB,共有4条指令:

SUBBA,Rn;(A)-(Rn)-(CY)→(A)

SUBBA,direct;(A)-(direct)-(CY)→(A)

SUBBA,@Ri;(A)-((Rn))-(CY)→(A)

SUBBA,#data;(A)-#data-(CY)→(A)

3循环左移指令:

RLA

它是将累加器的内容逐位循环左移一位,并且a7的内容移到a0,见图3--8(c)所示。

此操作不影响标志位。

例如:

设(A)=3AH(00111010B),执行RLA指令,

执行结果为(A)=74H(01110100B)。

4双操作数逻辑运算指令

双操作数逻辑运算指令包括:

ANL(逻辑“与”)、ORL(逻辑“或”)及XOR(逻辑“异或”)三类操作,共18条指令。

在指令中包含有两个操作数:

第一操作数A,direct

第二操作数A,Rn,direct,#data,@Ri

(1)逻辑“与”运算指令

这组指令的助记符为ANL,共有6条指令:

ANLA,Rn;(A)←(A)∧(Rn)

ANLA,direct;(A)←(A)∧(direct)

ANLA,@Ri;(A)←(A)∧((Ri))

ANLA,#data;(A)←(A)∧#data

ANLdirect,A;(direct)←(direct)∧(A)

ANLdirect,#data;(direct)←(direct)∧#data

(2)逻辑“或”运算指令

这组指令的助记符为ORL,共有6条指令:

ORLA,Rn;(A)←(A)∨(Rn)

ORLA,direct;(A)←(A)∨(direct)

ORLA,@Ri;(A)←(A)∨((Ri))

ORLA,#data;(A)←(A)∨#data

ORLdirect,A;(direct)←(direct)∨(A)

ORLdirect,#data;(direct)←(direct)∨#data

(3)逻辑“异或”运算指令这组指令的助记符为XRL,共有6条指令:

XRLA,Rn;(A)←(A)(Rn)

XRLA,direct;(A)←(A)(direct)

XRLA,@Ri;(A)←(A)((Ri))

XRLA,#data;(A)←(A)#data

XRLdirect,A;(direct)←(direct)(A)

XRLdirect,#data(direct)←(direct)#data

第4章

图4--7方式1时,定时器/计数器T0、T1的结构简图

中断系统

(1)中断源:

能产生中断的外部和内部事件。

中断源

80C51中有五个中断源;80C52中增多了一个中断源——定时器/计数器T2,即有六个中断源。

80C51的五个中断源是:

①INT0(P3.2)——外部中断0。

当IT0(TCON.0)=0时,低电平有效;当IT0(TCON.0)=1时,下降沿有效。

②INT1(P3.3)——外部中断1。

当IT1(TCON.2)=0时,低电平有效;当IT1(TCON.2)=1时,下降沿有效。

3TF0(P3.4)——定时器/计数器T0溢出中断。

④TF1(P3.5)——定时器/计数器T1溢出中断。

5RX,TX——串行中断。

(2)外部中断触发方式

INT0、INT1的中断触发方式有两种:

电平触发方式,低电平有效;跳变触发方式,电平发生由高到低的跳变时触发。

这两种触发方式可由设置TCON寄存器中的IT1((TCON.2)、IT0((TCON.0)中断申请触发方式控制位来选择:

设置IT1、IT0=0,选择电平触发方式;设置IT1、IT0=1,选择跳变触发方式,即当INT0、INT1引脚检测到前一个机器周期为高电平、后一个机器周期为低电平时,则置位IE0、IE1且向CPU申请中断。

由于CPU每个机器周期采样INT0、INT1引脚信号一次,为确保中断请求被采样到,外部中断源送INT0、INT1引脚的中断请求信号应至少保持一个机器周期。

如果是跳变触发方式,外部中断源送INT0、INT1引脚的中断请求信号高、低电平应至少各保持一个机器周期,才能确保CPU采集到电平的跳变;如果是电平触发方式,则外部中断源送INT0、INT1引脚请求中断的低电平有效信号,应一直保持到CPU响应中断为止。

6中断请求的撤除

CPU响应中断请求,转向中断服务程序执行,在其执行中断返回指令(RETI)之前,中断请求信号必须撤除,否则将会再一次引起中断而出错。

中断请求撤除的方式有三种。

①由单片机内部硬件自动复位的:

对于定时器/计数器T0、T1的溢出中断和采用跳变触发方式的外部中断请求,在CPU响应中断后,由内部硬件自动复位中断标志TF0和TF1、IE0和IE1,而自动撤除中断请求。

②需用软件清除相应标志的:

对于串行接收/发送中断请求和80C52中的定时器/计数器T2的溢出和捕获中断请求,在CPU响应中断后,内部无硬件自动复位中断标志RI、TI、TF2和EXF2,必须在中断服务程序中清除这些中断标志,才能撤除中断。

③既无硬件也无软件措施的:

对于采用电平触发方式的外部中断请求,CPU对INT0、INT1引脚上的中断请求信号既无控制能力,也无应答信号。

为保证在CPU响应中断后、执行返回指令前,撤除中断请求,必须考虑另外的措施。

4.4.3中断的响应过程和中断矢量地址

(1)

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

当前位置:首页 > 党团工作 > 党团建设

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

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