Запись в EEPROM для PIC16F876A.

Обсуждаются темы не относящиеся к журналу "РАДИО"

Запись в EEPROM для PIC16F876A.

Сообщение Ewgen » 17 апр 2019, 18:27

Требуется записать коды в EEPROM PIC16F876A. Программы пишу в среде MPLAB IDE. Программатор PICkit2. Подскажите как сделать или где можно прочитать.
Ewgen
 
Сообщения: 210
Зарегистрирован: 13 ноя 2009, 20:40
Откуда: Ульяновск

Re: Запись в EEPROM для PIC16F876A.

Сообщение MM16 » 17 апр 2019, 22:27

Можно, например, сделать так:
Файл EEPROM.inc
; РАСПРЕДЕЛЕНИЕ И ИНИЦИАЛИЗАЦИЯ ПАМЯТИ EEPROM
; Память EEPROM (org 0x2100 с этого адреса будто бы начинается EEPROM - условность понятная программатору)
org 0x2100
de 0x0A ;AdresEEPROM=0x00 WriteEEPROM 0x0A
de 0x00 ;Adres=0x01 Write 0x0A
de 0x3F ;Adres=0x02 Write 0x3F
de 0x00 ;Adres=0x03 Write 0x00
.................................
MM16
 
Сообщения: 18
Зарегистрирован: 23 мар 2008, 08:54

Re: Запись в EEPROM для PIC16F876A.

Сообщение ASD » 17 апр 2019, 22:42

MPLAB IDE автоматически помещает коды, предназначенные для записи а EEPROM в общий с кодами программы HEX-файл. Программатор записывает все эти коды за один приём, если, конечно, режим записи в EEPROM в нём не отключён.

В программе задают коды для EEPROM с помощью директивы DE аналогично тому , как задают коды для записи во FLASH-память директивами DB и DW.
Перед директивой DE нужно указать директивой ORG начальный адрес EEPROM, с которого должны быть записаны коды. У микроконтроллеров PIС12, PIC16 адрес его нулевой ячейки - 0x2100.
Если директив DE несколько, то каждая следующая запишет свои коды непосредственно после последней ячейки, заполненной предыдущей директивой. Если это не устраивает, приходится перед новой директивой DE ставить директиву ORG с нужным адресом .

Директивы DE желательно располагать в конце программы. Иначе, чтобы вернуться в программную память, после них нужна ещё одна директива ORG.
ASD
 
Сообщения: 644
Зарегистрирован: 11 мар 2008, 15:52

Re: Запись в EEPROM для PIC16F876A.

Сообщение Ewgen » 18 апр 2019, 07:37

ASD и MM16 огромное спасибо, всё понятно и всё получилось, программатор записывает нужные коды в EEPROM.
ORG 0X00002007 ; СЛОВО КОНФИГУРАЦИИ
DW 0X39F5 ;
ORG 0X00002106 ; EEPROM
DE 0X00 ;
DE 0X00 ;
END
Ewgen
 
Сообщения: 210
Зарегистрирован: 13 ноя 2009, 20:40
Откуда: Ульяновск

Re: Запись в EEPROM для PIC16F876A.

Сообщение ASD » 18 апр 2019, 14:59

Есть ещё директива __CONFIG (с двумя предшествующими подчёркиваниями). Она позволяет задавать конфигурацию, не указывая адрес. И есть предопределённые константы _HS_OSC, _WDT_OFF и прочие, объёдиняя которые по И, можно составить нужное слово конфигурации.
ASD
 
Сообщения: 644
Зарегистрирован: 11 мар 2008, 15:52

Re: Запись в EEPROM для PIC16F876A.

Сообщение Ewgen » 02 окт 2019, 08:36

Уважаемый ASD, вы говорили ещё о директивах DB и DW, я не могу найти описание как обращаться к эти м данным из программы. Для таблиц пользуюсь регистром PCL и командой RETLW.
Ewgen
 
Сообщения: 210
Зарегистрирован: 13 ноя 2009, 20:40
Откуда: Ульяновск

Re: Запись в EEPROM для PIC16F876A.

Сообщение ASD » 02 окт 2019, 12:00

Их и применяют для создания во FLASH-памяти таблиц и текстовых констант.
ASD
 
Сообщения: 644
Зарегистрирован: 11 мар 2008, 15:52

Запись в EEPROM для PIC16F876A

Сообщение pairtykicky » 24 фев 2020, 03:59

PIC 16F84 ma integrovanú malú pamäť EEPROM ktorej obsah sa zachová i po odpojení napájania zaujímalo by ma ako sa da do tejto pamäťe pristupovať ukladať,čítať,mazať data. Takisto by ma zaujímalo akým spôsobom je možné obslužiť integrovaný časovač TMR0 napríklad chcem aby každu sekundu program vykonal istú operáciu napr. skok na nejaké navestie. Za odpoveďe vopred Ďakujem

От модератора. Машинный перевод со словацкого:

"PIC 16F84 я интегрировал небольшую память EEPROM, содержимое которой сохраняется даже после отключения питания мне интересно, как da в этом pamäťe доступ к хранению, чтению, удалению данных. Мне также интересно, как можно управлять встроенным таймером TMR0, например, я хочу, чтобы программа выполняла определенную операцию каждую секунду. прыгай на какой-нибудь корм. Заранее спасибо за ответ"
pairtykicky
 
Сообщения: 2
Зарегистрирован: 19 фев 2020, 04:29
Откуда: USA


Вернуться в Всё остальное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1