项目式51单片机c语言题库,《单片机C语言项目式教程》分析题含答案.doc

四、程序分析及编程

1.设(A)=04H,(CY)=1, 写出下列各条指令的结果。

RL A; (A)= 08H

RR A; (A)= 02H

RLC A; (A)= 09H

RRC A; (A)= 82H

2.设(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1, 写出下列各条指令的结果。

MOV A ,R0 (A)=30H (R0)=30H

XCH A, R0 (A)=30H (R0)=30H

XCHD A,@R0 (A)=A5H (R0)=30H (30H)=30H

ADD A,#30H (A)=D5H (CY)=1

ADDC A,30H (A)=06H (CY)=1

SUBB A,#30H (A)=D5H (CY)=1

3.下列程序段的功能是什么?

PUSHA

PUSHB

POPA

POPB

答:交换A、B的内容

4.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后:请问:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=( )。

POPDPH

POPDPL

MOVDPTR,#4000H

RLA

MOVB,A

MOVCA,@A+DPTR

PUSHA

MOVA,B

INCA

MOVCA,@A+DPTR

PUSHA

RET

ORG4000H

DB10H,80H,30H,50H,30H,50H

答:(A)=50H , (SP)=50H , (51H)=30H , (52H)=50H , (PC)=5030H

5.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容为( )。:

ANLA,#17H

ORL17H,A

XRLA,@R0

CPLA

答:0CBH

6.如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后则:DPH=( ),DPL=( ),SP=( ):

POPDPH

POPDPL

POPSP

答:DPH=3CH , DPL=5FH , SP=4FH

7.假定,SP=60H,A=30H,B=70H,执行下列指令后,SP的内容为( ),61H单元的内容为( ),62H单元的内容为( )。

PUSHA

PUSHB

答:62H , 30H , 70H

8.计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 12MHz)。

MOVR3,#15H;1个机器周期

DL1:MOVR4,#255;1个机器周期

DL2:MOVP1,R3;2个机器周期

DJNZR4,DL2;2个机器周期

DJNZR3,DL1;2个机器周期

RET;2个机器周期

答:15348us

析:((2+2)×255+1+2)×15+1+2=15348us

9. 假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容为( )。

ANLA,#17H

ORL17H,A

XRLA,@R0

CPLA

答:0CBH

10. 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:DPH内容为( ),DPL内容为( ),SP内容为( )。

POPDPH;

POPDPL;

POPSP;

答:(DPH)= 3CH,(DPL)=5FH,(SP)=50H

11.假设外部数据存储器2000H单元的内容为80H,执行下列指令后,累加器A中的内容为( )。

MOVP2,#20H

MOVR0,#00H

MOVXA,@R0

答:累加器A中的内容为(80H)

12.阅读下列程序段并回答问题 。(1).该程序执行何种操作? (2).已知初值(60H)=23H,(61H)=61H,运行程序后62H内容( )

CLR C

MOV A,#9AH

SUBB A,60H

ADD A,61H

DA A

MOV 62H,A

答: 1)、该程序是单字节BCD码运算,是将(61H)—(60H)→62H

2)、(62H)=38H

13.试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。

答:MOVA,

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值