《单片微机及其应用》总复习_第1页
《单片微机及其应用》总复习_第2页
《单片微机及其应用》总复习_第3页
《单片微机及其应用》总复习_第4页
《单片微机及其应用》总复习_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《单片微机及其应用》总复习计算机基础知识

MCS-51指令系统

MCS-51功能模块单片机系统扩展单片机体系结构试题类型:1.选择题(每题2分,共20分)2.填空题(每空1分,共20分)3.判断题(每题1分,共10分)4.改错题(每题2分,共8分)5.阅读分析题(4题,共20分)6.编程、应用题(3题,共22分)§1计算机基础知识微型计算机系统硬件微型计算机(主机)微处理器

(CPU)软件外围设备运算器控制器存储器

(内存)RAMROM外部设备辅助设备输入设备(键盘、扫描仪、语音识别仪…)

输出设备(显示器、打印机、绘图仪、…)

辅助存储器(磁带、磁盘、光盘)输入/输出接口(PIO、SIO、CTC、ADC、DAC…)(I/O接口)总线(AB、DB、CB)系统软件(操作系统,编辑、编译程序,故障诊断,监控程序…)应用软件(科学计算,工业控制,数据处理…)程序设计语言(机器语言、汇编语言、高级语言)电源电路时钟电路一、计算机组成二、数制数制的概念二进制、十进制、八进制、十六进制等BCD码:8421BCD码,用4位二进制数表示1位十进制数§2单片机体系结构一、8051的总体结构中央处理器(CPU)中断控制器时钟电路程序存储器并行I/O接口数据存储器定时器特殊I/O部件外部中断源外接元件并行I/O线特殊I/O线VccVss内部中断源外部输入线8051片上硬件资源面向控制的8位CPU4K字节ROM程序存储器128字节内部RAM数据存储器2个16位定时器/计数器1个全双工的异步串行口5个中断源、2个中断优先级的中断控制器时钟电路、时钟频率在1.2MHz~12MHz引脚图CPU是单片机的核心,由运算器和控制器,以及若干寄存器组成,完成运算和控制操作。CPU指令执行过程 一个特殊的寄存器:程序计数器PC(1)中央处理单元CPU(2)程序存储器:ROM、EPROM、Flash(3)数据存储器:内部RAM、特殊功能寄存器(4)I/O部件:并行口、串行口、定时器等1.NMOS型单片机的时钟电路(1)振荡电路C1、C2取30pF,晶振:1.2~12MHz(2)外部时钟上拉电阻取5.1kΩ,外部时钟频率小于12MHz二、时钟和时钟电路2.CMOS型单片机的时钟电路复位电路是单片机应用系统的一部分基本电路。复位操作有上电自动复位和两种方式按键手动复位三、复位和复位电路四、CPU定时CPU工作:不断取指、执行的过程时钟周期、指令周期、机器周期时钟周期:输入时钟的周期。指令周期:CPU取出指令到该指令执行完成所需要的时间。机器周期:是指令周期的计算单位,分为6个状态,每个状态为2个时钟周期。一个机器周期=12个时钟周期五、存储器组织MCS-51单片机有5个独立的存储空间:64K字节程序存储器空间(0~0FFFFH)256字节内部RAM空间(0~0FFH)128字节内部特殊功能寄存器空间(80~0FFH)位寻址空间(0~0FFH)64K字节外部数据存储器(RAM/IO)空间(0~0FFFFH)专用寄存器低128字节FFH00H7FH80H0100H00FFH000H低256字节64KBFFFFH60KB外部外部内部0000H0FFFH0000H0FFFH1000HFFFFH程序存储器(ROM)数据存储分配(RAM)EA=1EA=0程序存储器存储器选择:

(1)由EA引脚电平决定存储器的选择

(2)PSEN只有在访问外部程序存储器时才有效程序存储器的空间分配: (1)复位入口及中断入口

(2)程序空间复位入口中断入口(INT0)中断入口(T0)中断入口(INT1)中断入口(T1)中断入口(串行口)

······0H3H0BH13H1BH23H内部RAM数据存储器7FH30H20H18H10H08H00H工作寄存器0工作寄存器1工作寄存器2工作寄存器3位寻址区堆栈或数据缓冲堆栈或数据缓冲80HFFHMCS-51内部RAM数据存储器空间为128字节或256字节,区域划分如右图所示:工作寄存器区内部RAM的前32个单元作为寄存器使用,共分为四组,每组含8个寄存器,在组中按R7-R0编号。地址:00H-1FH程序状态字PSW中第三、四位(RS0、RS1)决定当前工作寄存器组MOVA,R0与MOVA,00H位寻址区片内20H-2FH;位地址:00H-7FH供用户使用的一般RAM区,其单元地址为30H-7FH.堆栈与数据缓冲区内部RAM中除去了工作寄存器、位寻址区和堆栈区以外的单元都可以作为数据缓冲器,存放输入的数据或运算的结果。堆栈:用于保护CPU现场,后进先出的RAM缓冲区进栈:SP加1,再数据进栈退栈:先数据退栈,再SP减1复位SP=07H:即堆栈区从08H开始特殊功能寄存器

MCS-51除了前面提到的20H~7FH的RAM单元可以位寻址外,特殊功能寄存器中地址为8的倍数的,也可以位寻址位寻址的好处:不需要过多的数据传送、字节屏蔽和测试分支树,就能实现复杂的组合逻辑功能。

包括:CPU寄存器、IO口锁存器以及定时器、串行口、中断等各种控制寄存器和状态寄存器累加器A(ACC)累加器为8位寄存器,地址为:E0H.

a)用于存放操作数,是ALU输入的一个重要来源。

b)是ALU运算结果的暂存单元,用于存放运算的中间结果。

c)是数据传送的中转站,单片机中的大部分数据传送都通过累加器进行

d)在变址寻址方式中把累加器作为变址寄存器使用。B寄存器

8位寄存器,主要用于乘除运算。乘法运算:被乘数和乘数相乘,其中乘数放在B中,对于乘积的结果,高8位存于B中,低8位存于A中。除法运算:B中为除数,A中为被除数。结果B中为余数,A中为商值。数据指针(DPTR)

16位寄存器,在访问外部64K数据存储器时作地址指针使用。

DPTR为16位,可分为两个8位寄存器。

DPH:

DPTR高位字节、8位

DPL:DPTR低位字节、8位六、中断系统INT0INT1T0T1IT0IT1IE0IE1+EA

EX0

ET0

ET1

ES

EX1

PX0

PT0

PT1

PS

PX1(IE)

011

0TF1TF0TI/RI(IP)TIRI高优先级中断转移入口低优先级中断转移入口(TC0N/SC0N)中断总允许中断优先级寄存器中断允许寄存器中断请求标志中断源IT0、IT1:外部中断、引脚电平触发方式选择位。当为“0”时低电平有效;为“1”时下降沿有效。IE0、IE1:外部中断的中断请求标志位。置位时表示有中断请求。TF0、TF1:定时器/计数器计数溢出中断请求标志。置位时表示有中断请求,中断响应后硬件自动清零

定时器/计数器控制寄存器

TCON结构TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H

串行口控制寄存器

SCON结构SCOND7D6D5D4D3D2D1D0------TIRI位地址

99H98H中断允许寄存器IE结构IED7D6D5D4D3D2D1D0EA--ESET1EX1ET0EX0位地址AFH

ACHABHAAHA9HA8H

中断优先级管理寄存器IP结构IPD7D6D5D4D3D2D1D0---PSPT1PX1PT0PX0位地址

BCHBBHBAHB9HB8H⑴CPU查询到某中断标志为1,则按优先级的高低进行处理,即响应中断;⑵响应中断后,CPU首先使被响应中断的相应“优先级激活”触发器置位,以阻挠同级和低优先级的中断的响应。断点地址的入栈次序是:先低位地址入栈,再高位地址入栈,堆栈指针的值被加2;⑶将对应中断源的中断矢量地址装入程序计数器PC⑷中断服务程序;⑸执行RETI指令,从堆栈中弹出断点地址进入PC,先弹出高位地址,后弹出低位地址,堆栈指针减2,恢复原程序的执行。MCS-51的中断检测与响应哪些情况下中断响应将受到阻断?⑴同级或高优先级的中断正在进行中。⑵现在的机器周期还不是执行指令的最后一个机器周期,即正在执行的指令还没完成前,不响应任何中断。⑶正在执行的是中断返回指令RETI或是访问专用寄存器IE、IP的指令。MCS-51中断系统规定:在执行完这些指令之后,不会马上响应中断,至少再执行一条其它指令后才会响应。中断的响应时间

一般,在单级中断系统中,中断的响应时间最短为3个机器周期,最长为8个机器周期。一、伪指令也称为汇编命令,提供汇编控制信息;没有对应的机器语言指令1.定位伪指令ORGm

m指出该伪指令后的指令的汇编地址2.定义字节伪指令DBX1,X2,…,Xn

Xi为单字节数据,也可以为一个表达式

Xi也可以为字符串,每一个字符为一个ASCII码

注:存于目标程序存储器中,常用于定义常数表3.字定义伪指令DWY1,Y2,Y3

Yi为双字节数据,也可以为一个表达式注:存于目标程序存储器中,常用于定义地址表§3MCS-51指令系统4.字或字节赋值伪指令标号EQUm将值m赋给前面的标号,此时程序中标号和m等价5.位赋值伪指令标号bitn将值n赋给前面的标号,n一般指位地址6.汇编程序结束伪指令END汇编结束,对其后的汇编程序不作处理7.标号和注释标号:加在指令之前,其值就是该指令的存储地址标号必须是字母开头,后跟1~8个字母或数字,以冒号结束注释:以分号“;”开始对程序进行标注常用的缩写符号A累加器ACCAB累加器ACC和寄存器B组成的寄存器对direct直接地址0~0FFH#data立即数,0~0FFH@间接寻址+加-减*乘/除∧与∨或⊕异或=等于<小于>大于<>不等于

传送×寄存器名(×)×寄存器内容((×))由×寄存器寻址的存储单元内容()X寄存器的内容取反rrr指令编码中rrr三位值由工作寄存器Rn确定,R0~R7对应的的rrr为000~111$本条指令起始地址rel相对偏移量,-128~+127二、寻址方式寻址方式:指令给出参与运算的数据的方式,即确定操作数地址的方法MCS-51指令寻址方式主要有5种:存器寻址、直接寻址、寄存器间接寻址、立即寻址和基址寄存器+变址寄存器间接寻址由指令指出以某寄存器的内容为操作数。寄存器寻址方式使用范围:(1)内部RAM中的32个工作寄存器R0~R7;(2)A、B、C、AB、DPTR;1、寄存器寻址2、直接寻址在指令中含有操作数的直接地址,该地址指出了参与运算的数所在的字节单元地址或位地址(位寻址)。直接寻址的寻址范围:(1)内部数据存储器的低128字节,00H~7FH;(2)特殊功能寄存器,注意除A、B、DPTR外,其他SFR只能采用直接寻址方式。(3)位寻址:所有可寻址位;例如:MOVA,70H;(A)←(70H)

MOVC,70H;(CY)←(70H)注意:对累加器直接寻址和位寻址时,要用符号“ACC”或直接地址“E0H”,以区别于寄存器寻址。例:MOVA,@R0 ;(A)←((R0))

PUSHACC ;((SP))←(A)

MOVXA,@DPTR ;(A)←((DPTR))3、寄存器间接寻址指令中指出某一个寄存器的内容为操作数的地址,以符号“@”表示。其寻址范围:(1)以R0,R1为地址指针,寻址内部RAM00~7FH和外RAM的低256B;(2)以堆栈SP为地址指针,寻址栈区单元;(3)DPTR,或R0、R1(须用P2指定高8位地址)为地址指针,寻址外部RAM的64KB空间和扩展I/O口。例如:

MOV A, #40H MOV DPTR,#TABLE;TABLE为标号地址

MOV P1, #00000111BMOV R3, #184、立即寻址操作数以常数的形式出现,直接跟在操作码后面,以指令字节的形式存放在ROM中。(2)相对寻址指令中给定地址的相对偏移量rel,以PC当前值为基地址,加上rel所得结果为转移目标地址。

rel:符号数,单字节补码,-128~+127。 例如:1000H:JC80H;判C转移指令,2字节 分析:当CY=1时,转移,过程如下图所示:(1)变址寻址以基址寄存器(PC、DPTR)和变址寄存器(A)的内容作为无符号数相加,形成16位地址,访问程序存储器(表格)。MOVCA,@A+PC;(A)←((A)+(PC))MOVCA,@A+DPTR;(A)←((A)+(DPTR))5、基址寄存器+变址寄存器间接寻址MCS-51具有五个存储器空间,其多数从零地址开始编址:程序存储器空间0000~FFFFH内部RAM空间00~FFH特殊功能寄存器空间80H~FFH位地址空间00~FFH外部RAM/IO空间0000~FFFFH指令对哪一个空间进行操作由指令的操作码和寻址方式确定:存储器空间寻址方式程序存储器立即寻址和基寄存器加变址寄存器间接寻址方式特殊功能寄存器直接寻址内部RAM高128字节寄存器间接寻址位地址空间位操作指令(寄存器寻址/直接寻址)外部扩展RAMMOVX指令(寄存器间接寻址)内部RAM低128字节直接寻址和寄存器间接寻址三、数据操作与指令类型数据操作包括对位、半字节、字节和双字节数据进行各种操作程序状态字PSW:即标志寄存器,字节地址为:D0H,可字节寻址、位寻址。作用:存放指令执行时有关信息、状态,供程序查询和判别。

PSW字格式:

D7D6D5D4D3D2D1D0 CYACF0RS1RS0OV—P PSW.7:CY,进位标志,布尔处理器的累加器C。

PSW.6:AC,半进位标志。

PSW.5:F0,用户标志,可置位和复位。

PSW.4-PSW.3:RS1、RS0,指出当前工作寄存器区Rn。

PSW.2:OV,溢出标志。

PSW.1:保留位,可单独使用,表示方法为D1H、PSW.1。

PSW.0:P,奇偶标志,指A中“1”的个数,为奇时置1。指令类型功能:

MCS-51单片机指令系统共有基本指令111条数据传送指令(29)算术运算指令(24)逻辑运算指令(24)位操作指令(17)控制转移指令(17)指令字节数:单字节指令(49条),双字节指令(45条),三字节指令(17条)指令执行时间:单周期指令(64条),双周期指令(45条),四周期指令(2条(乘,除指令))1.MOV指令四、MCS-51指令系统(1)字节操作MOV目的操作数A

Rn@Ridirect源操作数A

Rn@Ridirect#data(2)位操作a)Rn与@Ri

不相容b)除了direct与direct外,源操作数和目的操作数,不能是同一类寻址c)#data不能做为目的操作数特殊16位数据传送:MOVDPTR,#data16C(bit)MOV2.MOVX指令A@RiMOVX@DPTR3.MOVC指令A@A+DPTRMOVC@A+PC4.堆栈指令PUSHdirectPOPdirect5.XCH指令:字节交换XCH目的操作数A源操作数

Rndirect@Ri6.XCHD指令:半字节交换XCHD目的操作数A源操作数@Ri7.加、减指令ADD(ADDC)(SUBB)目的操作数A源操作数

Rndirect@Ri#data8.加(减)1指令INC操作数可以为:A,Rn,direct,@Ri,DPTRDEC9.十进制调整指令DAA10.乘、除指令MULABDIVAB对十进制加法的结果做十进制调整11.“清零、取反、置位”指令(1)字节操作ANLORLXRL目的操作数Adirect源操作数A

Rn@Ridirect#dataCLR/CPL操作数可以为:A,C,(bit)SETB操作数可以为:A,C,(bit)12.对A的循环及字节交换操作RL、RLC、RR、RRC、SWAP13.ANL、ORL、XRL指令(2)位操作ANL/ORLC(bit)或(bit)14.无条件转移指令AJMPaddr112K字节范围内的无条件跳转指令:目标地址必须与它下面的指令存放地址在同一个2K字节存储区域内。(1)短跳转指令SJMPrel无条件跳转指令:目标地址在此指令前128字节或后127字节LJMPaddr16无条件跳转指令:直接将16位地址存入PC寄存器(2)相对转移指令(3)长跳转指令JMP@A+DPTR散转指令:数据指针DPTR作为基址寄存器,累加器A作为变址寄存器;累加器中8位无符号数与DPTR相加,得到目标转移绝对地址(4)散转指令:基址寄存器加变址寄存器间接转移15.条件转移指令条件满足时程序跳转,指令中指出相对偏移量跳转范围为-128~127JZrel

;(A)=0时转移JNZrel

;(A)≠0时转移JCrel

;CY=1时转移JNCrel

;CY=0时转移JBbit,rel

;(bit)=1时转移JNBbit,rel

;(bit)=0时转移JBCbit,rel

;(bit)=1时转移,并清零(bit)(1)测试条件符合转移指令CJNEA,direct,rel

CJNEA,#data,rel

CJNERn,#data,rel

CJNE@Ri,#data,rel(2)比较不相等转移指令前后操作数进行比较,如果不相等,则根据其后的相对偏移量进行转移。该指令影响PSW的进位标志CY:如果第一操作数小于第二操作数,则置位CY,否则清零CYDJNZRn,rel

DJNZdirect,rel

(3)减1不为0转移指令操作过程:

(1)将源操作数减1,结果回送到源操作数中;

(2)判断结果不为0,则转移16.调用和返回指令(1)短调用指令

格式:ACALL addr11;PC+2

PC形成PC15-11;SP+1

SP,PCL

(SP);SP+1

SP,PCH

(SP);addr11

PC10-0受限2k字节范围:所调用的子程序的起始地址必须与ACALL后面指令的第一个字节在同一个2k字节区域(2)长调用指令

格式: LCALLaddr16;PC+3->PC;SP+1->SP,PCL->(SP);SP+1->SP,PCH->(SP);addr16->PC可调用64K字节范围内的任何一个子程序

(3)子程序返回指令

RET ;(SP)->PC15-8,SP-1->SP;(SP)->PC7-0,SP-1->SP(4)中断返回指令

RETI;(SP)->PC15-8,SP-1->SP;(SP)->PC7-0.SP-1->SP

它除了执行从中断服务程序返回中断时保护的断点处继续执行程序外(类似RET功能),并清除内部相应的中断状态寄存器。因此,中断服务程序必须以RETI为结束指令。(5)空操作指令格式:NOP;PC+1->PC关于指令字节数(1)一般为单字节指令(2)指令中出现direct(直接地址)、bit(位地址)或#data(立即数),字节数加1(4)指令中出现addr11或rel,字节数加1; 指令中出现addr16,字节数加2(3)指令中出现#data16,字节数加2关于指令周期数(1)算术运算指令:除去INCDPTR是2周期,乘除为4周期,其他均为单周期(2)逻辑运算指令:除去direct与#data的运算是2周期,其他均为单周期(3)数据传送指令:对于MOV,累加器A相关的指令为单周期,其他与direct相关的指令为2周期,其余为单周期;MOVC,MOVX,PUSH,POP为2周期指令,XCH和XCHD为单周期指令(4)位操作指令:除两操作数运算和MOVbit,C是2周期,其他为单周期(5)控制转移指令:均为2周期指令(6)NOP:单周期指令五、汇编语言程序设计1.流程图的绘制常用的框图形式2.循环程序设计方法

软件延时程序3.子程序设计和参数传递方法

自动断点和现场保护(区别于控制转移)

参数传递方法:用工作寄存器或累加器来传递参数用指针寄存器来传递参数用堆栈来传递参数程序段参数传递§4

MCS-51单片机内的功能模块一、并行口结构及操作8051单片机有4个I/O端口:(1)每个端口都是8位准双向口,共占32根引脚。(2)每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输出驱动器和输入缓冲器。在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成----准双向口。1.P1口可以采用字节操作、位操作当作为输入时,应保持口锁存器为1P3口为多功能口,第一功能为准双向口,其特性与P1口相似;第二功能为特殊输入/输出线。2.P3口可以采用字节操作、位操作当作为输入/第二功能IO线时,应保持口锁存器为13.P2口结构及操作P2也有两种功能:(1)普通输入/输出口(2)系统扩展的地址总线口,输出高8位地址A8~A154.P0口结构及操作P0为三态双向IO口:(1)普通输入/输出口(2)系统扩展的地址/数据总线(分时复用)作为输入口时,一般接10kΩ左右的上拉电阻。MCS-51P2A8~A15地址总线RDPSENWRP0ALE地址锁存器A0~A7D0~D7(数据总线)(控制总线)5.MCS-51的并行扩展总线二、定时/计数器结构及操作M0M1

GATEM0M1GATE89HD0D1D2D3D4D5D6D7TMODT1T0方式控制寄存器TMODMCS-51系列单片机内有2个可配置的16位定时/计数器T0、T1,跟它们相关的特殊功能寄存器有:TH0、TL0、TH1、TL1、TMOD、TCON,另外还有IE和IP。M1M0工作方式计数器配置及功能简述00方式013位计数器,TLi只用低5位01方式116位计数器10方式28位自动重装计数器,THi的值在计数中不变,TLi溢出时,THi中的值自动装入TLi中11方式3T0分为两个独立的8位计数器,T1用作波特率发生器控制寄存器TCON是一个8位寄存器,既可以字节寻址也可以位寻址,字节地址为88H,位寻址的地址为88H~8FH。其格式为:TCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0控制寄存器TCON初始化的步骤①写TMOD②写THi与TLi③写IE④写TCON三、串行口结构及操作发送寄存器SBUF接收寄存器SBUF内部总线读信号写信号地址:99H输入移位寄存器1.串行口控制寄存器SCON用来控制串行通信的方式选择、接收,指示串行口的中断状态地址98H,有位寻址功能,其格式如下:位地址

9FH

9EH9DH9CH

9BH9AH99H

98H位功能SM0SM1SM2REN

TB8

RB8

TI

RISM0(SCON.7),SM1(SCON.6)——串行口工作方式选择位。

SM0

SM1

工作方式

特点

波特率

0

0

方式0扩展移位寄存器(8位)

fosc/12

0

1

方式1

10位异步收发

由定时器控制

1

0

方式2

11位异步收发

fosc/64或fosc/32

1

1

方式3

11位异步收发由定时器控制

电源控制寄存器PCON仅有几位有定义,其中最高位SMOD与串行口控制有关,其它位与掉电方式有关。寄存器PCON的地址为87H,只能字节寻址。其格式如下:SMOD(PCON.7)——串行通信波特率系数控制位。当SMOD=1时,使波特率加倍。复位后,SMOD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论