单片机原理与应用 习题答案
习题解答
第三章
3-1 已知A=7AH,R0=30H(30H=A5H),PSW=80H,SP=65H,试分析下面每条指令的执行结果及对标志位的影响。
(1)ADD A,@R0;01111010+=1,00011111,(A)=1FH,Cy=1 ,
AC=0,OV=0,P=1
(2)ADD A,#30H;01111010+00110000=,(A)=AAH,Cy=0,AC=0,OV=1,P=0 (3)ADDC A,30H;01111010++1=1,00100000,(A)=20H,Cy=1,AC=1,OV=0,P=1
(4)SUBB A,@R0;0101-1=1,,(A)=D4H,Cy=1,AC=0,OV=1,P=0
(5)DA A;01111010+00000110=,(A)=80H,Cy=0,其他无变化
(6)RLC A;(A)=B=F5H,Cy=0,AC=0,OV=0,P=0
(7)RR A;(A)=00111101B=3DH,Cy=1,AC=0,OV=0,P=1
《
(8)PUSH 30H;SP=66H,(66H)=A5H
(9)POP B;SP=64H,(B)=(65H)
(10)XCH A,@R0;(A)=A5H,(30H)=7AH,Cy=1,OV=0,AC=0,P=0 3-4 试分析在执行完下面的程序段后,A,R0,R1,R7,SP以及片内RAM的一些单元中内容各是什么
MOV SP,#65H
MOV R7,#5
MOV R0,#30H
MOV R1,#40H
LOOP:MOV A,@R1
PUSH ACC
$
MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ R7,LOOP
结果:(A)=(34H),(R0)=34H,(R1)=44H,(R7)=0,SP=70H ,(70H)=(44H),(30H)=(40H),…(34H)=(44H)。
3-5 已知SP=62H,(62H)=50H,(61H)=30H,问执行指令RET后,PC=,SP=并解释。
答:执行指令RET,从堆栈中弹出地址值给PC,栈指针减2,(62H),(61H)中的内容分别弹出PC=5030H,SP=60H 3-7 试编程求出片外RAM从2000H开始的连续20个单元的平均值,并将结果存入内部RAM20H单元。
MOV DPTR,#2000H
)
ACALL AVG
子程序名:AVG
子程序功能:求20个无符号数平均值子程序
子程序入口:(DPTR)=数据区首地址指针
子程序出口:(R3)(R4)=均值
AVG:MOV R2,#20
MOV R3,#00H;部分和高位字节单元清零
MOV R4,#00H;部分和低位字节单元清零
ACALL D-ADD;调用累加和子程序
ACALL D-DIV;调用除以20的子程序
%
求多字节累加和子程序
子程序名:D-ADD
子程序功能:多字节累加和子程序
子程序入口:(DPTR)=数据区首地址指针
子程序出口:(R3)(R4)=累加和,R3中内容为和高字节,R4中内容为和低字节
D-ADD:CLR C
LOOP:MOVX A,@DPTR
ADD A,R4
MOV R4,A
CLR A
\
ADDC A,R3
MOV R3,A
INC DPTR
DJNZ R2,LOOP
RET
双字节除以20的子程序
子程序名:D-DIV
子程序功能:除以20的子程序
子程序入口:(R3)(R4)=被除数
子程序出口:(R3)(R4)=商
!
D-DIV:MOV R7,#08H;置计数初值
DV1:CLR C
MOV A,R4;将(R3)(R4)左移1位
RLC A
MOV R4,A
MOV A,R3
RLC A
MOV 00H,C;将移出的标志位送00H
CLR C
SUBB A,R2;余数高位减除数
…
JB 00H,GOU;标志位为1够减
JNC GOU;无借位,也说明够减
ADD A,R2,不够减,恢复余数
AJMP DV2
GOU:INC R4;够减,商上1
DV2:MOV R3,A
DJNZ R7,DV1;减完没完继续
MOV 20H,R3;转存20H
MOV 21H,R4;转存21H
RET
}
3-9 在外部数据存储区首地址为TABLE的数据表中存有10B的数据,编程将每个字节的最高位置1,并送回原来的单元。
ORG 0030H
MOV DPTR,#TABLE
MOV R2,#10
LOOP:MOVX A,@DPTR
SETB
MOVX @DPTR,A
INC DPTR
DJNZ R2,LOOP
END
~
3-10 编写能延时1s的子程序,设晶振频率为12MHz。
DELAY1S:MOV R6,#4 ;1T
DL1:MOV R5,#251 ;1T
DL2:MOV R4,#248;1T
DL3:NOP ;1T
NOP ;1T
DJNZ R4,DL3 ;2T
DJNZ R5,DL2;2T
DJNZ R6,DL1;2T
RET ;2T
|
延时时间:((248 × 4+1+2)× 251+1+2)×4+1+2=998995?
3-12 编程实现:将30H,31H中的双字节二进制数转换为3B压缩BCD码,并存放到40H开始的空间中。
因为(a15a14…a1a0)=(…(0×2+a15) ×2+a14) ×2+…+a0),所以将二进制从最高位逐次左移入BCD码寄存器的最低位,并且每次都实现(…)×2+ai的运算。
BINBCD2:CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV R7,#16
LOOP: CLR C
}
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
MOV A,R6
ADDC A,R6
DA A
MOV R6,A
¥
MOV A,R5
ADDC A,R5
DA A
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
DJNZ R7,LOOP
RET
¥
3-13 试编写一个查表程序,求X2(设X≤50)。X已存于50H单元,X2存入51H 和52H单元。
MOV DPTR,#TABLE
MOV A,50H
CJNE A,#15,$+3
JNC GO
MOVC A,@A+DPTR
MOV 51H,A
GO: CLR C
MOV R1,A
SUBB A,#15
¥
ADD A,DPL
MOV DPL,A
MOV A,R1
MOVC A, @A+DPTR
MOV 52H,A
DEC DPTR
MOVC A, @A+DPTR
MOV 51H,A
RET
3-14 从P1口输入50个带符号数,编程统计其中正数、负数和零的个数,结果分别存入片内RAM30H、31H、32H单元。
ORG 0030H
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#00H
MOV R5,#50
LOOP:ORL P1,#0FFH
MOV A,P1
JZ NEXT1
JB NEXT2
INC 30H
*
SJMP DONE
NEXT1:INC 32H
SJMP DONE
NEXT2:INC 31H
DONE: DJNZ R5,LOOP
SJMP $
3-17 设计带有两个按键和2个LED显示器的系统,每当按一下S1键,则使LED1点亮、LED2暗,若按一下S2键,则使LED2点亮、LED1暗。绘出相应的电路示意图,并编写相应的程序。
ORG 0030H
ORL P1,#0FH
LOOP1:JNB ,NEXT1
.
JNB ,NEXT2
AJMP LOOP1
NEXT1:LCALL DL10ms
JB ,LOOP1
JNB ,$
MOV P1,#FEH
AJMP LOOP1
NEXT2:LCALL DL10ms
JB ,LOOP1
JNB ,$
MOV P1,#FDH
AJMP LOOP1
RET
DL10ms:
┇
RET
第四章
4-1 MCS-51单片机内部有几个定时/计数器定时/计数器是由哪些专用寄存器组成的
答:有T0和T1两个定时/计数器;工作方式寄存器TMOD,用于定义T0和T1的工作模式选择定时/计数工作方式以及启动方式等;控制寄存器TCON,主要用于定时/计数器T0或T1的启停控制,标志定时/计数器的溢出和中断情况。&
4-3 定时/计数器有哪几种工作方式各有什么特点适用于什么应用场合
答:有四种工作方式,方式0,13位定时/计数器;方式1,16位定时/计数器;方式2,8位定时/计数器,初值自动重装;方式3,T0运行,而T1停止工作,8位定时/计数器。方式0,1,2需要重装初值,使得定时的时间产生误差,方式2自动重装初值,可精确定时。
4-5 设某单片机的晶振频率为12MHz,定时/计数器T0工作于定时方式1,定时时间为20μs;定时/计数器T1工作于计数方式2,计数长度为100,请计算T0,T1的初始值,并写出其控制字。
答:T0的初始值
X=2M-fosc×t/12=216-12×106×20×10-6/12=65536-20=65516=0FFECH
T1的初始值
X=2M-N=28-100=256-100=156=9CH
控制字为01100001B=61H
MOV TMOD,#61H
MOV TH0,#0FFH
~
MOV TL0,#0ECH
MOV TH1,#09CH
MOV TL1,#09CH
4-7 试用定时/计数器T1对外部事件计数,要求每计数100,就将T1改成定时方式,控制从输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设系统晶振频率为12MHz。
解:
(1)T1设置为工作方式1计数,由软件启动
(2)T1计数方式控制字TMOD=01010000=50H,X1=216-100=65436=FF9CH,TH1=0FFH,TL1=9CH
T1定时方式控制字TMOD=0001000=10H,
X2=216-12×106×5×10-3/12=65536-5000=60536=B=0EC78H
ORG 0000H
SJMP MAIN
、
ORG 0030H
MAIN:MOV TMOD,#50H
MOV TH1,#0FFCH
MOV TL1,#9CH
SETB TR1
STA1:JBC TF1,NEXT1
SJMP STA1
NEXT1:MOV TMOD,#10H
MOV TH1,#0ECH
MOV TL1,#78H
/
SETB
LP:JBC TF1,NEXT2
SJMP LP
NEXT2: MOV TH1,#0ECH
MOV TL1,#78H
CPL
NEXT3:JBC TF1,MAIN
SJMP NEXT3
RET
4-9 利用单片机内部定时/计数器T1产生定时时钟,由P1口输出信号控制8个LED 指示灯,试编程使8个指示灯依次轮流闪动,闪动频率10Hz。Fosc=12MHz。
"
解:T=1/10==100ms,因此T1定时50ms,方式1
TMOD=00010000B=10H
X0=216-50×103/1=65536-50000=15536=000=3C78H
ORG 0000H
SJMP MAIN
ORG 001BH
AJMP DVT1
ORG 0030H
MAIN:MOV TMOD,#10H
MOV TH1,#3CH
*
MOV TL1,#78H
SETB ET1
SETB EA
SETB TR1
CLR C
MOV A,#0FFH
MOV P1,A
SJMP $
DVT1: MOV TH1,#3CH
MOV TL1,#78H
?
RLC A
MOV P1,A
RETI
4-10利用定时/计数器测量某正脉冲宽度,已知此脉冲宽度小于10ms,系统晶振频率为12MHz。试编程测量脉宽,并把结果存入内部RAM的50H和51H单元。
解:12MHz,采用例4-6可测量脉冲宽度,程序参考例4-6
第五章
5-1什么是异步串行通信,它有何特点
答:异步串行通信是按数据或字符一帧一帧传送的,前面有一个起始位(0),后面有一个停止位(1),这是一种起止式的通信方式,字符之间没有固定的间隔长度。其优点是数据传送的可靠性较高﹑能及时发现错误,缺点是通信效率比较低。
5-2 MCS-51单片机的串行口由哪些功能部件组成各有什么作用
】
MCS-51单片机的串行口是一个全双工的异步串行通信接口,可同时发送和接收数据。串行口内部有数据接收缓冲器和数据发送缓冲器。数据接收缓冲器只能读出不能写入,数据发送缓冲器只能写入不能读出,这两个数据缓冲器都用符号SBUF来表示,地址是99H。
特殊功能寄存器SCON存放串行口的控制和状态信息,串行口用定时器T1
或T2作为波特率发生器,特殊功能寄存器PCON的最高位SMOD为串行口波特率的倍率控制位。
5-3简述串行口接收和发送数据的过程。
答:串行口的接收和发送是同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读或写的。当向SBUF发“写”命令时(执行“MOV SBUF,A”指令),即向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完中断标志位TI=1。
在满足RI=0的条件下,置允许接收REN=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。当发读SBUF命令时(执行“MOV A,SBUF”指令),便由接收缓冲器SBUF取出信息通过内部总线送CPU。
5-4 MCS-51串行口有几种工作方式有几种帧格式各工作方式的波特率如何确定答:有4种工作方式:
方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。
有2种帧格式:10位和11位。
方式0:波特率=fosc/12
!
方式2:波特率=2SMOD×fosc/64
方式1和方式3:波特率=2SMOD×fosc/32/12(256-x)
定时器T1用作波特率发生器时通常选用工作模式2。
5-6设计一个8051单片机的双机通信系统,并编写程序将甲机片内RAM30H~5FH 单元的数据块,通过串行口传送到乙机片外RAM3030H~305FH单元中去。
第六章
6-3 MCS-51单片机系统采用6264扩展数据存储器,用译码法扩展数据存储器在16根地址线内最多可扩展几片此时数据存储器的容量是多少
答: 最多可扩展8片, 此时数据存储器的容量是64KB。
6-5MCS-51单片机的控制线有哪些信号线它们的作用是什么
答:控制信号线有:
#
使用ALE作为地址锁存的选通信号,以实现低8位地址的锁存。
以PSEN信号作为扩展程序存储器的读选通信号
以EA信号作为内外程序存储器的选择信号
以RD和WR作为扩展数据存储器和I/O端口的读写选通信号,执行MOVX指令时,这两个信号分别自动有效。
6-6 MCS-51单片机P0口作地址线时为什么用锁存器
答:由P0口提供低8位地址线,由于P0口分时复用为地址数据总线,所以为保持地址信息,在访问存储器期间一直有效,需外加地址锁存器锁存低8位地址,用ALE正脉冲信号的下降沿进行锁存。
6-7E2PROM的“写”操作和RAM的“写”操作有什么异同
答:“写”操作都是WR信号有效,与RAM相比,E2PROM的“写”操作速度是很慢的,E2PROM“写”的数据能长期保存,而RAM“写”的数据掉电后消失。6-9设某RAM芯片具有1MB(20根地址线),按32个32KB设计
(1)画出MCS-51单片机与RAM的连接图
(2)、
(3)确定RAM的地址
(4)系统能否再扩展其他接口芯片说明原因。
解:(1)MCS-51单片机与RAM的连接图如下
(2)RAM的地址
单片机信号A14 A13 …A0
(5)
6-12某8255A工作在PB口选通输入﹑PC口高四位输出,试确定8255A的方式控制字。
答:控制字可为B=A2H
\
第七章
7-1什么是单片机I/O接口I/O接口应具备有哪些功能
答:I/O接口是单片机与外部设备交换信息的桥梁,是指CPU和外存储器﹑外部设备或两种机器之间通过系统总线进行连接的逻辑部件(或电路)。
主要功能:实现和不同外设的速度匹配;输出数据锁存;输入数据三态缓冲。
7-3什么是接口电路中的端口
答:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。7-5单片机与I/O设备之间,通常包括哪些传送的信息
答:数据信息﹑状态信息和控制信息。
7-6在单片机中,使用哪三种控制方式实现数据的I/O传送试说明各种方式的特点。
#
答:无条件传送﹑查询传送和中断传送方式。
7-7键盘接口必须解决的问题有哪些
答:是否有键按下;有键按下,判定是哪一个;确定被按键的含义;去抖动;等7-9单片机应用系统中有哪些常用的显示器显示器有哪些显示方式
答:有LED发光二极管显示器﹑LCD液晶显示器
显示方式静态显示和动态显示
7-15简述LCD液晶显示器件的特点和使用场合。
答:特点:体积小﹑重量轻﹑功耗低﹑抗干扰能力强
使用场合:仪器仪表和控制系统中
7-17对于大多数并行打印机接口,需要哪些信号满足时序关系,即可控制打印机正常打印
?
答:4种信号线CPU先查看BUSY信号,为低时,数据送上DATA线后,发出STB 信号通知打印机,打印机接到STB后,BUSY为高,数据接收好并存入内部打印缓冲器后,打印机送出ACK信号,并撤消BUSY信号。
7-19为什么说使用RS-485网络可以有效地防止噪声干扰
答:RS-485与RS-232比,信号的幅值低,另外RS-485采用差动信道,发送回路和接收回路分别提供独立的地线,因此RS-485网络可以有效地防止噪声干扰。
8-2试画出三种可能使DAC0832工作于单缓冲方式的硬件连线图。
8-5在例8-5中,用8255A作接口,则应如何将ADC0809与8255A连接试画出其连接示意图。用查询方式读取转换结果,写出相应的采集程序。
解:ADC0809各通道地址为7FF0H~7FF7H
8255A的4个地址分别为:PA口岸FF1FH,PB口FF3FH,PC口FF5FH,控制字寄存器地址FF7FH。
第九章
?
9-1单片机应用系统设计包括哪些内容
答:硬件设计,软件设计和抗干扰设计
9-2AT89C2051单片机与MCS51单片机有什么区别
答:AT89C2051单片机与MCS51单片机相比,没有如下信号:
没有P0,P2口,
没有地址锁存信号线ALE
没有外部程序存储器读选通信号PSEN
没有读信号RE和写信号WR
9-3电子钟是利用定时器T1产生时间基值,试问电子钟是否有时间误差
?
答:T1采用工作方式1,因此需要重装初值,电子钟是有时间误差。
9-4定时器T1的中断响应时间是多少它与时间的误差是否有关
答:中断响应时间是指从查询中断请求标志位到转向中断服务程序如口地址所需的机器周期数,一般是3~8个机器周期,与时间误差有关,一般情况下中断响应可以不考虑,精确定时场合应进行调整。
9-5中断服务程序的执行时间大约是多少它与时间的误差是否有关
答:由中断服务程序可知中断服务程序的执行时间,其中重装初值语句影响时间的误差。
9-6读取正在运行中TH1﹑TL1的值,是否会产生误差它与时间的误差是否有关答:CPU不能在同一时刻读取THX和TLX的内容,比如,先读(TLX),后读(THX),由于定时器在不断运行,读(THX)前,恰好出现TLX溢出向THX进位的情况,则读得的(TLX)值就完全不对了。用样先读(THX)再读(TLX)也可能出错。解决的办法:先读(THX)后读(TLX),再读(THX)。如2次读得的(THX)相同,则可确定读得的内容是正确的。如2次读得的(THX)不相同,则再重复上述过程。
对定时器没影响,因此对时间的误差没影响。
1.…
2.填空题
1)如不使用MCS-51片内存储器引脚EA必须接地。
2)微处理器由寄存器堆﹑控制器和运算器三部分组成。
3)当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了低8位地址。
4)MCS-51有4个并行I/O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入“1”。
5)MCS-51系统中,当PSEN信号有效时,表示CPU要从程序存储器读取数据。
6)MCS-51特殊功能寄存器只能采用直接寻址方式。
7)如用传送指令访问MCS-51的程序存储器,它的操作码助记符应为MOVC。
8)MCS-51有4组工作寄存器,它们的地址范围是00H~1FH。
9)计算机的系统总线有地址总线﹑控制总线和数据总线。
{
10)MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器SCON加以选择。
11)当使用慢速外设时,最佳的传输方式是中断。
12)MCS-51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP加以选择。
13)累加器(A)=80H,执行完指令ADD A,#83H后,进位位C=1。
14)JZ e的操作码地址为1000H,e=20H,它的转移目的地址为1022H。
15)MOV PSW,#10H是将MCS-51的工作寄存器置为第2组。
16)设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为2080H。
17)在串行通信中,有数据传送方向单工﹑半双工﹑全双工三种方式。
18)PSW中RS1RS0=10H时,R2的地址为12H。
19)PSW中RS1RS0=11H时,R2的地址为1AH。
\
20)写8255A控制字时,需将A1A0置为11。
21)MOV C,20H源寻址方式为位寻址。
22)INC不影响CY位。
23)外中断1请求标志位是IE0和IE1。
24)三态缓冲寄存器输出端的三态是指低电平态﹑高电平态和高阻态。
25)A/D转换器的三个最重要指标是转换速度﹑分辨率和转换精度。
26)某8位D/A转换器的输出满刻度电压为+5V,则该D/A转换器的分辨率为
5/255=。
27)假定累加器A的内容为30H,执行指令:
1000H:MOVC A,@A+PC
后,把程序存储器1031H单元的内容送累加器A中。
!
28)假定(SP)=62H,(61H)=30H,(62H)=70H。执行下列指令:
POP DPH
POP D PL
后,DPTR的内容为7030H,SP的内容为60H。
29)异步串行数据通信的帧格式由起始位﹑数据位﹑奇偶校验位和停止位组成。
30)请填好下段程序内有关每条指令执行结果的注释中之空白。
MOV A,PSW;(A)=10H
MOV B,A;(B)=10H
MOV PSW,A;(PSW)=11H
31)复位时A=00H,PSW=00H,SP=07H,P0~P3=FFH。
<
32)MOVX指令用来对片外RAM进行读写操作。
33)执行LCALL 4000H指令时,MCS-51所完成的操作是PC+3入栈,4000H送PC。
34)MOVX @DPTR,A产生WR信号。
35)要测量INT0引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容应为09H。
36)MOVX A,@DPTR产生RD信号。
37)MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是:INT0,T0。
38)在多机通信中,主机发送从机地址呼叫从机时,其TB8位为1;各从机此前必须将其SCON中的REN位和SM2位设置为1。
39)T0和T1两引脚也可作为外部中断输入引脚,这时TMOD寄存器中的C/T位应当为1。
40)RETI指令以及任何访问IE和IP寄存器的指令执行过后,CPU不能马上响应中断。
41)MCS-51的相对转移指令的最大负跳距离为128B。
@
42)各中断源发出的中断请求信号,都会标记在MCS-51系统中的TCON/SCON。43)MCS-51单片机的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是读锁存器。
44)MCS-51的并行I/O口读—改—写操作,是针对该口的内部锁存器。
45)可以为访问程序存储器提供或构成地址的有PC,A和数据指针DPTR。46)在变址寻址方式中,以A作为变址寄存器,以PC或DPTR作为基址寄存器。47)在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。
48)在直接寻址方式中,只能使用8位二进制数作为直接地址,因此其寻址对象只限于片内RAM。
2.判断以下指令的正误
1)MOV @R1,#80H (√) 2)ADDC A,C (×) 3)MOV 20H,@R0 (√)
4)MOV R7,@R1 (×) 5)CPL R4 (×) 6)MOV R1,#0100H (×)
7)MOV 20H,21H (√) 8)SETB (×) 9)ANL R1,#0FH (×)
10)ORL A,R5 (√) 11)MOVX A,2000H (×) 12)XRL P1,#31H (√)
13)MOV A,DPTR (×) 14)MOV 20H,@DPTR (×) 15)PUSH DPTR (×)
16)MOV R1,R7 (×) 17)MOVC A,@R1 (×) 18)POP 30H (√)
19)MOVX @DPTR,#50H (×) 20)MOVC A,@DPTR (×)
21)MCS-51上电复位时,SBUF=00H。(×)SBUF不定
22)MCS-51的串行接口是全双工的.(√)
23)调用子程序指令及返回指令与堆栈有关但与PC无关。(×)
24)TMOD中的GATE=1时,表示有两个信号控制定时器的启停。(√)
3.简答题
1)什么是寻址方式
答:寻找指令中操作数或操作数所在地址
2)什么是堆栈
答:片内RAM中专门开辟出来的一个区域,数据的存取是以以“后进先出”的结构方式处理的。
3)串行数据传送的主要优点和用途是什么
答:按位传送,优点是所需传输线根数少,适合远距离数据传送。
4)中断服务子程序与普通子程序有哪些异同之处
答:相同点:都是让CPU从主程序转去执行子程序,执行完毕又返回主程序。不同点:中断服务程序是随机的,而普通子程序是预先安排好的;中断服务子程序以RETI结束,而一般子程序以RET结束。RETI除将断点弹回PC动作外,还要清除对应的中断优先标志位,以便新的中断请求能被响应。
5)说明DA A指令的用法
答:为十进制调整指令,在进行BCD数加法运算时,该指令要跟在加法指令后面,对A的内容进行十进制调整。
6)单片机对中断优先级的处理原则是什么
答:(1)低级不能打断高级,高级能够打断低级
(2)一个中断已被响应,同级的被禁止
(3)同级,按查询顺序,INT0→T0→INT1→T1→串行接口
7)单片机定时器/计数器作定时和计数时,其计数脉冲分别由谁提供
定时:单片机内部,其频率为振荡频率的1/12
计数:单片机外部,(T0)和(T1)引脚
8)MCS-51单片机定时器/计数器的门控信号GATE设置为1时,定时器如何启动答:GATE为1时,定时器的启动受外部INT0(INT1)引脚的输入电平控制:当INT0(INT1)引脚为高电平时,置TR0(TR1)为1时启动定时器/计数器0(1)工作
9)MCS-51单片机有几种复位方法应注意的事项
答:上电自动复位和按键手动复位。
使用时应注意:上电复位的最短时间应保证为振荡周器建立时间加上两个机器周期的时间。当单片机运行程序出错或进入死循环时,可用按键复位来重新启动。
10)MCS-51单片机的程序存储器和数据存储器共处同一地址空间为什么不会发
生总线冲突
答:访问不同存储器,使用不同的指令。如访问ROM用MOVC,访问片内RAM 则用MOV,片外RAM用MOVX。不同的指令控制信号有所不同,箍可避免总线冲突。
11)为什么要消除键盘的机械抖动有哪些方法
12)简述单片机系统扩展的基本原则和实现方法。
13)什么是单片机的机器周期状态周期振荡周期和指令周期它们之间是什么关系
14)当89C51大片内ROM内容已不符合要求,那么片内ROM如何继续使用