PIC單片機的查表程序可以利用子程序帶值返回的特點來實現(xiàn)。具體是在主程序中先取表數(shù)據(jù)地址放入W,接著調用子程序,子程序的第一條指令將W置入PC,則程序跳到數(shù)據(jù)地址的地方,再由“RETLW”指令將數(shù)據(jù)放入W返回到主程序。下面程序以F10放表頭地址。
MOVLW TABLE ?。槐眍^地址→F10
MOVWF 10
┋
MOVLW 1 ?。?→W,準備取“1”的線段值
ADDWF 10,1 ??;F10+W =“1”的數(shù)據(jù)地址
CALL CONVERT
MOVWF 6 ??;線段值置到B口,點亮LED
┋
CONVERT MOVWF 2 ;W→PC TABLE
RETLW 0C0H ?。弧?”線段值
RETLW 0F9H ??;“1”線段值
┋
RETLW 90H ??;“9”線段值