реклама на сайте
подробности

 
 
> Управление 7 сигментным индикатором.
TamTam
сообщение Jun 19 2006, 08:28
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Тут решил прекрутить 7 сегментник, зашол в магазин купил 2-а 2ух значных с 10 выходами, как соединять понятно, но вот только они 2,5 В как с этим быть ??? да еще и 4 светика на одну ногу МК.

В протеусе накидал проджект, и код написал, но неравиться то что если все время не дергать ногами то ничего не видно, посоветуйте может это както поправить моно ?? ну там может драйвер какой для этого есть ???

Код
void show_number(unsigned char segment,unsigned char number);
void show(int num);
void show_number(unsigned char segment,unsigned char number)
{    
   switch(segment)
      {
      case 1:seg_1;break;
      case 2:seg_2;break;
      case 3:seg_3;break;
      case 4:seg_4;break;
      default: seg_1;break;
      }                      
   switch(number)        
      {
      case 0:port_data=~63;break;
      case 1:port_data=~6;break;
      case 2:port_data=~91;break;
      case 3:port_data=~79;break;
      case 4:port_data=~102;break;
      case 5:port_data=~109;break;
      case 6:port_data=~125;break;
      case 7:port_data=~7;break;
      case 8:port_data=~127;break;
      case 9:port_data=~111;break;
      default:port_data=~63;break;      
      }  
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
haker_fox
сообщение Jun 19 2006, 08:59
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Используйте таймер для динамической индикации. Тогда об индикаторах заботится в основной программе уже не надо. Лишь только обнавлять информацию для вывода.
Например делаете переполнение таймера каждые 10 мс, в обработчике пишете программу, которая читает некий буфер (он содержит коды выводимых символов) и обновляет один индикатор. В следующем прерывании обновляете следующий индиктор и так до последнего, потом все сначала.
Также советую завести два буфера одинаковой размерности. Один черновой, с которым будете работать в основной программе - т.е. куда будете писать данные для вывода, а второй - "чистовой" с него уже делаете обновление индикаторов. Когда нужно обновить выводимую информацию, устанавливаете флажок, в прерывании, если флажок установлен, первый буфер копируется во второй и идет вывод на индикаторы, как написано выше. Этим исключается мельтешения индиктаторов. Об основах динамической индикации можно почитать в инете - ифны должно быть полно)))


--------------------
Выбор.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TamTam   Управление 7 сигментным индикатором.   Jun 19 2006, 08:28
- - Serj78   Для начала не ясно жки это или нет. учитывая, что...   Jun 19 2006, 08:52
- - unichorn   Для простого ЖКИ без встроенного контроллера хвата...   Jun 19 2006, 08:57
- - TamTam   Цитата(Serj78 @ Jun 19 2006, 12:52) Для н...   Jun 19 2006, 09:00
- - Pyku_He_oTTyda   ЦитатаТут решил прекрутить 7 сегментник, зашол в м...   Jun 19 2006, 09:08
- - Serj78   ну тогда все просто. все ножки вешаем через резист...   Jun 19 2006, 09:10
- - beer_warrior   ЦитатаТут решил прекрутить 7 сегментник, зашол в м...   Jun 19 2006, 09:14
- - unichorn   Можно ещё использовать микросхемы типа 74HC595, в...   Jun 19 2006, 09:18
- - beer_warrior   И еще кусочек кода, чтобы не плодить ошибки с case...   Jun 19 2006, 09:29
- - Pyku_He_oTTyda   Цитатаэто правильно и здорово! но почему же не...   Jun 19 2006, 09:35
- - Alex_Pol   Через любой сдвиговый регистр с последовательным в...   Jun 19 2006, 09:44
- - prottoss   Цитата(TamTam @ Jun 19 2006, 16:28) Тут р...   Jun 19 2006, 10:54
|- - TamTam   Цитата(prottoss @ Jun 19 2006, 14:54) Цит...   Jun 20 2006, 00:50
|- - otrog   Цитата(TamTam @ Jun 20 2006, 04:50) Меня ...   Jun 20 2006, 05:10
- - otrog   Чем не устраивает атмеловская апликуха? AVR242: 8-...   Jun 19 2006, 11:01
- - haker_fox   ЦитатаМеня всем а вас ??? вы всегда делаете так ка...   Jun 20 2006, 01:12
- - prottoss   Цитата(haker_fox @ Jun 20 2006, 09:12) 4....   Jun 20 2006, 02:14


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 00:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016