登录
首页 单片机论坛
回帖 发帖
正文

主题:MOVC A,@A+DPTR如何理解

点击:12925 回复:14

ORG 1000H
  TABLE: DB 00H,0FFH
DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,7FH
DB 0AAH,55H DB 7FH,0BFH,0DFH,0EFH
DB 0F7H,0FBH,0FDH,0FEH
DB 00H,0FFH DB 11H ;结束标志码(任意非控制编码就可以)
……
ORG 0000H
START: MOV DPTR,#TABLE
LOOP: CLR A
MOVC A,@DPTR
CJNE A,#11H,CNT JMP END_DISP
CNT: MOV P1,A
CALL DELAY
INC DPTR
JMP LOOP
END_DISP:……
以上用的是查表法让8个二极管花样流动,现在有个问题想请教
MOVC A,@DPTR是不是指TABLE送给DPTP,假设TABLE为1000,哪么地址的东西是00H,下一个1001地址为0FFH,再下一个地址是1002,里面的东西是0FEH
INC DPTR是什么意思
               ORG 1000H
TABLE: DB 0FFH,0FFH,00H,00H DB 03H,55H,0CH,0AAH
DB 30H,55H,0C0H,0AAH
DB 0FFH,0FFH,00H,00H DB 11H ORG 0000H
START: MOV DPTR,#TABLE
LOOP: CLR A
MOVC A,@A+DPTR
CJNE A,#11H,CNT
JMP END_DISP
CNT: MOV P1,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV P3,A
CALL DELAY
JMP LOOP
END_DISP:……
以上是个8*8点阵查表 控制点阵,
MOVC A,@A+DPTR这个的意思是不是TABLE送给DPTR(1000H),然后1000+A送给A
DB 后面的数据是一个地址的内容,还是多个地址的内容,地址是不是连续地址的内容,如果不是连续地址的内容我们如何查到这样的数据
04-04-17 19:05
就是把DPTR的地址和A的地址相加,然后把这个地址种的值送入A。
04-04-19 18:53
应该是连续的吧
04-10-11 22:00
同意二楼的观点。
04-11-22 22:42
芯源老师说得对,DB后面一般是一个单字节的数据,而DW后则是一个字的数据
04-11-25 22:26
单片机是要学,偶都接触快一年了,但入门真有点难。
04-11-26 19:16
INC  DPTR为数据指针加1,不断改变地址!!!
04-12-02 13:58
查表程序,我还有点弄不明白地哪位能给我指点一二
04-12-07 13:26
查表程序,我还是有点不明白,有哪位能给我指点一二
04-12-07 13:27
是查表程序了
05-01-18 17:58

上一页下一页

工控新闻

更多新闻资讯