汇编语言,单片机控制流水灯程序理解问题

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寄存器作用,此程序是怎么实现输出的?
展开
 我来答
山海茫茫青云起
2011-03-30 · 超过27用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:64.5万
展开全部
这肯定是外接器件,通过用访问外部RAM的方法来访问它,DPTR里面2000的就是访问地址。
只要一向这个地址里写数据(存放在地址FE里,后转移到寄存器A),对应的外接元件就会接受到,然后向外输出电平(接LED)了。
小谢
2025-08-18 广告
深圳市金创图电子设备有限公司,联系电话:18928465613。金创图是一家集研发、生产、营销、服务为一体的高新技术企业。致力于生产:管装烧录机,编带烧录机,托盘烧录机,通用型烧录机、自动一体化烧录机等;设备产品具有高速率、高刚性、高性能、... 点击进入详情页
本回答由小谢提供
德昂当
2011-03-30 · TA获得超过2842个赞
知道大有可为答主
回答量:1074
采纳率:100%
帮助的人:872万
展开全部
MOVX @DPTR,A 用这条语句实现输出。
DPTR 寄存器用来存放地址。
单片机 P2 P0口组成16条的地址线。P0口复用为 8位数据线。
MOVX @DPTR,A DPTR中的16位地址值就会先输出到 P2 P0口上,然后,A中的数据值再输出到 P0口上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liujiahi
2011-03-30 · TA获得超过1002个赞
知道小有建树答主
回答量:621
采纳率:66%
帮助的人:473万
展开全部
这个程序用在扩展了IO接口的51单片机上。
dptr是16位的数据指针。
movx是外部寻址的,只能通过数据指针dptr
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东明跨境说
2011-03-31 · TA获得超过233个赞
知道答主
回答量:501
采纳率:0%
帮助的人:83.6万
展开全部
哎 DPTR就是P0和P2 P08位 P28位,加起来就是16位DPTR寄存器,所以用DPTR控制P0和p2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式