A. 单片机问题:指针是什么
这个问题。。。
你说的是用c语言开发程序的时候用到的指针吧?
就是一个指向数据地址的变量。通过这个指针可以找到数据,并进行修改。
具体的就要看看c语言基础知识了。
用c语言开发单片机很简单的,用c语言中很简单的功能基本就能实现比较复杂的功能了。
B. 急问!msc-51系列单片机程序地址指针为16位是什么意思 新手求教!!
51单片机外部RAM的地址空间为64K,地址总线为16位,访问外接RAM可执行如下4条指令:
MOVX A,@DPTR
MOVX @DPTR,A
MOVX A,@RI
MOVX @RI,A
其中DPTR为16位地址寄存器,地址高8位存于DPH,地址低8位存于DPL;Ri(I=0,1)是8位寄存器,作为地址指针时仅存低8位地址。
MCS-51执行上述指令时分为两个阶段:首先,是从外接程序存储器中取出指令代码,并进行分析。然后,执行对外接RAM的数据读/写操作。在这两个阶段,P0口、P1口上的地址选通是有区别的。
执行“MOVX A,@DPTR”和“MOVX @DPTR,A”指令时,在读指令代码阶段,由程序计数器(PC)提供A0~A15,低8位地址稳定后,在单片机地址锁存信号ALE作用下,P0.X口开始读入MOVX指令代码。在对缺燃外接RAM读写阶段,其过程与前述相同伏态虚,只不过低8位地址不是来自程序计数器的低8位PCL,而是来自地址寄存器的高8位 DPH;高8位地址不是来自程序计数器的高8位PCH,而是来自地址寄存器的高8位PCH。当DPL稳定后,由地址锁存器锁存,P0.X口上出现的是读/ 写外接RAM的数据信息。
执行“MOVX A,@Ri”和“MOVX @RI,A”指令时,取指阶段舆“movx a, @ dptr”和“movx @ dptr, a”过程完全相同。但在执行对外部RAM的读/写阶段,低8位地址来自Ri;高8位地址来自闭知P2口锁存器(P2 SFR)。
C. mcs-51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来做什么
如果是用c语言编程,可以不必注意这些问题,因为编程软件会自动帮你分配,也不容易出错!!
数据指针DPTR是80C51中一个功能比较特殊的寄存器。从结构DPTR是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用。主要功能是存放16位地址,作为片外RAM寻址用的地址寄存器(间接寻址),故称数据指针。
访问片外数据存储器的指令为:
MOVX A,@DPTR 读
MOVX @DPTR,A 写
DPTR的另一个作用是变址寻址,访问程序存储器,做查表指令:如:
以dptr为基址寄存器,将dptr的内容与累加器a的内容相加得到变址地址
movc a, @a+dptr ; (a)<-----((a)+(dptr))
D. 51单片机中MOV A,DPTR能这么使用吗DPTR是属于直接寻址还是间接寻址
它是一个只对A累加器有用的十六位地址指针,也就是可用它可只对A累加器进行间接寻址。这DPTR是一个十六位的寄存器,而A累加器是八位的,可它可分成二个八位的分别为DPH和DPL,如你想传送或何存它时就可分别用传DPH和DPL用二次分别传送或用二个八位RAM分别保存。