
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A ;理解这句
MOV P0,A
MOV DPTR,#TAB 这句是将TAB处的内容的地址移入DPTR寄存器(51单片机中唯一的一个16位的)
MOVC A,@A+DPTR 这句将(A寄存器中的内容+DPTR)中的地址处的数据移入A
比如此时 A=0,DPTR=300,这时就将300+0寄存器里的数据移到A
如果A=2,DPTR=300,这时就将(300+2)寄存器里的数据移到A
CPL A ; A求反,
MOV P0,A 将A的值移入P0口,用数码管等显示出来结果
振荡周期就是时钟周期
12m的时钟周期话就是1/12m,
时钟周期两分频之后就状态周期,也就是时钟周期乘以2。
6个状态周期就是一个机器周期,也就是12个时钟周期,12m就是1us
指令周期就是执行一条指令所需的时间。
按照51的指令集有些指令是1个机器周期,2个或者4个等等。
这个是51最基本的,怪不得没人回答。
0100H、0200H表示的都是51单片机程序存贮器里面的地址,51单片机可寻址最大64k程序存贮器、最大64k内存。程序存贮器和内存不是统一编址。
PC时程序计数器,主要是记录单片机在ROM的执行位置,一般单片机可以访问64K的地址,也就是需要16位的字宽
单片机编址是16进制,看看编程器里怎样表示的。
ORG 0100H 表示程序从这里开始执行
DPTR是一个16位的寄存器,对这个数据寄存器赋值时,对于寄存器寻址方式,我们是把它拆分为高八位,低八位来访问的
由于它是16位,所以我们可以用它来访问64K的ROM空间,也可以访问64K的外表RAM空间
ORG 0200H 表示存放数据的地址从这里开始,这个地址是程序存贮器地址,不可以在运行中改变。
SQU是查表子程序的编号,主程序调用这段查表程序需 LCALL SQU,这时候单片机的pc指向0101h,单片机从0101h开始执行指令 。
以上就是关于MCS-51单片机查表程序的问题全部的内容,包括:MCS-51单片机查表程序的问题、MCS-51系列单片机有哪些查表指令他们有何本质区别、单片机 查表法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)