求高手解答单片机问题.

如题所述

一、求高手解答单片机问题.

程序数据

二、有关单片机的几个问题!跪求高手回答

1.执行CALL指令前SP=40H,A=30H,但是在SUBR中对SP压栈2009H,在执行RET指令后将2009H送回PC,造成单片机跳转到0x2009处继续执行指令,但这个位置不是程序中规定的指令开始地址,所以运行后A=30H,SP=42H

2.A是8位的寄存器吧?0+1+2+.....+100得到的是16位的数据,A里装不下呢,程序这么写,结果的高字节在R3,低字节在R2:

MOV  R0,#101   ;0~100是101个数字

MOV R1,#00

MOV A,#0

MOV B,#0

LOOP:

  CLR C

  MOV A,R2

  ADD A,R1

 MOV  R2,A

 MOV  R3,A

 ADDC A,#0

 MOV   R3,A

 INC   R1

 DJNZ  R0,LOOP

3.没说清顺序呢,那我认为50H和60H是高两位数,51H和61H是低两位数:

CLR C

MOV A,51H

ADD A,61H

DA

MOV  41H,A

MOV A,50H

ADDC A,60H

DA

MOV 40H,A

MOV

三、有关单片机的几个问题!跪求高手回答

1.是个循环,而且是个死循用到的,功能就是只要单片机上电它使程序不停里执行死循环里的内容!2.这个看你的单片机的硬件电路了,你最好也先看懂硬件电路才编程。通常L管选通的!看来你的LED是共阳极接法的,就是8个LED正极共电极接VCC,基极连到P1口的接法,如果你么了!P1=0,三极管正向导通,VCC加到LED上,如果LED的另一端接的是低电平,使LED正偏,则LED亮。while(1)里面的语句,但是当有中断发生时,CPU得先去执行le处继续执行,也就相当等待中断了!也U就立该执行中断,没有的话就一直执行while(1)里面的~~

温馨提示:答案为网友推荐,仅供参考
相似回答