PIC18 - алгоритм - Табличного чтения
в PIC18 для чтения данных в памяти программ
применяются регистры доступа TBLPTRH,TBLPTRL и TABLAT, но иногда возникает
необходимость выполнить это по старинке с применением регистра PCL и команд
retlw как в 16 серии.
Ниже приводиться пример как это сделать корректно для массива 256 чисел.
тестовая часть.
;============================================================================================
movlw .255
rcall
CosTable
;============================================================================================
программа:
;============================================================================================
org 0x4400
;======================
CosTable
movwf Temp ; загрузка
переменной
clrf
Temph ;
bcf
STATUS,C ; умножить значение регистра на 2
rlcf
Temp,f ;
btfsc STATUS,C
;
incf
Temph ;
;======================
movlw high
(TableStart) ;получите верхние биты адреса для начала таблицы
movwf PCLATH ;
movlw low
(TableStart) ;нагрузьте ниже биты адреса таблицы
addwf Temp,f
;добавьте смещение.
movf
Temph,w ;
addwfc PCLATH,f ;
movf
Temp,w ;
movwf PCL ;perform a
complete jump
TableStart ; 256 step
retlw .0 ;0
retlw .0 ;
retlw .0 ;
retlw .0 ;
retlw .0 ;
retlw .0 ;
retlw .0 ;
retlw .0 ;
retlw .1 ;
retlw .1 ;
retlw .1 ;10
retlw .1 ;
retlw .1 ;
●
●
●
●
retlw .255 ;
retlw .255 ;250
retlw .255 ;
retlw .255 ;
retlw .255 ;
retlw .255 ;
retlw .255 ;255 /26
;============================================================================================
Вопросы направляете на
gchernov@mail.ru.
Для получения дополнительной информации используйте:
MAGETEX
Ukraine
Телефон: +380-50-575-98-63
Факс: +380-50-575-98-63
Интернет:
invent-systems@ya.ru
|