Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

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

 
Опции темы

Графический LCD (glcd)

Непрочитано 05.08.2010, 19:37  
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

Сообщение от st_1 Посмотреть сообщение
Это не бред, это Протэз!
На время отладки эту функцию можно заменить простой задержкой
Это не протез , а я туплю !
PHP код:
//-------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------
void GLCD_WaitForStatus(unsigned char status, unsigned char controller)
{
   char tmp=0;
   SED1520_CONTROL_PORT &= ~SED1520_A0; 
   SED1520_CONTROL_PORT |= SED1520_RW; 
   SED1520_DATA_DDR = 0x00;
   do 
   {   
       _delay_us(4);
       if(!controller) 
       {   
           SED1520_CONTROL_PORT |= SED1520_E1;
           SED1520_CONTROL_PORT &= ~SED1520_E2; 
           _delay_us(4);
           tmp = SED1520_DATA_PIN;
       }
       else 
       {    
           SED1520_CONTROL_PORT |= SED1520_E2;
           SED1520_CONTROL_PORT &= ~SED1520_E1;
           _delay_us(4);
            tmp = SED1520_DATA_PIN;
       }    
       _delay_us(4);
       SED1520_CONTROL_PORT &= ~SED1520_E1;
       SED1520_CONTROL_PORT &= ~SED1520_E2;
       _delay_us(4); 
   }  
   while(tmp & status);
   SED1520_DATA_DDR = 0xFF; 
} 
Вот так правильно!!! Бываетс.
Во вложении библа jobfly пробуйте
Вложения:
Тип файла: rar sed1520.rar (59.9 Кб, 103 просмотров)
Реклама:
harchenko_pavel вне форума  
Сказали "Спасибо" harchenko_pavel
jobfly (05.08.2010)
Непрочитано 05.08.2010, 21:17  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

Сообщение от jobfly Посмотреть сообщение
Почему в DS Column address (адрес столбца) указано 0-79. Но столбцов то ведь 122(дисплей WG12232 или AGM1232) . Или я ошибаюсь.
Как всегда.
Но чипа то два, один чип часть столбцов, другой - другая часть столбцов.

Последний раз редактировалось st_1; 05.08.2010 в 21:27.
st_1 вне форума  
Непрочитано 05.08.2010, 21:20  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

Сообщение от harchenko_pavel Посмотреть сообщение
Это не протез , а я туплю ![

И чем это лучше оригинала?
st_1 вне форума  
Непрочитано 05.08.2010, 21:28  
jobfly
Частый гость
 
Аватар для jobfly
 
Регистрация: 27.07.2010
Сообщений: 24
Сказал спасибо: 8
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
jobfly на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

Сообщение от st_1 Посмотреть сообщение
Почему в DS Column address (адрес столбца) указано 0-79. Но столбцов то ведь 122(дисплей WG12232 или AGM1232) . Или я ошибаюсь.





Как всегда.
Но чипа то два, один чип часть столбцов, другой - другую часть столбцов.

Но ведь 122/2=61 а не 80

и почему ноль

void GLCD_SetPixel(unsigned char x, unsigned char y, unsigned char color)

{

uint8_t mask=0x00;

GLCD_GoTo(x,0);

mask=GLCD_ReadData();

if (color) GLCD_WriteData( mask | (1‹‹(y&0x0));

else GLCD_WriteData(mask & ~(1‹‹(y&0x0));

}

на другую страницу уже не перейти, только на первую
jobfly вне форума  
Непрочитано 05.08.2010, 21:33  
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

Сообщение от jobfly Посмотреть сообщение
GLCD_GoTo(x,0);
Это ошибка проверял GLCD_Goto, а не вернул надо
PHP код:
GLCD_GoTo(x,y/8) 
harchenko_pavel вне форума  
Сказали "Спасибо" harchenko_pavel
jobfly (05.08.2010)
Непрочитано 05.08.2010, 22:04  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

Сообщение от jobfly Посмотреть сообщение
Но ведь 122/2=61 а не 80
Адреса с 62 по 80 в данном индикаторе не используются.
st_1 вне форума  
Непрочитано 05.08.2010, 22:31  
jobfly
Частый гость
 
Аватар для jobfly
 
Регистрация: 27.07.2010
Сообщений: 24
Сказал спасибо: 8
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
jobfly на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

ясно

А для чего обнулять координати по x

Код:
if(x ‹ (SCREEN_WIDTH/2)) 

      GLCD_WriteCommand(PAGE_ADDRESS_SET   | lcd_y, 1);      

      GLCD_WriteCommand(COLUMN_ADDRESS_SET | 0, 1);

      GLCD_WriteCommand(PAGE_ADDRESS_SET   | lcd_y, 0);

      GLCD_WriteCommand(COLUMN_ADDRESS_SET | lcd_x, 0);

   }

   else

   {  

      

      GLCD_WriteCommand(PAGE_ADDRESS_SET   | lcd_y+1, 0);

      GLCD_WriteCommand(COLUMN_ADDRESS_SET | 0, 0);

      GLCD_WriteCommand(PAGE_ADDRESS_SET   | lcd_y, 1); 

      GLCD_WriteCommand(COLUMN_ADDRESS_SET | (lcd_x - (SCREEN_WIDTH/2)), 1);
для чего нужны подчеркнутые строки ?
jobfly вне форума  
Непрочитано 09.08.2010, 14:08  
jobfly
Частый гость
 
Аватар для jobfly
 
Регистрация: 27.07.2010
Сообщений: 24
Сказал спасибо: 8
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
jobfly на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

есть небольшая ошибка в GLCD_SetPixel

Код:
void GLCD_SetPixel(unsigned char x, unsigned char y, unsigned char color)

{ 

    uint8_t mask=0x00;

    GLCD_GoTo(x,y/8);

    mask=GLCD_ReadData();

    if (color)           GLCD_WriteData( mask | (1‹‹(y&0x08))); 
                         
                        

    else GLCD_WriteData(mask & ~(1‹‹(y&0x08)));
& заменить на %

но все равно точки рисуются неправильно, потому что неработает GLCD_ReadData();

Последний раз редактировалось jobfly; 09.08.2010 в 14:11.
jobfly вне форума  
Непрочитано 09.08.2010, 14:14  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

Сообщение от jobfly Посмотреть сообщение
& заменить на %
Замените тогда 0х08 на 0х07 и оставьте &.
kison вне форума  
Непрочитано 09.08.2010, 14:28  
jobfly
Частый гость
 
Аватар для jobfly
 
Регистрация: 27.07.2010
Сообщений: 24
Сказал спасибо: 8
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
jobfly на пути к лучшему
По умолчанию Re: Графический LCD (glcd)

Сообщение от kison Посмотреть сообщение
Замените тогда 0х08 на 0х07 и оставьте &.
для чего?
ето все равно ничего не изменит, а у меня работает с %, только GLCD_ReadData() неправильно работает
jobfly вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
мигание цифры на LCD begun Микроконтроллеры, АЦП, память и т.д 8 15.03.2010 23:28
lcd TM9867 Борис Поиск схем. Делимся схемами 3 10.03.2010 23:03
Mega128 PORTF -- LCD 16x2 freonSZ Микроконтроллеры, АЦП, память и т.д 12 13.02.2010 16:32
AVR и LCD begun Микроконтроллеры, АЦП, память и т.д 5 24.01.2010 01:12
Подключение LCD дисплея utyfwdfkb Информация по радиокомпонентам 8 31.10.2009 01:34


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


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