㈠ 在51单片机系统中,I/O 外设与片外RAM 传送数据时,使用汇编的什么指令
51单片机I/O 外设与片外RAM 传送数据时,这要看I/O外设是怎么连接的,如果也是采用扩展外部RAM方式连接的,要用MOVX指令访问外设。如果是由并行口直接连接的,用读写并行口的指令,例如,写数据指令:MOV P1,A,读指令:MOV A,P1
而外设是不能直接与外部RAM之间直接传送数据的,必须通过A间接完成。例读I/O,写RAM
MOV A,P1
MOV DPTR,#2040H
MOVX @DPTR,A
读RAM,写I/O
MOV DPTR,#2100H
MOVX A,@DPTR
MOV P1,A
望及时采纳!
㈡ 怎么实现51单片机片外RAM 00EH和片外RAM 00FH内容的互换用C51、汇编语言分别实现
片外RAM 00EH和
片外RAM 00FH
内容的互换
汇编:
MOVDPTR,#000EH
MOVXA,@DPTR
MOVB,A
MOVDPTR,#000FH
MOVXA,@DPTR
XCHA,B
MOVX@DPTR,A
MOVDPTR,#000EH
XCHA,B
MOVX@DPTR,A
END
㈢ 单片机里将片外数据传送到片内怎么传
你写得正确
㈣ 单片机 用汇编语言,如何把ROM中0200H~0207H单元的数传送至片外RAM0000H~0007H单元中
一楼扯淡,对ROM的读取居然不用MOVC而用MOV。我来给个注释,楼主可以无视我。
MOV R0,#0 ;R0作为片外存储器的地址,起始为0
MOV DPTR,#200H ;所要读取的ROM的地址,用DPTR取表
LOOP: MOV A,R0
;将R0作为步进的地址量,因为两个地址一个是从0开始,一个是从200H开始,所以DPTR里的200H不变,而更改A和R0,就可以套用下面的两句来循环了
MOVC A,@A+DPTR ;将ROM中的值取至累加器A中,常见的固定格式
MOVX @R0,A ;将读取的值依次送到0000~0007H处
INC R0 ;R0从0000~0007H递增
CJNE R0,#08,LOOP;判断是否达到0007H,决定是否继续递增R0
㈤ 单片机 汇编 将片内30H~40H及片外0010H~0100H,清零,
MOV R7,#7
MOV R0,#41H
MOV DPTR,#0041H
LOOP:MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R7,LOOP
MOV A,41H
CJNE A,#0FH,NEQ
ADD A,#0FH
MOV DPTR,#0051H
MOVX @DPTR,A
SETB 01H
SJMP FINISH
NEQ: JC NEXT
CLR C
SUBB A,#0FH
MOV DPTR,#0050H
MOVX @DPTR,A
SJMP FINISH
NEXT:MOV B,A
MUL AB
MOV DPTR,#0050H
MOVX @DPTR,A
SETB 00H
FINISH:
END
㈥ 单片机汇编片外RAM到片外RAM的数据传输
mov r7,#15
mov dptr,#2200h
mov r0,dpl
mov r1,dph
mov dptr,#2100#
mov r2,dpl
mov r3,dph
mov dptr,#2000h
l1:movx a,@dptr
inc dptr
push dph
push dpl
mov dpl,r2
mov dph,r3
mov b,a
movx a,@dptr
add a,b
inc dptr
mov r2,dpl
mov r3,dph
mov dpl,r0
mov dph,r1
movx @dptr,a
inc dptr
mov r0,dpl
mov r1,dph
pop dpl
pop dph
djnz r7,lp1
注:两个数据相加不能有溢出。
㈦ 把单片机外部RAM4800H-480FH单元内容转移到片外RAM5800H-580FH中,该如何用汇编
MDAT:
MOV DPL,#00H
MOV R2,#16
LOOP:
MOV DPH,#48H
MOVX A,@DPTR
MOV DPH,#58H
MOVX @DPTR,A
INC DPTR
DJNZ R2,LOOP
RET
㈧ 把单片机外部RAM4800H-480FH单元内容转移到片外RAM5800H-580FH中,该如何用汇编语言编程
嘿嘿 可以采用2种方式 来实现。
1 可以先将外部RAM4800H-480FH单元内容转移到单片机片内数据存储器的缓冲区;
再片内数据存储器的缓冲区内容传送给片外RAM5800H-580FH单元。
(可以使用双指针 DPRT做片外数据存储器指针 R0做片内数据存储器指针)
优点是编程实现起来比较容易。
2 直接将单片机外部RAM4800H-480FH单元内容转移到片外RAM5800H-580FH中;
只能使用单指针DPRT,即DPRT既要做片外数据存储器的源操作数指针 同时也要
做片外数据存储器目的操作数的指针;要来回切换,源操作数地址和目的操作数都
需要保存。
缺点:编程实现起来比较复杂,但不占用单片机的内部数据缓冲器。
呵呵 满意 就选满意回答 具体还有不清楚的 可以找我
㈨ 求51单片机片内RAM 20H-30H 转到片外RAM 1200H-121FH 的汇编程序
DATAM:
MOV R0,#20H
MOV R2,#17
MOV DPTR,#1200H
LOOP:
MOV A,@R0
MOVX DPTR,A
INC R0
INC DPTR
DJNZ R2,LOOP
RET
㈩ 单片机汇编题目:片外RAM20H单元的内容与R0内容互换
mov a,r0 //将r0内容传送到累加器a
mov r1,a //将累加器a内容传送到r1
mov dptr,#0020h //将dptr指针指向20h
movx a,@dptr //将片外20h内容送入累加器a
mov r0,a //将累加器a内容送入r0
mov a,r1 //将r1内容传送到累加器a
mov dptr,#0020h //将dptr指针指向20h
movx @dptr,a //将累加器a内容送入片外20h地址当中去