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

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

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

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

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

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

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

 
Опции темы
Непрочитано 03.12.2011, 16:55  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,676
Сказал спасибо: 74
Сказали Спасибо 1,806 раз(а) в 654 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от alvadep Посмотреть сообщение
на столе, это не значит что оно будет работать в других условиях.
И на столе, и в других разумных условиях всё прекрасно и стабильно работает. Конечно, в условиях сильных электромагнитных помех, отвратительного питания, длинных соединительных проводов и емкостных или повышенных нагрузок на порты стоит подстраховаться. Но в подавляющем большинстве случаев (вроде рассматриваемого здесь) можете не опасаться, проверено.

Сообщение от alvadep Посмотреть сообщение
команды "BSF PORT" и "BCF PORT" однозначно влияют на указанный разряд.
На указанный-то влияет, а что происходит с остальными? Если не важно, и к порту подключен только один светодиод, можно и проще сделать, безо всяких "ксоров". Например, для того же подключения к RB0:

PHP код:
MAIN incf LEDW   
      movwf LED   
      movwf PORTB   
      
goto MAIN 
Реклама:

Последний раз редактировалось RECTO; 03.12.2011 в 17:19.
RECTO вне форума  
Непрочитано 03.12.2011, 17:20  
Slava-martyn
Вид на жительство
 
Аватар для Slava-martyn
 
Регистрация: 07.09.2007
Адрес: Дерёвня Ишимбай
Сообщений: 419
Сказал спасибо: 65
Сказали Спасибо 136 раз(а) в 87 сообщении(ях)
Slava-martyn на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сложно так потому, что светодиодов много, и источники обновления для других светодиодов тоже разные.
Сообщение от RECTO Посмотреть сообщение
Скажу по секрету: хотя Вы здесь и используете дополнительную переменную, которая "всегда даёт 100% правильный результат", стабильность работы в данном случае всё равно не обеспечена (чем нас здесь так пугает alvadep). Потому что команды "BSF PORT" и "BCF PORT" тоже работают по принципу "чтение-модификация-запись".
Откуда такая информация? Не то чтоб не верю, просто мнения разделились...

Последний раз редактировалось Slava-martyn; 03.12.2011 в 17:23.
Slava-martyn вне форума  
Непрочитано 03.12.2011, 17:34  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от RECTO Посмотреть сообщение
Скажу по секрету: хотя Вы здесь и используете дополнительную переменную, которая "всегда даёт 100% правильный результат",

И где вы там увидели применение фантомного регистра???
Скажу по секрету: andwf portХ,f , iorwf portХ,f и xorwf portb,f - тоже RMW... в отличие от movwf ...
st_1 вне форума  
Непрочитано 03.12.2011, 17:43  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от Slava-martyn Посмотреть сообщение
Откуда такая информация?
http://www.piclist.com/techref/readmodwrite.htm
http://www.microchip.su/showthread.php?t=11385&page=3
st_1 вне форума  
Непрочитано 03.12.2011, 17:44  
XoDoK11
Гражданин KAZUS.RU
 
Аватар для XoDoK11
 
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
XoDoK11 на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от RECTO Посмотреть сообщение
команды "BSF PORT" и "BCF PORT" тоже работают по принципу "чтение-модификация-запись".
Поэтому нужно делать BSF BCF байта и выводить байт в порт.
XoDoK11 вне форума  
Непрочитано 03.12.2011, 17:45  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,676
Сказал спасибо: 74
Сказали Спасибо 1,806 раз(а) в 654 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от Slava-martyn Посмотреть сообщение
Сложно так потому, что светодиодов много, и источники обновления для других светодиодов тоже разные.
Понятно. Тогда проще (и надежнее! )можно было сделать так:

PHP код:
MAIN movlw 0x01      Задаем биткоторый инвертируем.
      
xorwf LEDW    Модификация значения переменнойхранящей состояние порта D
      movwf LED      
Сохраняем модифицированное значение переменной.
      
movwf PORTD    Запись в порт.
      goto 
MAIN        Возврат на начало цикла

Сообщение от Slava-martyn Посмотреть сообщение
Откуда такая информация? Не то чтоб не верю, просто мнения разделились...
Из даташита. Читайте раздел "Порты ввода/вывода".
А где мнения разделились? Кто-то утверждает, что BSF и BCF работают не по принципу "чтение/модификация/запись"?
RECTO вне форума  
Непрочитано 03.12.2011, 17:54  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,676
Сказал спасибо: 74
Сказали Спасибо 1,806 раз(а) в 654 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от st_1 Посмотреть сообщение
И где вы там увидели применение фантомного регистра???
Насколько я понял, переменная "LED" в программе Slava-martyn - это и есть то, что Вы называете "фантомным портом". Т.е. хранит текущее значение порта. Только использовался он у него несколько странно...

Сообщение от st_1 Посмотреть сообщение
Скажу по секрету: andwf portХ,f , iorwf portХ,f и xorwf portb,f - тоже RMW... в отличие от movwf ...
Разумеется.

Последний раз редактировалось RECTO; 03.12.2011 в 17:58.
RECTO вне форума  
Непрочитано 03.12.2011, 18:03  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от RECTO Посмотреть сообщение
Насколько я понял, переменная "LED" в программе Slava-martyn - это и есть то, что Вы называете "фантомным портом". Т.е. хранит текущее значение порта. Только использовался он у него несколько странно...
А что тут странного???
Типичное применение битового флага... бита, а не порта... есть разница???
st_1 вне форума  
Непрочитано 03.12.2011, 18:33  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,676
Сказал спасибо: 74
Сказали Спасибо 1,806 раз(а) в 654 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от st_1 Посмотреть сообщение
А что тут странного???
Типичное применение битового флага... бита, а не порта... есть разница???
Очень усложнено. Зачем-то два раза идет проверка бита, когда можно сразу же записывать в порт эту переменную целиком, поскольку в ней хранятся выходные значения порта...
К тому же, автор говорит, что там у него несколько светодиодов подключено. И что, для каждого по две проверки делать???
RECTO вне форума  
Непрочитано 03.12.2011, 18:49  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Мигание светодиодом :)

Сообщение от Slava-martyn Посмотреть сообщение
просто мнения разделились...
Да нифига они не разделились... каждый "музыкант играет так, как может"...
Ещё раз... на пальцах...
Если у вас нет последовательных операций вывода (один-два NOP'a выручает), ёмкостной нагрузки, перегруза по выходному току и длинных линий по выходу (межблочное соединение, для примера, или длинные проводники на плате), то можете использовать все битовые и байтовые операции без ограничений... Но... в реальной жизни, в реальных конструкциях, существуют и длинные проводники, и подключение затворов мощных полевиков, не говоря уже о подключении семисегментных индикаторов без ключей, и т.д. ... И любая, случайная, помеха, в сочетании с RMW, приведёт к непредсказуемому результату... И только применение "фантомного регистра" с применением MOVWF даст 100% правильный результат, т.к. нет RMW с портом...

Последний раз редактировалось st_1; 03.12.2011 в 18:53.
st_1 вне форума  
Сказали "Спасибо" st_1
Slava-martyn (03.12.2011)
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавное мигание светодиода Yuyukos Источники питания и свет 2 05.10.2010 23:08
Как изготовить наклейку, подсвечиваемую светодиодом? Savrik Делимся опытом 8 30.03.2010 10:20
мигание цифры на LCD begun Микроконтроллеры, АЦП, память и т.д 8 15.03.2010 23:28
плавное мигание светодиодов Stanislav2002 Источники питания и свет 2 31.08.2005 11:04


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


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