[分享]:老弟挺认真,我来说两句
dptr:51单片机中的可十六位寻址的数据指针寄存器,由两个8bit的寄存器(dph和dpl)组成。使用mov指令可以一次写入它的高字节和低字节,如:
mov dptr,#add16 ;add16表示一个16位地址
可以用dptr去访问51的外部数据区(64k),也可以访问51的程序代码区(rom,64k).
例如:
mov dptr,#2040h
mov a,#0
movx a,@a+dptr ;将外部data区地址为2040h的单元中的一个字节装入累加器acc
dptr也可以方便地访问程序代码区,对于查表操作十分方便,例如:
.
.
mov a,#3 ;欲取出led显示字库中的第三字节(例如在七段led数字管上显示数字“3”
mov dptr,#leddis ;将led显示字库首地址装入dptr
movc a,@a+dptr ;字库中的第三字节被装入acc
mov p1,a ;假定p1为led段驱动,将显示字形输出到p1
.
.
还有更多的灵活应用的方法,明白点了吗?
发表时间:2003年3月17日11:56:38