2.MOV A,@R7 3.MOV A,#3000H 4.MOVC @A+DPTR,A
5.LJMP #1000H 五、寻址方式(5分,每问1分)
说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写)
1.ANL A,20H 2.ADDC A,#20H 3.JZ rel 4.CLR C
5.RRA
六、使用简单指令序列完成以下操作(12分) 1.请将片外RAM20H—25H单元清零
2.请将ROM3000H单元内容送R7 七、编程题(18分)
已知一MCS—51单片机系统的片内RAM 20H单元存放了一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。
CY A DPTR 片外01H 片外00H 片外8000H 八、判读电路题(14分)
下图为MCS—51单片机系统中混合扩展多片存储器2764、6264芯片部分连线电路图。 试分析电路并回答下列问题:
1.请简单叙述2764芯片的功能、容量,在电路中起什么作用?
2.请简单叙述6264芯片的功能、容量,在电路中起什么作用?
3.请分析各片2764、6264所占用的单片机数据存储空间的地址范围是多少?
单片机模拟试卷004参考答案 一、填空题(15分,每空1分)
1.并行 数据总线 地址总线 P0 P1—P3 2.片内数据存储区(器) 3.脉冲方式 低电平
4.定时器/计数器0 串行口的波特率发生器
5.64K 0000H—FFFFH 2080H 2018H 二、简答题(15分,每小题5分)
1.具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。(6分)
2.各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3分) 3.如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。
例如:外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:(4分) ORGO003H (2分) JMP INTOP
列举其他中断跳转的例子也可,但叙述的中断源要与中断地址相对应才可得分,如外中断0对应0003H地址。 三、参数计算题(16分)
P=1/f=(1/11.059×106)=0.09×10-6s =90ns
S=2P=2×90ns=180ns
机器周期=12P=12×90ns=1.08μs 双指令周期=2×机器周期=2.16μs
判题标准:每问4分,结果错,分值全扣;结果正确,量纲错或 四、改错题:(共5分,每小题1分)
以给出的指令操作码为依据,请判断MCS—51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。
1.MUL RoRl 乘法指令应使用A、B寄存器操作
2.MOV A,@R7 间接寄存器使用R7有误,间址寄存器只能使用R0、R1 3.MOV A, #3000H 8位累加器A不能接受16位数据
4.MOVC @A+DPTR,A MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。
5.UMP #1000H 长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。
五、寻址方式(5分,每问1分)
说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写)
1.ANL A,20H 直接寻址 2.ADDC A, #20H 立即寻址 3.JZ rel 相对寻址 4.CLR C 位寻址
5.RRA 寄存器寻址
六、使用简单指令序列完成以下操作(12分,每小题6分) 1.请将片外RAM 20H—25H单元清零 MoV R0,#20H
MOV R7,#06H CLR A
LOOP:MOVX @R0,A INC R0
DJNZ R7,LOOP
2.请将ROM 3000H单元内容送R7 MOV DPTR, #3000H CLR A
MOVC A,@A+DPTR
MOV R7,A
七、编程题(18分,其中编程12分,表中每一空1分)
CY 0 A 01H DPTR 8000H 片外01H 0lH 片外00H 00H 片外8000H 86H MOV DPTR,#8000H ;加数单元地址送DPTR MOVX A,@DPTR ;取加数之一 ADD A,20H ;两数相加
MOV R0,#00H ;和值的低位送片外00H单元 MOVx @R0,A INC R0
CLR A ;计算和值的高位 ADDC A,#00H
MOVx @R0,A ;高位送片外01H单元 RET
编程要考虑将进位位的值作为结果的一部分取出来。采用其他编程方式也可以,但结果
相关推荐: