请教一个单片机问题 点击:680 | 回复:0



leewei

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 11回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2006年3月03日
发表于:2006-04-19 21:20:00
楼主
我用的是pic的单片机,在mapide中编了一个查表程序(定义了一个偏移量count)
大意如下:
首先是将count清零,传给w
调用查表程序,查表程序中是将pcl的值加上w(即是此时的偏移量count的值)
在返回给w,在传给一个变量number
之后将count加1,传给w,调用查表程序,返回表值给w,转给number
可是运行时候发现pcl进入查表程序后没有像预期的那样跳到pcl加偏移量的表位置返回希望值,总是返回表头值,还发现执行一天指令时候,pcl值加2,不是加1。和我在很多书看的不一样,应该执行一条指令pcl加1的,这是为什么啊?请高手指教,我实在是查不到原因,也看过很多书了,得不到答案,希望高手指点一下,感激不尽!!!!
附加上代码
count  equ  21h
mumber  equ  22h

org.......


      clrf count
lp    movf count,w
      call table
      movwf number
      incf count
      goto lp
..........

table
     addwf pcl,f
     retlw  d‘167’
     retlw  ......
.........


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师