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

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

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

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

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

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

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

 
Опции темы

"Стрелочный" индикатор на ЖК128х64

Непрочитано 09.03.2010, 13:24  
Lagorda
Прохожий
 
Регистрация: 15.10.2007
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Lagorda на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

Посмотрите классику алгоритм Брезенхема
http://ru.wikipedia.org/wiki/%D0%90%...8D%D0%BC%D0%B0
Удачи!!!
Реклама:
Lagorda вне форума  
Непрочитано 09.03.2010, 14:11  
spballiance
Вид на жительство
 
Регистрация: 13.02.2010
Сообщений: 372
Сказал спасибо: 12
Сказали Спасибо 15 раз(а) в 12 сообщении(ях)
spballiance на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

найдено на полях инета, орфография и пунктуация сохранены
Код:
/*Функция которая ресует на экране 1 пиксел*/
void LCD_PUT_PIXEL(byte x, byte y){
    //Обьявляем переменные
    byte bite;
    byte page; 
    byte data, data2;
    //Выход если точка лежит вне экрана 
    if((x›MAX_X)|(y›MAX_Y)) return;
    //Выбираем кристалл
    if(x›=64){
        ClrBit(LCD_CONTROL_PORT, E1);
        SetBit(LCD_CONTROL_PORT, E2);
        x=x-64;
        }
        else{
        ClrBit(LCD_CONTROL_PORT, E2);
        SetBit(LCD_CONTROL_PORT, E1);
        }   
    //page-номер страницы 
    page=y/8;
    //bite-Номер байта который нам предстоит вывести
    bite=y%8;
    //Устанавливаем страницу и адресс
    LCD_SET_PAGE(page);
    LCD_SET_ADDRESS(x);
    //Читаем байт с LCD(2 цикла т.к. в первом мусор)
    data=ReadData(); 
    data=ReadData();
    //В зависимости от метода вывода выводим наш пиксел.
    // Адресс страницы не менялся, поэтому его не устанавливаем  
    switch(met){
        case MET_OR : { data=data|(1‹‹bite); break;}
        case MET_XOR : {data=data^(1‹‹bite); break;}  
    }
    LCD_SET_ADDRESS(x);
    WriteData(data);
}
/*Функция вывода прямой по алгоритму Брезенхома.
Подробно ее описывать не буду т.к. по ней лучше почитать в интернете*/
void LCD_LINE(byte x1, byte y1, byte x2, byte y2){
        int dx, dy, i1, i2, i, kx, ky;
        int d;     
        int x, y;
        int flag;

        dy = y2 - y1;
        dx = x2 - x1;
        if (dx == 0 && dy == 0){
                LCD_PUT_PIXEL(x,y);    
                return;
        }
        kx = 1; 
        ky = 1; 

        if( dx ‹ 0 ){ dx = -dx; kx = -1; }
        else if(dx == 0)        kx = 0;    

        if(dy ‹ 0) { dy = -dy; ky = -1; }

        if(dx ‹ dy){ flag = 0; d = dx; dx = dy; dy = d; }
        else         flag = 1;

        i1 = dy + dy; d = i1 - dx; i2 = d - dx;
        x = x1; y = y1;

        for(i=0; i ‹ dx; i++){
                LCD_PUT_PIXEL(x,y);     

                if(flag) x += kx;
                else     y += ky;

                if( d ‹ 0 ) 
                         d += i1;
                else{       
                         d += i2;
                         if(flag) y += ky; 
                         else     x += kx;
                }
        }
        LCD_PUT_PIXEL(x,y);
}
    
/*Функция вывода окружности по алгоритму Брезенхома. 
При малом радиусе есть неточности, но работает 
гораздо быстрее sin и cos*/

void LCD_CIRCLE( byte xc, byte yc, byte r )
{
  int d, x, y;
  x=0;
  y=r;
  d=3-2*r; // возможно переполнение !
  LCD_PUT_PIXEL(x+xc,y+yc);
  LCD_PUT_PIXEL(x+xc,-y+yc);
  LCD_PUT_PIXEL(-x+xc,-y+yc);
  LCD_PUT_PIXEL(-x+xc,y+yc);
  LCD_PUT_PIXEL(y+xc,x+yc);
  LCD_PUT_PIXEL(y+xc,-x+yc);
  LCD_PUT_PIXEL(-y+xc,-x+yc);
  LCD_PUT_PIXEL(-y+xc,x+yc);
  while(x‹y){
        if(d‹=0){
        d=d+4*x+6;
        }else{
        d=d+4*(x-y)+10;
        y--;
        }   
  x++;
  //LCD_PUT_PIXEL(x, y);
  LCD_PUT_PIXEL(x+xc,y+yc);
  LCD_PUT_PIXEL(x+xc,-y+yc);
  LCD_PUT_PIXEL(-x+xc,-y+yc);
  LCD_PUT_PIXEL(-x+xc,y+yc);
  LCD_PUT_PIXEL(y+xc,x+yc);
  LCD_PUT_PIXEL(y+xc,-x+yc);
  LCD_PUT_PIXEL(-y+xc,-x+yc);
  LCD_PUT_PIXEL(-y+xc,x+yc);
  }  
}

Последний раз редактировалось spballiance; 09.03.2010 в 14:21.
spballiance вне форума  
Сказали "Спасибо" spballiance
Victor_72 (09.03.2010)
Непрочитано 09.03.2010, 17:26  
950km
Прописка
 
Регистрация: 09.11.2006
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
950km на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

Сообщение от Victor_72 Посмотреть сообщение
Собираю ламповый усилитель
А что его делать с ДУ? Он даст 5-6 ватт, из доля не слышно.
И вообще в ламповый надо ставить такой зелёненький глазок с зелёненьким сектором. Вроде 6Е1С....
__________________
http://samopal.su
950km вне форума  
Непрочитано 09.03.2010, 20:51  
Victor_72
Частый гость
 
Регистрация: 17.11.2009
Сообщений: 31
Сказал спасибо: 3
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
Victor_72 на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

Ну эт смотря какие лампы применить, я делаю например SE на ГМ-70, 20Вт на канал чистый класс А. Кстати для озвучивания средней комнаты в 18кв.м 2Вт за глаза хватает...
А чтоб пояснить для чего я его делаю, рекомендую лучше один раз послушать звучание лампового усилителя...

П.С.Да 6E1C, 6E5C и еще много разных... но раз я применил уже мк, то вот захотелось его загрузить по полной, в перспективе еще и спектроанализатор...

2SPballiance мегареспект за код, буду реализовывать...

Последний раз редактировалось Victor_72; 09.03.2010 в 21:00.
Victor_72 вне форума  
Непрочитано 09.03.2010, 22:05  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

Victor_72, Готовый пример с исходниками .
Смотреть до конца!!!
Миниатюры:
Нажмите на изображение для увеличения
Название: speedometr.png
Просмотров: 198
Размер:	19.1 Кб
ID:	5529  
Вложения:
Тип файла: zip 1545151.zip (31.4 Кб, 192 просмотров)
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 09.03.2010 в 22:08.
dosikus вне форума  
Сказали "Спасибо" dosikus
Victor_72 (10.03.2010)
Непрочитано 09.03.2010, 22:13  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

Сообщение от Victor_72 Посмотреть сообщение
А чтоб пояснить для чего я его делаю, рекомендую лучше один раз послушать звучание лампового усилителя...
Видал вживую меломанов , бьющих себя пяткой в грудь , что ламповый звук круче .
И что они болезные на слух определят ( по первым нотам ) микрушный или ламповый .
И которым впаривали за бешеные деньги муляж с лампами и начинкой из TDA7294.
Они себя считали профессорами в этом деле.
Так что не надо ля ля .
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.03.2010, 12:15  
lex3
Прохожий
 
Регистрация: 13.03.2005
Сообщений: 4
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lex3 на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

Сообщение от Victor_72 Посмотреть сообщение
Ну эт смотря какие лампы применить, я делаю например SE на ГМ-70, 20Вт на канал чистый класс А. Кстати для озвучивания средней комнаты в 18кв.м 2Вт за глаза хватает...
А чтоб пояснить для чего я его делаю, рекомендую лучше один раз послушать звучание лампового усилителя...

2SPballiance мегареспект за код, буду реализовывать...
Я лично делал усилитель на ГМ70 однотакт вых 26Вт чистый класс А. На аноде порядка 1100В очень непростой выходной транс, вых обмотка не связанна с массой усила. Если при прослушивании музыки взяться за вых. и корпус усила то получишь такой заряд бодрости на весь день хватит.
Даже не представляю как там выживет АВРка.
lex3 вне форума  
Непрочитано 10.03.2010, 13:59  
smog
Временная регистрация
 
Регистрация: 23.11.2006
Адрес: Москва
Сообщений: 60
Сказал спасибо: 7
Сказали Спасибо 13 раз(а) в 9 сообщении(ях)
smog на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

Добрый день! Если услил лампа, то может поставите пару моторчиков с дисками и прорезями, подсвеченными сзади. А АVR задействуйте на спектр.Успехов.
smog вне форума  
Непрочитано 10.03.2010, 15:59  
E97
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.01.2008
Сообщений: 1,140
Сказал спасибо: 379
Сказали Спасибо 429 раз(а) в 273 сообщении(ях)
E97 на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

Сообщение от smog Посмотреть сообщение
Добрый день! Если услил лампа, то может поставите пару моторчиков с дисками и прорезями, подсвеченными сзади.
Вполне поддерживаю эту идею. И МК напрягатся менше будет. Достаточно в МК задействовать один таймер, одну ногу на вход из оптопары положения диска и пару выходов на светодиоды подсветки. Темболее можно всякие ээфекты дбавить типа цветного шлейфа за стрелкой. Подумайте
E97 вне форума  
Непрочитано 10.03.2010, 21:12  
Victor_72
Частый гость
 
Регистрация: 17.11.2009
Сообщений: 31
Сказал спасибо: 3
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
Victor_72 на пути к лучшему
По умолчанию Re: "Стрелочный" индикатор на ЖК128х64

2 Dosicus ... обычно с модераторами не спорю, но...
В мире аудио, согласен, есть полно шарлатанов, которые могут отличить изменение звука от перемены направления проводников, или отличие в звучании полипропиленовых конденсаторов от полиэтиленовых... Я к таковым спецам себя не отношу... Я реальный материалист! подтверждаю только то, что слышу...
А чтоб PIC пожил подольше полная гальваноразвязка, все управляется реле - сила (в 5 ступеней), громкость (релейная), комутация входов... Если кому интересно, мой проект здесь http://audioportal.su/showthread.php?t=24379
Там три варианта блока управления по восходящей, простой-посложнее, сейчас в реализации проект с ЖК...
Кажется с моторчиками - это перебор...
Victor_72 вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что за индикатор? Monyak Информация по радиокомпонентам 5 06.01.2010 21:37
PIC16F690+семисегментный индикатор johnnyr Микроконтроллеры, АЦП, память и т.д 8 25.12.2009 21:25


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.