• Главная • Назад •








Counter

 


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
 

Главная | Назад
 
Отправить сообщение для: gchernov@mail.ru с вопросами и замечаниями об этом веб-узле.
© 2007 MAGETEX
Дата изменения: 23.08.2013