23. P0~P3口作为输入口时,有何要求? 答:4个端口都称为“准双向口”,不是真正的双向口,必须将位锁存器置“1”后,才可以读入正确信息。
24. 画出MCS-51型单片机时钟电路,并指出石英晶体和电容的取值范围。
答:一般电容C1和C2取30pF左右,晶体振荡频率范围是1.2MHz~24MHz。
a)内部时钟 b)外部时钟
25. 什么是机器周期?机器周期和时钟频率有何关系?当时钟频率为6 MHz时,机器周期是多少时间?
答:单片机晶振芯片每秒振荡的次数称为时钟频率,振荡一次所需时间称为振荡周期。12个振荡周期是一个机器周期。时钟频率为6 MHz时,机器周期是2μs。
26. MCS-51型单片机常用的复位方法有几种?画出电路图。
答:单片机常见的复位电路包括上电复位电路和按键复位电路。如下图所示。
VCCVCCVCC22uFVCC22uFRESETMCS-51RESETMCS-51R1RESET2001K1KVSSR2VSS a)上电复位电路 b)按键复位电路
27. MCS-51单片机的指令有哪些寻址方式?
答:(1)立即寻址 (2)直接寻址 (3)寄存器寻址 (4)寄存器间接寻址 (5)基址+变址间接寻址 (6)相对寻址(7)位寻址
28 分析下面指令中源操作数的寻址方式。
(1)MOV A, #0FH 立即寻址 (2)MOV A, 00H 直接寻址 (3)MOV A,R1 寄存器寻址 (4)MOV A,@R1 寄存器间接寻址 (5)MOVC A, @A+DPTR 基址+变址间接寻址 (6)JC 80H 相对寻址
5
(7)MOV C,20H 位寻址 (8)MOVX A,@R1 寄存器间接寻址
29. MCS-51单片机指令系统按功能分哪为几类? 答:
(1)数据传送指令 (2)数据交换指令 (3)算术运算类指令 (4)逻辑运算类指令 (5)控制转移类指令 (6)位操作指令
30. 在“MOVC A,@A+DPTR”和“MOVC A,@A+PC”中,分别使用了DPTR和PC作基址,请问这两个基址代表什么地址?使用中有何不同?
答:
使用@A+DPTR基址变址寻址时,DPTR为常数且是表格的首地址,A为从表格首址到被访问字节地址的偏移量。使用@A+PC基址变址寻址时,PC仍是下条指令首地址,而A则是从下条指令首地址到常数表格中的被访问字节的偏移量。
31. 用指令实现以下数据传送过程。 (1)R1的内容送R0
(2)片内RAM20H单元的内容送R1
(3)片外RAM20H单元的内容送片内20H单元
(4)片外RAM1000H单元的内容送片内RAM20H单元 (5)程序存储器2000H单元的内容送R0
(6)程序存储器2000H单元的内容送片内RAM20H单元 (7)程序存储器2000H单元的内容送片外RAM20H单元 答:
(1)R1的内容送R0
MOV A,R1 MOV R0,A
(2)片内RAM20H单元的内容送R1
MOV R1,20H
(3)片外RAM20H单元的内容送片内20H单元
MOV R0,#20H MOV P0,#0H MOVX A,@R0 MOV 20H,A
(4)片外RAM1000H单元的内容送片内RAM20H单元 MOV DPTR,#2000H MOVX A,@DPTR
6
MOV 20H,A
(5)程序存储器2000H单元的内容送R0。 MOV A,#0H
MOV DPTR,#2000H MOVC A,@A+DPTR
MOV R0,A
(6)程序存储器2000H单元的内容送片内RAM20H单元。 MOV A,#0H
MOV DPTR,#2000H MOVC A,@A+DPTR
MOV 20H,A
(7)程序存储器2000H单元的内容送片外RAM20H单元。 MOV A,#0H
MOV DPTR,#2000H MOVC A,@A+DPTR MOV DPTR,#20H MOVX @DPTR,A
32. 用直接地址寻址方式、寄存器间接寻址方式、字节交换法和堆栈传递法等4种方法将内部RAM30H与31H单元的数据交换。
答:
1. MOV A,30H MOV 30H,31H MOV 31H,A 2. MOV R0,#30H MOV A,@R0 MOV R1,A
MOV R0,#31H MOV A,@R0 MOV R0,#30H MOV @R0,A MOV R0,#31H MOV A,R1 MOV @R0,A
3. MOV A,30H
XCH A,31H MOV 30H,A
4. PUSH 30H PUSH 31H POP 30H POP 31H
33. 片内RAM 20H~2FH单元中的128个位地址与直接地址00H~7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?
答:
虽然内部RAM位寻址区的位地址范围00H~7FH与低128个单元的单元地址范围00H~7FH
7
形式完全相同,但是在应用中可以通过指令的类型区分单元地址和位地址。
位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。 MOV C,bit MOV bit,C CLR bit SETB bit CPL bit ANL C,bit ANL C,/bit JB bit,rel JNB bit,rel
34 编写一段程序,将片内RAM30H单元的内容与片外RAM30H单元的数据交换。 答:
MOV DPTR,#30H MOVX A,@DPTR MOV R1,A MOV A,30H MOVX @DPTR,A MOV 30H,R1
35. 设堆栈指针(SP)=60H,片内RAM中的(30H)=24H,(31H)=10H。执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?
PUSH 30H PUSH 31H POP DPL POP DPH
MOV 30H, #00H MOV 31H, #0FFH 答:
结果为:(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H
36. 说明无条件转移指令AJMP、SJMP、LJMP和JMP的功能和应用场合。 答:
AJMP为2KB地址范围内的的转移指令;
SJMP为相对转移指令,本指令首地址加上偏移量加上2为跳转到的位置; LJMP为64KB程序存储空间的全范围转移指令,转移的地址可为16位地址中的任意值; JMP 间接转移指令。
37. 设内部RAM(30H)=#5AH,(5AH)=#40H,(40H)=#00H,(P1)=#7FH,问连续执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?
MOV R0,#30H MOV A,@R0
8
相关推荐: