练习题(有答案) 下载本文

34是读端口还是读锁存器是用指令来区别的。( )

35.在89C51的片内RAM区中,位地址和部分字节地址是冲突的。( ) 36.中断的矢量地址位于RAM区中。( )

37.在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。( ) 38.工作寄存器区不允许做普通的RAM单元来使用。( ) 39.工作寄存器组是通过置位PSW中的RS0和RS1来切换的。( ) 40.特殊功能寄存器可以当作普通的RAM单元来使用。( )

41.访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。( )

42.堆栈指针SP的内容可指向片内00H~7FH的任何RAM单元,系统复位后,SP初始化为00H。( )

43.DPTR只能当作一个16位的特殊功能寄存器来使用。( ) 44.程序计数器PC是一个可以寻址的特殊功能寄存器。( )

45.单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。( )

46.单片机系统上电后,其内部RAM的值是不确定的。( )

47.在执行子程序调用或执行中断服务程序时都将产生压栈的动作。( ) 48.定时/计数器工作于定时方式时,是通过89C51片内振荡器输出经12分频后的脉冲进行计数,直至溢出为止。( )

49.定时/计数器工作于计数方式时,是通过89C51的P3.4和P3.5对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。( ) 50.定时/计数器在工作时需要消耗CPU的时间。( )

51.定时/计数器的工作模式寄存器TMOD可以进行位寻址。( )

52.定时/计数器在使用前和溢出后,必须对其赋初值才能正常工作。( ) 53.在51系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令。( )

54.在A/D转换器中,逐次逼近型在精度上不及双积分型,但双积分型在速度上较低。( )

55.A/D转换的精度不仅取决于量化位数,还取决于参考电压。( ) 56.单片机89C51的定时/计数器是否工作可以通过外部中断进行控制。( ) 57.并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。( )

58.串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。( )

59.异步通信中,在线路上不传送字符时保持高电平。( )

60.在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。( ) 61.异步通信中,波特率是指每秒传送二进制代码的位数,单位是b/s。( ) 62.在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的。( )

63.在单片机89C51中,串行通信方式1和方式3的波特率是固定不变的。( ) 64.在单片机89C51中,读和写的SBUF在物理上是独立的,但地址是相同的。( ) 65.单片机89C51一般使用非整数的晶振是为了获得精确的波特率。( ) 66.单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换。( )

三、简答题

1.请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为10mA,导通压降为0.6V),为什么?

2.简述定时/计数器4种工作模式的特点。

3.能否把继电器直接接在89C51的某一口线上来用?为什么?

4.MCS-51系列单片机具有几个中断源?分别是如何定义的?其中哪些中断源可以被定义为高优先级中断?如何定义?

5. 各中断源对应的中断服务程序的入口地址是否能任意设定?

6. 如果想将中断程序设置在程序储存区的任意区域,在程序中应该作何种设置?请举例加以说明。

7.在51系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令?

A-51单片机系统是用12MHZ的外部晶体振荡器,请问: (1) 该片机系统的状态周期与机器周期各为多少?

(2) 该单片机的定时器O(TO)工作在方式2时,TO的最大定时时间为多少? (3) 当单片机的定时器O(TO)工作在方式2时,要求每记满250us便生产一次定时器溢出,请问,TO中需要预置的初始值应为多少? 4.MCS-51单片机存储器分为哪几个区域及地址划分范围? 5.试用三种方法将累加器A中无符号数乘4。 6.DAC0832与单片机的接口方式有哪几种? 五、改错题(10分)

请判断MCS-51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1、CLR A 2、MUL R0,R1 3、MOV DPTR,1050H 4、 MOV A,@R7 5、 ADD 30H,20H 6、 MOV R1,C 7、 JMP @RO+DPTR 8、 MOV A,#3000H 9、 MOVC @A+DPTR,A 10、 MOVX A,@A+DPTR 六、分析题(共14分)

该程序是信号灯控制程序,采用P1口控制8个发光二极管的亮与灭(由线路板决定,P1口输出低电平时对应的发光二极管被点亮)。

ORG 0000H

AJMP MAIN

ORG 000BH ;该地址是( )地址

LJMP TT0 ;当出现( )时,才会执行到该指令。

ORG 0030H

MAIN:MOV TMOD, #01H ;执行该指令的目的( )

MOV TH0,#3CH ;设置T0 50ms定时初始值

MOV TL0,#0B0H ;此时堆栈指针的内容是( ) MOV R2, #40 ;设50ms循环40次定时2秒

MOV R3, #8 ;设( )个数

SETB ET0 SETB EA

SETB TR0 ;启动( )

SJMP $ ;执行该程序的目的( TT0:MOV TH0, #3CH

MOV TL0, #0B0H

DJNZ R2, BACK ;不够40次(2秒)退出中断 MOV R2, #40H ;

LCALL LAMP ;调亮灯子程序 :RETI ;中断返回

LAMP:CLR TR0 ;进入亮灯程序后为何关定时器( MOV R4, #0FEH ;设置亮灯控制字

LP1:MOV P1, R4 ;最先亮的灯是( )

ACALL DELAY ;调亮灯延时

MOV A, R4 ;此时SP内容是( )CLR C ;清进位位为参与亮灯循环 RLC A ;带进位位左移循环 MOV R4 , A DJNZ R3, LP1 SETB TR0

RET ;亮灯子程序返回

) ) BAC