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

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

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

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

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

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

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

 
Опции темы
Непрочитано 16.02.2008, 15:15  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,992
Сказал спасибо: 929
Сказали Спасибо 2,259 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Динамическая индикация

Поводом послужила заметка:
http://www.kaligraf.narod.ru/nedodellki.html
А именно:
Цитата:
Причина в том, что при переключении разрядов в программе динамической индикации(переключение идёт слева направо) транзистор разряда, выводимого на индикацию не успевал закрываться.
Когда то сам попал на это, но спасибо ПРОТЕУСУ, путем детального разбора графов удалось решить проблему.

Рассмотрим фрагмент кода:
Код:
.................... //-------------------------------------------------------------- 
.................... //       display 
.................... //-------------------------------------------------------------- 
....................  PORT_B=0XFF; 
0048:  MOVLW  FF
0049:  MOVWF  06         //Гасим сегменты
....................  PORT_A=prevscan; 
004A:  MOVF   2F,W
004B:  MOVWF  05        //Смена разрядов, точка 1
....................   
....................   
....................  switch (prevscan&0x0f) 
....................   { 
004C:  MOVF   2F,W
004D:  ANDLW  0F
004E:  XORLW  0E
004F:  BTFSC  03.2
0050:  GOTO   05B
0051:  XORLW  03
0052:  BTFSC  03.2
0053:  GOTO   05E
0054:  XORLW  06
0055:  BTFSC  03.2
0056:  GOTO   061
0057:  XORLW  0C
0058:  BTFSC  03.2
0059:  GOTO   064
005A:  GOTO   067
....................   case 0x0e:PORT_B=disp_dig[0];break; 
005B:  MOVF   30,W
005C:  MOVWF  06       //Точка 2 смена данных
005D:  GOTO   067
....................   case 0x0d:PORT_B=disp_dig[1];break; 
005E:  MOVF   31,W
005F:  MOVWF  06       //Точка 2 смена данных
0060:  GOTO   067
....................   case 0x0b:PORT_B=disp_dig[2];break; 
0061:  MOVF   32,W
0062:  MOVWF  06       //Точка 2 смена данных
0063:  GOTO   067
....................   case 0x07:PORT_B=disp_dig[3];break; 
0064:  MOVF   33,W
0065:  MOVWF  06       //Точка 2 смена данных
0066:  GOTO   067
....................   } 
....................  rotate_left(&prevscan,1); 
0067:  RLF    2F,W
0068:  RLF    2F,F
....................



Как видно из кода и скриншота после переключения разряда некоторое время
присутствуют данные сегментов предыдущего разряда , что вызывает подсветку
неиспользуемых сегментов.Это присутствие обусловленно отнюдь не инерцией
транзисторов ,а куском кода испольняемым между точками 1 и 2.
Именно поэтому нужно либо гасить сегменты перед сменой разрядов либо
запирать разряды на время смены данных на сегментах( что автор заметки и сделал).

-- Прилагается рисунок: --


-- Прилагается рисунок: --

Реклама:
dosikus вне форума  
Непрочитано 16.02.2008, 16:04  
kaligraf
Частый гость
 
Регистрация: 07.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kaligraf на пути к лучшему
По умолчанию

Спасибо за детальный разбор недостатка.
Если не будет возражений со стороны автора поста, то размещу на сайте ссылку на эту тему.
kaligraf вне форума  
Непрочитано 16.02.2008, 16:41  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,992
Сказал спасибо: 929
Сказали Спасибо 2,259 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Без проблем , если хочешь можешь все скопировать и у себя воткнуть.
dosikus вне форума  
Непрочитано 16.02.2008, 19:09  
kaligraf
Частый гость
 
Регистрация: 07.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
kaligraf на пути к лучшему
По умолчанию

Так и сделаем, раз возражений нет.
kaligraf вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая индикация EKuzmich TTL и CMOS логика 16 05.08.2011 08:18
Индикация аварии Shestakovva Автоматика и аппаратура связи 8 04.05.2009 11:53
Динамическая индикация,вопрос Zemlyanov Микроконтроллеры, АЦП, память и т.д 29 05.08.2008 19:13
Динамическая индикация ПОМОГИТЕ 7Fantomas7 Микроконтроллеры, АЦП, память и т.д 2 27.03.2008 23:53
Динамическая индикация на ЖК dion310 Микроконтроллеры, АЦП, память и т.д 4 27.11.2007 10:39


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


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