-->>DSN. PIC18 - память программ как память данных(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено =L.A.= 26 февраля 2004 г. 16:48


Можно ее так использовать и будет работать даже лучше , чем для PIC16F877. Потому как PIC18 16-ти разрядные и вместо слова команды можно записать 2 байта данных. Единственное неудобство - стирание и запись по 1 му слову невозможна, стирание по 32 слова ( 64 байт ) а запись по 4 слова/8 байт. Но чтение побайтное, и использовать
TBLRD*+/TBLRD+*
даже удобнее , чем традиционную для PIC16-x запись
retlw 0x**
retlw 0x**
Поскольку,как я уже заметил , запись получается компактнее

А пример проги для модификации памяти вот, причем там нет никаких указаний пишутся туду команды или данные. Взято из какой то микрочиповской аппноты

WRITE_BUFFER_BACK ;
LFSR FSR0,003FH ;
; ;
PROGRAM_LOOP ;
MOVLW .8 ; number of bytes in holding register
MOVWF CNT ;
; ;
WRITE_WORD_TO_HREGS ;
MOVF POSTINC0, W ; get low byte of buffer data
MOVWF TABLAT ; present data to table latch
TBLWT+* ; write data, perform a short write
; ; to internal TBLWT holding register.
DECFSZ CNT ; loop until buffers are full
BRA WRITE_WORD_TO_HREGS
;---------------------------;----------------------
PROGRAM_MEMORY ;
MOVLW B'10000100' ;
MOVWF EECON1 ;
; ;
MOVLW 55h ;
MOVWF EECON2 ; write 55h Required
MOVLW AAh ; Sequence
MOVWF EECON2 ; write AAh
BSF EECON1,WR ; start program (CPU stall)
; ;
CLRF EECON1 ; disable write to memory


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru