MCS-51单片机查表程序的问题

MCS-51单片机查表程序的问题,第1张

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系列单片机有哪些查表指令他们有何本质区别、单片机 查表法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9872522.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存