单片机基本原理与应用王洪君部分习题集参考总结解答_第1页
单片机基本原理与应用王洪君部分习题集参考总结解答_第2页
单片机基本原理与应用王洪君部分习题集参考总结解答_第3页
单片机基本原理与应用王洪君部分习题集参考总结解答_第4页
单片机基本原理与应用王洪君部分习题集参考总结解答_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 部分习题参考解答1、试述MCS-51单片机内部有哪些主要逻辑部件并说出其功能,画出片内结构图。MCS-51单片机的内部除包含 CPU夕卜,还包含程序存储器、数据存储器、定时器/计数器、并行I/O接口、其中,CPU是单片机的最核心部分,它是整个单片机的控制和指挥中心,完成所有的计算和控制任务。振 荡器和时序逻辑,产生 CPU工作所需要的内部时钟。中断控制逻辑用来应付一些临时到达的突发事件,并能 保证当有多个突发事件发生时,CPU能够有序地为这些事件进行服务,所有突发事件服务完成后CPU还能继续以前的工作。并行I/O接口和串行I/O接口作为CPU与外部设备通信的信息传输通道。程序存储器用于

2、存 放单片机的程序。数据存储器用于存放内部待处理的数据和处理后的结果。定时器/计数器主要是完成对外部输入脉冲的计数或者根据内部的时钟及定时设置,周期性的产生定时信号。64K总线控制逻辑,用于产生外部64KB存储空间的有关读写控制信号。2、 MCS-51单片机有4个8位并行口(PO、P1、P2、P3),哪个口可作为地址/数据利用总线? P0 口可作为地址/数据复用总线口。3、P0 口作为通用I/O 口使用时,在输出状态下应注意什么?在输入状态下应注意什么?P0 口作为通用I/O 口使用时,输出级是漏极开路的,因此在输出状态下外部应加上拉电阻。在输入状态 下应先向端口锁存器写入 1,这样引脚便处于

3、悬浮状态,可作高阻抗输入。5、 MCS-51单片机的最大寻址空间是多少?为什么?MCS-51单片机,程序存储器空间采用片内、片外统一编址的方式,共有64KB,地址范围为 OOOOHFFFFH。片内有256字节数据存储器地址空间,地址范围为 00HFFH。片外数据存储器空间有 64KB,其地 址范围也是 000OHFFFFH。7、 MCS-51单片机片内低128字节的RAM中,分了几个基本区域?说出这些区域的名称。MCS-51系列单片机片内低 128字节的RAM包含:工作寄存器区(00H: 1FH )、可位寻址区(20H: 2FH )、 通用RAM区(30H: 7FH ) 3个组成部分。& 片内

4、和片外数据存储器地址重叠的区域是哪些地址?片内与片外数据存储器空间的低地址部分(000OHOOFFH)是重叠的,MCS 51单片机有MOV和MOVX两种指令,用以区分片内、片外 RAM空间,当使用MOV指令时,访问的是片内区域,当使用MOVX指令时,访问的是片外区域。9、访问程序存储器的片外空间,是通过什么方式实现的?_程序存储器空间的片内、片外选择通过单片机的引脚EA来实现,当EA接低电平时,程序存储器空间的64KB全部由片外实现,当EA接高电平时,程序存储器空间的前4KB (MCS-52是8KB )由片内实现,对于片内没有的高地址空间部分单元,不管EA引脚接的是高电平还是低电平都由片外实现

5、。片外程序存储器空间 和片外数据存储器空间, 采用的外部地址总线和数据总线是相同的,不同的是控制总线,程序存储空间的读信号PSEN,而数据存储空间的读信号为。10、说出程序状态字寄存器(PSW)各位的含义 PSW的位结构如下表所示。D7D6D5D4D3D2D1D0CyACF0RS1RS0OV-P其中,各位的含义如下:Cy:高位进位标志位,当ALU的算术运算过程中有进位或借位时, Cy=1 ;否则,Cy=0。同时,该位 还可以用作位累加器,这时一般只用“ C表示。AC :辅助进位标志,当ALU的算术运算过程中低 4位向高4位有进位或借位时,AC=1 ;否则,AC=0。 该位常用于BCD码的调整。

6、F0:用户标志位。RS1、RS0:选择工作寄存器组位,用于选择内部数据存储器区内4组工作寄存器中的某一组。具体选择情况见寄存器介绍部分。OV :溢出标志位,当ALU的算术运算过程中有溢出时,OV =1 ;否则,OV =0。P:奇偶校验标志位,根据累加器ACC中1的个数由硬件置位或清除,当累加器ACC中有奇数个1时P=1;否则,P=0。PSW.1:保留位,无定义。11、在MCS-51单片机的工作时序中,一个机器周期包含几个状态周期、几个振荡周期? 一个机器周期包含6个状态周期、12个振荡周期。12、 单片机复位后,程序计数器PC指向哪个地址?PC= 0000H第3章 部分习题参考解答1、写出MC

7、S-51单片机汇编指令的指令格式,并简单举例。MCS-51单片机的汇编指令格式如下:标号:操作码目的操作数,源操作数;注释操作码表示该指令所实现的操作功能,一般由25个英文字母表示。例如 ORL, ADD , LCALL等。操作数表示参与操作的数据来源和目的单元。操作数可以是一个立即数, 也可以是一个内存单元或者是个寄存器单元。操作码和第一个操作数之间一般用一个或几个空格隔开,而操作数与操作数之间用逗号隔开。操作数可以有1个,2个,3个或没有。如果需要对指令进行注释说明的话,在最后一个操作数后加一个分号,分号后面是注释。女口: MOV A , 60H; (60H)fA标号由18个字母或数字构成

8、,以字母开头以:”结尾,标号可有可无,它仅仅代表了该指令所在的地址,便于源程序编写过程中使用该地址。2、指出下面程序每个语句的寻址方式目的操作数原操作数MOV A , P1寄存器寻址直接寻址MOV A , #40H寄存器寻址立即寻址MOV 80H , A直接寻址寄存器寻址MOV A , R5寄存器寻址寄存器寻址MOV R0,A寄存器间接寻址寄存器寻址MOVX A,DPTR寄存器寻址寄存器间接寻址MOVC A,A+DPTR寄存器寻址基址+变址寻址MOV 74H , #80H直接寻址立即寻址3、写出下面程序被执行后,各数据存储器地址中的内容。MOV 40H,#33HMOV 41H,#44HMOV

9、A,40HMOV 50H,AMOV A,41HMOV 51H,A(40H) = 33H ,( 41H) = 44H ,( 50H) = 33H ,( 51H) = 44H4、设置堆栈指针SP中内容为60H,编写程序,将上题中数据存储器 50H、51H的内容压栈后,分别将栈内数据 弹出到DPTR寄存器中。MOV SP, #60HPUSH 50HPUSH 51HPOP DPLPOP DPH5、访问片内、外数据存储器,都用什么指令?6、F面的指令语句对吗?MOV R0,#0400HMOV 100H,AMOV R2,AMOVX R1,A访问片内数据存储器的数据传送指令用MOV ,访问片外数据存储器的数

10、据传送指令用 MOVX为什么?;不对,RO是8位寄存器源操作数超过了 8位;不对,片内数据存储器用 8位地址访问,目的操作数的地址超过了8位。;不对,能够用于间接寻址的只能是R0或R1;对,R1做为间址寄存器来提供寻址存储器的低8位,高8位由P2提供7、查表指令MOVC A,A+DPTR 所查的表数据是在程序存储区还是数据存储区? 程序存储区。9、使用位操作指令完成下列操作将P1.1置“ 1。SETB P1.1将ACC.7置“ 1。SETB ACC.710、编写程序,将40H为首的8个单元内容,依次反序送入到 60H为首的8个单元中去MOV R0,#47H;40H开始的8字节数据中最后一个单元

11、的地址MOV R1,#60HMOV R2,#8LOOP:MOV A,R0MOV R1,ADEC R0INC R1DJNZ R2,LOOPSJMP $ 11、两个四位压缩类型BCD码数,被加数放在30H和31H内存单元中,加数放在32H和33H内存单元中,所求的 和放在34H和35H中。位数排列按高位在低地址,低位在高地址的顺序,编写此加法程序。MOV PSW,#00H;取0组工作寄存器MOV R0,#31HMOV R1,#33HSETB RS0;取1组工作寄存器MOV R0,#35HCLR RS0MOV R2,#02HCLR C;清除进位标志,准备进行带进位加13、写出ACALL和LCALL两

12、个调用指令的调用范围,试写出这两条指令执行时,CPU的操作过程ACALL的调用范围是包括调用指令下一条指令的第一个字节所在的2KB范围的程序存储器空间ACALL调用指令的执行过程是:PC加2 (本指令代码为两个字节)获得下一条指令的地址,并把该断点地LOOP: MOV A,R0 ADDC A,R1 DA ASETB RSO MOV R0,A DEC ROCLR RSODEC RODEC R1DJNZ R2,LOOP SJMP $;取1组工作寄存器;恢复0组工作寄存器址(当前的PC值)入栈,然后将断点地址的高五位与 11位目标地址(指令代码第一字节的高 3位,以及第二字 节的八位)连接构成16位

13、的子程序入口地址,使程序转向子程序。调用子程序的入口地址和ACALL指令的下一条指令的地址,其高五位必须相同。因此子程序的入口地址和ACALL指令下一条指令的第一个字节必须在同一个2KB范围的程序存储器空间内。LCALL调用指令的目标地址以16位给出,允许子程序放在 64KB空间的任何地方。指令的执行过程是把PC加上本指令代码数(三个字节)获得下一条指令的地址, 并把该断点地址入栈(断 点地址保护),接着将被调子程序的入口地址(16位目标地址)装入PC,然后从该入口地址开始执行子程序。14、分析下列程序,说出此程序完成什么样的功能MOV P1,#0FFH LOOP:MOV R7,#03H LO

14、OP1:MOV R6,#0FFHDJNZ R6,$DJNZ R7,LOOP1CPL P1.0JMP LOOP;该指令1个机器周期1;该指令1个机器周期2;该指令2个机器周期3;该指令2个机器周期4;该指令1个机器周期5;该指令2个机器周期61计(12 + 23X255+ 24)X3+ 15+ 26)X2个机器周END该程序的功能是从P1.0引脚输出连续方波,方波的周期为(15、试编写程序,完成对十个数从大到小的排序(建议用气泡排序法)。十个源字节数据放在30H为首的内存区域,排序后的目标数据放在 50H为首的区域。如果不破坏30H开始存放的源字节数据,可以把从30H开始的数据先传送到 50H开

15、始的数据区,然后对50H开始的数据进行排序。如果不需考虑30H开始存放的数据使用后的顺序,则可先对30H开始存放的数据进行排序,然后再传送到50H开始的数据区中。现根据第1种情况进行编程。MOV R0,#30HMOV R1,#50HMOV R2,#10LOP1: MOV A,R0MOV R1,AINC R0INC R1DJNZ R2,LOP1 MOV R2,#9LOP4:MOV R0,#50HMOV R1,#51HMOV A,R2MOV R3,ALOP3:MOV A,R0CLR CSUBB A,R1LOP2:JC NEXTMOV A,R0 XCH A,R1MOV R0,ANEXT:INC R0

16、INC R1DJNZ R3,LOP3DJNZ R2,LOP4SJMP $第4章 部分习题参考解答1、 MCS-51单片机中,有几个16位定时/计数器?其实际用途?MCS-51单片机中,有2个16位定时/计数器。可以用定时器在规定的时间对温度、湿度、流量、转速等参数进行检测采样,用于环境检测、工业控制; 或者利用定时器按一定的周期产生方波信号进行输出;还可以通过计数器对脉冲进行计数,用于信息的采集处理领域等。2、通过对定时/计数器中的哪个特殊寄存器进行工作模式设置?试叙述几种工作模式功能。通过特殊寄存器TMOD对定时/计数器进行工作模式设置。工作方式0,为13位的定时/计数器。工作方式1,为16

17、位定时器/计数器。工作方式2,为8位自动重装定时器/计数器。工作方式3,只有定时器/计数器T0具有此工作方式,为两个 8位定时器/计数器。3、门控制信号GATE为1时,外部中断引脚INTx在什么状态下启动计数?GATE为1时,在外部中断引脚INTx = 1、TRx = 1时启动定时器/计数器。5、 定时/计数器作为计数器时,对外界技术频率有什么要求(假定时钟频率为12MHz ) ?当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0和T1的外部脉冲信号计数,在每个机器周期的S5P2期间采样外部脉冲,若前一个机器周期采样到高电平,后一个机器周期采样到低电平,则将触 发计数器加1,更新的计

18、数值将在下一个机器周期的S3P1期间装入计数器。因此,单片机检测一个从高电平到低电平的下降沿需要 2个机器周期,要使下降沿能被检测到, 需要保证被采样高、低电平至少维持一个机器 周期的时间,即外部输入信号的频率不超过晶振频率的1/24。当晶振频率为12MHz时,最高计数频率不超过0.5MHz,即计数脉冲的周期要大于 2微秒。6、 定时/计数器在何种设置下可提供 3个8位定时器?当T0运行在模式3下,TH0作为定时器使用时,其启 动和关闭受谁的控制?定时器/计数器T0工作在方式3下,定时器/计数器T1工作在方式2下,可提供3个8位定时器。当T0 运行在方式3下,TH0作为定时器使用时,其启动和关

19、闭受TR1的控制。7、当定时/计数器T0被设置为模式3时,怎样使T1启动运行?又怎样使其停止运行?当定时/计数器T0被设置为模式3时,定时/计数器T1只要设置好工作方式、 时间常数初值,然后用控制位 C/T切换其为定时或计数功能就可以使 T1运行,若想停止它的运行,只要把它的工作方式设置为方式 3即可,因 为定时器T1没有方式3,将它设置为方式3就使它停止工作。&时钟频率为12MHz。要求定时值分别为:0.1ms、1ms、10ms;定时/计数器T0分别工作在模式0、模式1、 模式2,其定时初值各为多少?方式0时,0.1ms定时的计数值为100,时间常数初值为:TH0 = 0FCH , TL0

20、= 1CH方式0时,1ms定时的计数值为 1000,时间常数初值为: TH0 = 0E0H , TL0 = 18H方式0时,最长的定时时间只能到 8.192ms方式1时,0.1ms定时的计数值为100,时间常数初值为:TH0 = 0FFH , TL0 = 9CH方式1时,1ms定时的计数值为1000,时间常数初值为: TH0 = 0FCH , TL0 = 18H方式1时,10ms定时的计数值为10000,时间常数初值为: TH0 = 0D8H , TL0 = 0F0H方式2时,0.1ms定时的计数值为100,时间常数初值为:TH0 = 9CH , TL0 = 9CH方式2时,最长的定时时间只能

21、到 0.256ms9、时钟频率为12MHz。编写程序完成从 P1.0输出占空比为1 : 4,频率为1000Hz的脉冲波型。1000Hz周期为1ms,则高电平持续时间为 1ms/4= 0.25ms = 250us。用T0实现250um定时,采用工作方 式2,定时时间常数为 256- 250 = 6。从P1.0输出占空比为1: 4,频率为1000Hz的脉冲波型,既P1.0持续250us的高电平,250usX3的低电平 采用查询方式实现:MOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HSETB TR0LOP2: SETB P1.0JNB TF0,$CLR TF0CLR P1

22、.0MOV R0,#03HLOP1: JNB TF0,$CLR TF0DJNZ R0,LOP1JMP LOP2采用中断方式实现:ORG 0000HLJMP MAINORG 000BHLJMP T0SORG 0030HMAIN: MOV SP,#60HMOV TMOD,#02HMOV IE,#82HMOV R0,#03HMOV TH0,#06HMOV TL0,#06HSETB TR0SETB P1.0SJMP $T0S: JNB P1.0,T01CLR P1.0SJMP EXITT01: DJNZ R0,EXITSETB P1.0MOV R0,#03HEXIT: RETI10、 编写程序。时钟频

23、率为 12MHz,使用T1,由P1.0、P1.1分别输出周期为500 和 2ms的方波。用T1实现250um定时,采用工作方式 2,定时时间常数为 256- 250= 6。P1.0每250us改变状态一次,P1.1每250us M改变状态一次。ORG 0000HLJMP MAINORG 001BHLJMP T1SORG 0030HMAIN: MOV SP,#60HMOV TMOD,#20HMOV IE,#88HMOV R0,#04HMOV TH1,#06HMOV TL1,#06H SETB TR1SETB P1.0SETB P1.1SJMP $T1S:CPL P1.0 DJNZ R0,EXIT

24、CPL P1.1MOV R0,#04HEXIT:RETI15、半双工通信和全双工通信的区别?半双工是指数据传输可以沿两个方向,但需要分时进行。全双工是指数据可以同时进行双向传输。16、使用哪个特殊功能寄存器来确定串行口的工作方式?MCS-51单片机串行口有几种工作方式?各工作方式的波特率如何确定?SCON用来设定串行口的工作方式、接收 /发送控制以及设置状态标志;MCS-51单片机串行口有4种工作方式。方式0的波特率由振荡器的频率所确定,波特率为fosc/12 ;方式2时的波特率由振荡器的频率(fosc)和SMOD位所确定,即:波特率SMODosc 232方式1和3时的波特率由定时器T1和T2

25、的溢出率和SMOD所确定。SMOD波特率 T1溢出率 3217、晶振为11.059MHz,工作于方式1,波特率为1200b/s,用定时器/计数器T1作为波特率发生器,写出其 方式字和计数初值。T1工作在方式2下,其方式字为20H由串行口方式1的波特率的计数值为 11.0592/ (38400X12)T1溢出率qSMOD32,取 SMOD = 0,可计算出T1的溢出率=38400。则T1=24, T1的初值为232或0E8H18、串行口按工作方式1进行串行数据通信。晶振为 11.059MHz,波特率为4800b/s,请编写具有收发功能的 串口通信程序(两种接收方式):a、以查询方式接收数据。b、

26、以中断方式接收数据。qSMOD ,取SMOD = 0,可计算出T1的溢出率=153600。则32的初值为250或0FAH。将接收数据放到30H为首的片内存储区中。 设T1工作在方式2下,其方式字为20H由串行口方式1的波特率T1溢出率T1 的计数值为 11.0592/ (153600 X12)= 6, T1二者之间的通信约定如下:(1) 当1号机发送时,先发送一个 0E1H联络信号,2号机收到后回答一个 0E2H应答信号,表示同 意接收。(2) 当1号机收到应答信号0E2H后,开始发送数据,每发送一个数据字节都计算校验和,假定数据块长度为16个字节,一个数据块发送完毕后立即发送校验和。(3)

27、2号机接收数据并转存到数据缓冲区,每接收到一个数据字节便计算一次校验和,当收到一个数据块后,再接收1号机发来的校验和,并将它与2号机求出的校验和进行比较。若两者相等,说明接收正确,2号机回答00H;若两者不相等,说明接收不正确,2号机回答OFFH,请求重发。(4)1号机接到00H后结束发送。若收到的答复非零,则重新发送数据一次。a、以查询方式接收数据。1号机程序清单如下:ASTART : MOVMOVMOVMOVTMOD,#20HTH1, #0FAHTL1,#0FAHPCON,#00H TR1SCON,#50H;定时器1置为方式2;装载定时器初值,波特率4800;启动定时器;设定串口方式1,且

28、准备接收应答信号SETBMOVALOOP1 :MOVSBUF,#0E1H;发联络信号JNBTI,$;等待一帧发送完毕CLRTI;允许再发送JNBRI,$;等待2号机的应答信号CLRRI;允许再接收MOVA,SBUF;2号机应答后,读至AXRLA,#0E2H;判断2号机是否准备完毕JNZALOOP1;2号机未准备好,继续联络ALOOP2 :MOVRO, #30H;2号机准备好,设定数据块地址指针初值MOVR7, #10H;设定数据块长度初值MOVR6, #00H;清校验和单元ALOOP3 :MOVSBUF,R0;发送一个数据字节MOVA,R6ADDA,R0;求校验和MOVR6,A;保存校验和IN

29、C R0JNBTI,$CLRTIDJNZR7,ALOOP3;整个数据块是否发送完毕MOVSBUF, R6;发送校验和JNBTI,$CLRTIJNBRI,$;等待2号机的应答信号CLRRIMOVA,SBUF;2号机应答,读至AJNZALOOP2;2号机应答 错误”转重新发送RET;2号机应答正确”返回2号机接收程序清单如下:BSTART:MOVTMOD,#20HMOVTH1, #0FAHMOVTL1,#0FAHMOVPCON,#00HSETBTR1MOVSCON,#50H;设定串口方式1,且准备接收BLOOP2 :JNBRI,$;等待1号机的联络信号CLRRIMOVA,SBUF;收到1号机信号X

30、RLA,#0E1H;判是否为1号机联络信号JZBLOOP1;是1号机联络信号,准备接收数据MOVSBUF, #0FFH;不是1号机联络信号,回送错误标志JNB TI , $ CLR TI SJMPBL00P2BLOOP1 : MOVSBUF, #0E2H;是1号机联络信号,发应答信号JNBTI , $CLRTIMOVR0, #30H;设定数据块地址指针初值MOVR7, #10H;设定数据块长度初值MOVR6, #00H;清校验和单元BLOOP3: JNBRI , $CLRRIMOVA, SBUFMOVR0, A;接收数据转储INCR0ADDA, R6;求校验和MOVR6, ADJNZR7, B

31、LOOP3;判数据块是否接收完毕JNBRI, $;完毕,接收1号机发来的校验和CLRRIMOVA, SBUFXRLA, R6;比较校验和JNZERROR;校验和不相等,跳至发错误标志MOVSBUF, #00H;校验和相等,发正确标志SJMPEND1ERROR: MOVSBUF , #0FFH;要求重新发送数据END1 : JNBTI , $CLRTIRETb以中断方式接收数据。1号机程序同上。2号机接收程序清单如下:ORG 0000H LJMP BSTARTORG 0023HLJMP SIOSORG 0030HBSTART:MOVTMOD,#20HMOVTH1, #0FAHMOVTL1,#0F

32、AHMOVPCON,#00HSETBTR1MOVIE,#90H;开放CPU、串行口中断MOVSCON,#50H;设定串口方式1,且准备接收SJMP$等待中断接收中断ORG0100HSIOS:PUSHPSWPUSHACCMOVA,SBUF;收到1号机信号XRLA,#0E1H;判是否为1号机联络信号JZ 1BLOOP1;是1号机联络信号,准备接收数据MOVSBUF, #0FFH;不是1号机联络信号,回送错误标志JNBTI,$CLRTISJMPEXITBLOOP1 : MOVSBUF, #0E2H;是1号机联络信号,发应答信号JNBTI , $CLRTIMOVR0, #30H;设定数据块地址指针初值

33、MOVR7, #10H;设定数据块长度初值MOVR6, #00H;清校验和单元BL00P2 : JNBRI , $CLRRIMOVA, SBUFMOVR0, A;接收数据转储INCR0ADDA, R6;求校验和MOVR6, ADJNZR7, BLOOP2;判数据块是否接收完毕JNBRI, $;完毕,接收1号机发来的校验和CLRRIMOVA , SBUFXRLA , R6;比较校验和JNZERROR;校验和不相等,跳至发错误标志MOVSBUF , #00H;校验和相等,发正确标志SJMPEND1ERROR: MOVSBUF , #0FFH;要求重新发送数据END1 : JNBTI , $CLRT

34、IEXIT : POPACCPOPPSWRETI20、简述中断的基本概念。中断是指CPU正在处理某任务的过程中,由于计算机系统内、外的某种原因,发生的某一事件请求 CPU及 时处理,CPU暂时中止当前的工作,自动转去处理所发生的事件。处理完该事件后,再返回到原来被中止的 断点处继续工作,这样的过程称为中断。21、 MCS-51单片机可以响应几个中断源?有几个中断优先级?说出各中断源的中断矢量地址 MCS-51单片机可以响应5个中断源,有2个中断优先级,各中断源的中断矢量地址是:INTO : 0003H、T0: 000BH、INT1 : 0013H、T1 : 001BH、串行口: 0023H。2

35、2、在执行中断服务程序后,用什么指令完成返回到中断点发生处?在执行中断服务程序后,用RETI中断返回指令返回到中断点发生处。23、外部中断有哪两种触发方式?对哪个特殊功能寄存器的哪个位进行设置,从而确定外部中断的触发方式?电平触发方式和边沿触发方式两种。对TCON寄存器中的ITx置0为电平触发方式,置1为边沿触发方式。24、说出在中断系统硬件确定的自然优先级的排列顺序(由高到低)自然优先级的排列顺序是:INT0、T0、INT1、T1、串行口25、MCS-51单片机有五个中断源, 但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制试问以下几种中断优先顺序的安排(级别由高到低)是否可

36、能:若可能,则应如何设置中断源的中断级别:否 则,请简述不可能的理由。(1)定时器0,定时器1,外中断0,外中断1,串行口中断。可以。T0, T1设置为高优先级,其它中断源为低优先级。IP= 00001010B(2) 串行口中断,外中断 0,定时器0,外中断1,定时器1。可以。串行口设置为高优先级,其它中断源为低优先级。IP = 00010000B(3) 外中断0,定时器1,外中断1,定时器0,串行口中断。不可以。因为在同级中,T1的优先级低于INT1的优先级,因此要使 T1的优先级高于INT1的优 先级,只能把T1设置为高优先级,INT1设置为低优先级,一旦INT1设置为低优先级,那么它的优

37、先级 将总是低于T0的优先级的。(4) 外中断0,外中断1,串行口中断, 定时器0,定时器1。可以。INT0、INT1和串行口均设置为高优先级,其它中断源为低优先级。IP = 00010101B(5) 串行口中断,定时器 0,外中断0,外中断1,定时器1。可以。串行口、 T0设置为高优先级,其它中断源为低优先级。IP = 00010010B(6) 外中断0,外中断1,定时器0,串行口中断,定时器1。不可以。同级中INT1的优先级低于T0的优先级,所以只能把INT0设置为高优先级,T0为低优 先级,但这时同样为低优先级的串行口的优先级是不可能比T1的优先级高的。(7) 夕卜中断0,定时器1,定时

38、器0,外中断1,串行口中断。可以。INT0、T1设置为高优先级,其它中断源设置为低优先级。IP = 00001001B第5章 部分习题参考解答1、简述单片机最小系统的构成使单片机能运行的最少器件构成的系统,就是最小系统。对于无ROM勺单片机芯片如8031必须扩展ROM复位、晶振电路;而对于有 ROM芯片:89C51等,不必扩展ROM只要有复位、晶振电路即可。2、单片机系统的扩展一般包含哪几个方面的内容?单片机系统的扩展一般包含以下几方面的内容 外部程序存储器的扩展; 外部数据存储器的扩展; 输入/输出接口的扩展; 管理功能器件的扩展(如定时/计数器扩展、中断扩展、通信接口扩展等)3、系统的三总线,是指哪三总线?每组总线都是有哪些引脚组成?将这些信号线分成了三类:地址总系统的三总线是指根据总线中各信号线在器件连接中所起的作用不同, 线、数据总线和控制总线。其中:(1) 地址总线:用于实现计

温馨提示

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

最新文档

评论

0/150

提交评论