单片机原理与应用期末试题及答案(4页).doc
-1.C语言提供的合法的数据类型关键字 (B)A、Double B、short C、integer D、Char2.片内RAM的20H2FH为位寻址区,所包含的位地址是 (B)A、00H20H B、00H7FH C、20H2FH D、00HFFH3.MCS-51单片机的复位信号是 (A) 有效A、高电平 B、低电平 C、脉冲 D、下降沿4.89C51的单片机的堆栈指针 (A) A、 只能位于内部RAM低128B字节范围内B、 可位于 内部RAM低256字节范围内C、 可位于 内部ERRAM内。 D、 可位于内部RAM或外部RAM内 5.在串行口工作于移位寄存器方式时,其接受由 (C)来启动A、REN B、RI C、REN和RI D、TR 6.单片机中断系统的总允许位为 (EA=1)7.当MCS-51单片机接有外部存储器,P2口可作为 (D)A、数据输入口 B、数据的输出口 C、准双向输入输出口 D、输出高8位地址8.C51中一般指针变量占用 (C) 字节存储A、一个 B、两个 C、三个 D、四个9.使用宏来访问绝对地址时,一般需包含的库文件是(B)A、reg51.h B、absacc.h C、intrins.h D、startup.h10.单片机的定时器/计数器工作方式1是 (D )A、8位计数器结构 B、2个8位计数器结构C、13位计数结构 D、16位计数结构11.C语言提供的特殊寄存储器的数据类型关键字是(sfr/sfr16)12.8031单片机中,将累加器A中的数输入外RAM的40H单元,可执行的指令()MOV R1, #40H MOVX R1 , A13.MCS-51单片机,通常将中间计算器结果放在 (RAM)14.外部中断1的中断入口地址为(0013H)15.单片机中断系统的优先级是由 (中断优先级控制寄存器IP)控制16.采用 (static) 关键字定义静态变量17.采用 (地址寄存器), 实现P0口可作地址和数据分时复用。18.单片机总线系统不包含(文件总线) 总线系统包括:地址总线,数据总线,控制总线19.使用函数printf()时,一般需包含的库文件是(stdio.h)20.目前采用 (串行接口 ) 实现89C52与PC机实现串行通信 1.设X=5AH,Y=36H,则X与Y"或"运算为7EH,X与Y的"异或"运算为6CH。2.单片机复位后,堆栈指针SP的值为0X07H。3.汇编语言中,子程序返回指令为RET,中断程序返回指令为RETI。4. C语言中输入和输出操作是由库函数 scanf() 和 printf() 等函数来完成的。5. MCS -51的四组工作寄存器的选择,是由PSW寄存器中的RS0和RS1绝决定的。6.设X=17H,Y=35H,则X+Y的运算为4CH,X-Y的运算为E2H。7. MCS-51基本型单片机的程序存储器和数据存储器采用 统一 编址形式,程序存储器的范围64KB,内部数据存储器范围256KB,外部数据存储器范围64KB。8.汇编语言中,堆栈的工作原则是“先进后出”或“后进先出”。9.单片机选择片外程序存储器时,将引脚设置为低电平。10.89C52串行通信包括异步通信和同步通信方式。三 、 简答题1、MCS-51单片机具有几个中断源,中断优先级如何实现?答:单片机有6个中断源。2个外部中断源(P3.2), (P3.3);3个定时器/计数器T0、T1和T2的溢出中断TF0、TF1、TF2,EXF2;1个串行口发送TI和接收RI中断。中断优先级由寄存器IP决定。该寄存器可进行位操作,分为0和1两种状态,1的优先级较高。如果多个中断源同为1时,按照自然优先级来排序。2、8051双直列式的引脚有多少个I/O口,如何分布的?简述如何实现单片机访问外部数据存储器?答:8051有32个I/O口。分别为P1、P2、P3、P4。采用寄存器间接寻址方式,利用MOVX指令,依次执行总线读操作和写操作,相应的读信号引脚和写信号引脚有效。3、简述C51语言中函数的使用步骤?函数体内包含哪两个组成部分?如何区别中断函数与一般函数?答:使用步骤包括函数的声明,定义和使用。函数体包含局部变量定义和执行语句。中断函数和一般函数的区别在于:(1)中断服务函数不传递参数。(2)中断服务函数没有返回值。(3)中断服务函数需要用关键字interrupt定义,并标明所对应的中断号。(4)进入中断服务函数,ACC、B、PSW会进栈,根据需要,DPL、DPH也可能进栈,如果没有using n属性,R0R7也可能进栈,否则不进栈。(5)在中断服务函数中调用其它函数,被调函数最好设置为可重入的,因为中断是随机的,有可能中断服务函数所调用的函数出现嵌套调用。(6)不能够直接调用中断服务函数。 4、汇编语言与C51混合编程分为哪两种方式?如何在C51函数中嵌入汇编程序?答:汇编语言与C51混合编程分为:一种是在C语言函数中嵌入汇编语言程序;另一种是C语言文件与汇编语言文件混合编程。在C51程序中嵌入汇编程序,其方法是用编译控制指令“#pragma src”、“#pragma asm”和“#pragma endasm”实现。编译控制指令“#pragma src”是控制编译器将C源文件编译成汇编文,“#pragma src”要放在文件的开始;“#pragma asm”和“#pragma endasm”指示汇编语言程序的开始和结束,分别放在汇编程序段的前面和后面。四、计算题1已知一个单片机系统的外接晶体振荡器的振荡频率为12MHz,请计算该系统的机器周期?执行一次MOVX指令需要多少时间? 2已知单片机晶振频率为12MHz,计算串口通信方式0的波特率和方式2的波特率(假设SMOD=1,写出计算步骤)。答:方式0 3、已知一个单片机系统的外接晶体振荡器的振荡频率为6MHz,请计算该系统的机器周期?执行一次ADD指令需要多少时间? 4设89C52单片机的晶体振荡周期为12MHz,要求T0定时150us,分别计算采用定时器模式0,模式1的定时初值。 答:在定时器模式0下:-第 4 页-