Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 29.11.2008, 14:55  
ST_Senya
Временная регистрация
 
Регистрация: 17.11.2007
Сообщений: 67
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
ST_Senya на пути к лучшему
По умолчанию Помогите Не получается запись в EEPROM

Я в этом деле новичок. Почему то не получается запись в EEPROM память микроконтроллера PIC16F84A.
Все делаю как требуется в инструкции. Но в симуляторе MPLAB (7.40) в данную ячейку данные не помещаются. В Debugger -› Select Tool выбран симулятор MPLAB SIM. После запуска и выполнения программы в View -› EEPROM данные не изменились. Подскажите в чем проблема?. Заранее благодарен.
код программы:

LIST p=16F84A
__CONFIG 3FFBh
#include ‹p16F84A.inc›
org 0x0000
START

movlw 1h ;адрес ячейки EEPROM
movwf EEADR
movlw 03h ;данные для записи
movwf EEDATA

bcf INTCON,GIE ;запретить прерывания
bsf STATUS,5 ;Выбрать банк 1

bsf EECON1,2 ;Разрешить запись
movlw 55h
movwf EECON2
movlw 0AAh
movwf EECON2
bsf EECON1,1 ;запись
bcf EECON1,4;сбрасываем флаг прерывания по ;запиcи в EEPROM
bsf INTCON,GIE;Разрешить прерывания
goto START
end
Реклама:
ST_Senya вне форума  
Непрочитано 29.11.2008, 17:41  
Popeye
Почётный гражданин KAZUS.RU
 
Аватар для Popeye
 
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
Popeye на пути к лучшему
По умолчанию

Получается, просто MPLAB правильно симулирует поведение вещицы.
Program FLASH Memory Erase/Write cycle time : 4 - 8 ms.
Т.е. запись в EEPROM требует времени, типично 4мС, максимально 8. Просто надо подождать. Я тут осмелился немножко подправить код.
Код:
	LIST p=16F84A
	#include ‹p16F84A.inc›
	__CONFIG _RC_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF

	org 0x0000
START
	movlw 1h ;адрес ячейки EEPROM
	movwf EEADR
	movlw 03h ;данные для записи
	movwf EEDATA

	bcf INTCON,GIE ;запретить прерывания
	bsf STATUS,RP0 ;Выбрать банк 1

	bsf EECON1,WREN ;Разрешить запись
	movlw 55h
	movwf EECON2
	movlw 0AAh
	movwf EECON2
	bsf EECON1,WR ;запись
	bcf EECON1,EEIF;сбрасываем флаг прерывания по ;запиcи в EEPROM
	bsf INTCON,GIE;Разрешить прерывания
	
Wait
	goto Wait
	end
Удачи!
Popeye вне форума  
Непрочитано 29.11.2008, 19:23  
BJAKA
Частый гость
 
Регистрация: 12.02.2008
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
BJAKA на пути к лучшему
По умолчанию Re: Помогите Не получается запись в EEPROM

Сообщение от ST_Senya

bsf EECON1,1 ;запись
bcf EECON1,4;сбрасываем флаг прерывания по ;запиcи в EEPROM
bsf INTCON,GIE;Разрешить прерывания
goto START
end
Я тоже с этим мучился и пришел к выводу что МПЛАБ не в сосотоянии это просимулировать. А в проге я бы сделал так:
bsf EECON1,1 ;запись
btfsс EECON1,1 ;
GOTO $-1
bcf EECON1,4;сбрасываем флаг прерывания по ;запиcи в EEPROM
bsf INTCON,GIE;Разрешить прерывания
goto START
BJAKA вне форума  
Непрочитано 30.11.2008, 03:59  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Помогите Не получается запись в EEPROM

Сообщение от BJAKA
Я тоже с этим мучился и пришел к выводу что МПЛАБ не в сосотоянии это просимулировать. А в проге я бы сделал так:
bsf EECON1,1 ;запись
btfsс EECON1,1 ;
GOTO $-1
bcf EECON1,4;сбрасываем флаг прерывания по ;запиcи в EEPROM
bsf INTCON,GIE;Разрешить прерывания
goto START
Всё он в состоянии... ты когда смотриш результат в ЕЕПРОМ? он тебе что... сразу думаеш покажет?..

Сколько времени проходит после команды (bsf EECON1,1) по счётчику в симуляторе???
Вот в АВР Студио.. даные появляются через несколько циклов.. что не есть правильно.. а в МПЛАБ как положено через 4-8 миллисекунд процессорного времени...

;ЗАПИСЬ ВО ВНУТРЕННЮЮ ЕПРОМ В ЯЧЕЙКУ ПО ТЕКУЩЕМУ АДРЕСУ, ПРЕДПРОВЕРКОЙ ЕЕПРОМ И ПРОВЕРКОЙ ЗАНЯТОСТИ ЕЕПРОМ, INDF=DATA
Код:
WRITINTEEP
	BANKSEL	EECON1
	BTFSC	EECON1,WR
	GOTO	ERRWRITINTEEP
	BANKSEL	EEDATA
	MOVF	INDF,W
	SUBWF	EEDATA,W
	BTFSC	STATUS,Z
	GOTO	EXIWRITINTEEP
	MOVF	INDF,W
	MOVWF	EEDATA
	BANKSEL	EECON1
	BCF	INTCON,GIE
;	BCF	EECON1,EEPGD	;ДЛЯ 87Х СЕРИИ
	BSF	EECON1,WREN
	MOVLW	055
	MOVWF	EECON2
	MOVLW	0AA
	MOVWF	EECON2
	BSF	EECON1,WR
	GOTO     $+1
	BCF	EECON1,WREN
	BSF	INTCON,GIE
EXIWRITINTEEP
	BANKSEL0
	BСF	STATUS,C	;ВСЁ ОК
	RETURN
ERRWRITINTEEP
	BSF	STATUS,C	;ЕЕПРОМ ЗАНЯТЯ, ЗАЙДИТЕ ПОЗЖЕ
	RETURN
picavr вне форума  
Непрочитано 30.11.2008, 11:10  
BJAKA
Частый гость
 
Регистрация: 12.02.2008
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
BJAKA на пути к лучшему
По умолчанию

PICAVR спасибо что прояснили ситуацию с симуляцией записи в EEPROM в MPLABe в дальнейшем буду это учитывать.
BJAKA вне форума  
Непрочитано 30.11.2008, 16:42  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию

Сообщение от BJAKA
PICAVR спасибо что прояснили ситуацию с симуляцией записи в EEPROM в MPLABe в дальнейшем буду это учитывать.
Странно.. а ты хотел что б В EEPROM писало МГНОВЕННО? ... эт же не РАМ..

вот так о возникает глюки...
кто то чего то недопонял..
picavr вне форума  
Непрочитано 30.11.2008, 21:54  
BJAKA
Частый гость
 
Регистрация: 12.02.2008
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
BJAKA на пути к лучшему
По умолчанию

В конечном итоге не важно как себя ведет МПЛАБ ведь при правильном алгоритме записи в EEPROM в реальной программе все работает.
BJAKA вне форума  
Непрочитано 01.12.2008, 01:53  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию

Сообщение от BJAKA
В конечном итоге не важно как себя ведет МПЛАБ ведь при правильном алгоритме записи в EEPROM в реальной программе все работает.
Тебя не поймёш... то тебе в МПЛАБе нужно.. то в кристалле... если в кристалле, чего зря в форум кричать )))))
picavr вне форума  
Непрочитано 01.12.2008, 19:16  
BJAKA
Частый гость
 
Регистрация: 12.02.2008
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
BJAKA на пути к лучшему
По умолчанию

Ошибаться человеку свойственно, но окончательно все запутать может только компьютер.
BJAKA вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись EEPROM Megi88 FedorChek Микроконтроллеры, АЦП, память и т.д 3 23.03.2009 18:42
Запись в EEPROM pic16f628a J-t Микроконтроллеры, АЦП, память и т.д 6 22.01.2008 16:10
PIC,запись в EEPROM ? retas Микроконтроллеры, АЦП, память и т.д 6 30.11.2007 19:13
Запись в I2C EEPROM yel Микроконтроллеры, АЦП, память и т.д 8 07.03.2007 16:08
Запись чтение в EEPROM gnom Микроконтроллеры, АЦП, память и т.д 2 24.02.2006 23:10


Часовой пояс GMT +4, время: 21:47.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot