
汇编语言,单片机控制流水灯程序理解问题
ORG0000HAJMPMAINORG0030HMAIN:MOVDPTR,#2000HMOV@R0,#0FEHMOVA,@R0MOVX@DPTR,AACALLDELAY;...
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV DPTR,#2000H
MOV @R0,#0FEH
MOV A,@R0
MOVX @DPTR,A
ACALL DELAY ;延时
MOV R3,#07H ;设置左移7次
LOOP: RL A ;左移一位
MOVX @DPTR,A
ACALL DELAY ;延时
DJNZ R3,LOOP ;R3是否为0,不为0转LOOP继续执行
AJMP MAIN ;返回主程循环执
DELAY: MOV R7,#255 ;延时子程序
D1: MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET ;子程序返回
END ;程序结束
--------------------------------------------------------------------------------------
请问DPTR寄存器作用,此程序是怎么实现输出的? 展开
AJMP MAIN
ORG 0030H
MAIN: MOV DPTR,#2000H
MOV @R0,#0FEH
MOV A,@R0
MOVX @DPTR,A
ACALL DELAY ;延时
MOV R3,#07H ;设置左移7次
LOOP: RL A ;左移一位
MOVX @DPTR,A
ACALL DELAY ;延时
DJNZ R3,LOOP ;R3是否为0,不为0转LOOP继续执行
AJMP MAIN ;返回主程循环执
DELAY: MOV R7,#255 ;延时子程序
D1: MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET ;子程序返回
END ;程序结束
--------------------------------------------------------------------------------------
请问DPTR寄存器作用,此程序是怎么实现输出的? 展开
4个回答
展开全部
这肯定是外接器件,通过用访问外部RAM的方法来访问它,DPTR里面2000的就是访问地址。
只要一向这个地址里写数据(存放在地址FE里,后转移到寄存器A),对应的外接元件就会接受到,然后向外输出电平(接LED)了。
只要一向这个地址里写数据(存放在地址FE里,后转移到寄存器A),对应的外接元件就会接受到,然后向外输出电平(接LED)了。

2025-08-18 广告
深圳市金创图电子设备有限公司,联系电话:18928465613。金创图是一家集研发、生产、营销、服务为一体的高新技术企业。致力于生产:管装烧录机,编带烧录机,托盘烧录机,通用型烧录机、自动一体化烧录机等;设备产品具有高速率、高刚性、高性能、...
点击进入详情页
本回答由小谢提供
展开全部
MOVX @DPTR,A 用这条语句实现输出。
DPTR 寄存器用来存放地址。
单片机 P2 P0口组成16条的地址线。P0口复用为 8位数据线。
MOVX @DPTR,A DPTR中的16位地址值就会先输出到 P2 P0口上,然后,A中的数据值再输出到 P0口上。
DPTR 寄存器用来存放地址。
单片机 P2 P0口组成16条的地址线。P0口复用为 8位数据线。
MOVX @DPTR,A DPTR中的16位地址值就会先输出到 P2 P0口上,然后,A中的数据值再输出到 P0口上。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个程序用在扩展了IO接口的51单片机上。
dptr是16位的数据指针。
movx是外部寻址的,只能通过数据指针dptr
dptr是16位的数据指针。
movx是外部寻址的,只能通过数据指针dptr
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哎 DPTR就是P0和P2 P08位 P28位,加起来就是16位DPTR寄存器,所以用DPTR控制P0和p2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询