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

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

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

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

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

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

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

 
Опции темы
Непрочитано 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
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
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
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
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.RU
 
Регистрация: 08.01.2008
Сообщений: 1,143
Сказал спасибо: 379
Сказали Спасибо 430 раз(а) в 274 сообщении(ях)
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, время: 11:22.


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