在PIC单片机中,查表指令只有一种RETLW(返回立即数给W寄存器)
WWW.PLCJS.COM——可编程控制器技术门户
plcjs.技.术_网
然而PIC8位单片机,由于PC指针分为了PCH和PCL,而且PIC的程序空间还采用了WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
分页处理,所以使用查表指令经常会出一些难以预料的问题.plcjs.技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
这样的问题,甚至连一些有经验的程序人员也深感其害.WWW.PLCJS.COM——可编程控制器技术门户
WWW_PL※CJS_COM-PLC-技.术_网
查表的作用: 以相同的访问机制获得更多的数据信息.所以在很多程序设计中,P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
查表结构必不可少的.PIC 8位机的查表一般是如下形式:WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
以字符数据为例:P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
W1WW_P4LCJS_COM-PLC-技.术_网
TABLE:WWW_PLCJS_COM-PLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
ADDWF PCL WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
DT "abcdefgh...."; 此处如果W+PCL>255时,小心你的程序就要飞了P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJS_COM-PLC-技.术_网
以上表示为缩写形式,展开为:WWW_P※LCJS_CO※M-PLC-技-.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
RETLW aP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
P.L.C.技.术.网——可编程控制器技术门户
RETLW bWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WW.W_PLCJS_COM-PLC-技.术_网
................WWW.PLCJS.COM——可编程控制器技术门户
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
这样其他地方需要输出ACSII码到PC端或其他地方的,则可以以相同的结构来取数据了.如: P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS@_COM%-PLC-技.术_网
OUT:WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS@_COM%-PLC-技.术_网
MOVF TEMP0, W ;当TEMP0的值不同时,取不同位置的数据.WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
CALL TABLE——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS@_COM%-PLC-技.术_网
一般情况,当PCL+W的值没有超过255时,查表不会出问题,所以PIC在很多资料上WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJS_COM-PLC-技.术_网
说明一般表格放在每页的前256字节空间. 而TABLE的地址如果没有处理的话,可能在程序的任何地方,这样查表出错的几率就非常之大了.当表格大了,表格内容超出256了,又怎么办,总之,处理起来总是感觉烦烦的.WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
FPPA在利用RET I返回数据则不一样了,虽然查表的格式都差不多WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
tab_search:plcjs.技.术_网
pcadd aWWcW_PLCJS_COM-PLC-技.术_网
ret 0x01WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
ret 0x08WWW_PLCJS_COM-PLC-技.术_网
ret 0x0aWWW_PLCJS@_COM%-PLC-技.术_网
ret 0x0f——可——编——程——控-制-器-技——术——门——户
WW.W_PLC※JS_C,OM-PL,C-技.术_网
..............WW.W_PLC※JS_C,OM-PL,C-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
无论tab_search在程序的任何位置,a的值为多少.表格都能顺利的达到期望的地方.因为整个PC作为一个数,当低位有进位时,高位会自动吸收进位.WWW_PL※CJS_COM-PLC-技.术_网
plcjs.技.术_网
FPPA 的查表,除了RET I这样的格式以外,还可以象51一样通过指针来寻址表格超过256单元的表格. 总之,FPPA的指令为程序设计提供了诸多方便用户的选择!WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
plcjs.技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)