《单片机原理与应用》模拟试题一
一.填空题(17分,每空1分)
1.8051单片机的内部硬件结构包括了 CPU 、数据存储器、 程序存储器、和
定时计数器以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过单片机内部总线相连接内部总线根据其功能又分为 数据 总线、地址 总线 控制 总线三种。
2.MCS-51中PSW寄存器的RS0、RS1两位用于设定当前工作寄存器组,B寄存器是8位寄存器。
3.MCS-51单片机的P0~P4口均是 8 位I/O口,其中 P0 为真正的双向口,P1P2P3
为准双向口;P3 口具有第二引脚功能。
4.MCS-51单片机的中断系统由5个中断源,其中串行口中断在中断响应后,请求标志不能自动清除。定时计数器中断源可作软中断使用.
5.假定(SP)=40H ,(3FH)=30H,(40H)=60H。执行下列指令:
POP DPH
POP DPL
后,DPTR的内容为 6030H ,SP的内容是3EH。
二、选择题(10分,每小题2分)
1.8051单片机的片内有(B)个16位的特殊功能寄存器。
A.1个aaaaB.2个aaaaC.3个aaaaD.4个
2.MCS-51单片机的堆栈区应建立在(A)。
A. 片内数据存储区的低128字节单元aaaaB. 片内数据存储区
C.片内数据存储区的高128字节单元aaaaD.程序存储区
3.MCS-51单片机定时器工作方式1是指的(D)工作方式。
A.8位aaaaB.8位自动重装aaaaC.13位aaaaD.16位
4.当需要从MCS-51单片机程序存储器取数据时,采用的指令为(B)。
A.MOV A, @R1aaaaB.MOVC A, @A + DPTR
C.MOVX A, @ R0aaaaD.MOVX A, @ DPTR
5.8751单片机程序存储器的容量最大可扩展为(B)。
A.60KaaaaB.64K
C.64+4KaaaaD.4K
三、简答题(8分,每小题4分)
1.想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。
解答:可以在中断程序入口地址放一条长转移指令。如:
ORG 0003H
LJMP INT_0
……
INT_0: ……
2.51系列单片机的定时计数器T0、T1正在计数或定时,CPU能不能作其他事情?说明理由。
解答:能。单片机的计数定时器是一个可以独立于CPU的电路,它的启动或停止受CPU控制,但是在计数、定时过程中不需CPU干预。
四、参数计算(8分,第一小题6分,第二小题2分)
已知一MCS51单片机系统外接晶体振荡器频率为12MHZ,计算:(请给出计算过程)
1、单片机系统的振荡周期、状态周期、机器周期所对应的时间是多少?
aaaa解答:振荡周期=1/12微秒aaaa状态周期=1/6微秒aaaa机器周期=1微秒
2、指令周期中的单字节双周期指令的执行时间是多少?解答:2微秒
五、改错(16分,每小题2分)
请判断下列各条指令的书写格式是否有错,如有错说明原因:
1.MUL R0R1aaaa解答:错 只能是MUL AB
2.MOV A,#200Haaaa解答:错 A中只能存8位数
3.PUSH R5aaaa解答:错 PUSH后操作数必须是直接寻址
4.MOVX A,30Haaaa解答:错 片外RAM寻址必须间接寻址
5.MOV A,@R7aaaa解答:错 不能用R7作间址寄存器
6.CLR Baaaa解答:错 只有一条字节清零指令CLR A
7.MOVC @A+DPTR, A解答:错 目标操作数不能变址寻址
8.LJMP #1000Haaaa解答:错 目标地址不要用#号
六、使用简单指令序列完成以下操作(16分,每小题8分)
1.请将片外RAM1000H单元内容取反。
解答: MOV DPTR,#1000H
aaaaaaaaMOV A,@ DPTR
aaaaaaaaCPL A
aaaaaaaaMOV @ DPTR,A
2.将单片机的外部中断0、定时器中断1打开,要求定时器1的中断优先级高于外部中断0,外部中断0采用边缘触发方式。请对中断系统初始化。
解答: MOV IE,#10001001B
aaaa SETB IT0
aaaa SETB PT1
七、 编程题(25分,第一小题15分,第二小题10分)
1、有一个变量存放在片内RAM的20H单元,其取值范围是:00H-05H,要求编制一段程序,根据变量值得到变量的平方值,并将其存放在片内RAM的21H单元。
解答: ORG 0000H
aaaaaaaaLJMP START
aaaaaaaaORG 0030H
START: MOV DPTR,# TABLE
aaaaaaaaMOV A,20H
aaaaaaaaMOVC A,@DPTR+A
aaaaaaaaMOV 21H,A
aaaaaaaaSJMP $
aTABLE:DB 00H,01H,04H,09H,10H,19H
aaaaaaaaEND
2、如图所示,要求按下S1~S4中的任意一个键,则对应的(S1-D3、S2-D4、 S3-D5、S4-D6)发光二极管亮,松开键对应的发光二极管灭。
解答:ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV P3,#0FFH
LOOP:MOV A,P3
MOV P1,A
LJMP LOOP
END |