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

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

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

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

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

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

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

 
Опции темы
Непрочитано 07.06.2007, 20:45  
Faworit
Прописка
 
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
Faworit на пути к лучшему
По умолчанию

Уф.. сегодня с этими W_TEMP и STATUS_TEMP просидел пол дня. И все в пустую? вы уж звыняйте но хочу разобраться. В ТО на стр.69 мануала на этот МК пишут: Регистр W_TEMP должен быть определен....
я исходил из этого- регистр W_TEMP, но это регистр пользователя (имя его какое угодно) его в официальных нету, так, дальше смещение, для банка 0 -0х20. В заголовочном файле есть описание регистров: STATUS equ H'0003', а дальше значения Н'0006'-H'0009' свободные, вот я и решил что смещаю один регистр на Н0006 а второй на Н0007. Область то ведь не занята. Вот примерно такова логика моего сегоднешнего изыскания. EVGENIY1962, именно поэтому я и решил исползовать этот мэтод Завтра переделаю на РАМ и чисто из любопытства проверю как работает, есть ли отличия. За регистр OSCCAL, в доке было написано как его перепрограмировать, вот я и поигрался, удалю, хотя в моем случае шо 4 шо 3.5 точность большая не нужна. Но я буду помнить про калибровочные данные перед програмиронием обязательно их запишу!
Спасибо Всем. С уважением Геннадий.
Реклама:
Faworit вне форума  
Непрочитано 07.06.2007, 21:51  
wm_destroy
Частый гость
 
Регистрация: 21.08.2006
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
wm_destroy на пути к лучшему
По умолчанию

Faworit,

Вон оно оказывается как! Вот откуда взялись 6 и 7! Звиняй, что ввел в заблуждение. Ес-сно W_temp и status_temp это просто пользовательские метки, объявленные в микрочиповском примере. Таких регистров ес-сно нет! Этим меткам надо просто присвоить адреса свободных ячеек RAM оператором EQU. Это просто временные ячейки для хранения аккумулятора и статуса. (ведь в PICах нету, к боольшущему сожалению, ни PUSHа ни POPа)
wm_destroy вне форума  
Непрочитано 07.06.2007, 22:30  
lisergin_
Частый гость
 
Регистрация: 22.12.2006
Сообщений: 31
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lisergin_ на пути к лучшему
По умолчанию

wm_destroy, ну хватит уже Вам. ПИКи используют гарвардскую архитектуру, что значит одно разделение: памяти программ и памяти данных. Не пишите, пожалуйста, то, в чем Вы не уверены.
Faworit, возьмите в руки паяльник, припаяйте одну кнопку (а лучше 2 сенсора), один (2) светодиода, не пугаясь того, что так не делают, запустите мигание (зажигание) через прерывания. И тогда, думаю, все встанет на свои места. Мой мейл genich78@mail.ru, пишите вопросы лучше туда.
Удачи!
__________________
Ничто так не говорит об отсутствии доказательств, как слова: бесспорно, очевидно, общеизвестно...
lisergin_ вне форума  
Непрочитано 08.06.2007, 09:19  
Faworit
Прописка
 
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
Faworit на пути к лучшему
По умолчанию

Всем доброе утро!
На свежую голову, прошедший день смотрится уже иначе. wm_destroy за что вы извиняетесь, это я Вам ВСЕМ благодарен за помощь, а мои "художества" от малоопытности, и когда перевариваеш информацию то нужно больше времени на ее осмысление (для меня). Уже попробовал проверить свой вариант использования (STATUS_TEMP, W_TEMP), да действительно этот вариант не катит!!! Ну вот, еще одна преграда свергнута. lisergin_, это Вы зря свой майл дали, засыплю вопросами надеюсь не сильно буду мучить ) (это я так шутю). Спасибо, я обязательно напишу, вопросов у меня еще достаточно.
Всем спасибо.
С уважением Геннадий.
Faworit вне форума  
Непрочитано 08.06.2007, 10:04  
lisergin_
Частый гость
 
Регистрация: 22.12.2006
Сообщений: 31
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lisergin_ на пути к лучшему
По умолчанию

Ну, я же говорю, земляк и тезка. Грех не помогать . Помню как сам начинал пару лет назад, были случаи, когда ну очень помощь нужна была. Так что не стесняйтесь, послать всегда успеем .
__________________
Ничто так не говорит об отсутствии доказательств, как слова: бесспорно, очевидно, общеизвестно...
lisergin_ вне форума  
Непрочитано 08.06.2007, 11:38  
buka_2004
Временная регистрация
 
Регистрация: 28.02.2007
Сообщений: 90
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
buka_2004 на пути к лучшему
По умолчанию

Сообщение от Faworit
я исходил из этого- регистр W_TEMP, но это регистр пользователя (имя его какое угодно) его в официальных нету, так, дальше смещение, для банка 0 -0х20. В заголовочном файле есть описание регистров: STATUS equ H'0003', а дальше значения Н'0006'-H'0009' свободные
не свободные в том то вся фишка а не существующие
Unimplemented data memory locations, read as '0'.
Что сделано для того чтобы в новых контроллерах на это место засунуть какие нибудь другие управляющие регистры, которых в данном МК нет. Поэтому не надо в области SFR распологать пользовательские регистры.
В DS написано:
General Purpose Registers и адреса 20h-5Fh
buka_2004 вне форума  
Непрочитано 08.06.2007, 12:02  
wolfvictor
Частый гость
 
Регистрация: 05.05.2006
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
wolfvictor на пути к лучшему
По умолчанию

Для 675 или аналогичног пойдет, а вот для других пиков имеющих банки памяти - желательно чтобы регистры временного хранения W и STATUS, находились в общих регистрах т.е. регистрах доступных с любого банка памяти.В качестве альтернативы можно использовать следующие макросы для организации что-то похожего на Стек - во всяком случае логика такае же. Данные макросы сохраняют W и востановливают его.
Данные макросы использовались с 16F628A.

stack equ 71h ;Резирвирование рег для стека
stack_t equ 7eh ;Временная переменная
stack_p equ 7fh ;указатель стека
;....
;вставка в подпрограмме начальной инициализации Pica
movlw stack ;инициализация указателя стека
movwf stack_p
;....
;************************************
;** Макросы *************************
;************************************
push macro
movwf stack_t ;времено сохраняем W
movf stack_p,W;загружаем указатель стека
movwf FSR;в регистр косвенной адресации
movf stack_t,W ;востанавливаем W
movwf INDF ;выгружаем W по указателю
incf stack_p,F ;увеличиваем указатель на 1

movf stack_t,W ;востанавливаем W
ENDM

pop macro
decf stack_p,F movf stack_p,W
movwf FSR
movf INDF,W
ENDM
wolfvictor вне форума  
Непрочитано 08.06.2007, 16:54  
Faworit
Прописка
 
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
Faworit на пути к лучшему
По умолчанию

Последний вопрос на сегодня
АЦП выдает 10-ти разрядный код, в аврках я использую для хранения 16-ти разрядные регистры или 2 однобайтных (временного хранения), а как в пиках, побайтно?
wolfvictor, макросы понравились!!!
С уважением Геннадий.
Faworit вне форума  
Непрочитано 08.06.2007, 20:44  
lisergin_
Частый гость
 
Регистрация: 22.12.2006
Сообщений: 31
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lisergin_ на пути к лучшему
По умолчанию

Макросы почти гут, только вместо movf следует юзать swapf. Первая команда влияет на флаг Z в регистре статуса. А отловить такой баг будет совсем непросто, уж поверьте. Самое мерзкое, что девайс будет работать на столе, а как только пойдет на место, или, еще хуже, в продажу, то заглючит софт в самый неподходящий момент.
Удачи!
__________________
Ничто так не говорит об отсутствии доказательств, как слова: бесспорно, очевидно, общеизвестно...
lisergin_ вне форума  
Непрочитано 14.06.2007, 10:27  
wolfvictor
Частый гость
 
Регистрация: 05.05.2006
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
wolfvictor на пути к лучшему
По умолчанию

Сохранение регистра STATUS - это уже другой вопрос, все зависит от програмиста, нужно сохранить STATUS? - в главной программе команда SWAP STATUS,W, а далее опять же масрос PUSH. Вообще-то эти макросы как пример, все зависит от програмиста.
P.S. Сложность изночальной программы возрастает до тех пор, пока незаканчиваються возможности програмиста. Закон Мерфи.
wolfvictor вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компилятор Hi-Tech, вычисление, на PIC12F675 3ann Микроконтроллеры, АЦП, память и т.д 27 06.07.2009 12:01
pic12f675 Faworit Микроконтроллеры, АЦП, память и т.д 27 01.06.2007 17:51
Program memory в PIC12F675 waiting Микроконтроллеры, АЦП, память и т.д 6 01.02.2007 01:21
Помогите идиоту с PIC12F675 waiting Микроконтроллеры, АЦП, память и т.д 6 26.01.2007 22:41
уроки от LABCENTRE(PIC12F675+C) dosikus Микроконтроллеры, АЦП, память и т.д 22 09.10.2006 10:16


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


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