单片机原理与应运系统设计[课后习题参考答案]张金敏,董海棠,高博,卫晓娟主编.docx

上传人:小飞机 文档编号:3346565 上传时间:2023-03-12 格式:DOCX 页数:56 大小:60.16KB
返回 下载 相关 举报
单片机原理与应运系统设计[课后习题参考答案]张金敏,董海棠,高博,卫晓娟主编.docx_第1页
第1页 / 共56页
单片机原理与应运系统设计[课后习题参考答案]张金敏,董海棠,高博,卫晓娟主编.docx_第2页
第2页 / 共56页
单片机原理与应运系统设计[课后习题参考答案]张金敏,董海棠,高博,卫晓娟主编.docx_第3页
第3页 / 共56页
单片机原理与应运系统设计[课后习题参考答案]张金敏,董海棠,高博,卫晓娟主编.docx_第4页
第4页 / 共56页
单片机原理与应运系统设计[课后习题参考答案]张金敏,董海棠,高博,卫晓娟主编.docx_第5页
第5页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机原理与应运系统设计[课后习题参考答案]张金敏,董海棠,高博,卫晓娟主编.docx》由会员分享,可在线阅读,更多相关《单片机原理与应运系统设计[课后习题参考答案]张金敏,董海棠,高博,卫晓娟主编.docx(56页珍藏版)》请在三一办公上搜索。

1、单片机原理与应运系统设计课后习题参考答案张金敏,董海棠,高博,卫晓娟主编1 单片机原理与应运系统设计 习题参考答案 0-1 什么是单片机?它与一般微型计算机在结构上何区别? 答:单片微型计算机简称为单片机(Single Chip Computer),又称为微控制器、存储器、定时器/计数器、中断控制、各种输入/输出接口等为一体的器件。 微型计算机的基本结构由CPU、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。单片机的结构是在一块芯片上集成了中央处理器、存储器、定时器/计数器、中断控制、各种输入/输出接口等,它们通过单片机内部部总线连接而成为一体。 0-2 MCS-5

2、1系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。 答:MCS-51系列单片机内部资源配置 型号 程序存储片器 8031/80C31 无 内定时/并行串行中断源/中断优口 1 1 1 先级 5/2 5/2 5/2 RAM 计数器 I/O口 128B 128B 128B 216 216 216 48 48 48 8051/80C51 4KB ROM 8751/87C51 4KB EPROM 8032/80C32 无 256B 256B 316 316 48 48 1 1 6/2 6/2 8052/80C52 4KB ROM 8051与51兼容的单片机的异同 厂商 型号 程

3、序存片内定时/并行串中断源I/O口 行口 /优先级 其它特点 计数 储器 RAM 器 2 Intel 8051/80C4KB 51 ROM 128B 216 128B 216 48 1 5/2 ATMEL AT89C202KB 51 Flash ROM 15 1 6/2 直接驱动LED输出,片上模拟比较器 AT89S53 12KB Flash ROM 256B 316 32 1 9/2 SPI,WDT,2个数据指针 W77E58 32KB Flash ROM 256B3+ 1024B 16 36 2 12/2 扩展了4位I/O口,双数据指针,WDT。 AnaloADuC818KB g Devi

4、ces 飞利80C552 浦 无 2 256B216 32 1 9/2 WDT,SPI ,8通道12位ADC,2通道12位DAC,片上DMA控制器。. EEPRO+ M 640B 256B 316 48 1 15/4 CMOS型10位ADC,捕捉/比较单元,PWM 83/87C558KB 2 EEPROM 256B 316 48 1 15/4 CMOS型10位ADC,捕捉/比较单元,PWM 83/89CE32KB 558 256B316 40 1 15/4 8通道10位ADC,捕捉/比较单元,PWM,双数据指针,I2C总线,PLL。 EEPRO+ M 1024B 83C592 16KB 256

5、B316 48 2 15/2 CMOS型CAN微控制器 EEPRO+ 3 M 256B 32 2 8/4 40MHz, SPI,双数据指针,WDT。 SST SST89E532KB+81KB 354 KB Flash ROM TI MSC1214KB+20Y2 KB Flash ROM 英特87C54 尔 16KB EPROM 256B 316 256B 316 12803B 16 16 32 2 21 32位累加器,WDT,SPI,低电压检测,16位PWM。 32 1 7/4 具有帧错误检测的可编程串口。 83/87C518KB GB EPROM 48 1 15/4 PWM,WDT,8通道8

6、位ADC,具有帧检测和识别的串口。 4 第1章MCS-51单片机的结构与原理 1-1 MCS-51系列单片机内部有哪些主要的逻辑部件? 答: 一个8位CPU;一个片内振荡器及时钟电路;4K字节ROM程序存储器;128字节RAM数据存储器;两个16位定时器/计数器;可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;32条可编程的I/O线;一个可编程全双工串行口;具有五个中断源、两个优先级嵌套中断结构 1-2 MCS-51设有4个8位端口,实际应用中8位数据信息由哪一个端口传送?16位地址线怎样形成?P3口有何功能? 答:实际应用中8位数据信息由P1口传送。16位地址线由P0口输出低

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

8、开,各有自已的寻址系统、控制信号和功能。 程序存储器用来存放程序和始终要保留的常数,如经汇编后所编程序的机器码。数据存储器通常用来存放程序运行中所需要的常数或变量,例如模/数转换时实时采集的数据等。 1-4 MCS-51内部RAM区功能结构如何分配?4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少? 答:MCS-51系列单片机内部数据存储器:00H 7FH单元组成的低128字节地址空间的RAM区,又分为为工作寄存器区、位寻址区和数据缓冲区。 80H FFH单元组成的高128字节5 地址空间的特殊功能寄存器中的D4、D3位来决定的。 PSW.4 (RS1) PSW.3 (RS0) 当

9、前使用的工作寄存器区 R0 R7 0 0 1 1 0 1 0 1 0区 1区 2区 3区 位寻址区域的字节地址范围是20H2FH。 1-5 特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么? 答:P0字节地址80H,TCON字节地址88H,P1字节地址90H,SCON字节地址98H,P2字节地址A0H,IE字节地址A8H,P3字节地址B0H,IP字节地址B8H,PSW字节地址D0H,ACC字节地址E0H,B字节地址F0H。 1-6 简述程序状态字PSW中各位的含义。 答:CY进位标志,AC辅助进位标志,F0用户标志位RS1、RS0寄存器区选择控制位,OV溢出标志,P奇偶标志,每个指令

10、周期都由硬件来置位或清“0”,以表示累加器A 中1的位数的奇偶数 1-7 一个时钟频率为6MHz的单片机应用系统,它的时钟周期、机器周期、指令周期分别是多少? 答:时钟周期=13us、机器周期=2us、指令周期=2us。 1-8 单片机有几种主要的工作方式?其特点各是什么? 答:有复位、程序执行、低功耗三种主要工作方式。 复位操作是单片机的初始化操作,单片机在进入运行前和在运行过程中程序出错或操作失误使系统不能正常运行时,需要进行复位操作,复位操作后,程序将从0000H开始重新执行。 6 单片机的程序的执行过程分为取指令、译码、执行三个过程。 待机方式,也称为空闲工作。系统进入待机工作方式时,

11、振荡器继续工作,中断系统、串行口以及定时器模块由时钟驱动继续工作,但时钟不提供给CPU。单片机进入掉电工作方式,只有内部RAM单元的内容被保存,其它一切工作都停止。 1-9 堆栈有何功能?堆栈指针的作用是什么?二者的关系?为什么在程序设计时,要对SP重新赋值? 答:堆栈的主要功能:保护断点和程序现场,保存用户数据。 堆栈指针的作用是:堆栈指针SP是一个8位特殊功能寄存器,指示出堆栈顶部在内部RAM中的位置。 两者的关系:堆栈指针SP给定当前的栈顶,SP的初始值越小,堆栈深度就越深。 系统复位后,SP初始化为07H,使得堆栈事实上由08H 单元开始。考虑到08H1FH单元分属于工作寄存器区13,

12、若程序设计中要用到这些区,则最好把SP值改置为1FH或更大的值如60H,SP的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。 7 第2章MCS-51指令系统 习题参考答案 2-1 判断下列指令的正误: 1)MOV 28H,R2 2)DEC DPTR 3)INC DPTR 4)CLR R0 5)CPL R5 6)MOV R0,R1 7)PUSH DPTR 8)MOV F0,C 9)MOV F0,ACC.3 10)MOVX A,R1 11)MOV C,30H 12)RLC R0 答:错、错、对、错 错、错、错、对 错、对、对、错 2-2 判断下列说法

13、是否正确。 A、 立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。 B、 指令周期是执行一条指令的时间。 C、 指令中直接给出的操作数称为直接寻址。 答:对、对、错 2-3 在基址加变址寻址方式中,以作变址寄存器,以或作基址寄存器。 答:累加器A,DPTR、PC 2-4 指令格式是由和所组成,也可能仅由组成。 答:操作码、操作数、操作码 2-5 设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值? MOV A,59H ;A=50H MOV R0,A ;R0=50H MOV A,#00H ;A=00H MOV

14、R0,A ;50H=00H MOV A,#25H ;A=25H MOV 51H,A ;51H=25H MOV 52H,#70H ;52H=70H 8 答:A=25H R0=50H 50H=00H 51H=25H 2-6 访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。 答:访问外部数据存储器指令有: MOVX DPTR,A MOV DPTR,#0100H MOV DPTR,A MOVX A,DPTR MOV DPTR,#0200H MOV A,DPTR MOVX A,Ri MOVX A,R0 MOVX Ri,A MOVX R1,A 访问程序存储器指令有: MOV A,A+PC M

15、OVC A,A+DPTR 2-7 设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化? PUSH 30H ;61H=24H PUSH 31H ;62H=10H SP=62H POP DPL ;DPL=10H POP DPH ;DPH=24H SP=60H MOV 30H,#00H ;30H=00H MOV 31H,#0FFH ;31H=0FFH 2-8 设=40H,=23H,=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值? XCH A,

16、R1 ;A=23H R1=40H XCHD A,R1 ;A=25H 40H=03H 2-9 两个四位BCD码数相加,被加数和加数分别存于50H,51H和52H,53H单元中,和存放在54H,55H和56H中,试编写加法程序。 ORG 0000H LJMP START ORG 0100H 9 START: MOV A,53H ADD A,51H DA A MOV 55H,A MOV A,52H ADDC A,50H DA A MOV 56H,C SJMP $ END 2-10 设=01010101B,=10101010B,分别写出执行下列指令后结果。 ANL A , R5 ; 00000000B

17、 ORL A , R5 ; 11111111B XRL A , R5 ; 11111111B 2-11指令SJMP rel中,设rel=60H,并假设该指令存放在2114H和2115H单元中。当该条指令执行后,程序将跳转到何地址? 答: 2116H+60H=2176H 2-12 简述转移指令AJMP addr11、SJMP rel、 LJMP addr16及JMP A+DPTR的应用场合。 答:AJMP addr11 为2K字节范围内的无条件转跳指令,把程序的执行转移到指定的地址。SJMP rel是无条件转跳指令,执行时在PC加2后,把指令中补码形式的偏移量值加到PC上,并计算出转向目标地址。

18、转向的目标地址可以在这条指令前128字节到后127字节之间。 LJMP addr16执行这条指令时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向指定地址。转移的目标地址可以在64K程序存储器地址空间的任何地方,不影响任何标志。 JMP A+DPTR 指令的功能是把累加器中8位无符号数与数据指针DPTR中的16位数相加,将结果作为下条指令地址送入PC,利用这条指令能实10 现程序的散转。 2-13 试分析下列程序段,当程序执行后,位地址00H,01H中的内容将为何值?P1口的8条I/O线为何状态? CLR C ;CY=0 MOV A,#66H ;A=66H JC LOOP1

19、CPL C ;CY=1 SETB 01H ;20H.1=1 LOOP1: ORL C, ACC.0 ;CY=1 JB ACC.2,LOOP2 ; CLR 00H LOOP2: MOV P1,A ;P1=01100110B SJMP $ 20H.0=0 20H.1=1 P1=66H 2-14 查指令表,写出下列两条指令的机器码,并比较一下机器码中操作数排列次序的特点。 MOV 58H,80H 85(80)(58) 直接寻址字节送直接寻址字节: 汇编时源操作数在目标操作数之前。 MOV 58H,#80H 75(58)(80) 立即数送直接寻址字节: 汇编时目标操作数在原操作数之前。 11 第3章汇

20、编语言程序设计基础 习题参考答案 3-1 什么是单片机的程序设计语言。 答:单片机的程序设计语言是指计算机能理解和执行的语言,人与CPU、MCU交流的语言。MCS-51系列单片机的程序设计语言,按照语言的结构及其功能可以分为三种:机器语言、汇编语言、高级语言。 3-2 单片机的程序设计包括哪几个步骤。 答:程序设计步骤如下: 分析问题。即仔细分析任务书中要实现的功能和性能指标。 确定算法。即找到解决问题思路、方法。 分配内存单元。即确定数据结构。这一步往往与算法同时考虑。 根据算法和数据结构,画出程序流程图。 根据流程图编写汇编语言源程序。编辑录入,保存为*.ASM文件。 汇编。排除语法错误。

21、 调试。找出错误并更正,再调试,直至通过。 编写相关说明文档。 3-3 画出单片机的三种基本程序结构。 答: A B 是 条件成立吗? 否 条件成立吗? 是 否 A B A 顺序结构流程图 分支结构流程图 循环结构流程图 3-4 单片机的分支结构程序指令有哪几条? 12 答:分支结构程序指令有JB、JNB、JC、JNC、JZ、JNZ、CJNE、JBC 3-5 什么是单片机的程序嵌套?生活中有哪些现象与单片机的嵌套类似? 答:一个程序中还会调用别的程序,这称为程序嵌套。 生活例子:在学习,有电话了,去接电话,水开了,放下电话去关掉电水壶,接着打电话,打完电话,接着学习。 3-6 能否从一个子程序

22、内部使用转移指令直接跳转到另一个子程序执行? 答:可以,为了保证正确地从子程序2返回子程序1,再从1返回主程序,每次调用子程序时必须将下条指令地址保存起来,返回时按后进先出原则依次取出旧PC值。 3-7 能否使用转移指令从主程序跳到子程序? 答:不可以,当主程序需要执行某子程序的功能时,只需执行一条调用指令。而并非使用转移指令 3-8 能否使用转移指令从子程序跳到主程序? 答:不可以,子程序的最后一条指令应该是返回指令RET或RETI,以确保子程序能够正确返回主程序。执行RET指令时单片机将原来存在堆栈中的断点地址弹出给PC,保证子程序返回主程序中调用子程序的地方继续执行主程序。 子程序从子程

23、序的标号开始,到RET或RETI指令结束。 RET指令是一般子程序的返回指令。 RETI指令是中断服务子程序的返回指令。 3-9已知程序执行前有A=02H,SP=42H,=FFH,(42H)=FFH。下述程序执行后: POP POP DPH DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,A+DPTR PUSH A MOV A,B INC A 13 MOVC A,A+DPTR PUSH A RET ORG DB 3000H 10H,80H,30H,80H,50H,80H 请问:A=,SP=,=,=,PC=。 答:A=80H , SP=40H , (51H)=50

24、H , (52H)=80H , PC=8050H 3-10计算下面子程序中指令的偏移量和程序执行的时间。 MOV R3,#15H ;1个机器周期 DL1:MOV R4,#255 DL2:MOV P1,R3 DJNZ R4,DL2 DJNZ R3,DL1 RET ;1个机器周期 ;2个机器周期 ;2个机器周期 ;2个机器周期 ;2个机器周期 答:由于25512)151215348us 3-11 子程序的规范化设计包括那几个部分? 答:子程序的规范化设计包括: 子程序名称。给子程序起名字,起名的原则是子程序名能够反映子程序功能,该名字就是子程序的入口地址标识符。 子程序功能,对子程序的功能给予简要

25、的描述。 入口参数,子程序所要运算或处理的数据,在调用子程序之前,主程序要先准备好入口参数。 出口参数,子程序运算或处理的结果,子程序结束之前,最终结果存放在约定的RAM单元,供主程序取用。 资源占用情况,指出该子程序运行时所使用的片内工作寄存器、SFR、片内RAM单元及片外RAM单元,以便在主程序调用该子程序之前,考虑将这些资源中的哪些字节保护入栈。 3-12 在片内RAM地址40H到4FH的存储单元中存有16个无符号数,找出其中14 的最大值,放入50H单元,请用“循环结构”和“分支结构”编程。 答:流程图: 源程序: ORG 0000H LJMP MAIN ORG 0100H MAIN:

26、 MOV R2,#0FH MOV R0,#40H MOV A,R0 SUB: INC R0 结束 Y 开始 初始化: R2=15赋判断次数,R0指针指向40H单元 指针加1 B R0+1 判断AB? N A 中放大值 Y N R2-15=0? A 50H 15 MOV B,R0 CJNE A,B,NEXT NEXT: JC NEXT1 DJNZ R2,SUB JMP LAST NEXT1: MOV A,B DJNZ R2,SUB JMP LAST LAST: MOV 50H,A SJMP $ 3-13 将片内若干个RAM单元的内容复制到片外RAM单元,请用“主程序”调用“子程序”编程,要求子程

27、序入口参数为:R0存放片内RAM起始地址,DPTR存放片外RAM起始地址,R1存放字节数。请分别编写主程序和子程序。 答:流程图 主程序 子程序 返回 结束 初始化常数 R040H R0单元送DPTR 开始 开始 DPTR0200H R110H 指针加1 调用复制子程序 R1-1=0? 16 源程序: ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R1,#10H MOV R0,#40H MOV DPTR,#0000H LCALL COPY SJMP $ COPY: NEXT: MOV A,R0 MOVX DPTR,A INC R0 INC DPL DJNZ R

28、1,NEXT RET 3-14若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令如下: 2000H LCALL LABEL 后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL 直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么? 答:1)SP=SP+1=61H SP=SP+1=62H 2)PC=3456H 3)可以 4)2KB2048 Byte (61H)=PC的低字节=03H (62H)=PC的高字节=20H 17 第4章 中断系统 习题参考答案 4-1外部中断1所对应的中断入口地址为H。 答

29、:0013H 4-2下列说法错误的是: A、 各中断发出的中断请求信号,都会标记在MCS51系统的IE寄存器中。 B、 各中断发出的中断请求信号,都会标记在MCS51系统的TMOD寄存器中。 C、 各中断发出的中断请求信号,都会标记在MCS51系统的IP寄存器中。 D、 各中断发出的中断请求信号,都会标记在MCS51系统的TCON与SCON寄存器中。 答:ABC 4-3 中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是: A、 当前正在执行高优先级中断处理 B、 当前正在执行RETI指令 C、 当前指令是DIV指令,且正处于取指令的机器周期 D、 当前指令是MOV 答:D

30、 4-4 8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送,使程序执行转向 中的中断地址区。 答:PC、PC、程序存储器 4-5 编写出外部中断1为跳沿触发的中断初始化程序。 答:SETB IT1 SETB EX1 SETB EA A,R3 4-6 在MCS51中,需要外加电路实现中断撤除的是: 18 A、定时中断 B、脉冲方式的外部中断 D、电平方式的外部中断 C、外部串行中断 答:D 4-7 下列说法正确的是: A、 同一级别的中断请求按时间的先后顺序响应。 B、 同一时间同一级别的多中断请求,将

31、形成阻塞,系统无法响应。 C、 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。 D、 同级中断不能嵌套。 答:ACD 4-8中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别? 答:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断 4-9简述中断、中断源、中断源的优先级及中断嵌套的含义。 答: 当CPU正在处理某项事件的时,如果外界或内部发生了紧急情况,要求CPU暂停正在处理的工作转而去处理这个紧急情况,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。 向CPU提出中断请求的源称为中断源。

32、 当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU在一个时刻只能响应并处理中断优先高的请求。 在实际应用系统中,当CPU正在处理某个中断源,即正在执行中断服务程序时,会出现优先级更高的中断源申请中断。为了使更紧急的级别高的中断源及时得到服务,需要暂时中断当前正在执行的级别较低的中断服务程序,去处理级别更高的中断源,待处理完以后,再返回到被中断了的中断服务程序继续执行,但级别相同或级别低的中断源不能中断级别高的中断服务,这就是所谓的中断嵌套。 4-10 MCS-51单片机能提供几个中断源?几个中断优先级?各个中断的源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?

33、答: MCS-51单片机能提供五个中断源,两个中断优先级。中断优先级是由片内的中断优先级寄存器IP控制的。 19 PS:串行口中断优先级控制位。PS=1,串行口定义为高优先级中断源;PS=0,串行口定义为低优先级中断源。 PT1:T1中断优先级控制位。PT1=1,定时器/计数器1定义为高优先级中断源;PT1=0,定时器/计数器1定义为低优先级中断源。 PX1:外部中断1中断优先级控制位。PX1=1,外中断1定义为高优先级中断源;PX1=0,外中断1定义为低优先级中断源。 PT0:定时器/计数器0中断优先级控制位,功能同PT1。 PX0:外部中断0中断优先级控制位,功能同PX1。 在同一优先级中

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

35、外中断1为负边沿触发方式;如果IT1为0,则外中断1为电平触发方式。采用电平触发时,输入到INT1的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使电平变高,否则将会再次产生中断。 4-13 在MCS-51单片机的应用系统中,如果有多个外部中断源,怎样进行处理? 答:当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU在一个时刻只能响应并处理一个中断请求,为此,要进行排队。排队的方式有: 20 按优先级排队。 循环轮流排队。MCS-51单片机优先级比较简单,只有两级,可以通过优先级控制寄存器设置不同的优先级。当优先级相同时,约定有5个中断源优先级顺序由高到低

36、分别为:外部中断0、定时器/计数器0溢出、外部中断1、定时器/计数器1溢出、串行口中断。 4-14 MCS-51有哪几种扩展外部中断源的方法?各有什么特点? 答:1) 利用定时器作为外部中断使用 特点:把MCS-51的两个定时器/计数器选择为计数器方式,每当P3.4或P3.5引脚上发生负跳变时,T0和T1的计数器加1。可以把P3.4和P3.5引脚作为外部中断请求输入线,而定时器的溢出中断作为外部中断请求标志。 2)采用中断和查询相结合的方法扩充外部中断源 特点:这种方法是把系统中多个外部中断源经过与门连接到一个外部中断输入端,并同时还接到一个I/O口,中断请求由硬件电路产生,而中断源的识别由程

37、序查询来处理,查询顺序决定了中断源的优先级。 4-15 MCS-51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟对外部 中断请求的响应? 答:响应外部中断的典型时间是至少需要3个完整的机器周期。 1、外部中断INT0和INT1的电平在每个机器周期的S5P2时被采样并锁存到IE0和IE1中,这个置入到IE0和IE1的状态在下一个机器周期才被其内部的查询电路查询,未产生了一个中断请求。 2、没有满足响应的条件,CPU没有响应中断。 3、没有由硬件生成一条长调用指令转到相应的服务程序入口。 21 第五章 定时器/计数器及应用 习题参考答案 1. 8051单片机内设有几个可编程的定时

38、器/计数器?它们可以有4种工作方式,如何选择和设定?各有什么特点? 答:MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定时器T1 M1 M0:定时器/计数器四种工作方式选择 M1 M0 0 0 0 1 1 0 1 1 方 式 0 1 2 3 13位定时器/计数器 16位定时器/计数器 自动装入时间常数的8位定时器/计数器 对T0分为两个8位独立计数器;对T1置方式3时停止工作 特点 2. 如果采用晶振的频率为3MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少? 答:因为机器周期Tcy=1212=4(ms), fOSC3106所以定时器/计数器工作方式

39、0下,其最大定时时间为 TMAX=213TC=213410-6=8.192(ms); 同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1024ms。 3. 8051单片机内的定时/计数器T0、T1工作在模式3时,有何不同? 答:方式3对定时器T0和定时器T1是不相同的。若T1设置为方式3,则停止工作。方式3只适用于T0。当T0设置为方式3时,将使TL0和TH0成为两个相互独立的8位计数器, TL0利用了T0本身的一些控制方式,它的操作与方式0和方式1类似。而TH0被规定为用作定时器功能,对机器周期计数,并借用了T1的控制位TR1和TF1。在这种情况下TH0控制了

40、T1的中断。 22 4. 定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关? 答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。 5. 定时/计数器用作定时器时,对外界计数频率有何限制? 答:由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。 6. 定时器/计数器的工作方式2有什么特点?适用于什么应用场合? 答:方式2把TL0配置成一个可以自动恢复初值的8位计数器,TH0作为常数缓冲器,TH0由软件预置值。当TL0产生溢出时,一方面使溢出标志TF

41、0置1,同时把TH0中的8位数据重新装入TL0中。 方式2常用于定时控制,作串行口波特率发生器。 7. 定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少? 答:采用方式1可得到最大量程。最大脉宽=2us65536 8. THX与TLX(X=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新? 答:THX与TLX(X=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改,更改后的新值是立即刷新。但在读THX、TLX的值时,应该先读THX值,后读TLX,再读THX。若两次读得THX相同,则可确定读得的内容正确。若前后两次读得的THX有变化,再重复上述过程。 9. 定时器/计数器作为外部中断源使用时,需要如何初始化,以T0为例通过程序说明。 答: 初始化 MOV TMOD,#06H MOV TL0,#0FFH MOV TH0,#0FEH SETB TR0 SETB EA SETB ET0 23 10. 采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号