DPTR是某些单片机中一个功能比较特殊的寄存器,是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用 2017-12-27 15:27:06 基于8051单片机DPTR扩展设计介绍 ...
MOVC A,@A+DPTR。这条指令是单片机查表指令,DPTR是首地址,A寄存器,指令的意思就是将DPTR的地址加上累加器A存的偏移量,形成的新地址中的数取出给A。其他类似指令:MOVC A,@A+PC 83 由((A)+(PC));寻址的程序存贮器字节送A MOVX A,@Ri E2~E3 送外部数据(8位地址)送A ...
是个查表操作,用来操作ROM中存放的表格数据(其实就是连续的内存单元,比如数组形式的数码管段码);假设dptr为你ROM中的连续内存单元的首地址,DPTR+A就是你的内存单元偏移(从DPTR开始)到第64个内存单元,然后把其值取出赋给累加器,然后在程序中使用;...
PORTA 是一个标号 它后面一般是放固定数据表格的了.你可以指定这个数据表格存放位置.(在这条指令前,用ORG 0200H这样指定它在单片机ROM的位置)编译器编译时,会自动把地址确定在PORTA.那么执行这指令MOV DPTR,#PORTA 就会把正确的表格首址送DPTA了....
商 是多少一样。在此还是给你举个例子:mov a,#3 mov dptr,#led MOVC A,@A+DPTR A=0B0H ;这个数值怎么得到的?理解的话你的问题就清楚了!<提示,如果之前送入A的是0,那么到了这里A的值就是0C0H,想想为什么 ~-~ > LED: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H ...