Страница 3 из 15
Добавлено: Пн апр 07, 2008 15:48:51
lexmulya
http://www.radiokot.ru/lab/controller/30/
У меня там в библиотечке есть все то что тебе нужно.
Re: мерцает изображение на wg128128b
Добавлено: Пт апр 11, 2008 10:53:53
Merzavec
такая проблема- при изменении соотнешения темных и светлых пикселей начинает хаотично мерцать изображение. При этом мерцание удаеться убрать подстройкой контрастности, но, при дальнейшем изменеии того самого соотношения темных/светлых пикселей изображение опять начинает мерцать, блекнуть или наоборот сливаться в единую серую массу. В чем может быть проблема?
Сам разобрался:
как оказалось, стандартный подход к регулировке контрастности, когда ставиться переменный резистор входами к "земля" и "выход обратного напряжения", а ползунком к "входу регулировки контрастности", не подходит- при изменении объема информации на дисплее, напряжение на выходе ползунка начинает гулять в пределах 1 В. Придеться попробовать поставить регулируемый стабилизатор, у которого регулирующий элемент включен в минусовую цепь, что то типа LM337
Добавлено: Чт май 15, 2008 22:36:43
tych
moLCHec выложи пожалуйста архив с файлами для симуляции в PROTEUS вывода текстов. И архив с файлами для компиляции проекта вывода текста в ICC.
======
Я подправил исходники под CVAVR - вывод смайлика работает, а вывод текста нет. Вот всё.
Добавлено: Пт май 16, 2008 10:26:40
tych
lexmulya писал(а):Вот то что писал я.
Он чуток медлиннее из за того что я сначала читаю байт из ЖК меняю что надо и пишу назад(все это происходит с опросом статуса).
Я сделал и добавил в архив проекты для CVAVR и для PROTEUS. Прекрасно компилируется и симулируется. Можно симулировать в PROTEUS без компиляции - все файлы в архиве есть.
Добавлено: Пт май 16, 2008 14:10:09
moLCHec
Дак вроде для протеуса я дава

л. На счет статуса фиг знает погляжу, но его не использовал и так отлично работает. Дешевле задержку чуть длиннее зделать, чем статус читать. Если ЖКИ в тайминги не укладывается то его выкидывать нада нах, а не заморачиватся. Илипроизводителю капать на нервы что мол лажаете братья
WG12864 для VMLab
Добавлено: Пт май 16, 2008 14:37:57
newchok
А не подскажите ли, добрые люди, где можно найти компонент индикатора WG12864 для VMLab
Добавлено: Пт май 16, 2008 18:28:43
moLCHec
Я все библиотеки выкладывал, а если ума не хватает адаптировать для нужного Си компилятора то уж извиняйте. Я так понял tych тебе HEX нужен, а нафиг он тебе ты его что ковырять будешь ? Не понятно

. Ну раз хочется зделаю, что на ЖК то написать ?
Добавлено: Пт фев 13, 2009 17:37:24
QZ_
Люди, подскажите, у LCD от моторолки C200 какой контроллер? мб кто знает? вроде похоже на ssd1858, но это х3, скорее всего подобный, другой немного.
Добавлено: Ср мар 18, 2009 21:29:13
demiurg301
Автор статьи подскажите как устроена таблица символов, что значит
<<//0x20 и далее (0x00-0x60)">>
насколько я понял символы шириной 5 и высотой 7 ?
<<constcharsym>> в квадратные скобки надо вписать кол-во используемых символов?
собираюсь использовать вашу таблицу для CodeVision .
Не могли бы вы написать "на словах" порядок записи в RAM.
Добавлено: Пн апр 20, 2009 18:47:03
Alex_EXE
Тоже решил заняться графическим LCD, с данным контроллером:
Есть у кого-нить библиотека для PIC16
буду благодарен
Добавлено: Ср май 27, 2009 19:00:05
Telek
lexmulya писал(а):http://www.radiokot.ru/lab/controller/30/
У меня там в библиотечке есть все то что тебе нужно.
В этих библиотеках нужно поправить функции записи в LCD.
Код: Выделить всё
LCD_DATA_DDR=0xFF;
ClrBit(LCD_CONTROL_PORT, A0);
ClrBit(LCD_CONTROL_PORT, RDWR);
нужно заменить на
Код: Выделить всё
ClrBit(LCD_CONTROL_PORT, A0);
ClrBit(LCD_CONTROL_PORT, RDWR);
LCD_DATA_DDR=0xFF;
т.е. нужно сначала LCD перевести в режим чтения, а потом выставть порты на МК на вывод. Иначе, определенное время порты LCD и МК работают на вывод, а соответственно если на одинаковых "ногах" МК и LCD противоположные уровни - мы делаем кз через LCD и МК. Не факт что им это понравится.
Добавлено: Вт сен 29, 2009 10:21:09
NiceMAN
Так, товарищи Коты, доброго времени суток. Может кто юзал WG12232 от winstar. Там два контроллера sed1520. Поделитесь кодом, желательно на асме и схемой подключения.
Добавлено: Чт окт 22, 2009 22:28:02
Jursat
Схему подключения посмотри здесь:
http://www.winstar.com.tw/products_deta ... 18&lang=ru
и обрати внимание на последние буквы - выводы для подключения LCD могут отличаться.
Добавлено: Пт окт 23, 2009 05:24:41
NiceMAN
Спасибо, Jursat, уже разобрался. Кому интересно, могу поделится опытом по подключению и работе с WG12232 от Winstar на контроллерах SED1520.
Добавлено: Сб ноя 07, 2009 12:45:11
Veg@
NiceMAN писал(а):Спасибо, Jursat, уже разобрался. Кому интересно, могу поделится опытом по подключению и работе с WG12232 от Winstar на контроллерах SED1520.
По подключению к чему? Если к МК AVR, то поделитесь.

Спасибо.
Добавлено: Вт ноя 10, 2009 21:32:08
NiceMAN
Ну там все просто:
1. Шина данных 8 бит=8 выводов МК
2. CS1, CS2 - выбор контроллера =2 вывода контроллера
3. RS выбираем что передаеи - команду или данные
4. E - строб записи
5. Rst - "железный" сброс + выбор системы работы
Вот Вам кусок кода для Mega32, ну или для любого другого AVR
http://easyelectronics.ru/forum/mcu-avr/avr-fdcg12232
Если надо, выложу даташит на SED1520, там все команды по работе с дисплеем..
Будут вопросы, обращайтесь... Да, если дисплей от Winstar WG12232
E - ему для работы необходим внешний генератор 2кГц
Добавлено: Вт ноя 10, 2009 23:23:22
Veg@
Спасибо. Даташит на SED1520 нашел. Вопрос касательно кварца для WG12232E: какая схема его подключения?
Даташит на дисплей крайне скупой..
Добавлено: Ср ноя 11, 2009 06:38:34
NiceMAN
В моем дисплее есть одна нога для подключения внешнего генератора, т.е. никакого кварца. Внешний сигнал 2кГц, точнее в районе 2,4кГц, взял с ШИМ выхода контроллера. Можно и на логике сваять генератор.
898
Добавлено: Сб янв 09, 2010 20:01:22
B.A.S.Y.A.1
bfchfgchfch

Добавлено: Чт фев 11, 2010 19:13:36
HekuToc
Код: Выделить всё
#include <delay>
#include <mega8>
#define E PORTB.0
#define RW PORTB.1
#define DI PORTB.2 //H:data L:Instructions
#define CS1 PORTB.3
#define CS2 PORTB.4
#define RS PORTB.5
#define dt 1000
// Declare your global variables here
char z[6]={0xFF,0x40,0x20,0x10,0x08,0x04},i;
void main(void)
{
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=T State6=T State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0xFF;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
}
RS=0;
delay_us(20);
RS=1; //restet display
E=0;
RW=0;
DI=0;
PORTD=0b00111111;//turn on
E=1;
delay_us(2);
E=0;
CS1=1;//select left chip
RW=0;
DI=0;
PORTD=0b10111001;
E=1;
delay_us(2);
E=0;//set page=1
RW=0;
DI=0;
PORTD=0b0100001;
E=1;
delay_us(2);
E=0;//set address=1
while (1)
{
DDRD=0x00;//inputs
PORTD=0;
RW=1;
DI=0;
E=1;
delay_us(1);
while(PIND.7==1){E=0;delay_us(1);E=1;delay_us(1);}//waits while BUSY
E=0;
DDRD=0xFF;
RW=0;
DI=1;
PORTD=z[i];
if(i++==6)i=0;
E=1;
delay_us(2);
E=0;
};
}
помогите, не могу понять что не так.
1)Код писал сам
2)В протеусе он работает
3)В жизни ЛЦД работает в устройстве - доноре (питание на макетке соответсвует донорскому)
4)На макетке, хоть убей, не хочет пахать.
У меня WM-1206, за источник инфы брал
это. Тк в нём написано, что мой - аналог.