英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: 一个很奇怪的问题,帮忙分晰一下是什么原因。 [打印本页]

作者: winnie    时间: 2009-3-11 14:26
标题: 一个很奇怪的问题,帮忙分晰一下是什么原因。
PIC16F72查表程序返回的值都为‘0’;**********查表程序***********************************
table
         addwf pcl,1
          retlw d'100'     ;0
          retlw d'100'
          retlw d'100'   
          retlw d'100'
          retlw d'100'   
          retlw d'100'     ;5        
          retlw d'100'  
          retlw d'100'
          retlw d'14'
         retlw d'16'   
          retlw d'18'     ;10
         retlw d'20'   
         retlw d'21'         
         retlw d'23'
         retlw d'25'   
         retlw d'27'     ;15
                        
         retlw d'29'   
         retlw d'31'
         retlw d'33'   
         retlw d'35'         
         retlw 0x0f     ;20

         retlw 0x10   
         retlw 0x11
         retlw d'46'   
         retlw d'49'
         retlw d'52'     ;25
   
         retlw d'55'         
         retlw d'58'
         retlw d'61'   
         retlw d'64'
         retlw d'67'    ;30

         retlw d'70'
         retlw d'73'     
         retlw d'76'   
         retlw d'79'
         retlw d'82'     ;35
  
         retlw d'85'
         retlw d'88'   
         retlw d'92'   
         retlw d'95'
         retlw d'98'     ;40
         retlw d'101'
         retlw d'104'
         retlw d'107'
         retlw d'110'
         retlw d'113'     ;45
         retlw d'116'
         retlw d'119'
         retlw d'121'
         retlw d'124'
         retlw d'127'     ;50

         retlw d'130'
         retlw d'133'
         retlw d'137'
         retlw d'140'
         retlw d'143'     ;50
作者: winnie    时间: 2009-3-11 14:27
给个事例参考
#include <P16F72.inc>
Count   equ  20h
temp     equ  21h
;***********************************************************
;******************复位向量和中断向量***********************
             org 000h     ;
             nop          ;设置一条ICD必须的空操作指令
             goto MAIN    ;
;----------------------不带小数点---------------------------
TABLE                              
              ADDWF      PCL,1
              RETLW      0xc0      
              RETLW      0xf9         
              RETLW      0xa4           
              RETLW      0xb0         
              RETLW      0x99         
              RETLW      0x92        
              RETLW      0x82         
              RETLW      0XD8         
              RETLW      0x80         
              RETLW      0x90   
;------------------------------------------------------------
MAIN  
        BCF         STATUS,RP0         ;恢复寄存器体0
        BCF         STATUS,RP1         
loop   
        movlw  0ah      
        XORWF  temp,W
        BTFSS  STATUS,Z
        goto     loop1
        clrf     temp
loop1   movf     temp,0
        call     TABLE
        MOVWF  Count
         incf     temp
        goto     loop
;------------------------------------------------------------
        end
作者: winnie    时间: 2009-3-11 14:27
表是否定位不对?
表开始定义在比如 0007H

表最后一行不要超出 00FFH,试一下。否则是不是调用问题啊?




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/) Powered by Discuz! X3.2