реклама на сайте
подробности

 
 
> не пишится в EEPROM данные, Реально не пишится в EEPROM данные
Sholkin
сообщение Apr 2 2007, 15:43
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 41
Регистрация: 2-04-07
Пользователь №: 26 711



Здравствуйте. Первый раз на вашем форуме. На том где я обычно страшиваю не кто не ответил .Посоветовали к вам. Проблема вот какая.
(тему по ентому можно посмотреть сдесь http://www.fulcrum.ru/cgi-bin/bbs/mess_sel...564&page=1)
В процессоре не записываються данные в EEPROM. Написал программу в AVR 4.12 всё нормально данные пишуться прогу зашил в проц мега 8L на этом блоке где идет запись в EEPROM он застопориваеться и даль всё.
Вот мой кусок проги записи в эмуляторе всё тип топ
;запись расхода электроэнергии в EEPROM
clr r22 ;обнуление переменной условия записи в EEPROM
ldi r20,0
OUT $1E,R20
lds r21,$60
OUT $1D,R21
LDI R21,4
sts $3C,R21
LDI R21,2
sts $3C,R21
WEP0: SBIC $1C,1
RJMP WEP0

ldi r20,1
OUT $1E,R20
lds r21,$61
OUT $1D,R21
LDI R21,4
sts $3C,R21
LDI R21,2
sts $3C,R21
WEP1: SBIC $1C,1
RJMP WEP1

ldi r20,2
OUT $1E,R20
lds r21,$62
OUT $1D,R21
LDI R21,4
sts $3C,R21
LDI R21,2
sts $3C,R21
WEP2: SBIC $1C,1
RJMP WEP2

ldi r20,3
OUT $1E,R20
lds r21,$63
OUT $1D,R21
LDI R21,4
sts $3C,R21
LDI R21,2
sts $3C,R21
WEP3: SBIC $1C,1
RJMP WEP3

ldi r20,4
OUT $1E,R20
lds r21,$64
OUT $1D,R21
LDI R21,4
sts $3C,R21
LDI R21,2
sts $3C,R21
WEP4: SBIC $1C,1
RJMP WEP4

ldi r20,5
OUT $1E,R20
lds r21,$65
OUT $1D,R21
LDI R21,4
sts $3C,R21
LDI R21,2
sts $3C,R21
WEP5:SBIC $1C,1
RJMP WEP5

ldi r20,6
OUT $1E,R20
MOV r21,r15
OUT $1D,R21
LDI R21,4
sts $3C,R21
LDI R21,2
sts $3C,R21
WEP6:SBIC $1C,1
RJMP WEP6
;обнуление памяти о расходе електроэнергии
ldi r16,0b00000000 ;временно заносим данные о электроэнергии
sts $60,r16
sts $61,r16
sts $62,r16
sts $63,r16
sts $64,r16
sts $65,r16
clr r15
; чтение из EEPROM данных расхода электроэнергии в десятичной форме
; и запись их в память
ldi R20,0 ;чтение 1 цифры
OUT $1E,R20
LDI R20,1
OUT $1C,R20
REP0:SBIC $1C,0
RJMP REP0
IN R21,$1D
sts $60,r21

ldi R20,1 ;чтение 2 цифры
OUT $1E,R20
LDI R20,1
OUT $1C,R20
REP1:SBIC $1C,0
RJMP REP1
IN R21,$1D
sts $61,r21

ldi R20,2 ;чтение 3 цифры
OUT $1E,R20
LDI R20,1
OUT $1C,R20
REP2:SBIC $1C,0
RJMP REP2
IN R21,$1D
sts $62,r21

ldi R20,3 ;чтение 4 цифры
OUT $1E,R20
LDI R20,1
OUT $1C,R20
REP3:SBIC $1C,0
RJMP REP3
IN R21,$1D
sts $63,r21

ldi R20,4 ;чтение 5 цифры
OUT $1E,R20
LDI R20,1
OUT $1C,R20
REP4:SBIC $1C,0
RJMP REP4
IN R21,$1D
sts $64,r21

ldi R20,5 ;чтение 6 цифры
OUT $1E,R20
LDI R20,1
OUT $1C,R20
REP5:SBIC $1C,0
RJMP REP5
IN R21,$1D
sts $65,r21

ldi R20,6 ;чтение номера счётчика из EEPROM
OUT $1E,R20
LDI R20,1
OUT $1C,R20
REP6:SBIC $1C,0
RJMP REP6
IN R15,$1D ;запись номера счётчика в регистор

; конец чтение из EEPROM данных расхода электроэнергии в десятичной форме
Потом сделал как доке сначала команду WEP0: SBIC $1C,1
RJMP WEP0
потом OUT $1E,R20
lds r21,$60
OUT $1D,R21
LDI R21,4
sts $3C,R21
LDI R21,2
sts $3C,R21
думал в этом деле нет всё осталось по прежнему. чегодальше делать где рыть не знаю
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sholkin
сообщение Apr 10 2007, 05:36
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 41
Регистрация: 2-04-07
Пользователь №: 26 711



Здравствуйте
В пятницу поседел над програмкой вот чего получилось. Задачи у меня разделены сначала пишим в память потом в еепром потом обнуляем в памяти ячейки куда пишим считываем с еепром и записываем в память. Раньше у меня считывалось (убрал в програмке запись в еепром ) из еепром всё нормально как только занашу код записи прога не работаеть. Чего сделал в пятницу . Убрал все перечисленные ошибки зашил в память проца прогу (в имуляторе всё работает проверил) болт. Потом убрал опять записи в ячейки еепрома зашил всё считываеться . Потом вставил замись в еепром полько в первыю ячейку зашил заработало потом вставил запись во вторрую ячейку зашил работает теперь пишиться в две ячейки встави запиь в третью ячейку болт не стала работать прога. записи одинаковые но дальше 3 ячейки не пишит . Вообще не понял привожу новый код

Как он приведен пишится в ячейки еепрома в 0 и 1 если раблокировать запись в 3 прога на ней встанет колом пока мыслей нет в имуляторе всё окей
Пожскажите ещё чего может быть ? может проц гнилой ? или я ..................
rjmp reset
reti
reti
reti
reti
reti
reti
reti
reti
reti
reti
rjmp RXC
rjmp UDRE
rjmp TXC

aa: sbic $12,4 ; сравнение Pd(0)=1
rjmp outr0 ; пограмма передачи низкого уровня символа
rjmp outr1
outr0:cbi $12,4 ;вывод сигнала анти сброс (0)
rjmp aa
outr1:sbi $12,4 ;вывод сигнала анти сброс (1)
wdr ;сбрасывать WDT(вачдок таймер
rjmp aa
reset:
////////////////////////////////////////////////////////////////////////////////
ldi r16,0b00011001 ;установка защиты от зависания программы
out $21,r16
ldi r16,0b00000001 ;временно заносим данные о электроэнергии
sts $60,r16
ldi r16,0b00000010
sts $61,r16
ldi r16,0b00000011
sts $62,r16
ldi r16,0b00000100
sts $63,r16
ldi r16,0b00000101
sts $64,r16
ldi r16,0b00000110
sts $65,r16

ldi r16,0b10000001 ;временно заносим номер счётчика
mov r15,r16
ldi r16,$DF ;инициализация стека
out $3d,r16
clr r14
;запись расхода электроэнергии в EEPROM
WRITE_EEPROM:
clr r22 ;обнуление переменной условия записи в EEPROM
ldi r20,0
OUT $1F,R20
ldi r20,0
OUT $1E,R20
lds r21,$60
OUT $1D,R21
SBI $1C,2
SBI $1C,1
WEP0:SBIC $1C,1
RJMP WEP0


ldi r20,0
OUT $1F,R20
ldi r20,1
OUT $1E,R20
lds r21,$61
OUT $1D,R21
SBI $1C,2
SBI $1C,1
WEP1:SBIC $1C,1
RJMP WEP1

// ldi r20,0
// OUT $1F,R20
// ldi r20,2
// OUT $1E,R20
// lds r21,$62
// OUT $1D,R21
// SBI $1C,2
// SBI $1C,1
//WEP2:SBIC $1C,1
// RJMP WEP2

// ldi r20,0
// OUT $1F,R20
// ldi r20,3
// OUT $1E,R20
// lds r21,$63
// OUT $1D,R21
// SBI $1C,2
// SBI $1C,1
/////WEP3:SBIC $1C,1
// RJMP WEP3

// ldi r20,0
// OUT $1F,R20
// ldi r20,4
// OUT $1E,R20
// lds r21,$64
// OUT $1D,R21
// SBI $1C,2
// SBI $1C,1
//WEP4:SBIC $1C,1
// RJMP WEP4

// ldi r20,0
// OUT $1F,R20
// ldi r20,5
// OUT $1E,R20
// lds r21,$65
// OUT $1D,R21
// SBI $1C,2
// SBI $1C,1
//WEP5:SBIC $1C,1
// RJMP WEP5

// ldi r20,0
// OUT $1F,R20
// ldi r20,6
// OUT $1E,R20
// mov r21,r15
// OUT $1D,R21
// SBI $1C,2
// SBI $1C,1
//WEP6:SBIC $1C,1
// RJMP WEP6


;обнуление памяти о расходе електроэнергии
ldi r16,0b00000000 ;временно заносим данные о электроэнергии
sts $60,r16
sts $61,r16
sts $62,r16
sts $63,r16
sts $64,r16
sts $65,r16
clr r15

; чтение из EEPROM данных расхода электроэнергии в десятичной форме
; и запись их в память


ldi R20,0 ;чтение 1 цифры
OUT $1E,R20
SBI $1C,0
REP0:SBIC $1C,0
RJMP REP0
IN R21,$1D
sts $60,r21

ldi R20,1 ;чтение 2 цифры
OUT $1E,R20
SBI $1C,0
REP1:SBIC $1C,0
RJMP REP1
IN R21,$1D
sts $61,r21

ldi R20,2 ;чтение 3 цифры
OUT $1E,R20
SBI $1C,0
REP2:SBIC $1C,0
RJMP REP2
IN R21,$1D
sts $62,r21

ldi R20,3 ;чтение 4 цифры
OUT $1E,R20
SBI $1C,0
REP3:SBIC $1C,0
RJMP REP3
IN R21,$1D
sts $63,r21

ldi R20,4 ;чтение 5 цифры
OUT $1E,R20
SBI $1C,0
REP4:SBIC $1C,0
RJMP REP4
IN R21,$1D
sts $64,r21

ldi R20,5 ;чтение 6 цифры
OUT $1E,R20
SBI $1C,0
REP5:SBIC $1C,0
RJMP REP5
IN R21,$1D
sts $65,r21

ldi R20,6 ;чтение номера счётчика из EEPROM
OUT $1E,R20
SBI $1C,0
REP6:SBIC $1C,0
RJMP REP6
IN R15,$1D ;запись номера счётчика в регистор

; конец чтение из EEPROM данных расхода электроэнергии в десятичной форме

////////////////////////////////////////////////////////////////////////////
;установка режима порт D
ldi r16,0b11110010
ldi r17,0b00001101
out $11,r16 ;установка регистра DDR_D
out $12,r17 ;установка регистра PORT_D
;установка режима USART
ldi r23,0b00000010
out $0B,r23 ;установка регистра UCSRA
ldi r23,0b11011000 ;разрешаем работу приёмника/передатчика и разрешаем прерывания по завершению приёма/передачи
out $0A,r23 ;установка регистра UCSRB
ldi r23,0b00000000
out $20,r23 ;установка регистра UBRRH
ldi r23,0b10000110
out $20,r23 ;установка регистра UCSRC
ldi r23,0b01100111
out $09 ,r23 ;установка регистра скорости приёма/передачи UBRRL
sei ;разрешение прерывания
rjmp aa


RXC: sbi $12,5 ;вывод сигнала приём закончен
in r23,$0C ;получение данных с регистра USART
cpse r23,r15 ;сравнение данных регистра приёма USART с номером счётчика
rjmp felse ;не совпадение кода и на подпрограмму о передачи принятых данных
sbi $12,6 ;вывод сигнала о совподении кода
lds r23,$60 ;данные совпадают с номером счётчика
out $0C,r23
ldi r23,0b11111000
out $0A,r23 ; разрешаем прерывание по опусташению регистра данных USART
inc r14
reti
UDRE: mov r23,r14
cpi r23,0b00000001
brne writ3
lds r23,$61 ;передача второй цифры
out $0C,r23
inc r14
reti
writ3:cpi r23,0b00000010
brne writ4
lds r23,$62 ;передача третей цифры
out$0C,r23
inc r14
reti
writ4:cpi r23,0b00000011
brne writ5
lds r23,$63 ;передача четвёртой цифры
out $0C,r23
inc r14
reti
writ5:cpi r23,0b00000100
brne writ6
lds r23,$64 ;передача пятой цифры
out $0C,r23
inc r14
reti
writ6:lds r23,$65 ;передача шестой цифры
out $0C,r23
clr r14
ldi r23,0b11011000
out $0A,r23 ;заприщаем работу прерывания по опустошению регистра приёма/передачи
reti
TXC: sbi $12,7 ;вывод сигнала завершения передачи
reti

felse:mov r24,r23
out $0C,r24
ldi r24,0b10101010
out $0C,r24
reti
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sholkin   не пишится в EEPROM данные   Apr 2 2007, 15:43
- - Dima_Ag   ПОсмотрите в Datasheet на MEGA8 , на стр.20 и 21 п...   Apr 2 2007, 15:53
- - Kuzmi4   2 Sholkin - вот, собсно всё работает и на 8-й и на...   Apr 3 2007, 08:29
- - Dopler   Не юбижайтесь, но довольно трудно разбираться в чу...   Apr 3 2007, 10:22
- - sadat   Приведу и свой код: A = R16 (привык называть регис...   Apr 3 2007, 12:32
- - Sholkin   Здравствуйте вроде в моём коде все коментарии про...   Apr 4 2007, 10:30
|- - bodja74   Цитата(Sholkin @ Apr 4 2007, 10:30) Чужое...   Apr 4 2007, 11:18
- - Sholkin   bodja74 вы немного не правы . Симуляторе работает ...   Apr 5 2007, 06:35
|- - mempfis_   Привет вот ещё мой код который стопроцентно рабочи...   Apr 7 2007, 16:34
- - defunct   Sholkin Цитата... OUT $1E,R20 lds r21,...   Apr 7 2007, 17:10
- - bodja74   1 Есть такая волшебная строчка .include "C:...   Apr 10 2007, 18:52
|- - defunct   Цитата(bodja74 @ Apr 10 2007, 17:52) 3 Ес...   Apr 11 2007, 00:20
||- - IgorKossak   Цитата(defunct @ Apr 11 2007, 00:20) ... ...   Apr 11 2007, 12:52
|- - Wild007   Полностью согласен с: Цитата(bodja74 @ Apr 10...   Apr 20 2007, 15:41
- - Sholkin   Здравствуйте. Зделал всё как мне сказали выше бора...   Apr 17 2007, 05:37
- - Sholkin   Парни что реально не кто не сможет помочь ? Обидно   Apr 20 2007, 15:26
- - Sholkin   А если так уже программа написана вся . Ведь это т...   Apr 27 2007, 14:46
- - SasaVitebsk   Я вот смотрю, что здесь все по своей культурности ...   Apr 27 2007, 20:58
- - Sholkin   Спасибо за оптвет Александр Уже начал оформлять и ...   May 2 2007, 10:17
|- - ae_   Цитата(Sholkin @ May 2 2007, 16:17) Спаси...   May 2 2007, 11:29
- - KamikFROMrussia   Здорова всем! Проблема с EEPROM: Программирую...   May 6 2007, 21:07
|- - singlskv   Цитата(KamikFROMrussia @ May 7 2007, 01:0...   May 6 2007, 21:25
||- - defunct   Цитата(singlskv @ May 6 2007, 23:25) Во-п...   May 7 2007, 11:24
||- - IgorKossak   Цитата(defunct @ May 7 2007, 14:24) Что з...   May 7 2007, 16:53
|- - aesok   Цитата(KamikFROMrussia @ May 7 2007, 01:0...   May 6 2007, 22:31
- - Sholkin   Здравствуйте. ae_ вы немного не правы тогда у мен...   May 7 2007, 12:35
|- - ae_   Цитата(Sholkin @ May 7 2007, 21:35) Тепер...   May 8 2007, 03:45
- - mdmitry   2KamikFROMrussia В WINAVR есть библиотека для раб...   May 7 2007, 13:37
- - Sholkin   Здравствуйте . Код не могу привести вставляю тут н...   May 10 2007, 06:09
|- - ae_   Цитата(Sholkin @ May 10 2007, 15:09) Здра...   May 10 2007, 07:19
- - Sholkin   Здравствуйте . Сейчас всё наладилось могу предоста...   May 14 2007, 22:45
|- - ae_   Цитата(Sholkin @ May 15 2007, 07:45) ... ...   May 15 2007, 00:15
- - Sholkin   Здраствуйте. То что это мой код я понял . Но почем...   May 15 2007, 23:14
|- - ae_   Цитата(Sholkin @ May 16 2007, 12:14) Здра...   May 15 2007, 23:37
- - Sholkin   Здравствуйте. Вот этого фрагмента не достаточно W...   May 17 2007, 12:59
|- - defunct   Цитата(Sholkin @ May 17 2007, 14:59) Вот ...   May 17 2007, 22:51
- - Sholkin   Привет. Привел все как надо на выходных (часть код...   May 23 2007, 07:26
|- - defunct   Цитата(Sholkin @ May 23 2007, 09:26) Чего...   May 23 2007, 14:47
- - IgorKossak   Ну раз уж такое здесь началось, defunct получает п...   May 23 2007, 16:03


Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th August 2025 - 01:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016