专科《微机原理及应用》复习思考题docWord文档下载推荐.docx
《专科《微机原理及应用》复习思考题docWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《专科《微机原理及应用》复习思考题docWord文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
3.串行口的发送中断与接收屮断各自有自己的屮断入口地址。
(x)
4.串行口方式2接收到的第9位数据送SCON寄存器的RB8位屮保存。
(V)
5.利用“三总线”可以扩展MCS-51单片机系统的稈序、数据存储器和I/O接口。
(V)
6.MCS-51单片机的数据传送类指令执行后,源操作数和目的操作数都被更新。
7.对片外数据RAM单元读写数据须用MOVX指令。
8.MCS51有5个屮断源,它可以实现一级屮断嵌套。
9.MCS-51单片机的数据空间与程序空间是独立编址的。
10.执行LCALL指令时,栈指针SP的内容不会发生变化。
11.T0设置成计数方式时,外部引脚计数脉冲的最高频率应是晶振频率的1/48。
(x)
12.P0口执行一条”ANLPO,A”指令的过程是把P0端口引脚线上的数据与累加器A中的数据进行“逻辑与”操作后结果送冋P0端口。
13.MCS-51单片机的数据传送类指令执行示,源操作数和目的操作数都被更新。
14.区分片外程序存储器和数据存储器的最可靠方法是看其是被而还是被)信号连接。
15.8051最多可以有32个并行输入输出口,最少也可以有8个并行口。
三、程序填空、解释程序语句,并填写运行结果
2.ORG1000H以下程序从1000H单元开始存放
MOV
DPTR,
#0100H
:
(DPTR)=1000H
MOVX
A,@DPTR
(A)=((DPTR))
CJNE
A,#40H,MOON
(A)H40H,转MOON
SJMP
NEXT
;
(A)=40H,转NEXT
MOON:
LJMP
NOM
■
转到NOM
EQU
1040H
定义NEXT=1040H
2000H
定义NOM=2000H
A.说明稈序的功能;
分支程序
B.执行下列稈序后,当(0l00H)=40H(PC)=I040H
当(0100H)=25H,(PC)=_2000H__
2.ORG2000H;
以下稈序从2000H单元开始
MOVRO,#40H
MOVDPTR,#l000H
FINISH:
SJMP$
END
上述稈序实现什么功能:
将内部RAM40H单元开始的内容传到外部RAM1000H单
元开始的内存屮,冇到遇到OOH结束。
3.PROG:
MOV
40H,#38H
A,40H
ANL
A,#0FH
(A)=(A)A0FH=08H
31H,A
A,40H
A,#0F0H
SWAP
A;
A内高四位和低四位互换
30H,A
当执行完以上指令后,填写下面的寄存器或地址屮的值:
(A)=03H;
(40H)=38H;
(30H)=03H;
(31H)二08H。
4.设在MCS-51单片机片内RAM中,(20H)=40H,(40H)=22H,(22H)=10H,P1=OCFH,当下列程序执行完后,各单元内容分别为多少?
MOVRO,#2OH:
(RO)=20H
MOVA,@R0:
(A)二((RO))=40H
MOVR1,A
MOVB,@R1
MOV@R1,P1;
MOVP3,P1
(A)=
40H;
(B)=22H;
(RO)=20H:
(RD=_40H
(Pl)=OCFH:
(P3)=OCFH:
(20H)=40H:
(22H)=10H
5.若内部RAM的20H单元开始存放8个数,找出其屮最大数,完成下列程序:
MOVR0,#20H
(①)
A,@R0
(A)=((RO))
LOOP:
INC
RO
2AH,@R0
(
②
)
CHK:
JNC
LOOPI
借位CY=0,转LOOPI
A,@R0
LOOP1:
DJNZR7,LOOP;
MOV2BH,A
HERE:
AJMPHERE:
等待
1)①屮填入的指令是:
(MOVR7,#07H);
2)②屮填入的指令是:
(SUBBA,@R0)。
5IH,A
52H,A
53H,#80H
R6,#03H
RO,#50H
A,@R0
CLR
C
CY清零
AA:
ADDC
(A)=(A)+((RO))
+CY
DJNZ
R6,AA
;
当第3次执行这句指令时,
(R6)=OOH
RET
以上语句所完成的功能是:
将50H到53H单元的内容相加当上血程序执行完成后,填写下曲的寄存器或地址屮的值:
(A)8CH;
(进位位C)0;
(RO)53H;
(R6)00H;
(50H)04H;
(51H)04H:
(52H)04H:
(53H)80H
四、简答题
1.MCS-51的寻址方式有哪七种?
答:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址
2.试叙述MCS-51汇编语言程序的上机过程及汇编语言设计的基木步骤。
①建立汇编语言源程序②汇编,若有语法错误,重新修改直至通过汇编③编译为H标文件④连接为可执行文件⑤运行,若不正确,用调试工具调试,重新修改逻辑错误,肓至正确。
汇编语言设计的基本步骤:
(1)确定软件的总体框图
(2)根据要求划分出一系列软件功能模块,对于这样的软件模块要对于其完成的功能、选择的算法以及程序的入口、出口条件加以明确定义,以方便编程。
(3)源程序编写完后,利用单片机开发工具进行调试。
3.8051单片机具有多少个中断请求源?
分多少个优先级别?
简述多源屮断优先级管理和中断嵌套。
51系列单片机具有5个中断源,分别是外部中断INTO和外部中断INT1、定时器溢出屮断0和定时器溢出中断1以及串行屮断,分两个优先级别,通过对屮断优先级寄存器IP的设置,毎个屮断源都可以被定义为高优先级屮断。
通过对优先级控制寄存器IP屮的几位(PXO,PX1,PTO,PT1,PS)进行设置,对应位为1,响应的中断被定义为高优先级。
多源中断优先级管理和中断嵌套:
1高的可以中断低级别,同级或低级不可以屮断,
2.同级的顺序:
INTO-TO-INTI-Tl-SERIAL
3.中断入口地址:
0003H,OOOBH,0013H,001BH,0023H
4.试简述89C52单片机的存储器组织结构(包括数据存储器、程序存储器及CPU内部、外部存储器等)
8KB的flashROM
256B的片内RAM
26个专用寄存器SFR
可扩展ROM64KB
可扩展RAM64KB
5.试简述51单片机的存储器组织
51单片机的存储器组织有5个独立的存储器空河。
可扩展64KB程序存储器空间
128B内部RAM空间
128B内部特殊功能寄存器空间(80H—OFFH)
位寻址空间(0—07FH)和部分SFR
可扩展64KB外部数据存储器空间(0—0FFFFII)
外加4KB片内ROM
6.简述定时器/计数器1的方式2定时器工作模式的实现和工作机理
答:
当M1MO=1O时,T/C工作在方式2,构成1个自动重装载的T/C,满计数值为2*。
在方式0和方式1屮,当计数满示,若要进行下一次定时/计数,需用软件向Till和TL1重新预置计数初值。
在方式2屮TH1和TL1被当作两个8位计数器,计数过程屮,TH1寄存8位初值并保持不变,由TL1进行8位计数。
计数溢出时,除产生溢出屮断请求外,还白动将TH1屮的初值重新装到TL1屮去,即重装载。
7.串行通信有哪几种制式?
备有什么特点?
串行通信有两种基木通信方式:
异步通信和同步通信。
异步通信:
用起始位“0”表示字符的开始,然后从低位到高位逐位传送数据,最后用停止位“1”表示字符结束。
同步通信:
毎一个数据块开头时发送一个或两个同步字符,使发送与接受双方取得同步,同步比异步快,效率高,但对系统要求高。
&
简述异步串行通讯波特率的定义
波特率是每秒钟事件发生的数目或信号变化的次数。
在单片机的串行数据传输屮,时间和信号变化都反映在二进制位上,因此就以波特率表示串行数据的传输速率。
每秒传送1个格式位就是1波特。
即1波特二lb/s。
方式0的波特率二fosc/12
方式2的波特率=foscx2smod/64(smod取0或1)
方式1和方式3波特率二(2smod/32)x(定时器1溢出率)二(2srood/32)x{fosc/[12x(256-X)])
9.已知晶振频率为12MIIZ,请用T0的工作模式1定时及溢岀屮断方式编程,实现从P1.0引脚输岀如下方波。
要求先确定定时时间并给出定时初值的计算步骤,然后写程序。
10ms10ms
机器周期=12/晶振频率二12/(12x10°
)=1US80450729所以计数初值N=216一"
X"
)旳=55536=OD8FO/7
\声
TO工作与方式1,所以工作方式控制字TMOD:
00000001B程序清单:
ORG0000H
ORG
000BII
TIIO,#0D8H
TLO,#OFOH
CPL
P1.0
RETT
0100II
SP,#60H
TMOD,#01H
THO,#0D8H
SETB
TRO
EA
ETO
AJMPMAIN
MAIN:
SJMPHERE
10.51系列单片机具有几个屮断源,分别是如何定义的?
其屮哪些屮断源可以被定义为高优先级屮断,如何定义?
51系列单片机具有5个屮断源,分别是外部中断INTO和外部屮断INT1、定时器溢出屮断0和定时器溢出屮断1以及串行屮断,通过对屮断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级屮断。
通过对优先级控制寄存器IP中的几位(PXO,PX1,PTO,PT1,PS)进行设置,对应位为1,响应的屮断被定义为高优先级。
五、编制程序
1•设计求内部RAM中的N个字节无符号数(小于65536)之和。
题意分析:
该了程序的入口参数在内部RAM屮,故可用间址指针指示参数的位置。
用R0来传递字节无符号数在内部RAM+的首地址,用R7来传递数据长度N,运算结果存放的内部RAM的首地址,也由间址寄存器R1来传递。
设内部RAM数据所在首地址为存储结果首地址为U,贝I」
MOVRO,
MOVR7,#N
MOVRl,#U
MOVR2,#00H
CLRA
CLRC
LOOP:
ADDCA,@R0
JNCLOOP1
R2
R7,
@R1,A
R1
A,R2
LOOP1:
LOOP
2.从内部RAM30H单元开始,有10个单字节数据。
试编一个程序,把其屮的正数、负数分别送40H和50H开始的内部RAM单元。
MOVR0,#30H
MOVR3,#0AH
MOVR2,#40H;
正数存放的指针
MOVRl,#50H;
负数存放的指针
MOVA,@R0
JBACC.7,MINUSE;
负数
PUSHRO
PUSHA
MOVA,R2
MOVRO,A
POPA
MOV@R0,A
INCR2;
指针加1
FOPRO
MINUSE:
AJMPNEXT
MOV@R1,A
NEXT:
INCR1;
扌旨针加1
DJNZR3,LOOF
3.设80C51单片机的晶振频率为12MHz,要求TO产生5mS的定时,并使Pl.7输出周期为10ms的方波。
机器周期=12/晶振频率=12/(12xl06)=1us
计数初值(若用方式0)
N二2"
一'
X10M=3192=0c78H
1/ZV
稈序清单:
LJMPSTART
ORG000BH
MOVTH0,#0CH
MOVTL0,#78H
CPLP1.7
RETI
START:
MOVTMOD,#OOH
CLRP1.7
SETBTRO
SETBETO
SETBEA
SJMP$
4.设单片机晶振频率FOSC二6MHZ,使用定时器0以工作方式1产生周期为800us的等宽方波,用中断方式实现编程,并在P1.0输出。
(1)确定时间常数
机器周期=12/晶振频率=12/(6*10°
)=2us
・••计数初值
TC=2,g-400ms/2us二65336二FF38H
初值为THO=OFFHTLO二38H
(2)TMOD•|>为00000001B,即TM0D=01H
(3)程序清单
MOVTH0,#0FFH
MOVTL0,#38H
CPLP1.0
MOVTMOD,#01H
CLRP1.0
HERE:
5.编程求逻辑函数“的值,厶/•(▽+W)+X・(Wr+Z)。
式屮,L,U,V,W,X,
Y,Z均为位变量。
MOVC,V
CPLC
ORLC,W
c,
u
20H,C
C,
w
Y
ORL
Z
X
20H
L,
6.试编写程序将片内RAM屮的数据依次复制到片外RAM。
假设源数据区的首地址为50H,且放在R0中;
目的数据区的首地址为1000H,放在DPTR中;
数据块长度为10H,放在R7中。
ORG1000H
MOVRO,#50H
MOVDPTR,#1000H
MOVR7,#10H
MOVA,@R0
MOVX©
DPTR,A
INCRO
INCDPTR
DJNZR7,LOOP