《单片机原理及应用》黄友锐主编课后习题答案-zyf(DOC)_第1页
《单片机原理及应用》黄友锐主编课后习题答案-zyf(DOC)_第2页
《单片机原理及应用》黄友锐主编课后习题答案-zyf(DOC)_第3页
《单片机原理及应用》黄友锐主编课后习题答案-zyf(DOC)_第4页
《单片机原理及应用》黄友锐主编课后习题答案-zyf(DOC)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、第 1 章1-1 什么是单片机?它与一般微型计算机在结构上何区别?(Single Chip Computer)MCU即 Micro-Controller Unit)。它是在一块芯片上集成了中央处理器(CPU(RAMROM/)接口(如并行 I/O口、串行 I/O口和 A/D转换器)等为一体的器件。微型计算机的基本结构由 一块芯片上集成了中央处理器(CPU/计数器、中断控制、各种输入/输出接口(如并行 I/O 口、串行 I/O 口和 A/D 转换器)等,它们通过单片机内部部总线连接而成为一体。1-2 MCS-51系列单片机内部资源配置如何?试举例说明 8051 与 51兼容的单片机的异同。答:MC

2、S-51 系列单片机内部资源配置 2针4位。资源。第 2 章2-1 MCS-51系列单片机内部有哪些主要的逻辑部件?答: 一个 8 位 CPU;一个片内振荡器及时钟电路;4K字节 ROM 程序存储器;128 字节 RAM 数据存储器;两个 16 /计数器;可寻址 64K 外部数据存储器和 64K 外部程序存储器空间的控制电路;32 条可编程的 I/O 线(四个 8 位并行 I/O 中断结构2-2 MCS-51设有 4 个 8 32 条 I/O 8 位数据信息由哪一个端口传送?16位地址线怎样形成?P3口有何功能?答:实际应用中 8 位数据信息由 P0 口传送。16 位地址线由 P0 口输出低

3、8 位地址 A7A0,P2 口输出高 8 位地址 A15A8。P3 口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同 P1 口;当作第二功能使用时,P3.0RXD P3.1TXD P3.2INT0外部中断 0 输入线,P3.3INT1外部中断 1 输入线,P3.4T0 定时器 0 外部输入,P3.5T1 定时器 1 P3.6 P3.7WR 外部数据存储器读选通信号输入。RD2-3 MCS-51的存储器结构与一般的微型计算机有何不同?程序存储器和数据存储器各有何作用?MCS-51 存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址系统、

4、控制信号和功能。程序存储器用来存放程序和始终要保留的常数,如经汇编后所编程序的机器码。数据存储器通常用来存放程序运行中所需要的常数或变量,例如模 /数转换时实时采集的数据等。2-4 MCS-51 内部 RAM 区功能结构如何分配?4 组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?答:MCS-51 系列单片机内部数据存储器:00H 7FH 单元组成的低 128 字节地址空间的 RAM 区,又分为为工作寄存器区()和用户 RAM 30H7FH80H (128 255)单元组成的高128 字节地址空间的特殊功能寄存器(又称SFR)区。对于803280528752 的单片机还有 80HF

5、FH单元组成的高 128 字节地址空间的 RAM 区。4组工作寄存区是由程序状态字PSW 0D0H)中的 D4、D3位(RS1 和 RS0)来决定的。位寻址区域的字节地址范围是 (对应的位地址范围是 00H7FH2-5 特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?答:P0 字节地址 80H,TCON 字节地址 88H,P1 字节地址 90H,SCON 字节地址98H,P2 字节地址 A0H,IE字节地址 A8H,P3 字节地址 B0H,IP字节地址 B8H,PSW字节地址 D0H,ACC 字节地址 E0H,B字节地址 。2-6 简述程序状态字 PSW中各位的含义。答:CY(PS

6、W7)进位标志,AC(PSW6)辅助进位标志,F0(PSW5)用户标志位,RS1、RS0(PSW4、PSW3)寄存器区选择控制位,OV(PSW2)溢出标志,P(PSW0)奇偶标志,每个指令周期都由硬件来置位或清“0以表示累加器 A 中 1 的位数的奇偶数.2-7 一个时钟频率为 6MHz的单片机应用系统,它的振荡信号周期、时钟周期、机器周期分别是多少?答:振荡信号周期=16us、时钟周期3us、机器周期=2us。2-8 堆栈有何功能?堆栈指针的作用是什么?二者的关系?为什么在程序设计时,要对 SP重新赋值?答:堆栈的主要功能:保护断点和程序现场,保存用户数据。堆栈指针的作用是:堆栈指针 SP

7、是一个 8 位特殊功能寄存器,指示出堆栈顶部在内部 RAM 中的位置。两者的关系:堆栈指针SP SP的初始值越小,堆栈深度就越深。SP 初始化为 07H,使得堆栈事实上由08H 单元开始。考虑到08H1FH单元分属于工作寄存器区 13SP 值改置为 1FH或更大的值如 60HSP 的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部 RAM 中的位置比较灵活。第 3 章3-4:(1)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #21HADD A, #45HADD A, #78HSJMP $END(2)ORG 0000HAJMP STAR

8、TORG 0100HSTART:MOV A, #78HADD A, #45HCLR C;SUBB A, #21HSUBB A, #09HSJMP $END(3)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #34HADD A, #0ABHMOV R0, AMOV A, 12ADDC A, #21HMOV R1, ASJMP $END(3)ORG 0000HAJMP STARTORG 0100HSTART:CLR C;MOV A, #0BCHSUBB A, #0CDHMOV R0, AMOV A, 1#2AHSUBB A, #0FHMOV R1, ASJMP

9、$END3-5:请编程实现:将片内 20H 存储单元的 8 位二进制数转换成 BCD 码,并存放在片外以 2000H 起始的单元中,2000H 单元存放转换后的 BCD 码的百位,2001H 单元存放转换后的 BCD 码的十位/个位。ORG 0000HAJMP STARTORG 0050HSTART:MOV A,20H ;A被除数MOV B, #100DIV AB; 除数 100;商(百位数 BCD码)余数MOVX 2000H,AMOV A,B;(2000H)将百位数 BCD码;余数作被除数MOV B,#10 ;除数 10DIVAB;商(十位数 BCD码)余数(个位 BCD码);十位 BCD码

10、调整到 A 中高 4 位SWAP AADD A,BMOVX 2001H,ASJMP $;A中压缩成 2 位 BCD码; (2001H)十位、个位 BCD码END3-6: 将片内 RAM 20H,21H,22H,23H(千百十/个位)中的十进制的 ascii 码转换成 bcd码,并压缩放于片内30H,31H两个单元,其中31H中放 bcd码的十位/个位,30H中放 bcd 码的千位/百位。MOVMOVMOVA, #00HR0, #20HR1, #21H;这一句不是必须XCHD A, R0;A(20H)SWAPXCHDMOVA;A 高 4 位(20H)的 BCD码数字;A 低 4 位(21H)的

11、BCD码数字A, R130H,AMOVMOVMOVA, #00HR0, #22HR1, #23H;这一句不是必须XCHD A, R0SWAP;A(22H);A 高 4 位(22H)的 BCD码数字AXCHDMOVA, R131H,A;A 低 4 位(21H)的 BCD码数字3-7:片内 RAM 的 30H32H 单元中连续存放了 6 个压缩 BCD 码,编制程序将它们转换为 ASCII码,存入片外 3000H开始的连续存储区中MOV R0,#30HMOV DPTR,3000HLOOP: MOV A,R0SWAP AANL A,#0FHADDA,#30H;30H= 0MOVX DPTR,AINC

12、DPTRMOVA,R0ANL A,#0FHADD A,#30HMOVX DPTR,AINCINCDPTRR0CJNE R0,#33H, LOOP3-9: 从外部 RAM 2000H 单元开始存放着 100 个无符号数,编写程序统计出:(1)6)大于 小于 等于 50的个数。(1)MOV DPTR, #2000HMOV 30H, #0 ;先用 0 当做最大数 求最小数时,用 255)MOV R2, #100LOOP:MOVX A, DPTRCJNE A, 20H, TTT ;(A)-(20H)TTT: JNC NEXTMOV 30H, ANEXT: INC DPTRDJNZ R2, LOOPSJ

13、MP $;不够减转移 求最小数时,用 JNC NEXT);够减,这个数是大数,给(20H)END(6) ; ; ; C ; ; ; ; $3-10 MCS-51片外 RAM 区 1000H1007H 单元中存有 8个无符号数,编程求其平均值,将结果存于 1008H 中。%先加,加的结果可能超出 8 位,所以存储结果于()和()单元中。 AA A 38C A A A A A3-11下面是以数学公式,X值存于片内 Y值存于 21H单元中。Y=X(X0)0(X=0) 2X(X0) CA3-12试编写程序,将外部 RAM 2000H20FFH 数据块,传送到 3000H30FFH区域。MOV R6,#

14、0FFHMOV R2,#00HMOV 暂存 2000H 地址MOV R4,#00HMOV 暂存 3000H 地址NEXT:MOV DPL,R2MOV DPH,R3MOVX A,DPTRMOV DPL,R4MOV DPH,R5MOVX DPTR,AINC R2INC R4DJNZ R6,NEXT3-13:振荡频率:(机器周期:(1)1ms延时ORG 2000HMOV R7,125:NOPNOPDJNZ R7,LOP1RET(2) 100ms延时ORG 2000HMOV R6,100:MOV R7,125:NOPNOPDJNZ R7,LOP1DJNZ R6,LOP2RET(3)1s 延时ORG 2

15、000HMOV R5,10LOP3: MOV R6,100LOP2: MOV R7,125LOP1: NOPNOPDJNZ R7,LOP1DJNZ R6,LOP2DJNZ R5,LOP3RET3-14:片内 RAM30H有一数( 31H中。ORG 1000HMAIN: MOV DPTR,#TABMOV 30H, #13MOV A, 30HMOVC A,A+DPTRMOV 31H,A;NUMB=015SJMP $TAB: DB 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,255第 4 章4-4 试编程实现,将设为高优先级中断,且为电平触发方式;T0

16、溢出中断0设为低优先级中断,串行口中断为高优先级中断,其余中断源设为禁止状态。 4-9 试用中断技术设计一个秒闪电路,其功能是发光二极管。主机频率为 。仿真见 exercise4_9.ms11)LED 每秒闪亮题意可理解为 LED每次亮 400ms 600ms T1,定时时间为100ms,用 P1.0 作输出设 P1.0 为高时灯灭。 1 $ ; 为0转 4-1 简述中断、中断源、中断源的优先级及中断嵌套的含义。答: 当 CPU CPU的地方,继续执行原来被中断了的程序,这样的过程称为中断。向 CPU 提出中断请求的源称为中断源。当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而 C

17、PU 在一个时刻只能响应并处理中断优先高的请求。 CPU 服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理套。4-2 MCS-51 单片机能提供几个中断源?几个中断优先级?各个中断的源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?答: MCS-51 单片机能提供五个中断源,两个中断优先级。中断优先级是由片内的中断优先级寄存器 (特殊功能寄存器)控制的。PSPS=1PS=0,串行口定义为低优先级中断源。PT1T1 中断优先级控制位。PT1=1/计数器 1 定义为高优先级中断源;PT1=0,定时器/计数器 1 定义为低优先级中断源。PX1:外部中断 1 中断优先

18、级控制位。PX1=1,外中断 1 定义为高优先级中断源;PX1=0,外中断 1 定义为低优先级中断源。PT0:定时器/计数器 0(T0)中断优先级控制位,功能同 PT1。PX0:外部中断 0 中断优先级控制位,功能同 PX1。在同一优先级中,循环轮流排队。不分级别高低,所有中断源优先级都一律平等,CPU 轮流响应各个中断源的中断请求。4-3 简述 MCS-51单片机中断响应过程。答:CPU 在每个机器周期的 S5P2 时刻采样中断标志,而在下一个机器周期对采样到的中断进行查询。如果在前一个机器周期的 S5P2 有中断标志,则在查询周中断服务程序。4-4 MCS-51 单片机外部中断有哪两种触发

19、方式?如何选择?对外部中断源的触发脉冲或电平有何要求?答:MCS-51 单片机外部中断有:负边沿触发方式和电平触发方式。外部中断1(INT1 IT1为 1 1 CPU 在每个机器周期的S5P2采样INT1在下个周期中采样到低电平,则硬件使 IE1 置 1,向 CPU IT1为 0,则外中断1 为电平触发方式。采用电平触发时,输入到INT1的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使电平变高,否则将会再次产生中断。4-5 在 MCS-51单片机的应用系统中,如果有多个外部中断源,怎样进行处理?答:当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU 在一

20、个时刻只能响应并处理一个中断请求,为此,要进行排队。排队的方式有:(1)按优先级排队。(2MCS-51单片机优先级比较简单,只有两级,可以通过 5个中断源优先级顺序由高到低分别为:外部中断0/计数器 0 溢出、外部中断1、定时器/计数器 1 溢出、串行口中断。4-6 MCS-51 有哪几种扩展外部中断源的方法?各有什么特点?答:1) 利用定时器作为外部中断使用特点:把MCS-51 的两个定时器/计数器(T0 和 T1)选择为计数器方式,每当 P3.4(T0)或T1)引脚上发生负跳变时,T0 和 T1 的计数器加 1。可以把 P3.4 和 P3.5 引脚作为外部中断请求输入线,而定时器的溢出中断

21、作为外部中断请求标志。2)采用中断和查询相结合的方法扩充外部中断源入端(例如INT1 I/O 口,中断请求由硬件电路产生,而中断源的识别由程序查询来处理,查询顺序决定了中断源的优先级。4-7 MCS-51 单片机响应外部中断的典型时间是多少?在哪些情况下,CPU 将推迟对外部中断请求的响应?答:响应外部中断的典型时间是至少需要 3 个完整的机器周期。1、外部中断和0 INT1的电平在每个机器周期的 S5P2时被采样并锁存到 IE0和IE1 IE0和 IE1的状态在下一个机器周期才被其内部的查询电路查询,未产生了一个中断请求。2、没有满足响应的条件,CPU 没有响应中断。3、没有由硬件生成一条长

22、调用指令转到相应的服务程序入口。第 5 章5-1 MCS-51单片机定时/定时: 计数脉冲由系统振荡器产生的内部时钟信号 12 分频后提供。定时时间与时钟频率和定时初值有关。计数:外部输入脉冲计数,接相应的外部输入引脚 T0(P3.4)或 T1(P3.5)5-2 MCS-51 单片机内设有几个定时/计数器?它们是由哪些特殊功能寄存器组成?答:MCS-51 单片机内部有两个 16 位可编程的定时器/ T0 和定时器 T1。定时/计数器T0由特殊功能寄存器TH0TL0(字节地址分别为8CH和构成,定时/计数器T1由特殊功能寄存器TH1TL1(字节地址分别为8DH和构成。其内部还有一个 8 位的定时

23、器方式寄存器 TMOD 和一个 8 位的定时器控制寄存器 TCON。TMOD 主要是用于选定定时器的工作方式,TCON 主要是用于控制定时器的启动和停止。5-3定时外界计数频率有何限制? 上1到01 1 到 0 2 个3-1 设内部 RAM 中 59H 单元的内容为 50H,写出当执行下列程序段后寄存器 ,R0 和内部 RAM 中 50H,51H单元的内容为何值?MOVMOVMOVMOVMOVMOVMOVA,59HR0,A;A=50H;R0=50H;A=00H,#00HR0,AA,#25H51H,A;50H=00H;A=25H;51H=25H52H,#70H ;52H=70HA=25H R0=

24、50H 50H=00H 51H=25H3-2 访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。答:访问外部数据存储器指令有:MOVX DPTR,AMOVX A,DPTRMOVX A,RiMOV DPTR,#0100HMOV DPTR,#0200HMOVX A,R0MOV DPTR,AMOV A,DPTRMOVX Ri,A访问程序存储器指令有:MOVX R1,AMOVC A,A+PCMOVC A,A+DPTR3-3 设堆栈指针 SP 中的内容为 60H,内部 RAM 中 30H 和 31H 单元的内容分别为 24H 和 10H,执行下列程序段后,61H,62H,30H,31H,DP

25、TR 及 SP中的内容将有何变化?PUSHPUSHPOP30H;61H=24H;62H=10H;DPL=10H;DPH=24H31HSP=62HSP=60HDPLPOPDPHMOVMOV30H,#00H31H,#0FFH;30H=00H;31H=0FFH3-4 设(=40HR1=23H40H=05H。执行下列两条指令后,累加器 A和 R1 以及内部 RAM 中 40H单元的内容各为何值?XCHA,R1;A=23H R1=40H;A=25H 40H=03HXCHDA,R13-5 两个四位 BCD 50H51H 和 52H53H54H55H和 56H中(56HORGLJMP STARTORG 01

26、00H0000HSTART: MOV A,53HADD A,51HDA AMOV 55H,AMOV A,52HADDC A,50HDAMOV 56H,CSJMP $AEND3-6 设(A)=01010101BR5)=10101010B,分别写出执行下列指令后结果。ANL A , R5 ;00000000B11111111B11111111BORL A , R5 ;XRL A , R5 ;3-7指令 SJMP rel 中,设,并假设该指令存放在 2114H和 2115H单元中。当该条指令执行后,程序将跳转到何地址?答: 2116H+60H=2176H3-8 简述转移指令 AJMP addr11、

27、SJMP rel、 LJMP addr16 及 JMPA+DPTR的应用场合。答:AJMP addr11 为 2K 字节范围内的无条件转跳指令,把程序的执行转移到指定的地址。SJMP rel是无条件转跳指令,执行时在 PC 加 2 后,把指令中补码形式的偏移量值加到 PC 上,并计算出转向目标地址。转向的目标地址可以在这条指令前 128 字节到后 127 字节之间。LJMP addr16执行这条指令时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向指定地址。转移的目标地址可以在 64K 程序存储器地址空间的任何地方,不影响任何标志。JMP A+DPTR 指令的功能是把累加器中

28、 8 位无符号数与数据指针DPTR 中的 16 位数相加,将结果作为下条指令地址送入PC,利用这条指令能实现程序的散转。3-9 试分析下列程序段,当程序执行后,位地址 00H,01H 中的内容将为何值?P1 口的 8 条 I/O线为何状态?CLRMOVJCC;CY=0;A=66HA,#66HLOOP1CPLC;CY=1SETBLOOP1: ORL01H;20H.1=1;CY=1C, ACC.0ACC.2,LOOP2 ;00HJBCLRLOOP2: MOV P1,ASJMP $;P1=01100110B20H.0=020H.1=1P1=66H3-10 查指令表,写出下列两条指令的机器码,并比较一

29、下机器码中操作数排列次序的特点。MOV58H,80H直接寻址字节送直接寻址字节: 汇编时源操作数在目标操85(80)(58)作数之前。MOV75(58)(80)之前。58H,#80H立即数送直接寻址字节: 汇编时目标操作数在原操作数第 4 章4-1 什么是单片机的程序设计语言。答:单片机的程序设计语言是指计算机能理解和执行的语言,人与 CPU、MCUMCS-51 系列单片机的程序设计语言,按照语言的结构及其功能可以分为三种:机器语言、汇编语言、高级语言。4-2 单片机的程序设计包括哪几个步骤。答:程序设计步骤如下:(1) 分析问题。即仔细分析任务书中要实现的功能和性能指标。(2) 确定算法。即

30、找到解决问题思路、方法。(3) 分配内存单元。即确定数据结构。这一步往往与算法同时考虑。(4) 根据算法和数据结构,画出程序流程图。(5) 根据流程图编写汇编语言源程序。编辑录入,保存为*.ASM 文件。(6) 汇编。排除语法错误。(7) 调试(DEBUG(8) 编写相关说明文档。4-3 画出单片机的三种基本程序结构。答:A是否否BBAA4-4 单片机的分支结构程序指令有哪几条?答:分支结构程序指令有 JB、JNBJCJNC、JZ、JNZ、CJNEJBC4-5 什么是单片机的程序嵌套?生活中有哪些现象与单片机的嵌套类似?答:一个程序中还会调用别的程序,这称为程序嵌套。生活例子:在学习,有电话了

31、,去接电话,水开了,放下电话去关掉电水壶,接着打电话,打完电话,接着学习。4-6 能否从一个子程序内部使用转移指令直接跳转到另一个子程序执行?答:可以,为了保证正确地从子程序2 返回子程序 1,再从1 返回主程序,每次PC 值。4-7 能否使用转移指令从主程序跳到子程序?答:不可以,当主程序需要执行某子程序的功能时,只需执行一条调用指令。而并非使用转移指令4-8 能否使用转移指令从子程序跳到主程序?答:不可以,子程序的最后一条指令应该是返回指令RET 或 RETI,以确保子程序能够正确返回主程序。执行 RET 指令时单片机将原来存在堆栈中的断点地址弹出给 PC,保证子程序返回主程序中调用子程序

32、的地方继续执行主程序。子程序从子程序的标号开始,到 RET 或 RETI 指令结束。RET 指令是一般子程序的返回指令。RETI指令是中断服务子程序的返回指令。4-9 画出主程序的一般流程图。答:主程序流程图初始化模块人机接口(键盘显示)模块输入模块运算模块输出模块4-10 画出子程序的一般流程图。答:子程序流程图4-11 子程序的规范化设计包括那几个部分?答:子程序的规范化设计包括:(1) 子程序名称。给子程序起名字,起名的原则是子程序名能够反映子程序功能,该名字就是子程序的入口地址标识符。(2) 子程序功能,对子程序的功能给予简要的描述。(3) 序之前,主程序要先准备好入口参数。(4最终结

33、果(出口参数)存放在约定的 RAM 单元,供主程序取用。(5) R0R7SFRRAM 单元及片外 RAM 单元,以便在主程序调用该子程序之前,考虑将这些资源中的哪些字节保护入栈。4-12 在片内 RAM 地址 40H到 4FH的存储单元中存有 16 的最大值,放入 50H 单元,请用“循环结构”和“分支结构”编程。答:流程图:初始化: R2=15 赋判断次数,R0 指针指向 40H 单元BNYYA结束源程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV R2,#0FHMOV R0,#40HMOV A,R0SUB:INC R0MOV B,R0CJNE A,B,NEXTN

34、EXT:JC NEXT1DJNZ R2,SUBJMP LASTNEXT1:MOV A,BDJNZ R2,SUBJMP LASTLAST:MOV 50H,ASJMP $4-13 将片内若干个 RAM 单元的内容复制到片外 RAM 单元,请用“主程序”调R0 存放片内 RAM 起始地址,DPTR存放片外 RAM 起始地址,R1 存放字节数。请分别编写主程序和子程序。答:流程图主程序子程序初始化常数 R040H0200HR110H调用复制子程序结束NR1-1=0?Y返回源程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV R1,#10HMOV R0,#40HMOV DPTR

35、,#0000HLCALL COPYSJMP $COPY:NEXT: MOV A,R0MOVX DPTR,AINC R0INC DPLDJNZ R1,NEXTRET第 5 章5-1 简述中断、中断源、中断源的优先级及中断嵌套的含义。答: 当 CPU CPU的地方,继续执行原来被中断了的程序,这样的过程称为中断。向 CPU 提出中断请求的源称为中断源。当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而 CPU 在一个时刻只能响应并处理中断优先高的请求。 CPU 服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理套。5-2 MCS-51 单片机能提供几个中断源?几个中断

36、优先级?各个中断的源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?答: MCS-51 单片机能提供五个中断源,两个中断优先级。中断优先级是由片内的中断优先级寄存器 (特殊功能寄存器)控制的。PSPS=1PS=0,串行口定义为低优先级中断源。PT1T1 中断优先级控制位。PT1=1/计数器 1 定义为高优先级中断源;PT1=0,定时器/计数器 1 定义为低优先级中断源。PX1:外部中断 1 中断优先级控制位。PX1=1,外中断 1 定义为高优先级中断源;PX1=0,外中断 1 定义为低优先级中断源。PT0:定时器/计数器 0(T0)中断优先级控制位,功能同 PT1。PX0:外部中断

37、 0 中断优先级控制位,功能同 PX1。在同一优先级中,循环轮流排队。不分级别高低,所有中断源优先级都一律平等,CPU 轮流响应各个中断源的中断请求。5-3 简述 MCS-51单片机中断响应过程。答:CPU 在每个机器周期的 S5P2 时刻采样中断标志,而在下一个机器周期对采样到的中断进行查询。如果在前一个机器周期的 S5P2 有中断标志,则在查询周中断服务程序。5-4 MCS-51 单片机外部中断有哪两种触发方式?如何选择?对外部中断源的触发脉冲或电平有何要求?答:MCS-51 单片机外部中断有:负边沿触发方式和电平触发方式。外部中断1(INT1 IT1为 1 1 CPU 在每个机器周期的S

38、5P2采样INT1在下个周期中采样到低电平,则硬件使 IE1 置 1,向 CPU IT1为 0,则外中断1 为电平触发方式。采用电平触发时,输入到INT1的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使电平变高,否则将会再次产生中断。5-5 在 MCS-51单片机的应用系统中,如果有多个外部中断源,怎样进行处理?答:当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU 在一个时刻只能响应并处理一个中断请求,为此,要进行排队。排队的方式有:(1)按优先级排队。(2MCS-51单片机优先级比较简单,只有两级,可以通过 5个中断源优先级顺序由高到低分别为:外部中

39、断0/计数器 0 溢出、外部中断1、定时器/计数器 1 溢出、串行口中断。5-6 MCS-51 有哪几种扩展外部中断源的方法?各有什么特点?答:1) 利用定时器作为外部中断使用特点:把MCS-51 的两个定时器/计数器(T0 和 T1)选择为计数器方式,每当 P3.4(T0)或T1)引脚上发生负跳变时,T0 和 T1 的计数器加 1。可以把 P3.4 和 P3.5 引脚作为外部中断请求输入线,而定时器的溢出中断作为外部中断请求标志。2)采用中断和查询相结合的方法扩充外部中断源入端(例如INT1 I/O 口,中断请求由硬件电路产生,而中断源的识别由程序查询来处理,查询顺序决定了中断源的优先级。5

40、-7 MCS-51 单片机响应外部中断的典型时间是多少?在哪些情况下,CPU 将推迟对外部中断请求的响应?答:响应外部中断的典型时间是至少需要 3 个完整的机器周期。1、外部中断和0 INT1的电平在每个机器周期的 S5P2时被采样并锁存到 IE0和IE1 IE0和 IE1的状态在下一个机器周期才被其内部的查询电路查询,未产生了一个中断请求。2、没有满足响应的条件,CPU 没有响应中断。3、没有由硬件生成一条长调用指令转到相应的服务程序入口。第 6 章6-1 8051单片机内设有几个可编程的定时器/计数器?它们可以有 4 种工作方式,如何选择和设定?各有什么特点?答:MCS-51 单片机内部有

41、两个 16 位可编程的定时器/ T0 和定时器 T1M1 M0:定时器/计数器四种工作方式选择6-2 8051 单片机内的定时/计数器 T0、T1工作在模式 3 时,有何不同?答:方式 3 对定时器 T0 和定时器 T1 是不相同的。若 T1 设置为方式 3,则停止工作。方式 3 只适用于 T0。当 T0 设置为方式 3 TL0和 TH0 成为两个相互独立的 8 位计数器,TL0利用了 T0 0 和方式 1 TH0被规定为用作定时器功能,对机器周期计数,并借用了T1的控制位 TR1 和 。在这种情况下 TH0控制了 T1 的中断。6-3 已知单片机时钟振荡频率为 6MHz T0 P1.1 引脚

42、上输出连续方波,波形如下:ss计算定时常数:100us150us方式 0方式 0Tc=FE0E; 方式 1Tc=FD15; 方式 1; 方式 2 Tc=CE; 方式 2 Tc=B5方法一:采用方式一,定时器中断。YN 开 源程序:LJMP TINT0ORG 0100HSTART:MOV TMOD,#01HMOV TL0,#0CEHMOV TH0,#0FFHSETB TR0SETB EASETB ET0SETB 20H.0SETB P1.1SJMP $TINT0:JNB 20H.0,NEXTMOV TL0,#0B5HMOV TH0,#0FFHCLR P1.1CPL 20H.0SJMP LASTN

43、EXT:MOV TL0,#0CEHMOV TH0,#0FFHSETB P1.1CPL 20H.0LAST:RETI方法二: 采用方式 2 定时器中断 加延时程序源程序:LJMP STARTORG 000BHLJMP TINT0ORG 0100HSTART:MOV TMOD,#02HMOV TL0,#0CEHMOV TH0,#0CEHSETB TR0SETB EASETB ET0SETB 20H.0SETB P1.1SJMP $TINCLR TR0CLR P1.1LCALL DELAYCPL 20H.0SETB TR0SJMP LASTNEXT:SETB P1.1CPL 20H.0LAST:RE

44、TIDELAY: MOV R7,#8DELAY1:DJNZ R7,DELAY1RETYN开设 置 标 志 位 20H.06-4 定时器/计数器的工作方式 2 有什么特点?适用于什么应用场合?答:方式 2 把 TL0 配置成一个可以自动恢复初值的 8 位计数器,TH0 作为常数缓冲器,TH0 由软件预置值。当 TL0 产生溢出时,一方面使溢出标志 TF0置 1,同时把 TH0中的 8 位数据重新装入 TL0中。方式 2 常用于定时控制,作串行口波特率发生器。6-5 定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?答:采用方式1

45、可得到最大量程。最大脉宽=2us655366-6 定时器/计数器作为外部中断源使用时,需要如何初始化,以 T0 为例通过程序说明。答: 初始化MOV TMOD,#06HMOV TL0,#0FFHMOV TH0,#0FEHSETB TR0SETB EASETB ET0第 7 7-1 波特率的含义是什么?答:所谓波特率是每秒钟传送信号的数量,单位为波特(Baud 7-2 什么是串行异步通信?它有哪些特征?答:通信时接收器和发送器有各自的时钟。特征:异步通信的优点是不需要传送同步脉冲,可靠性高,所需设备简单,缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率7-3 单片机的串行接口由哪些

46、功能部件组成?各有什么作用?答:MCS-51 单片机串行口主要由两个物理上独立的串行数据缓冲寄存器、发送控制器、接收控制器、输入移位寄存器和输出控制门组成。作用:SBUF 为串行口的收发缓冲寄存器,它是可寻址的专用寄存器,其中包含了发送寄存器 SBUF (发送)和接收寄存器SBUF 工通信。7-4 简述串行接口接收和发送数据的过程。答:发送:发送操作是在TI=0下进行的,此时发送缓冲寄存器“SBUFCPU 通过指令 MOV A ,将数据写入“SBUF(发送),立即启动发送,将 8 位数据以设定波特率从 RXD 输出,低位在前,高位在后。发送完一帧数据后,发送中断标志 TI 由硬件置位,并可向

47、CPU 发出中断请求。RI=0且REN=1SBUFREN,此时,RXD 为串行数据输入端。当RI=0 和 REN=1 同时满足时,开始接收。当接收到第 8 位数据时,将数据移入接收缓冲寄存器“SBUF ,并由硬件置位 RI CPU 发出中断请求。CPU 查到 RI=1 或响应中断后,通过指令 MOV SBUF,将“ SBUF A 。7-5 8051 串行接口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:方式 0、1、2、3.波特率:8 帧 10 帧 11帧 三种格式。 方式 0 的波特率固定为系统晶振频率的 1/12 ,其值为 fosc/12 。其中,fosc为系统主机晶振频率

48、。 方式 2 的波特率由 PCON 中的选择位 SMOD来决定,可由下式表示:波特率 (2/64 f SMOD =l fosc/32 SMOD=0 fosc/64。 方式 1 和方式 3 的波特率由定时器 Tl 定时器 TI 作为波特率发生器,相应公式如下:波特率= 定时器T1溢出率32(T1溢出率=T1计数率/产生溢出所需的周期数=( f /12) /(2 TC )kosc式中 :定时器 T1的位数,K的值等于 8、13、16;TC:定时器 T1 的预置初值。第 8 章8-1 MCS-51 单片机外部程序存储器和数据存储器地址范围都是FFFFH,在实际使用时如何区分?0000H 答:访问(读)ROM PSEN引脚有效选中程序存储器,PC RAM 、RD WR引脚有效选中数据存储器(DPTR为外部 RAM存储器的地址指针)8-2 访问 8051片外数据存储器 MOVX指令采用的是 间接问片外程序存储器 MOVC指令采

温馨提示

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

最新文档

评论

0/150

提交评论