Форум за електроника Форуми Форум за електроника
Български форум за електроника, ремонти, схеми, документация
 
 Въпроси/ОтговориВъпроси/Отговори   ТърсенеТърсене   ПотребителиПотребители   ГрупиГрупи   Регистрирайте сеРегистрирайте се 
 ПрофилПрофил   Влезте, за да видите съобщенията сиВлезте, за да видите съобщенията си   ВходВход 

Не мога да подкарам дисплей AC162PYIL
Иди на страница 1, 2  Следваща
 
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics



Предишната тема :: Следващата тема  
Автор Съобщение
p_stoyanoff
Опитен потребител
Опитен потребител


Регистриран на: 14 Окт 2008
Мнения: 537

МнениеПуснато на: Сря Апр 06, 2011 12:12    Заглавие: Не мога да подкарам дисплей AC162PYIL Отговорете с цитат

Свързал съм въпросния дисплей към контролер PIC, според схемите дадени в мануала(прикачения файл). Написах си програма според инициализиращата последователност(също във прикачения файл). Зададох да запише няколко символа в CGRAM регистъра, но слек като подам захранване задното осветление на дисплея светва(жълтата светлина), но ни символ, ни дявол. Връзките са правилни проверих ги няколко пъти. Някакви идеи от какво може да е???
Благодаря!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
veskobx
Опитен потребител
Опитен потребител


Регистриран на: 07 Май 2005
Мнения: 332
Местожителство: Usa

МнениеПуснато на: Сря Апр 06, 2011 13:23    Заглавие: Отговорете с цитат

Дай да видиме какво си написал.
_________________
Authentic Damsels
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла AIM Адрес
p_stoyanoff
Опитен потребител
Опитен потребител


Регистриран на: 14 Окт 2008
Мнения: 537

МнениеПуснато на: Сря Апр 06, 2011 18:31    Заглавие: Отговорете с цитат

Използвам CCS complier. Информацията се подава на порт D.Не съм проверявал на кой адрес е порт D, за това съм го описал пин по пин.
На порт Е съм закачил управляващите. Е0 - RS, Е1 - R/W, Е2- Е.


#include <18F4520.h>
#fuses HS,NOWDT
#use delay (clock=20000000)
void main()
{
delay_ms(500);
output_high(PIN_E2);
delay_ms(30);
output_low(PIN_E0);
output_low(PIN_E1);
output_high(PIN_D0);
output_high(PIN_D1);
output_high(PIN_D2);
output_high(PIN_D3);
output_high(PIN_D4);
output_high(PIN_D5);
output_low(PIN_D6);
output_low(PIN_D7);
delay_us(50);
output_high(PIN_D0);
output_high(PIN_D1);
output_high(PIN_D2);
output_high(PIN_D3);
output_low(PIN_D4);
output_low(PIN_D5);
output_low(PIN_D6);
output_low(PIN_D7);
delay_us(50);
output_high(PIN_D0);
output_low(PIN_D1);
output_low(PIN_D2);
output_low(PIN_D3);
output_low(PIN_D4);
output_low(PIN_D5);
output_low(PIN_D6);
output_low(PIN_D7);
delay_ms(2);
output_low(PIN_D0);
output_low(PIN_D1);
output_high(PIN_D2);
output_low(PIN_D3);
output_low(PIN_D4);
output_low(PIN_D5);
output_low(PIN_D6);
output_low(PIN_D7);
delay_ms(10);
output_high(PIN_E1);
output_high(PIN_D7);
output_low(PIN_D6);
output_low(PIN_D5);
output_low(PIN_D4);
output_low(PIN_D3);
output_low(PIN_D2);
output_low(PIN_D1);
output_low(PIN_D0);
delay_us(40);
output_low(PIN_D3);
output_low(PIN_D2);
output_low(PIN_D1);
output_low(PIN_D0);
output_low(PIN_D4);
output_low(PIN_D5);
output_high(PIN_D6);
output_high(PIN_D7);

}
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
lenko71
Опитен потребител
Опитен потребител


Регистриран на: 29 Май 2009
Мнения: 302
Местожителство: Бургас

МнениеПуснато на: Сря Апр 06, 2011 20:06    Заглавие: Отговорете с цитат

Виж тук.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
p_stoyanoff
Опитен потребител
Опитен потребител


Регистриран на: 14 Окт 2008
Мнения: 537

МнениеПуснато на: Сря Апр 06, 2011 22:51    Заглавие: Отговорете с цитат

Примерът, който ми пращаш се отнася за дисплей със сериен входен интерфейс(SPI). Моят дисплей е с паралелен. Съществуват хедъри за С18 coplier, които са с готови функции, но трябва да се свърже дисплея на точно определени пинове. Иначе трябва да се преправят, а в моя проект ми е свободен само порт D. Ще ми отнеме много време да ги преправям, а и не е сигурно, че контролера (дисплея е някакъв малко измислен и хардуера явно е краден) ще сработи с този хедър.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
teodor_dj
Активен потребител
Активен потребител


Регистриран на: 02 Сеп 2009
Мнения: 69

МнениеПуснато на: Чет Апр 07, 2011 2:11    Заглавие: Отговорете с цитат

Ето така е по-правилно:
Код:
#include <18F4520.h>
#fuses HS,NOWDT
#use delay (clock=20000000)

void main()
{
delay_ms(500);
output_low(PIN_E1);     // R/W  -  Write Select


 //   Send Instruction   //

output_x(PIN_D0);    // }
output_x(PIN_D1);    // }
output_x(PIN_D2);    // }
output_x(PIN_D3);    // }   8-bit Data
output_x(PIN_D4);    // }
output_x(PIN_D5);    // }
output_x(PIN_D6);    // }
output_x(PIN_D7);    // }

output_low(PIN_E0);     // R/S  -  Instruction Select
delay_us(20);
output_high(PIN_E2);    // E  -  Enable Signal _on
delay_us(5);
output_low(PIN_E2);     // E  -  Enable Signal _off



 //   Send Data   //

output_x(PIN_D0);    // }
output_x(PIN_D1);    // }
output_x(PIN_D2);    // }
output_x(PIN_D3);    // }   8-bit Data
output_x(PIN_D4);    // }
output_x(PIN_D5);    // }
output_x(PIN_D6);    // }
output_x(PIN_D7);    // }

output_high(PIN_E0);     // R/S  -  Data Select
delay_us(20);
output_high(PIN_E2);    // E  -  Enable Signal _on
delay_us(5);
output_low(PIN_E2);     // E  -  Enable Signal _off

}


"Send Instruction" - конфигуриране на дисплея - избиране на типа интерфейс(8/4 - битов), едноредов/двуредов дисплей и т.н. Следвай алгоритъма за инициализация в datasheet-a. След инициализацията могат вече да се изпращат "данни" - "Send Data". Важно! - обикновено преди инициализацията пикселите на втория ред на дисплея трябва да светят. Ако това не е така - провери 3-ти пин на дисплея(VO) - регулирай контраста.

А вместо това :
Код:
output_x(PIN_D0);    // }
output_x(PIN_D1);    // }
output_x(PIN_D2);    // }
output_x(PIN_D3);    // }   8-bit Data
output_x(PIN_D4);    // }
output_x(PIN_D5);    // }
output_x(PIN_D6);    // }
output_x(PIN_D7);    // }

можеш да ползваш:
Код:
output_d(int8 data);  // 8-bit Data
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
p_stoyanoff
Опитен потребител
Опитен потребител


Регистриран на: 14 Окт 2008
Мнения: 537

МнениеПуснато на: Чет Апр 07, 2011 16:07    Заглавие: Отговорете с цитат

Поставил съм потенциометър 5к на 3-ти крак, както е дедено във файла. Измерих специално напрежението на 3ти крак се мени от 0 до 4.5V(толкова ми вади изправителя), но така и не се появява втория ред. Това го правя без поставен контролер(не мисля, че има някакво значение). Иначе жълтата светлина свети. На пинове 1 и 16 е подадена маса, а на 2 и 15 +V. От какво може да е това? Аз ли не правя нещо както трябва??
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
teodor_dj
Активен потребител
Активен потребител


Регистриран на: 02 Сеп 2009
Мнения: 69

МнениеПуснато на: Чет Апр 07, 2011 16:55    Заглавие: Отговорете с цитат

Всичко изглежда да е вързано ОК, аз по-горе писах -обикновено- вторият ред на дисплея свети без инициализация. Аз поне не съм срещал дисплей, който да не свети, но това не изключва възможността да има и такива. Давай напред с програмата, там ще си покаже.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
ivpav
Опитен потребител
Опитен потребител


Регистриран на: 02 Ное 2006
Мнения: 539
Местожителство: Хасково

МнениеПуснато на: Чет Апр 07, 2011 16:58    Заглавие: Отговорете с цитат

p_stoyanoff написа:
Примерът, който ми пращаш се отнася за дисплей със сериен входен интерфейс(SPI).
Не е вярно !!!
p_stoyanoff написа:
Съществуват хедъри за С18 coplier, които са с готови функции, но трябва да се свърже дисплея на точно определени пинове.
И това не е точно така , можеш да си избираш порта !
p_stoyanoff написа:
а в моя проект ми е свободен само порт D.
Човека ти праща пример точно с пор D.
p_stoyanoff написа:
(дисплея е някакъв малко измислен и хардуера явно е краден) ще сработи с този хедър.
Това пък съвсем не е вярно !
Хората ти дават доста добри съвети и примери . Така без контролер какво искаш да светнеш на тоя дисплей ?
_________________
ИВАН ПАВЛОВ
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
ikarlo
Опитен потребител
Опитен потребител


Регистриран на: 12 Апр 2008
Мнения: 470
Местожителство: Sofia

МнениеПуснато на: Чет Апр 07, 2011 19:42    Заглавие: Re: Не мога да подкарам дисплей AC162PYIL Отговорете с цитат

p_stoyanoff написа:
.... но ни символ, ни дявол...

Регулираш ли контраста? При включване на дисплея дори и да не е инициализиран, се виждат тъмни правоъгълници, където излизат символите. При лошо положение на регулатора на контраста нищо не се вижда!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
Покажи мнения от преди:   
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics Часовете са според зоната GMT + 2 Часа
Иди на страница 1, 2  Следваща
Страница 1 от 2

 
Към:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети


Powered by phpBB © 2001, 2005 phpBB Group
Translation by: Boby Dimitrov
Where to Find Free Service Manuals