中级会员
关闭
个人中心可以申请新版勋章哦
立即申请知道了
加关注
发消息只看楼主倒序阅读使用道具 0 发表于: 11小时前
1.单片机的指令有几种表示方法?单片机能直接执行的是什么指令格式?
答:单片机的指令有两种表示方法,一种是用汇编语言的助记符表示,另一种是用机器语言表示;
单片机能够直接执行的是机器语言指令形式的机器码。
2.什么叫寻址方式?MCS-51单片机有几种寻址方式?各自有什么特点?各涉及到哪些存储器空间?
(1)指令寻找操作数地址的方式称为寻址方式。
(2)MCS-51指令系统共有7种寻址方式。
①立即数寻址:操作数直接写在指令中,不需要从其它的存储空间中寻找和获取。
②直接寻址:把存放操作数的内存单元的地址直接写在指令中。
涉及的存储空间有内部RAM区,特殊功能寄存器AFR区。
③寄存器寻址:操作数存放于寄存器中。
涉及的存储空间有工作寄存器R0~R7,累加器A,通用寄存器B,地址寄存器DPTR和C。
④寄存器间接寻址:将存放操作数的内部RAM地址放在特定的寄存器中,指令中只给出寄存器。
涉及的存储空间有R0,R1,DPTR。
⑤变址寻址:将基址寄存器与变址寄存器的内容相加,结果作为操作数的地址。
涉及的存储空间有基址寄存器DPTR和PC,变址寄存器A和程序存储器。
⑥相对寻址:指程序寄存器PC以当前值为基准,与指令的相对偏移量rel相加,形成新的转移地址(下一个取指令的地址),该类寻址方式主要用于跳转指令。
涉及的存储空间有程序计数器PC。
⑦位寻址:指令中直接给出位地址,可以对有位地址的单元进行操作。
涉及的存储空间有内部RAM的位寻址区,字节地址范围是20H~2FH,共16个RAM单元,对应的位地址为00H~7FH共128位,还有特殊寄存器SFR中有11个寄存器可以位寻址。
6.试编制程序段,实现把外部RAM 2000H单元的内容传到内部RAM20H中的操作。
答:MOV DPTR,#2000H
MOVX A,@DPTR
MOV 20H,A
8.给出三种交换内部RAM20H单元和30H单元的内容的操作方法。
答(1) MOV A,20H
XCH A,30H
MOV 20H,A
(2) MOV A,20H
MOV R1,30H
XCH A,R1
MOV 20H,A
MOV 30H,R1
( 3)MOV A,20H
MOV R1,30H
MOV 30H,A
MOV 20H,R1
16.若内部RAM(20H)=5EH,指出下列指令的运行结果。
(1)MOV A,20H;
答:将内部RAM20H单元中的内容5EH传给A.
(2)MOV C,04H;
答:将0组工作寄存器R4中的内容传给Cy.
(3)MOV C,20H.3;
答:等同于MOV C,bit即将地址03H中的内容传给Cy.
19.R1中存放有一个BCD码数,试将其转换成ASCII 码,并存入外部RAM的1000H单元中。
答:程序为:
PUSH PSW
PUSH ACC
PUSH DPH
PUSH DPL
MOV A,R1
ANL A,#0FH
CLR C
ADD A,#30H
MOV DPTR,#1000H
MOVX @DPTR,A
POP DPL
POP DPH
POP ACC
POP PSW
RET
20.用查表法编一个子程序,将R3中的BCD码转换成ASCII码。
答:PUSH PSW
PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#1000H
MOV A,R3
MOVC A,@A+DPTR
POP ACC
POP DPL
POP DPH
POP PSW
RET
ORG 1000H
TABLE: DB 30H,31H,32H,33H,34H,35H,36 H,37H,38H,39H。