Воскресенье, 24.11.2024, 22:22
| RSS
Главная | Программирование микроконтроллеров - Страница 4 - Форум
Защита, контроль, управление
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат

Наш канал в YouTube
]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Программирование микроконтроллеров
AdminДата: Суббота, 13.12.2014, 08:15 | Сообщение # 31
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Я для эксперимента сейчас взял 675 пик и затер в нем калибровочную константу (3424 заменил на 3FFF). Программатор указал на ошибку, но без вопросов позволил восстановить 3424. После залил прошивку - калибровочная константа сохранилась.

Так что даже не знаю, что Вам и посоветовать. А другие прошивки не пробовали загружать? Как в этом случае ведет себя калибровочная константа? Это происходит с конкретным экземпляром PIC или вообще со всеми (629/675/676)?
 
flampardДата: Воскресенье, 14.12.2014, 12:56 | Сообщение # 32
Группа: Пользователи
Сообщений: 5
Статус: Offline
У меня есть только два 629, с ними идентичный результат. Другие прошивки еще не пробовал. Может есть разница между прошивками для 629 и 675? Прошивка приемника радио датчиков для какого МК?
 


AdminДата: Воскресенье, 14.12.2014, 13:02 | Сообщение # 33
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата flampard ()
Может есть разница между прошивками для 629 и 675?

Нет разницы
 
kostyanuchДата: Среда, 30.03.2016, 15:49 | Сообщение # 34
Группа: Пользователи
Сообщений: 45
Статус: Offline
Подскажите пожалуйста а каков принцип прошивки микроконтроллеров, так понимаю лучше сразу купить вот такой вариант ( http://ru.aliexpress.com/item....A0) ) с платкой куда можно воткнуть мк, или просто на требуемые концы надо накинуть соответствующие провода от программатора pickit?

Сообщение отредактировал kostyanuch - Среда, 30.03.2016, 15:50
 
ketivДата: Среда, 18.05.2016, 16:54 | Сообщение # 35
Группа: Пользователи
Сообщений: 15
Статус: Offline
Добрый день уважаемые форумчане!
помогите разобраться с pic16f876a, не получается записать в eeprom, вроде сделал все по даташиту 

========================================================================================
Write       BSF          STATUS,RP1
              BSF          STATUS,RP0   ;ВЫБРАТЬ БАНК 3
              BTFSC      EECON1,WR    ;ПРОВЕРИТЬ ЗАВЕРШЕНИЯ
              GOTO       $-1          ;ОПЕРАЦИИ ЗАПИСИ
              BCF          STATUS,RP0   ;ВЫБРАТЬ БАНК 2
              CLRW                    ;УКАЗАТЬ АДРЕС ЯЧЕЙКИ
           ; MOVF         Reg_3,W
              MOVWF      EEADR
              MOVF        Reg_4,W      ;УКАЗАТЬ ДАНЫЕ ДЛЯ ЗАПИСИ
              MOVWF      EEDATA
              BSF           STATUS,RP0   ;ВЫБРАТЬ БАНК 3
              BCF           EECON1,EEPGD ;ВЫБРАТЬ EEPROM ПАМЯТЬ
              BSF           EECON1,WREN  ;РАЗРЕШИТЬ ЗАПИСЬ В EEPROM
              BCF           INTCON,GIE   ;ЗАПРЕТИТЬ ПРЕРЫВАНИЯ
              MOVLW      0x55
              MOVWF      EECON2
              MOVLW      0xAA
              MOVWF      EECON2
              BSF           EECON1,WR     ;ИНИЦИАЛИЗИРОВАТЬ ЗАПИСЬ
           ; BSF           INTCON,GIE    ;РАЗРЕШИТЬ ПРЕРЫВАНИЯ
              BCF          EECON1,WREN   ;ЗАПРЕТИЬ ЗАПИСЬ В EEPROM
              BCF          STATUS,RP1   ;Выбор банка 0
              BCF          STATUS,RP0
              return   
============================================================================================

TAXO1
             MOVLW       .100          
             MOVWF        Reg_4
             CALL           Write
=============================================================================================
 
AdminДата: Среда, 18.05.2016, 17:56 | Сообщение # 36
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
А по какому адресу Вы пытаетесь писать данные, если регистр Reg_3 закомментирован в приведённом коде?
 
ketivДата: Среда, 18.05.2016, 18:16 | Сообщение # 37
Группа: Пользователи
Сообщений: 15
Статус: Offline
я пробовал записывать в регистр  Reg_3 разные адреса, но все ровно не записывает в eeprom,
команда clrw вроде как должна очистить аккумулятор, то есть записать в W нули, с чтением проблем нет,
 
AdminДата: Среда, 18.05.2016, 20:45 | Сообщение # 38
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата ketiv ()
команда clrw вроде как должна очистить аккумулятор, то есть записать в W нули,

Все правильно и данные должны были записаться в нулевую ячейку (0х00)
А конфигурационный бит защиты записи в EEPROM случайно не установлен?
Какое значение конфигурационного слова?
 
ketivДата: Пятница, 20.05.2016, 20:52 | Сообщение # 39
Группа: Пользователи
Сообщений: 15
Статус: Offline
Значение конфигурационного слова     __config 3D39h.
С записью наполовину я уже разобрался, только вот записывает не то, что надо.
Например надо записать ( .400 ), а записывает (.144) или надо (.300) записывает (.44), может выложить исходник?
посмотрите когда будет время, это ваш проект бортовой компьютер, просто я решил не много переделать под свои хотелки
Прикрепления: bort_kom.asm (66.5 Kb)


Сообщение отредактировал ketiv - Пятница, 20.05.2016, 20:58
 
AdminДата: Пятница, 20.05.2016, 21:03 | Сообщение # 40
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата ketiv ()
Например надо записать ( .400 ), а записывает (.144) или надо (.300) записывает (.44)

Так все правильно, Вы пытаетесь записать в 1 байт (т.е в одну ячеку памяти) значение больше .255. Смотрите, ведь для записи значения .400 требуется два байта:

.400 = b'00000001 10010000' "Обрезаем" старший байт:

b'10010000' = .144

Т.е., если нужно записать значение больше .255, необходимо использовать два байта, больше .65535 - три байта и т.д
 
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:



T2M © 2024
Сайт управляется системой uCoz