2020年 07月 09日 星期四
您的位置: 威廉希尔主页 > 单片机技术 >

51单片机基础知识试题题库(含答案)

来源:未知     作者:威廉希尔     发布时间:2020-07-09 12:37         

  51单片机基础知识试题题库(含答案)_IT认证_资格考试/认证_教育专区。第 1 章 习题参考答案 一、填空题: 1、当 MCS-51 引脚 ALE 有效时,表示从 P0 口稳定地送出了 低 8位 地址。 2、MCS-51 的堆栈是软件填写堆栈指针临时在 片

  第 1 章 习题参考答案 一、填空题: 1、当 MCS-51 引脚 ALE 有效时,表示从 P0 口稳定地送出了 低 8位 地址。 2、MCS-51 的堆栈是软件填写堆栈指针临时在 片 内 数据存储器内开辟的区域。 3、当使用 8751 且 EA=1,程序存储器地址小 于 1000H 时,访问的是片内 ROM。 4、MCS-51 系统中,当 PSEN 信号有效时,表示 CPU 要从 外 部程序 存储器读取信息。 5、MCS-51 有 4 组工作寄存器,它们的地址范围 是 00H~1FH 。 6、MCS-51 片内 20H~2FH 范围内的数据存储器,既可以字节寻址 又可以 位 寻址。 7、PSW 中 RS1 RS0=10 时,R2 的地址 为 12H 。 8、PSW 中 RS1 RS0=11 时,R2 的地址 为 1AH 。 9、单片机系统复位后,(PSW)=00H,因此片内 RAM 寄存区的当 前寄存器是第 0 组,8 个寄存器的单元地址 为 00H ~ 07H 。 10、PC 复位后为 0000H 。 11、一个机器周期= 12 个振荡周期= 6 个状态周 期。 12、PC 的内容为 将要执行的指令地址 。 13、在 MCS-51 单片机中,如果采用 6MHz 晶振,1 个机器周期 为 2us 。 14、内部 RAM 中,位地址为 30H 的位,该位所在字节的字节地址 为 26H 。 15、若 A 中的内容为 63H,那么,P 标志位的值为 0 。 16、8051 单片机复位后,R4 所对应的存储单元的地址 为 04H ,因上电时 PSW= 00H 。这时当前的工作寄存器区是第 0 工作 寄存器区。 17、使用 8031 芯片时,需将/EA 引脚接 低 电平,因 为其片内无 程序 存储器。 18、片内 RAM 低 128 个单元划分为哪 3 个主要部分: 工作 寄存器区 、 位 寻址区 和 用户 RAM 区 。 19、通过堆栈操作实现子程序调用,首先就要把 PC 的 内容入栈,以进行断点。 调用返回时,再进行出栈,把的断点送回 到 PC 。 20、MCS-51 单片机程序存储器的寻址范围是由程序计数器 PC 的位数所决定的,因为 MCS -51 的 PC 是 16 位的,因此其寻址的范围为 64 KB。 21、MCS-51 单片机片内 RAM 的寄存器共有 32 个单元,分 为 4 组寄存器,每组 8 个单元,以 R0~R7 作为寄存器名称。 22、但单片机的型号为 8031/8032 时,其芯片引线 EA 一定要 接 低 电平。 二、选择题: 1、当 MCS-51 复位时,下面说法正确的是( A )。 A、 PC=0000H B、 SP=00H C、 SBUF=00H D、 P0=00H 2、PSW=18H 时,则当前工作寄存器是( D )。 A、 0 组 B、 1 组 C、 2组 D、 3 组 3、MCS-51 上电复位后,SP 的内容应是( B )。 A、 00H B、 07H C、 60H D、 70H 4、当 ALE 信号有效时,表示( B )。 A、 从 ROM 中读取数据 B、 从 P0 口可 靠地送出低 8 位地址 C、 从 P0 口送出数据 D、 从 RAM 中读取数据 5、MCS—51 单片机的 CPU 主要的组成部分为( A )。 A、运算器、控制器 B、加法 器、寄存器 C、运算器、加 D、运算 器、译码器 6、单片机上电复位后,PC 的内容和 SP 的内容为( B )。 A、0000H,00H B、0000H,07H C、0003H,07H D、 0800H,08H 7、单片机 8031 的 ALE 引脚是( B )。 A、输出高电平 B、输出矩形脉冲,频 率为 fosc 的 1/6 C、输出低电平 D、输出矩形脉冲,频 率为 fosc 的 1/2 8、访问外部存贮器或其它接口芯片时,作数据线 位地址 线的是( A )。 A、P0 口 B、P1 口 C、P2 口 D、P0 口 和 P2 口 9、PSW 中的 RS1 和 RS0 用来( A )。 A、选择工作寄存器区号 B、复位 C、选择定时 器 D、选择工作方式 10、上电复位后,PSW 的值为( D )。 A、1 B、07H C、FFH D、 0 11、单片机上电复位后,堆栈区的最大允许范围是( B ) 个单元。 A、64 B、 120 C、128 D、256 12、单片机上电复位后,堆栈区的最大允许范围是内部 RAM 的 ( D )。 A、00H—FFH B、00H—07H C、 07H—7FH D、08H—7FH 13、对于 8031 单片机,其内部 RAM( D )。 A、只能位寻址 B、只 能字节寻址 C、既可位寻址又可字节寻址 D、少部分能位寻址 14、8031 单片机若晶振频率为 fosc=12MHz,则一个机器周期等 于( C ) ?S。 A、1/12 B、1/ 2 C、 1 D、2 15、MCS—51 单片机的数据指针 DPTR 是一个 16 位的专用地址指 针寄存器,主要用来( B )。 A、存放指令 B、存放 16 位 地址,作间址寄存器使用 C、存放下一条指令地址 D、存放上一条指令地址 16、ALU 表示( D )。 A、累加器 B、程序状态字寄存器 C、 计数器 D、算术逻辑部件 17、单片机上电后或复位后,工作寄存器 R0 是在( A )。 A、0 区 00H 单元 B、0 区 01H 单元 C、0 区 09H 单元 D、SFR 18、单片机 8051 的 XTAL1 和 XTAL2 引脚是( D )引脚。 A、外接定时器 B、外接串行口 C、 外接中断 D、外接晶振 19、8051 单片机的 VSS(20)引脚是( B )引脚。 A.主电源+5V B.接地 C.备 用电源 D.访问片外存贮器 20、8051 单片机的 VCC(40)引脚是( A )引脚。 A.主电源+5V B.接地 C.备 用电源 D.访问片外存贮器 21、8051 单片机中,输入/输出引脚中用于专门的第二功能的引 脚是( D )。 A、P0 B、 P1 C、P2 D、P3 22、MCS—51 复位后,程序计数器 PC=( B )。即程序从 ( B )开始执行指令。 A、0001H B、0000H C、 0003H D、0023H 23、MCS—51 的专用寄存器 SFR 中的堆栈指针 SP 是一个特殊的 存贮区,用来( C ),它是按后进先出的原则存取数 据的。 A、存放运算中间结果 B、存放标志 位 C、暂存数据和地址 D、存放待调试的 程序 24、单片机的堆栈指针 SP 始终是( B )。 A、堆栈底 B、堆栈顶 C、堆 栈地址 D、堆栈中间 25、MCS—51 单片机复位后,专用寄存器 ACC 的状态是( C )。 A、0000H B、07H C、 00H D、0FFH 26、当程序状态字寄存器 PSW 状态字中 RS1 和 RS0 分别为 0 和 1 时,系统先用的工作寄存器组为( B )。 A、组 0 B、组 1 C、组 2 D、组 3 27、8051 单片机中,唯一一个用户可使用的 16 位寄存器是 ( D )。 A、PSW B、ACC C、 SP D、DPTR 28、8051 的程序计数器 PC 为 16 位计数器,其寻址范围是 ( D )。 A、8K B、16K C、 32K D、64K 29、单片机应用程序一般存放在( B )中。 A、RAM B、ROM C、 寄存器 D、CPU 三、判断题 1、当 MCS-51 上电复位时,堆栈指针 SP=00H。( × ) SP=07H 2、PC 存放的是当前正在执行的指令。( × ) 是将要执行 的下一条指令的地址 3、MCS-51 的特殊功能寄存器分布在 60H~80H 地址范围内。 ( × ) 80H~FFH 4、在 MCS-51 系统中,一个机器周期等于 1.5us。( × ) 若 晶振频率为 8MHz,才可能为 1.5us 5、8031 的 CPU 是由 RAM 和 EPROM 所组成。( × ) CPU 由运 算器和控制器组成 6、PC 可以看成使程序存储器的地址指针。( √ ) 7、判断以下有关 PC 和 DPTR 的结论是否正确? A、DPTR 是可以访问的,而 PC 不能访 问。 ( √ ) B、它们都是 16 位的存储器。 ( √ ) C、它们都有自动加“1”的功能。 ( × ) PC 有自动加“1”的功能,而 DPTR 的 加“1”则需通过指令 INC DPTR 来完成。 D、DPTR 可以分为两个 8 位的寄存器使用,但 PC 不能。( √ ) 8、程序计数器 PC 不能为用户编程时直接使用,因为它没有地址。 ( √) 9、内部 RAM 的位寻址区,只能供位寻址使用,而不能供字节寻 址使用。( × ) 位寻址区既可以供位寻址使用,又可以供 字节寻址使 用。 10、8031 共有 21 个特殊功能寄存器,它们的位都是可以用软件 设置的,因此,是可以进行位寻址的。( × ) 特殊功能寄 存器中其 单元地址能被 8 整除的才可以进行位寻址。 11、MCS—51 单片机是高档 16 位单片机。( × ) 12、MCS—51 的产品 8051 与 8031 的区别是:8031 片内无 ROM。 (√) 13、8051 的累加器 ACC 是一个 8 位的寄存器,简称为 A,用来存 一个操作数或中间结果。( √ ) 14、8051 的程序状态字寄存器 PSW 是一个 8 位的专用寄存器, 用于存程序运行中的各种状态信息。( √ ) 15、MCS—51 的数据存贮器在物理上和逻辑上都分为两个地址空 间:一个是片内的 256 字节的 RAM,另一个是片外最大可扩充 64K 字节的 RAM。( √ ) 16、单片机的复位有上电自动复位和按钮手动复位两种,当单片 机运行出错或进入死循环时,可按复位键重新启动。( √ ) 17、单片机的一个机器周期是指完成某一个操作所需的时 间,一般情况下,一个机器周期等于一个时钟周期组成。 (×) 18、单片机的指令周期是执行一条指令所需要的时间。一般由若 干个机器周期组成。( √ ) 19、单片机系统扩展时使用的锁存器,是用于锁存高 8 位地址。 (×) 20、MCS—51 单片机上电复位后,片内数据存储器的内容均为 00H。( × ) 21、MCS—51 单片机的数据存贮器是指外部存贮器。( × ) 22、MCS—51 单片机的特殊功能寄存器集中布置在片内数据存贮 器的一个区域中。( √ ) 23、当 8051 单片机的晶振频率为 12MHZ 时,ALE 地址锁存信号 端的输出频率为 2MHZ 的方脉冲。( √ ) 四、问答题 1、80C51 ROM 空间中,0000H~0023H 有什么用途?用户应怎样合 理安排? 答:0000H~0023H 是 80C51 系统专用单元,其中 0000H 为 CPU 复 位地址,0003H~0023H 是 5 个中断源中断服务程序入口 地址, 用户不能安排其他内容。一般来讲,从 0030H 以后,用户可 安排。 2、80C51 如何确定和改变当前工作寄存器区? 答:80C51 是根据程序状态字寄存器 PSW 中工作寄存器区选择控 制位 RS1、RS0(PSW.4、PSW.3)来确定和改变当前工作寄存器 区: RS1、RS0=00——0 区 (00H~07H) RS1、RS0=01——1 区 (08H~0FH) RS1、RS0=10——2 区 (10H~17H) RS1、RS0=11——3 区 (18H~1FH) 3、简述读外 ROM 和读写外 RAM 用到的控制信号。 答:读外 ROM 的控制线 条: ①ALE:控制锁存低 8 位地址信号。 ②PSEN:控制外 ROM 输出。 ③EA:确定读外 ROM。 读写外 RAM 控制信号分别为: ①RD:控制外 RAM 输出。 ②WR:控制外 RAM 输入。 第 2 章 习题参考答案 一、填空题 1、指令格式是由 操作码 和 操作数 所 组成,也可能仅由 操作码 组成。 2、若用传送指令访问 MCS-51 的程序存储器,它的操作码助记符 应为 MOVC 。 3、若用传送指令访问 MCS-51 的片内数据存储器,它的操作码助 记符应为 MOV 。 4、若访问 MCS-51 的片外数据存储器,它的操作码助记符应 为 MOVX 。 5、累加器(A)=80H,执行完指令 ADD A,#83H 后,进位位 C= 1 。 6、执行 ANL A,#0FH 指令后,累加器 A 的高 4 位 = 0000 。 7、JZ rel 的操作码地址为 1000H,rel=20H,它的转移目的地 址为 1022H 。 8、JBC 00H,rel 操作码的地址为 2000H,rel=70H,它的转 移目的地址为 2073H 。 9、累加器(A)=7EH,(20H)= #04H,MCS-51 执行完 ADD A, 20H 指令后 PSW.0= 0 。 10、MOV PSW,#10H 是将 MCS-51 的工作寄存器置为 第 2 组。 11、指令 LCALL 37B0H,首地址在 2000H,所完成的操作 是 2003H 入栈, 37B0H →PC。 12、MOVX A,@DPTR 源操作数寻址方式为 寄存器 间接寻址 。 13、ORL A,#0F0H 是将 A 的高 4 1,而低 4 位保持 不 变。 14、SJMP rel 的指令操作码地址为 0050H,rel=65H,那么它 的转移目标地址为 00B7H 。 15、设 DPTR=2000H,(A)=80H,则 MOVC A,@A+DPTR 的操作 数的实际地址为 2080H 。 16、MOV C,20H 源寻址方式为 位 寻址。 17、在直接寻址方式中,只能使用 8 位二进制数作 为直接地址,因此其寻址对象只限于 片内 RAM 。 18、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器 的内容不是操作数,而是操作数的 地址 。 19、在变址寻址方式中,以 A 作变址寄存器, 以 PC 或 DPTR 作 基址寄存器。 20、假定累加器 A 中的内容为 30H,执行指令 1000H:MOVC A,@A+PC 后,把程序存储器 1031H 单元的内 容送入累加器 A 中。 21、MOVX A,@DPTR 源操作数寻址方式为 寄存器间接寻 址。 22、下列程序段的功能: 交换 A、B 的内容。 PUSH ACC PUSH B POP ACC POP B 23、假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令: PUSH ACC PUSH B 后,SP 的内容为 62H ,61H 单元的内容 为 30H ,62H 单元的内容 为 70H 。 24、假定(SP)=62H,(61H)=30H,(62H)=70H,执行下列指 令: POP DPH POP DPL 后,DPTR 的内容为 7030H ,SP 的内容 为 60H 。 25、假定(A)=85H,(R0)=20H,(20H)=0AFH。执行指令: ADD A,@R0 后,累加器 A 的内容为 34H ,CY 的内容 为1 ,AC 的内容为 1 ,OV 的内容 为 1 。 26、假定(A)=85H,(20H)=0FFH,(CY)=1,执行指令: ADDC A,20H 后,累加器 A 的内容为 85H ,CY 的内容 为1 ,AC 的内容为 1 ,OV 的内容 为 0 。 27、累加器 A 中存放着一个其值小于或等于 127 的 8 位无符号数, CY 清“0”后执行 RLC A 指令,则 A 中数变为原来的 2 倍。 28、ORG 2000H LCALL 4000H ORG 4000H ADD A,R2 执行完 LCALL 指令后, PC= 4000H 。 29、假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H, (40H)=00H。执行指令: INC A INC R3 INC 30H INC @R0 后,累加器 A 的内容为 00H ,R3 的内容为 10H ,30H 的内 容为 0F1H ,40H 的内容为 01H 。 30、假定(A)=56,(R5)=67。执行指令: ADD A,R5 DA A 后,累加器 A 的内容为 00100011B ,CY 的内容为 1 。 31、假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H, (40H)=0FFH。执行指令: DEC A DEC R7 DEC 30H DEC @R1 后,累加器 A 的内容为 0EH ,R7 的内容为 18H ,30H 的内 容为 0FFH ,40H 的内容为 0FEH 。 32、假定(A)=50H,(B)=0A0H。执行指令: MUL AB 后,寄存器 B 的内容为 32H ,累加器 A 的内容为 00H ,CY 的内容为 0 ,OV 的 内 容为 1 。 33、假定(A)=0FBH,(B)=12H。执行指令: DIV AB 后,累加器 A 的内容为 0DH ,寄存器 B 的内容为 11H ,CY 的内容为 0 ,OV 的 内容为 0 。 34、假定(A)=0C5H,执行指令: SWAP A 后,累加器 A 的内容为 5CH 。 35、假定 addr11=B,标号 qaz 的地址为 1030H。执行指令: qaz:AJMP addr11 后,程序转移到地址 1100H 去执行。 36、假定 A=83H,(R0)=17H,(17H)=34H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 后,A 的内容为 0C8H 。 37、若单片机使用频率为 6MHz 的晶振,那么时钟周期为 0.334us ,机器周期为 2us 。 38、设 SP=60H,片内 RAM 的(30H)=24H,(31H)=10H,在下 列程序段注释中填写执行结果。 PUSH 30H ;SP= 61H ,(SP) = 24H PUSH 31H ;SP= 62H ,(SP) = 10H POP DPL ;SP= 61H ,DPL= 10H POP DPH ;SP= 60H ,DPH= 24H MOV A,#00H MOVX @DPTR,A 最后执行结果是 将 0 传送到外部数据存储器的 2410H 单 元 。 39、在 R7 初值为 00H 的情况下,DJNZ R7,rel 指令将循环 执行 256 次。 40、欲使 P1 口的低 4 位输出 0 而高 4 位不变,则执行一 条 ANL P1,#0F0H 指令。 41、欲使 P1 口的高 4 位输出 1 而低 4 位不变,则执行一 条 ORL P1,#0F0H 指令。 42、DIV AB 指令执行后,OV 标志为 1,则此指令执行前(B) = 00H 。 43、MUL AB 指令执行后,OV 标志为 1,则(B)不为 00H 。 44、用一条指令 LJMP 1234H 可以取代下 列 4 条指令: MOV DPTR,#1234H PUSH DPL PUSH DPH RET 45、要访问特殊功能寄存器,可以采用的寻址方式是 直 接寻址 、 位寻 址 和 寄存器寻址 。 46、要访问片外 RAM,应采用的寻址方式是 寄存器间 接寻址 。 47、已知 SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26H) =56H。问此时执行“RET” 指令后,SP= 23H , PC= 3412H 。 第 3 章 习题参考答案 一、填空题 1、MCS-51 有 5 个中断源,2 个中断优先级,优先级由软件填写 特殊功能寄存器 IP 加以选择。 2、外中断请求标志位是 IE0 和 IE1 。 3、 RETI 指令以及任何访问 IE 和 IP 寄存 器的指令执行过 后,CPU 不能马上响应中断。 4、8051 单片机响应中断后,产生长调用指令 LCALL,执行该指 令的过程包括:首先把 PC 的内容压入堆栈,以进行断点,然后把长调用指令的 16 位地址送 PC ,使程序执 行转向 程序存储器 中的中断地址区。 二、选择题: 1、在中断服务程序中,至少应有一条( D )。 A、 传送指令 B、 转移指令 C、 加法指 令 D、 中断返回指令 2、要使 MCS-51 能够响应定时器 T1 中断,串行接口中断,它的 中断允许寄存器 IE 的内容应是( A )。 A、 98H B、 84H C、 42H D、 22H 3、MCS-51 响应中断时,下列哪种操作不会发生( A ) A、 现场 B、 PC C、找到中断 入口 D、 PC 转入中断入口 4、MCS-51 中断源有( A ) A、 5 个 B、 2 个 C、 3 个 D、 6个 5、计算机在使用中断方式与交换信息时,现场的工作 应该是( C ) A、由 CPU 自动完成 B、 在中断响应中完成 C、 应由中断服务程序完成 D、 在 主程序中完成 6、MCS-51 的中断允许触发器内容为 83H,CPU 将响应的中断请 求是( D )。 A、 INT0,INT1 B、 T0,T1 C、 T1, 串行接口 D、 INT0,T0 7、若 MCS-51 中断源都编程为同级,当它们同时申请中断时,CPU 首先响应( B )。 A、 INT1 B、 INT0 C、 T1 D、 T0 8、当 CPU 响应串行接口中断时,程序应转到( C )。 A、 0003H B、 0013H C、 0023H D、 0033H 9、执行 MOV IE,#03H 后,MCS-51 将响应的中断是( D )。 A、 1 个 B、 2 个 C、 3 个 D、 0 个 10、外部中断 1 固定对应的中断入口地址为( C )。 A、 0003H B、 000BH C、 0013H D、 001BH 11、MCS-51 单片机可分为两个中断优先级别,各中断源的优先 级别设定是利用寄存器( B )。 A、 IE B、 IP C、 TCON D、 SCON 12、( C )非单片机系统响应中断的必要条件。 A、 TCON 或 SCON 寄存器内的有关中断标志位为 1 B、 IE 中断允许寄存器内的有关中断允许 1 C、 IP 中断优先级寄存器内的有关 1 D、 当前一条指令执行完 13、各中断源发出的中断请求信号,都会标记在 MCS-51 系统中 的( B )。 A、 TMOD B、 TCON/SCON C、 IE D、 IP 14、执行返回指令时,返回的断点是( C ) A、 调用指令的首地址 B、 调用指令的末地址 C、 调用指令下一条指令的首地址 D、 返回指令 的末地址 15、中断查询确认后,在下列各种 8051 单片机运行情况中,能 立即进行响应的是:( D ) A、 当前正在执行高优先级中断处理 B、 当前正在执行 RETI 指令 C、 当前指令是 DIV 指令,且正处于取指令的机器周期 D、当前指令是 MOV A,R3 16、当 CPU 响应外部中断 0 INT0 的中断请求后,程序计数器 PC 的内容是( A )。 A、0003H B、000BH C、 0013H D、001BH 17、当 CPU 响应外部中断 1 INT1 的中断请求后,程序计数器 PC 的内容是( C )。 A、0003H B、000BH C、 0013H D、001BH 18、MCS—51 单片机在同一级别里除串行口外,级别最低的中断 源是( C )。 A、外部中断 1 B、定时器 T0 C、 定时器 T1 D、串行口 19、MCS—51 单片机在同一级别里除 INT0 外,级别最高的中断 源是( B )。 A、外部中断 1 B、定时器 T0 C、 定时器 T1 D、外部中断 0 20、当外部中断 0 发出中断请求后,中断响应的条件是 ( C )。 A、SETB ET0 B、SETB EX0 C、MOV IE, #81H D、MOV IE,#61H 21、当定时器 T0 发出中断请求后,中断响应的条件是( C )。 A、SETB ET0 B、SETB EX0 C、MOV IE, #82H D、MOV IE,#61H 22、外部中断 0 的入口地址是( A )。 A、0003H B、 000BH C、0013H D、 001BH 24、MCS—51 单片机 CPU 开中断的指令是 ( A )。 A、SETB EA B、SETB ES C、 CLR EA D、SETB EX0 25、MCS—51 单片机外部中断 0 开中断的指令是 (B) A、SETB ETO B、SETB EXO C、 CLR ETO D、SETB ET1 26、MCS—51 单片机外部中断 1 和外部中断 0 的触发方式选择位 是( C )。 A、TR1 和 TR0 B、IE1 和 IE0 C、IT1 和 IT0 D、TF1 和 TF0 27、8031 单片机共有 5 个中断入口,在同一级别里,5 个中断源 同时发出中断请求时,程序计数器 PC 的内容变为( B )。 A、000BH B、 0003H C、0013H D、 001BH 28、MCS—51 单片机响应中断的过程是( D )。 A、断点 PC 自动压栈,对应中断矢量地址装入 PC B、关中断,程序转到中断服务程序 C、断点压栈,PC 指向中断服务程序地址 D、断点 PC 自动压栈,对应中断矢量地址装入 PC,程序转到该 矢量地址,再转至中断服务程序首地址 29、执行中断处理程序最后一句指令 RETI 后,( D )。 A、程序返回到 ACALL 的下一句 B、程序返回 到 LCALL 的下一句 C、程序返回到主程序开始处 D、程 序返回到响应中断时的下一句 30、MCS—51 单片机响应中断矢量地址是( C )。 A、中断服务程序的首句地址 B、中 断服务程序的出口地址 C、中断服务程序的入口地址 D、主 程序等待中断指令的地址 31、一主程序中有一句 LP:SJMP LP,功能指令为等待中断,当 发生中断且中断返回后,( D )。 A、返回到主程序开始处 B、返回到该句 的下一条指令处 C、返回到该句的上一条指令处 D、返回到该句 32、一中断子程序的最后一句不是 RETI 而是 RET,中断返回后 ( A )。 A、返回到主程序中 ACALL 或 LCALL 的下一句 B、返回到主程 序中响应中断时一句的下一句 C、返回到主程序开始处 D、返回到 0000H 处 33、外部中断源 1 的向量地址为( C )。 A、0003H B、000BH C、 0013H D、002BH 34、对定时器控制寄存器 TCON 中的 IT1 和 IT0 位清 0 后,则外 部中断请求信号方式为( A )。 A、低电平有效 B、高电平有效 C、脉 冲上跳沿有效 D、脉冲后沿负跳有效 三、多项选择题 1、MCS—51 单片机控制寄存器 TCON 的作用是( ABCE )等。 A、定时/计数器的启、停控制 B、定时器 的溢出标志 C、外部中断请求标志 D、确定中断优先级 E、选择外部中断触发方式 2、8031 单片机上电复位后,内容为 0 的寄存器是 ( ABCDE )。 A、R0,R1 B、R7 C、 ACC D、B E、TMOD、TCON 3、MCS—51 的中断系统的相关控制有( ACDE )。 A、特殊功能寄存器 TCON、SCON B、模式控制 寄存器 TMOD C、中断允许控制寄存器 IE D、中断优先级寄存 器 IP E、中断顺序查询逻辑 4、CPU 响应中断的条件包括( ACDE )。 A、现行指令运行结束 B、现 场 C、有中断请求 D、申请中断的中断源中断允许位为 1 E、已 CPU 中断 5、MCS—51 的中断源是( ABCDE )。 A、外部输入中断源 0(P3.2) B、外部输入中 断源 1(P3.3) C、T0 的溢出中断源 D、串行口发送和/接收中断源 E、 T1 的溢出中断源 6、MCS—51 单片机外部中断源的中断请求方法可以是 ( BD )。 A、高电平触发 B、低电平触发 C、上 升沿触发 D、下降沿触发 E、一串脉冲头朝下的连续矩形波触发 7、下列哪些是 8051 单片机的中断矢量地址( ABDE )。 A、0003H B、000BH C、 0007H D、0013H E、001BH 8、 8051 单片机的 IE 寄存器的用途是( BCE )。 A、确定中断方式 B、确定 CPU 中断的开 放或 C、定时器中断的或 D、 定时器溢出标志 E、选择外部中断的或 9、下述条件中,能主机对中断的响应的条件是 ( ABC )。 A、一个同级或高一级的中断正在处理时 B、当前周期不是执行当前指令的最后一个周期 C、当前执行的指令是 RETI 指令或对 IE 或 IP 寄存器进行读/写 的指令 D、当前执行的指令是一长跳转指令 E、一个低级的中断正在处理时 四、判断题 1、MCS-51 的 5 个中断源优先级相同。 ( × ) 2、MCS-51 外部中断 0 的入口地址是 0003H。 ( √ ) 3、各中断发出的中断请求信号,都会标记在 MCS-51 系统的 IE 寄存器中。( × ) 4、各中断发出的中断请求信号,都会标记在 MCS-51 系统的 TMOD 寄存器中。( × ) 5、各中断发出的中断请求信号,都会标记在 MCS-51 系统的 IP 寄存器中。( × ) 6、各中断发出的中断请求信号,都会标记在 MCS-51 系统的 TCON 与 SCON 寄存器中。( √ ) 7、 同一级别的中断请求按时间的先后顺序响应。( √ ) 8、 同一时间同一级别的多中断请求,将形成阻塞,系统无法 响应。( × ) 9、 低优先级中断请求不能中断高优先级中断请求,但是高优 先级中断请求能中断低优先级中断请求。( √ ) 10、 同级中断不能嵌套。( √ ) 11、8051 单片机对最高优先权的中断响应是无条件的。 (× ) 12、中断初始化时,对中断控制器的状态设置,只可使用位操作 指令,而不能使用字节操作指令。( × ) 13、MCS—51 单片机系统复位后,中断请求标志 TCON 和 SCON 中 各位均为 0。( √ ) 14、MCS—51 单片机的中断允许寄存器的 IE 的作用是用来对各 中断源进行或屏蔽的控制。( √ ) 15、用户在编写中断服务程序应在中断入口矢量地址存放一条无 条件转移地址,以防止中断服务程序容纳不下。( √ ) 16、若要在执行当前中断程序时更高优先级中断,应用软件 关闭 CPU 中断,或屏蔽更高级中断源的中断,在中断返回时再开 放中断。( √ ) 17、如设外部中断 0 中断,应置中断允许寄存器 IE 的 EA 位和 EX0 位为 1。( √ ) 18、外部中断 0 中断的入口地址是 0003H。( √ ) 19、 8051 单片机允许 5 个中断源请求中断,都可以用软件来屏 蔽,即利用中断允许寄存器 IE 来控制中断的允许和。 (√ ) 五、问答题 1、 什么叫中断嵌套?中断嵌套有什么?中断嵌套与子程 序嵌套有什么区别? 答:高优先级中断“中断”正在执行的低优先级中断,这就是中 断嵌套。 中断嵌套只能高优先级“中断”低优先级,低优先级不 能“中断“高优先级,同一优先级之间也不能相互“中断”。 中断嵌套与子程序嵌套的区别: ①子程序嵌套是在程序中事先安排好的;中断嵌套是随机发生 的。 ②子程序嵌套无次序,中断嵌套只允许高优先级“中断”低 优先级。 2、 为什么一般情况下,在中断入口地址区间要设置一条跳转 指令,转移到中断服务程序的实际入口处? 答:由于 80C51 相邻两个中断入口地址间只有 8 字节的空间,8 个字节只能容纳一个有 3~8 条指令的极短程序。一般情况中中断 服务程序均大大超 出 8 个字节长度。因此,必须跳转到其他合 适的地址空间。 4、根据下列已知条件,试求中断开关状态。 ①IE=93H; ②IE=84H; ③I E=92H; ④IE=17H 解:①IE=93H=10010011B:INT0、T0、串行口开中断,其余关中 断; ②IE=84H=10000100B:INT1 开中断,其余关中断; ③IE=92H=10010010B:T0、串行口开中断,其余关中断; ④IE=17H=00010111B:关中断。 5、按下列要求设置 IP: ①INT1、串行口为高优先级,其余为低优先级; ②T1 为高优先级,其余为低优先级; ③T0、T1 为低优先级,其余为高优先级; ④串行口为低优先级,其余为高优先级。 解: ①INT1、串行口为高优先级,其余为低优先级:IP=00010100B; ②T1 为高优先级,其余为低优先级:IP=00001000B; ③T0、T1 为低优先级,其余为高优先级:IP=00010101B; ④串行口为低优先级,其余为高优先级:IP=00001111B。 6、根据下列已知条件,试求中断优先级状态。 ①IP=16H; ②IP=ECH; ③I P=03H; ④IP=1FH 解:①IP=16H =00010110B:INT1、T0、串行口为高优先级,其 余为低优先级; ②IP=ECH =11101100B:INT1、T1 为高优先级,其余为低优先级; ③IP=03H =00000011B:INT0、T0 为高优先级,其余为低优先级; ④IP=1FH =00011111B:全部为高优先级,相当于未设置优先级。 7、要求 80C51 五个中断源按下列优先顺序排列,判是否有可能 实现?若能,应如何设置中断源的中断优先级别?若不能,试述 理由。 ①T0、T1、INT0、INT1、串行口 ②串行口、INT0、T0、INT1、T1 ③INT0、T1、INT1、T0、串行口 ④INT0、INT1、串行口、T0、T1 ⑤串行口、T0、INT0、INT1、T1 ⑥INT0、INT1、T0、串行口、T1 解:①T0、T1、INT0、INT1、串行口:能。T0、T1 为高优先级, 其余为低优先级。 ②串行口、INT0、T0、INT1、T1:能。串行口为高优先级,其余 为低优先级。 ③INT0、T1、INT1、T0、串行口:不能。80C51 只有两个中断优 先级。当设置 INT0、T1 为高优先级时,INT1、T0、串行口 处于 同一低优先级,而 T0 的优先权在排在 INT1 之前,INT1 无法优 先 T0。 ④INT0、INT1、串行口、T0、T1:能。INT0、INT1、串行口为高 优先级,其余为低优先级。 ⑤串行口、T0、INT0、INT1、T1:不能。80C51 只有两个中断优 先级。当设置串行口为高优先级后,T0、INT0、INT1、T1 处于 同一低优先级,而 INT0 的优先权排在 T0 前面,T0 无法优先 INT0。 ⑥INT0、INT1、T0、串行口、T1:不能。80C51 只有两个中断优 先级。当设置 INT0、INT1 为高优先级后,T0、串行口、T1 处于 同一低优先级,而 T1 的优先权排在串行口前面,串行口无法优 先 T1。 8、试编写一段对中断系统初始化的程序,使之允许 INT0、INT1、 T0、串行接口中断,且使 T0 中断为高优先级中断。 解: MOV IE,#97H MOV IP,#02H 9、 若外部中断 1 为边沿触发方式,低优先级,在中断服 务程序将寄存器 B 的内容左循环一位,B 的初值设为 02H,按要 求补充完整主程序与中断服务程序。 ORG 0000H LJMP MAIN ORG 0013H LJMP WB ORG 0100H MAIN:SETB EA SETB EX1 CLR PX1 SETB IT1 #02H MOV B, WAIT:SJMP WB:MOV WAIT A,B RL MOV RETI A B,A 第 4 章 习题参考答案 一、填空题 1、当定时器 T0 工作在方式 3 时,要占用定时器 T1 的 TR1 和 T 2、在定时器 T0 工作方式 3 下,TH0 溢出时, TF1 标志将被硬件置 1 去 3、在定时器 T0 工作方式 3 下,欲使 TH0 停止工作,应执行一条 CLR 4、使用定时器/计数器 1 设置串行通信的波特率时,应把定时器/计数器 1 设定 ,即 自动重新加载 方式。 5、当计数器产生计数溢出时,把定时器/计数器的 TF0(TF1)“1”。对计 该位作为 中 断标志 位使用;在查询方式时,该位作 状态 6、在定时器工作方式 1 下,计数器的宽度为 16 位,如果系统晶振频率为 6MH 为 131.072ms ,若系统晶振频率为 12MHz,则最大定时时间 为 65.536ms 。 7、8051 单片机内部设有两个 16 位定时器/计数器,即 T0 和 T 8、T0 由两个 8 位特殊功能寄存器 TH0 和 TL0 由 TH1 和 TL1 组成。 9、定时时间与定时器的 工作方式 、 计数初值 及 10、MCS-51 的定时器/计数器作计数器时计数脉冲由外部信号通过引脚 P3. 11、MCS-51 的定时器/计数器 T0 的门控信号 GATE 设置为 1 时,只有 I 使 TR0 置 1 时,才能启动定时器/计数器 T0 工作。 12、当 T0 为方式 3 ,T1 为方式 2 的时候,8051 单片机的定时 器。 二、选择题 1、在下列寄存器中,与定时/计数控制无关的是( C ) A、 TCON B、 TMOD C、 SCON 2、在工作方式 0 下,计数器是由 TH 的全部 8 位和 TL 的 5 位组成,因此其计数 A、 1~8192 B、 0~8191 C、 0~819 3、如果以查询方式进行定时应用,则应用程序中的初始化内容应包括( A、 系统复位、设置工作方式、设置计数初值 B、 设置计数初值、设置中断方式、启动定时 C、 设置工作方式、设置计数初值、打开中断 D、 设置工作方式、设置计数初值、中断 4、与定时工作方式 1 和 0 比较,定时工作方式 2 不具备的特点是( B A、 计数溢出后能自动重新加载计数初值 B、 增加计数器位数 C、 提高定时精度 D、 适于循环定时和循环计数应用 5、要想测量 INT0 引脚上的一个正脉冲宽度,那么特殊功能寄存器 TMOD 的内 A、 09H B、 87H C、 00H 6、使用定时器 T1 时,有几种工作方式( C ) A、 1 种 B、 2 种 种 D、 4 种 7、8031 单片机的定时器 T1 用作定时方式时是( B )。 A、由内部时钟频率定时,一个时钟周期加 1 B、由内部时钟频率定时 1 C、由外部时钟频率定时,一个时钟周期加 1 D、由外部时钟频率定时 8、8031 单片机的定时器 T0 用作计数方式时是( C )。 A、由内部时钟频率定时,一个时钟周期加 1 B、由内部时钟频率定 1 C、由外部计数脉冲计数,下降沿加 1 D、由外部计数脉冲计数,一个 9、8031 单片机的定时器 T1 用作计数方式时计数脉冲是( A )。 A、外部计数脉冲由 T1(P3.5)输入 B、外部计数脉冲由内部时钟频 C、外部计数脉冲由 T0(P3.4)输入 D、由外部计数脉冲计数 10、8031 单片机的定时器 T0 用作定时方式时是( D )。 A、由内部时钟频率定时,一个时钟周期加 1 B、由外部计数脉冲计数,一个机器周期加 1 C、外部定时脉冲由 T0(P3.4)输时 D、由内部时钟频率计数,一个机器周期加 1 11、8031 单片机的机器周期为 2?s,则其晶振频率 fosc 为( C )MHz. A、1 B、2 6 D、12 12、用 8031 的定时器 T1 作定时方式,用模式 1,则工作方式控制字为( C A、01H B、05H C、 10H D、50H 13、用 8031 的定时器 T1 作计数方式,用模式 2,则工作方式控制字为( A A、60H B、02H C、06 20H 14、用 8031 的定时器 T1 作定时方式,用模式 1,则初始化编程为( C ) A、MOV TMOD,#01H B、MOV TMOD,#50H C、MOV TMOD,#1 15、用 8031 的定时器 T1 作定时方式,用模式 2,则工作方式控制字为( D A、60H B、02H 06H D、20H 16、用 8031 的定时器 T1 作定时方式,用模式 2,则初始化编程为( B ) A、MOV TMOD,#06H B、MOV TMOD,#20H C、MOV TMOD,#1 17、启动定时器 0 开始计数的指令是使 TCON 的( B )。 A、TF0 1 B、TR0 1 C、TR0 0 D、T 18、启动定时器 1 开始定时的指令是( D )。 A、CLR TR0 B、CLR TR 1 C、SETB TR0 D、SETB 19、使 8031 的定时器 T0 停止计数的指令是( A )。 A、CLR TR0 B、CLR TR1 C、SETB TR0 D、SETB T 20、使 8031 的定时器 T1 停止定时的指令是( B )。 A、CLR TR0 B、CLR TR1 C、SETB TR0 D、SETB T 21、使 8031 的定时器 T1 停止计数的指令是使 TCON 的( D )。 A、TF0 1 B、TR0 1 C、TR0 0 D、T 22、8031 的定时器 T0 作计数方式,用模式 1(16 位计数器)则应用指令( A、MOV TMOD ,#01H B、MOV TMOD ,10H C、MOV TMOD ,#05H D、MOV TCON ,#05 23、下列指令判断若定时器 T0 计满数就转 LP 的是( D )。 A、JB T0,LP B、JNB TF0,LP C、JNB TR0, LP D、JB 24、下列指令判断若定时器 T0 未计满数就原地等待的是( B )。 A、JB T0,$ B、JNB TF0,$ C、JNB TR0,$ D、JB 25、当 CPU 响应定时器 T1 的中断请求后,程序计数器 PC 的内容是( D ) A、0003H B、000BH C、0013H 26、用 8031 的定时器 T0 作计数方式,用模式 1(16 位),则工作方式控制字 A、01H B、02H C、04H 27、用 8031 的定时器 T0 作定时方式,用模式 2,则工作方式控制字为( B A、01H B、02H 04H D、05H 28、8031 的定时器 T0 作定时方式,用模式 1(16 位计数器)则应用指令( A、MOV TMOD ,#01H B、MOV TMOD ,01H C、MOV TMOD ,#05H D、MOV TCON ,#01 29、用定时器 T1 方式 1 计数,要求每计满 10 次产生溢出标志,则 TH1、TL1 的 A、FFH、F6H B、F6H、F6H C、F0H 、F0H 30、启动定时器 0 开始定时的指令是( C )。 A、CLR TR0 B、CLR TR1 C、SETB TR0 D、SETB T 31、MCS—51 单片机的两个定时器作定时器使用时 TMOD 的 D6 或 D2 应分别为( A、D6=0,D2=0 B、D6=1,D2= 0 C、D6=0,D2=1 32、MCS—51 单片机的 TMOD 模式控制寄存器是一个专用寄存器,用于控制 T1 其中 C/T 表示的是( C )。 A、门控位 B、操作模式控制位 C、功能选择 33、8031 单片机晶振频率 fosc=12MHz,则一个机器周期为( B )μS。 A、12 B、 1 2 D、3 34、MCS—51 单片机定时器溢出标志是( D )。 A、TR1 和 TR0 B、IE1 和 IE 0 C、IT1 和 35、用定时器 T1 方式 2 计数,要求每计满 100 次,向 CPU 发出中断请求,TH1 A、9CH B、20H 64H D、A0H 36、MCS—51 单片机定时器 T1 的溢出标志 TF1,若计满数产生溢出时,如不用 ( B )。 A、由硬件清零 B、由软件清零 C、由软件置 37、MCS—51 单片机定时器 T0 的溢出标志 TF0,若计满数产生溢出时,其值为 A、00H B、FFH C、1 D、计数值 38、MCS—51 单片机定时器 T0 的溢出标志 TF0,若计满数在 CPU 响应中断后( A、由硬件清零 B、由软件清零 C、A 和 B 都 39、8051 单片机计数初值的计算中,若设最大计数值为 M,对于模式 1 下的 M A、M=213=8192 B、M=28= 256 C、M=24=16 三、多项选择题 1、MCS—51 单片机内部设置有两个 16 位可编程的定时器/计数器,简称定时器 等均可通过程序来设置和改变。 A、工作方式 B、定时时间 C、量程 D、启 2、8051 单片机定时器 T0 作定时用,采用模式 1,编程时需有下列步骤( A A、TMOD 初始化 B、选择电平触发还是边沿触发 C、 D、启动定时器 E、串行计数是否溢出及转移 3、MCS—51 单片机中定时/计数器的工作模式有( ABCE )。 A、8 位自动重装计数器 B、13 位计数器 C、16 位计数 E、两个的 8 位计数器 4、用 8031 的定时器 T1 作定时方式,用模式 2,则初始化编程为( BD A、置 TMOD 为 05H B.置 TMOD 为 20H C.置 TMOD 为 02H D、置 TH0、TL0 相同初值,以后不须重新置数 E、置 TH0、TL0 相同初值,以后须重新置数 四、判断题 1、特殊功能寄存器 SCON,与定时器/计数器的控制无关。( √ ) 2、特殊功能寄存器 TCON,与定时器/计数器的控制无关。( × ) 3、特殊功能寄存器 IE,与定时器/计数器的控制无关。 ( × ) 4、特殊功能寄存器 TMOD,与定时器/计数器的控制无关。( × ) 5、在 MCS—51 单片机内部结构中,TMOD 为模式控制寄存器,主要用来控制定 6、在 MCS—51 单片机内部结构中,TCON 为控制寄存器,主要用来控制定时器 7、MCS—51 单片机的两个定时器的均有两种工作方式,即定时和计数工作方式 8、MCS—51 单片机的 TMOD 模式控制寄存器不能进行位寻址,只能用字节传送 作模式。( √ ) 9、MCS—51 单片机系统复位时,TMOD 模式控制寄存器为 00H。( √ ) 10、启动定时器 T0 工作,可使用 SETB TR0 启动。( √ ) 11、指令 JNB TF0,LP 的含义是:若定时器 T0 未计满数,就转 LP。( √ 12、 若置 8031 的定时器/计数器 T1 于定时模式,工作于方式 2,则工作方式 13、 若置 8031 的定时器/计数器 T1 于计数模式,工作于方式 1,则工作方式 14、当 8031 的定时器 T0 计满数变为 0 后,溢出标志位(TCON 的 TF0)也变为 五、解答题 1、按下列要求设置 TMOD。 ①T0 计数器、方式 1,运行与 INTO 有关;T1 定时器、方式 2,运行与 INT1 无 ②T0 定时器、方式 0,运行与 INTO 有关;T1 计数器、方式 2,运行与 INT1 有 ③T0 计数器、方式 2,运行与 INTO 无关;T1 计数器、方式 1,运行与 INT1 有 ④T0 定时器、方式 3,运行与 INTO 无关;T1 定时器、方式 2,运行与 INT1 无 解:①TMOD=00101101B=2DH; ②TMOD=11101000B=E8H ③TMOD=11010110B=D6H ④TMOD=00100011B=23H 2、已知 TMOD 值,试分析 TO、T1 工作状态。 ①TMOD=93H; ②TMOD=68H; ③TMOD=CBH; 解:①TMOD=93H=10010011B,T1 定时器,方式 1,运行与 INT1 有关; T0 定时器,方式 3,运 ②TMOD=68H=01101000B,T1 计数器,方式 2,运行与 INT1 无关; T0 定时器,方式 0,运 ③TMOD=CBH=11001011B;T1 计数器,方式 0,运行与 INT1 有关; T0 定时器,方式 3,运 ④TMOD=52H=01010010B;T1 定时器,方式 1,运行与 INT1 无关; T0 定时器,方式 2,运 3、试归纳小结 80C51 定时/计数器 4 种工作方式的特点。 答:①方式 0 是 13 位计数器,最大计数值 213=8192,计数范围比方式 1 小,计 错,与方 式 1 比较无任何优点。 ②方式 1 是 16 位计数器,最大计数值为 216=65536,计数范围大,适用于定时 ③方式 2 是 8 位计数器,最大计数值是 28=256,缺点是计数范围小,优点是定 重复定时, 而定时范围还不大的应用场合。 ④方式 3 是 8 位计数器,仅适用于 T0,T1 无方式 3。T0 方式 3 时,被拆成两个 TL0 使用 T0 原有的控制寄存 器组成一个 8 位的定时/计数器;TH0 借用 T1 的 计数,组成另一个 8 位定时器。T0 方式 3 时 T1 方式 2 作串行口波特率 发生器 4、如何判断 T0、T1 定时/计数溢出? 答:判断 T0、T1 定时/计数溢出的方法有两种: ① 查询方式。不断查询 T0、T1 溢出标志 TF0、TF1:TF0 或 TF1=0 时 出。 ② 中断方式。T0、T1 定时/计数溢出时,在 CPU、T0、T1 中断前提下能 第 5 章 习题参考答案 一、填空题 1、在串行通信中,有数据传送方向为 单工 、 半 双工 和 全双工 三种方式。 2、要串口为 10 位 UART,工作方式应选为 方式 1 。 3、用串口扩并口时,串行接口工作方式应选为方 式0 。 4、计算机的数据传送有两种方式,即 并行数据传 送 和 串行数据传 送 方式,其中具有 成本低特点的是 串行数据传送 方式。 5、串行通信按同步方式可分为 异步 通信 和 同步 通 信。 6、异步串行数据通信的帧格式由 起 始 位、 数据 位、 奇偶校验 位 和 停止 位组成。 7、串行接口电的主要功能是 串行 化和 反 串行 化,把 帧中格式信息滤除而保留数据位的操作 是 反串行 化。 8、专用寄存器“串行数据缓冲寄存器”,实际上是 发送 缓冲 寄存器和 接 收缓冲 寄存器的总称。 9、MCS-51 的串行口在工作方式 0 下,是把串行口作 为 同步移位 寄存器来使用。这样,在串入 并 出移位寄存器的配合下,就可以把串行口作为 并行输 出 口使用,在并入串出移位寄存器的配合下,就可以把 串行 口作为 并行输入 口使用。 10、在串行通信中,收发双方对波特率的设定应该是 约 定 的。 11、使用定时器/计数器设置串行通信的波特率时,应把定时器/ 计数器 1 设定作方式 2 , 即 自动重新加载 方式。 12、某 8031 串行口,传送数据的帧格式为 1 个起始位(0),7 个数据位,1 个偶校验位和 1 个停止位(1)组成。当该串行口 每分钟传送 1800 个字符时,则波特率应 为 300b/s 。 解答:串口每秒钟传送的字符为:1800/60=30 个字符/秒 所以波特率为:30 个字符/秒×10 位/个字符 =300b/s 13、8051 单片机的串行接口由发送缓冲积存器 SBUF、 接收缓冲寄存器 SBUF 、 串行接口控制寄存器 SCON、定时器 T1 构成的 波特 率发生器 等部件组成。 14、当向 SBUF 发“写”命令时,即执行 MOV SBUF, A 指令,即向发送缓冲寄存器 SBUF 装载并开始 由 TXD 引脚向外发送一帧数据,发送完后便使发送 中断标志位 TI 置 “1”。 15、在满足串行接口接收中断标志位 RI=0 的条 件下,置允许接收位 REN=1 , 就会接收一帧数据进入移位寄存器,并装载到接收 SBUF 中,同 时使 RI=1,当发读 SBUF 命令时,即指令 MOV A, SBUF 指令,便由接收缓冲寄存器 SBUF 取出信息同过 8051 内部总线、若异步通信接口按方式 3 传送,已知其每分钟传送 3600 个 字符,其波特率为 660b/s 。 17、 8051 中 SCON 的 SM2 是多机通信控制位,主要用于方 式 2 和方式 3 ,若置 SM2=1,则允许多机通信。 18、TB8 是发送数据的第 9 位,在方式 2 或方式 3 中,根 据发送数据的需要由软件置位或复位。它在许多通信协议中可用 作 奇偶校验位 ,在多机通信中作为发 送 地址帧或数据帧 的标志位。 19、 RB8 是接收数据的第 9 位,在方式 2 或方式 3 中,它 或是约定的 奇偶校验位 ,或 是约定的地址/ 数据标识位。 20、串行口方式 0 是 同步移位寄存器 方式,方 式 1、2、3 是异步通信方式。 二、选择题 1、串行通信的传送速率单位波特,而波特的单位是 (B) A、 字符/秒 B、 位/ 秒 C、 帧/秒 D、 帧 /分 2、帧格式为 1 个起始位、8 个数据位和 1 个停止位的异步串行 通信方式是( B ) A、 方式 0 B、 方式 1 C、 方式 2 D、 方式 3 3、通过串行口发送或接收数据时,在程序中应使用 (A) A、 MOV 指令 B、 MOVX 指令 C、 MOVC 指令 D、 SWAP 指令 4、在下列所列特点中,不属于串行工作方式 2 的是 (C) A、 11 位帧格 式 B、 有第 9 数据位 C、 使用一种固定的波特 率 D、 使用两种固定的 波特率 5、以下有关第 9 数据位的说明中,错误的是( C ) A、 第 9 数据位的功能可由用户定义 B、发送数据的第 9 数据位内容在 SCON 寄存器的 TB8 位中预 先准备好 C、 帧发送时使用指令把 TB8 位的状态送入发送 SBUF D、 接收到的第 9 数据位送 SCON 寄存器的 RB8 中 6、串行工作方式 1 的波特率是( D ) A、 固定的,为时钟频率的 1/12 B、 固定的,为时钟频率的 1/32 C、 固定的,为时钟频率的 1/64 D、 可变的,通过定时器/计数器的溢出率设定 7、当 MCS-51 进行多机通信时,串行接口的工作方式应选择 (C) A、 方式 0 B、 方式 1 C、 方式 2 D、 方式 0 或方式 2 8、用 MCS-51 串行接口扩展并行 I/O 口时,串行接口工作方式应 选择( A ) A、 方式 0 B、 方式 1 C、 方式 2 D、 方 式3 9、MCS—51 单片机串行口发送/接收中断源的工作过程是:当串 行口接收或发送完一帧数据时,将 SCON 中的( A ),向 CPU 申请中断。 A、RI 或 TI 置 1 B、RI 或 TI 置 0 C、RI 置 1 或 TI 置 0 D、RI 置 0 或 TI 置 1 10、MCS—51 单片机串行口接收数据的次序是下述的顺序 ( B )。 (1)接收完一帧数据后,硬件自动将 SCON 的 RI 置 1 (2)用软件将 RI 清零 (3)接收到的数据由 SBUF 读出 (4)置 SCON 的 REN 为 1,外部数据由 RXD(P3.0)输入 A、(1)(2)(3)(4) B、(4)(1) (2)(3) C、(4)(3)(1)(2) D、(3)(4) (1)(2) 11、MCS—51 单片机串行口发送数据的次序是下述的顺序 ( A )。 (1)待发送数据送 SBUF (2)硬件自动将 SCON 的 TI 置 1 (3)经 TXD(P3.1)串行发送一帧数据完毕 (4) 用软件将 TI 清 0 A、(1)(3)(2)(4) B、(1)(2) (3)(4) C、(4)(3)(1)(2) D、(3)(4) (1)(2) 12、8051 单片机串行口用工作方式 0 时,( C )。 A、数据从 RXD 串行输入,从 TXD 串行输出 B、数据从 RXD 串行输出,从 TXD 串行输入 C、数据从 RXD 串行输入或输出,同步信号从 TXD 输出 D、数据从 TXD 串行输入或输出,同步信号从 RXD 输出 13、MCS—51 的串行数据缓冲器 SBUF 用于( B )。 A、存放运算中间结果 B、存放待发送或已接收 到的数据 C、暂存数据和地址 D、存放待调试的程 序 三、多项选择题 1、下列哪些属于 8031 单片机串行通讯时接收数据的过程 ( ABCDE )。 A、SCON 初始化 B、从 RXD 串行输入数据 C、RI 置位 D、软件 RI 清零 E、从 SBUF 读数据 2、下列哪些属于 8031 单片机串行通讯时发送数据的过程 ( ABCDE )。 A、SCON 初始化 B、数据送 SBUF C、从 TXD 发送数 据 D、置 TI 为 1 E、软件 TI 清零 四、判断题 1、串行口通信的第 9 数据位的功能可由用户定义。( √ ) 2、发送数据的第 9 数据位的内容在 SCON 寄存器的 TB8 位预先准 备好的。( √ ) 3、串行通讯发送时,指令把 TB8 位的状态送入发送 SBUF。 ( ×) 4、串行通讯接收到的第 9 位数据送 SCON 寄存器的 RB8 中保存。 ( √) 5、串行口方式 1 的波特率是可变的,通过定时器/计数器 T1 的 溢出设定。( √ ) 6、要进行多机通信,MCS-51 串行接口的工作方式应选为方式 1。 ( × )方式 2 和方式 3 7、 MCS-51 的串行接口是全双工的。( √ ) 8、串行口的中断,CPU 响应中断后,必须在中断服务程序中, 用软件清除相应的中断标志位,以撤消中断请求。( √ ) 9、串行口数据缓冲器 SBUF 是可以直接寻址的专用寄存器。 (√ ) 五、问答题 1、 已知 fosc、SMOD 和波特率,试求串行方式 1 和 T1 定时初 值。 ①fosc=12MHz,SMOD=0,bit/s=2400; ②fosc=6MHz,SMOD=1,bit/s=1200; ③fosc=11.0592MHz,SMOD=1,bit/s=9600; ④fosc=11.0592MHz,SMOD=0,bit/s=2400; 解:①fosc=12MHz,SMOD=0,bit/s=2400; T1 初值=256-(2SMOD/32)*fosc/(12*波特 率)≈256-13.02=243=F3H ②fosc=6MHz,SMOD=1,bit/s=1200; T1 初值=256-(2SMOD/32)*fosc/(12*波特 率)≈256-26.04=230=E6H ③fosc=11.0592MHz,SMOD=1,bit/s=9600; T1 初值=256-(2SMOD/32)*fosc/(12*波特 率)≈256-3=250=FAH ④fosc=11.0592MHz,SMOD=0,bit/s=2400; T1 初值=256-(2SMOD/32)*fosc/(12*波特 率)≈256-12=244=F4H 2、 串行缓冲寄存器 SBUF 有什么作用?简述串行口接收和发 送数据的过程。 答:串行缓冲寄存器 SBUF 有两个:一个是串行发送缓冲寄存器, 另一个是串行接收缓冲寄存器,用同一个特殊功能寄存器名 SBUF 和同一单元地址 99H。接收缓冲寄存器还具有双缓冲结构, 以避免在数据接收过程中出现帧重叠错误。 在完成串行初始化后,发送时只需将发送数据输入 SBUF,CPU 将自动启动和完成串行数据的发送;接收时 CPU 将自 动把接收到的数据存入 SBUF,用户只 需从 SBUF 中读取接收数 据。 第 678 章 习题参考答案 一、填空题 1、MCS-51 外扩 ROM、RAM 或 I/O 时,它的地址总线 根地址线、微机与外设间传送数据有 程序传送 、 中断传 送 和 DMA 传送 三种传送方式。 4、 74LS138 是具有 3 个输入的译码器芯片,其输出作为片选信 号时,最多可以选中 8 块芯片。 5、74LS273 通常用来作简单 输出 接口扩展;而 74LS244 则常用来作简单 输入 接口扩展。 6、并行扩展存储器,产生片选信号的方式有 线 选 法和 译码 法两种。 7、在存储器扩展中,无论是线选法还是译码法,最终都是为了 扩展芯片的 片选 端提供 信号。 8、起止范围为 0000H-3FFFH 的存储器的容量 是 16 KB。 9、11 根地址线KB 存储单元 需要 14 根地址线KB RAM 存储器的首地址若为 2000H,则末地址 为 9FFF H。 11、假定一个存储器有 4096 个存储单元,其首地址为 0,则末 地址为 0FFFH 。 12、除地线、单片机扩展的内容有 程序存储器扩展 、 数 据存储器扩展 及 I/O 口的扩展 等。 二、选择题 1、 当 8031 外扩程序存储器 8KB 时,需使用 EPROM2716 (C ) A、 2 片 B、 3 片 C、 4 片 D、 5 片 2、 某种存储器芯片是 8KB*4/片,那么它的地址线根数是 (C ) A、 11 根 B、 12 根 C、 13 根 D、 14 根 3、 74LS138 芯片是( B ) A、 驱动器 B、 译码 器 C、 锁存器 D、 编 码器 4、 MCS-51 外扩 ROM、RAM 和 I/O 口时,它的数据总线是 (A ) A、 P0 B、 P1 C、 P2 D、 P3 5、6264 芯片是( B ) A、 E2PROM B、 RAM C、 Flash ROM D、 EPROM 6、一个 EPROM 的地址有 A0----A11 引脚,它的容量为 ( B )。 A、2KB B、4KB C、 11KB D、12KB 7、单片机要扩展一片 EPROM2764 需占用( C )条 P2 口线、在存储器扩展电中 74LS373 的主要功能是( D )。 A、存储数据 B、存储地址 C、锁存数 据 D、锁存地址 9、下列芯片中其功能为可编程控制的接口芯片是 ( D )。 A、373 B、 2114 C、 2716 D、6264 10、8031 的外部程序存储器常采用的芯片是( A )。 A、2716 B、6116 C、 74LS06 D、2114 三、判断题 1、MCS—51 单片机程序存储器操作时序中,在不执行 MOVX 指令 时,P0 口作为地址线,专用于输出程序存储器的低 8 位地址 PCL; P2 口专 用于输出程序存储器的高 8 位地址 PCH。( × ) 2、线选法是把单根的低位地址线直接接到存储器芯片的片选端。 (√ ) 3、在接口芯片中,通常都有一个片选端 CS,作用是当 CS 为低 电平时该芯片才能进行读写操作。( √ ) 4、EPROM27128 有 14 根地址线KB。( √ ) 四、多项选择题 1、区分 MCS-51 单片机片外程序存储器和片外数据存储器的最可 靠的方法是:( C、D ) A、看其位于地址范围的低端还是高段 B、看其离 MCS-51 芯片的远近 C、看其芯片的型号是 ROM 还是 RAM D、看其是与 RD 信号连接还是与 PSEN 信号连接 五、问答题 1、在 MCS-51 单片机系统中,外接程序存储器和数据存储器共 16 位地址线 位数据线,为何不会发生冲突? 解:因为控制信号线的不同: 外扩的 RAM 芯片既能读出又能写入,所以通常都有读写控制引 脚,记为 OE 和 WE。外扩 RAM 的读、写控制引脚分别与 MCS-51 的 RD 和 WR 引 脚相连。 外扩的 EPROM 在正常使用中只能读出,不能写入,故 EPROM 芯片 没有写入控制引脚,只有读出引脚,记为 OE,该引脚与 MCS-51 单片机的 PSEN 相连。 2、并行扩展存储器,片选方式有哪几种?各有什么特点? 答:并行扩展存储器,产生片选信号的方式选法和译码法两 种。 线选法是将高位地址线直接连到存储器芯片的片选端。其优点是 连接简单,缺点是芯片的地址空间相互之间可能不连续,存储空 间得不到充分利用,存在 地址重叠现象。线选法适用于扩展存 储容量较小的场合。 译码法是通过译码器将高位地址线 条地址线 条地址线 条地 址线 种片选信 号。译码法与线选法比较,硬件电稍 微复杂,需要使用译码器,但可充分利用存储空间,全译码还可 避免地址重叠现象,局部译码还有部分高位地址线未参与译 码, 因此仍存在地址重叠现象。译码法的另一个优点是若译码器输出 端留有剩余端线未用时,便于继续扩展存储器或 I/O 接口电。 3、采用译码法片选是否一定能消除地址空间不连续和“地址重 叠”现象? 答:采用译码法片选不一定能消除地址空间不连续和“地址重 叠”现象。只要译码器输出的片选信号线序号连续,地址空间就 连续;译码器输出的片选信 号线序号不连续,地址空间就不连 续。 关于“地址重叠”现象,只要没有无关地址线,就没有 “地址重叠”现象。 第 9 章 习题参考答案 一、填空题 1、A/D 转换器的作用是将 模拟 量转为 数 字 量,D/A 转换器的作用是将 数字 量转为 模拟 量。 2、A/D 转换器的三个最重要指标是 转换速 度 、 分辨率 和 转换精度 。 3、从输入模拟量到输出稳定的数字量的时间间隔是 A/D 转换器 的技术指标之一,称为 转换速度 。 4、若 8 位 D/A 转换器的输出满刻度电压为+5V,则该 D/A 转换器 能分辨的最小电压变化为 5/255≈0.016V 。 5、若 0809 UREF=5V,输入模拟信号电压为 2.5V 时,A/D 转换后 的数字量是多少?若 A/D 转换后的结果为 60H,输入的模拟信号 电压为多少? 解:D=2N*UA/UREF=28*2.5/5=128=80H UA=D*UREF/2N=96*5/28=1.875V 6、已知 0809A/D 转换中 DPTR 值,试指出其片选端和当前 A/D 的通道编号。 (1) DPTR=DFF9H;DFF9H=1101 1111 1111 1001, 片选端:P2.5;通道编号:1 (2) DPTR=BFFDH;BFFDH=1011 1111 1111 1101, 片选端:P2.6;通道编号:5 (3) DPTR=7FFCH;7FFCH=0111 1111 1111 1100, 片选端:P2.7;通道编号:4 (4) DPTR=FDFFH,FDFFH=1111 1101 1111 1111, 片选端:P2.1;通道编号:7 7、已知 0809 片选端和当前 A/D 的通道编号,试指出 A/D 转换中 DPTR 值。 (1) 片选端:P2.2;通道编号:2;DPTR=1111 1011 1111 1010=FBFAH (2) 片选端:P2.3;通道编号:3;DPTR=1111 0111 1111 1011=F7FBH (3) 片选端:P2.4;通道编号:0;DPTR=1110 1111 1111 1000=EFF8H (4) 片选端:P2.0;通道编号:6;DPTR=1111 1110 1111 1110=FEFEH 8、ADC 0809 芯片是 8 模拟输入 的8 位 A/D 转换器。 9、10 位 A/D 转换器的分辨率 是 1/210=1/1024≈0.00098 ,基准电压为 5V 时, 能分辨的最小电压变化是 5V/1024≈4.9mV 。 二、判断题 1、DAC0832 是 8 位 D/A 转换器,其输出量为数字电流量。 (√ ) 2、ADC0809 是 8 8 位 A/D 转换器,典型的时钟频率为 640KHz。 (√ ) 3、DAC0832 的片选信号输入线 CS,低电平有效。( √ )

      威廉希尔