《单片机应用技术》试题A答案
一、填空(每空1分,共17分) 1.8 2.两个
3.单工、半双工、全双工
4.处理单元或CPU、运算器、控制器。 5.ALE 6.8 7.6 8.2/24
9.SCK、MOSI、MISO 10.越高、越高
二、判断题(每题2分,共10分) 1.√ 2.× 3.× 4.× 5.×
三、改错题(每小题2分,共10分) 1.乘法指令应使用A、B寄存器操作
2.间接寄存器使用R7有误,间址寄存器只能使用R0、R1 3.8位累加器A不能接受16位数据
4.MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。
5.长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。
四、寻址方式(每题2分,共10分) 1.直接寻址 2.立即寻址 3.相对寻址
4.位寻址 5.寄存器寻址
五、简答题(13分)
1.具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。(5分)
2.各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3分) 3.如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。(5分)
例如:外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时通过以下方式,可实现对中断服务程序的执行: ORG 0003H JMP INTOP
六、编程题(共40分) 1.解: ADDIO:MOV R0,30H MOV R7,#9 MOV A,@R0 LOOP: INC R0 ADD A,@R0 DJNZ R7,LOOP MOV 30H,A RET
2.解:T0方式1最大定时只能65ms余,取50ms,计数10次,即可实现500ms定时。 T0初值=2-12×50×10/12=15536=3CB0H TH0=3CH TL0=0B0H TMOD=00000001B=01H
16
3
3.解:接口电路:
程序清单: START:MOV A,#0FFH MOV P1,A MOV A,P1
MOV R3,A LCALL DELAY CJNE A,R3,START JNB ACC.0,P1.0 JNB ACC.1,P1.1 JNB ACC.2,P1.2 JNB ACC.3,P1.3 JNB ACC.4,P1.4 JNB ACC.5,P1.5 JNB ACC.6,P1.6 JNB ACC.7,P1.7