4.MOVC? @A+DPTR, A 5.LJMP? #1000H
六、使用简单指令序列完成以下操作 1.请将片外RAM20H-25H单元清零 2.请将ROM3000单元内容送R7 七、 编程题(20)
已知MCS-51单片机系统片内RAM20H单元存放乐一个8位无符号数7AH,片外扩展RAM的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。 CY A DPTR 片外01H 片外00H 片外8000H 单片机模拟试卷004
一、填空题(15分,每空1分)
1.MCS—51单片机的P0—P4口均是 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的 和 ,在P0—P4口中, 为真正的双向口, 为准双向口。
2.MCS—5l单片机的堆栈区只可设置在 ,堆栈寄存器5P是 位寄存器。
3.MCS—51单片机外部中断请求信号有电平方式和 ,在电平方式下,当采集到INT0、INT1的有效信号为 时,激活外部中断。
4.定时器/计数器的工作方式3是指的将 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为 使用。
5.MCS—96单片机的最大寻址空间是 ,该空间的地址范围为 ,系统上电及复位的程序入口地址为 ,芯片配置字节CCB的地址为 。 二、简答题(15分,每小题5分)
1.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义? 2.各中断源对应的中断服务程序的入口地址是否能任意设定?
3.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。 三、参数计算题(16分)
已知一单片机系统的外接晶体振荡器的振荡频率为11.059MHz,请计算该单片机系统的拍节P、状态S、机器周期所对应的时间是多少?指令周期中的单字节双周期指令的执行时间是多少?
四、改错题(共5分,每小题1分)
以给出的指令操作码为依据,请判断MCS—5l单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1.MUL R0R1 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×10)=0.09×10s =90ns
S=2P=2×90ns=180ns
机器周期=12P=12×90ns=1.08μs 双指令周期=2×机器周期=2.16μs
6
-6
判题标准:每问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
编程要考虑将进位位的值作为结果的一部分取出来。采用其他编程方式也可以,但结果是不会改变的,和值=100H 八、判读电路题(14分)
1.请简单叙述2764芯片的功能、容量,在电路中起什么作用?(3分)
2764为EPROM型存储器,其容量为8K,在电路中通常是作为程序存储器使用。 2.请简单叙述6264芯片的功能、容量,在电路中起什么作用?(3分)
6264为随机存储器,其容量为8K,在电路中通常是作为数据存储器使用。 3.请分析各片2764、6264所占用的单片机数据存储空间的地址范围是多少? U3:0000H—1FFFH (8分,各2分) U4:2000H—3FFFFH