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

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

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

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

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

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


 
Опции темы
Непрочитано 28.12.2017, 09:55  
Nick19
Временная регистрация
 
Аватар для Nick19
 
Регистрация: 26.10.2008
Адрес: москва
Сообщений: 92
Сказал спасибо: 15
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
Nick19 на пути к лучшему
По умолчанию Pic16F676 два ORG'а

Добрый день уважаемые! Возник вопрос, реализуется ли физически следующий код:
; these first 4 instructions are not required if the internal oscillator is not use
call 0x3FF ; retrieve factory calibration value
bsf STATUS,RP0 ; set file register bank to 1
movwf OSCCAL ; update register with factory cal value
bcf STATUS,RP0 ; set file register bank to 0
.................................................. .............................
.................................................. ...................................
.................................................. ...............................
;считывание заводской калибровочной константы для внутреннего RC генератора
ORG 0x3FF
retlw .128

и еще:
; initialize eeprom locations

ORG 0x2100
DE 0x00, 0x01, 0x02, 0x03

может вопрос и ламерский, но я нигде не нашел толкового ответа. По первому примеру более-менее понятно. Непонятно только, надо ли включать данный кусок в программу? То по-второму, непонятно записывает ли физически этот кусок в ЕЕПРОМ, эти 4 ячейки. В мплаб они отражаются, как записанные.
Реклама:
Nick19 вне форума  
Непрочитано 28.12.2017, 11:32  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Pic16F676 два ORG'а

Nick19, а вдумчиво прочитать все семейство документации по пациенту, семейству,… - DS, UG, PG, Errata, AN,…
Модель памяти и размещение значений с возможными режимами доступа…
Внимательно читать и понять комментарии.
Собственно ответ на вопрос в самом сообщении почти весь есть, кроме нюансов.
Надо сначала смотреть в тот самый FM, который надо RT , а потом уже в любой программе понимать происходящее.
По второму примеру измените значения данных и посмотрите на результат в памяти при останове на первой команде.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 28.12.2017, 11:41  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Pic16F676 два ORG'а

1. Не обязательно. Если не планируете калибровать генератор, то и этот кусок ни к чему.
2. Записывается.
alvadep вне форума  
Сказали "Спасибо" alvadep
Nick19 (28.12.2017)
Непрочитано 28.12.2017, 14:57  
tsb
Прописка
 
Аватар для tsb
 
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
tsb на пути к лучшему
По умолчанию Re: Pic16F676 два ORG'а

Сообщение от Nick19 Посмотреть сообщение
; initialize eeprom locations
ORG 0x2100
DE 0x00, 0x01, 0x02, 0x03
... записывает ли физически этот кусок в ЕЕПРОМ, эти 4 ячейки. В мплаб они отражаются, как записанные.
Сообщение от alvadep Посмотреть сообщение
2. Записывается.
Немного позанудствую
Этот "кусок" кода записывает значения в HEX-файл. А физически они запишутся в EEPROM при "заливке" прошивки (HEX-файла) в PIC программатором.
tsb вне форума  
Сказали "Спасибо" tsb
Nick19 (28.12.2017)
Непрочитано 28.12.2017, 15:33  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Pic16F676 два ORG'а

Сообщение от tsb Посмотреть сообщение
Этот "кусок" кода записывает значения в HEX-файл. А физически они запишутся в EEPROM при "заливке" прошивки (HEX-файла) в PIC программатором.
Естессно!
Ну тогда и я немного позанудствую. Без "заливки" ТС и так видит, что
Цитата:
В мплаб они отражаются, как записанные.
alvadep вне форума  
Непрочитано 28.12.2017, 17:02  
Nick19
Временная регистрация
 
Аватар для Nick19
 
Регистрация: 26.10.2008
Адрес: москва
Сообщений: 92
Сказал спасибо: 15
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
Nick19 на пути к лучшему
По умолчанию Re: Pic16F676 два ORG'а

alvadep, Еще раз спасибо. А если нужно калибровать? Каждый раз перезаписывать константу? И как контролировать?
Если нужно что-то поменять в ЕЕПроме, то я это делаю программно, вставив соответствующий кусок кода чтения/записи ЕЕПРОМа?

Последний раз редактировалось Nick19; 28.12.2017 в 17:07.
Nick19 вне форума  
Непрочитано 28.12.2017, 17:37  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 719
Сказал спасибо: 363
Сказали Спасибо 798 раз(а) в 372 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Pic16F676 два ORG'а

Nick19, ИМХО неважно, где хранить калибровочную константу - важно, чтобы она вовремя попала в регистр OSCCAL. В Вашем примере (и в даташите) ее возвращает "подпрограмма" из одной команды по адресу 3FF. Вы можете калибровочную константу хранить в ЕЕПРОМе, главное - считать ее оттуда и загнать в регистр OSCCAL где-нибудь в начале выполнения программы, перед тем как настраивать остальную (критичную к тактовой частоте) периферию.
j-Roger вне форума  
Непрочитано 28.12.2017, 18:36  
t_ruslan_w
Прописка
 
Регистрация: 24.02.2007
Адрес: Вольногорск, Украина
Сообщений: 59
Сказал спасибо: 0
Сказали Спасибо 33 раз(а) в 18 сообщении(ях)
t_ruslan_w на пути к лучшему
По умолчанию Re: Pic16F676 два ORG'а

Давно не писал на ассемблере, но нужно модифицировать регистр PCLATH перед вызовом константы. А так по идее должно работать.
t_ruslan_w вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC16F676 не зашивается VeroMax Микроконтроллеры, АЦП, память и т.д 12 24.12.2011 01:49
Как подключить два ЖК паралельно? vox24 Видеотехника 4 26.12.2006 23:52
Два таймера . Gemorroy Цифровые сигнальные процессоры 1 23.07.2006 19:21
монитор FUJITSU FMV-DPA971 сгорело два резистора в дым scooters Ремонт оргтехники 0 29.11.2004 20:22


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


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