Juras Pr.
Apr 26 2008, 20:11
Цитата(ведущий_специалист @ Apr 21 2008, 21:49)

С дисплеем lph8836 давно дружу, только команд мало

хотелось бы больше.
Я тоже давно дружу с дисплеем LPH8836, на который описание команд доступно в полном виде (из даташита на контроллер HD66773), в отличие от LS020. Я пробовал, например, на дисплее LPH8836 использовать команды записи с различными масками, что удобно при перерисовке, скажем, меню без необходимости заново выводить текст, что очень экономит время. Зато на LS020 можно несколько быстрее выводить текст (когда для каждого символа указывается активное окно), так как используется линия RS и не надо дополнительным байтом указывать, что именно будет передаваться, данные или команда.

Подсветка по схеме superkranz.de работает нормально%2
ведущий_специалист
May 1 2008, 18:43
Цитата(Fusion @ Apr 24 2008, 14:40)

Схема подсветки на MC34063.
Да уж, и ток потребления такой схемы порядка 100мА.
Мы с товарищем собирали на тане15, к которой подключены диоды с кондерами.
таня выдает в порт по очереди аа 55 получается прикольно, на выходе около 16ти вольт после диодов.
под нагрузкой около 10 вольт
CoolBoy
May 3 2008, 00:40
Может кто-нибудь поделиться схемой подключения дисплея LS020 к микроконтроллеру ATmega 16 или 32 и примером вывода текста на этот экран в CodeVision? Очень срочно надо, пишу курсовую и хотелось бы использовать этот экран вместо всем преподам уже надоевшего HD44780!
Cyber_RAT
May 3 2008, 11:19
Подключение ничем не отличается от той же меги128... (только надо или контроллер с буковкой L и питать все от 3.3 вольта, или согласовать уровни).
исходник в этой теме есть MP3 плейер на Codevision.
Цитата(Cyber_RAT @ May 3 2008, 14:19)

только надо или контроллер с буковкой L и питать все от 3.3 вольта, или согласовать уровни
и без L все работает на 3.3
CoolBoy
May 3 2008, 14:36
У немцев сказано использовать порты В0, В1, В2, В6, В7 при подключении к Меге128, эти же порты можно использовать при подключении к Меге16?
Intel4Ever
May 3 2008, 16:00
Наконец нашёл экран с контроллером LPH88 (искал именно его, так как есть прошивка под 16 мегу для него в CV).
Может кто-то подсказать, к каким пинам подключать экран к меге 16?
Просто написать (без всяких схемок) пин на экране -- пин на меге16.
Cyber_RAT
May 7 2008, 04:31
Цитата(CoolBoy @ May 3 2008, 17:36)

У немцев сказано использовать порты В0, В1, В2, В6, В7 при подключении к Меге128, эти же порты можно использовать при подключении к Меге16?
смотреть по даташиту - если SPI на тех же портах как и в меге 128, то почему бы и нет?
вообщем у меня к меге32 так: (мега 16 без изменений)
rs (s65) - pb0 - можно использовать и другой вывод, только его прописать в программе
reset(s65) - pb1 - этот тоже можно другой.
а эти это хардварный SPI - другие выводы нельзя.
cs (s65) - pb4 (SS)
CLK (s65) - pb7 (sck)
dat(s65) - pb5 (mosi)
все остальные к питаниям согласно схемы
ведущий_специалист
May 8 2008, 16:55
Блин, такое ощущение, что народ собрался вообще не знающий дефайнов. Да какая разница к каким портам подключать, главное чтобы дата и сцк висели на спи ногах, для скорости,коей в авре под эту штуку и так мало. А остальные вешаешь хоть на какие.А если экран LPH8836 то вообще прелесть, одной ногой проца меньше(вывод RS не задействован)
anaconda
May 9 2008, 13:33
Имеется дисплей LS020 подключенный к Atmega32. После инициализации дисплея, пробую залить экран каким-либо цветом(сейчас красным). Часть экрана заливается(появляется красная полоса сбоку) и на этом все останавливается. На соответствующих ногах контроллера судя по светодиоду активность есть, а дисплей молчит. В чем может быть проблема. Исходник(CodeVision) прилагается.
Заранее спасибо.
Уточнение. Такая последовательность: заливка красным, пауза 3сек, заливка зеленым - не работает(дисплей на красном цвете виснет). Последовательность : заливка белым, пауза 3сек, заливка черным - работает. Вот такая непонятка.
Код
void lcd_fill(unsigned int color)
{
// задай размер окна
lcd_cmd(0xEF90);
lcd_cmd(0x0500);
lcd_cmd(0x0800 | 0);
lcd_cmd(0x0A00 | 0);
lcd_cmd(0x0900 | 132);
lcd_cmd(0x0B00 | 176);
//
unsigned int i;
lcd_cmd(0xEF90);
lcd_cmd(0x0500);
lcd_cmd(0x0600);
lcd_cmd(0x0700);
for (i=0;i<23232;i++) //132x176
{
lcd_data(color);
};
}
P/S Пишите код читаемо, фиг разберешь чего понаписали

не бойтесь форматирования и заглавных букв

а так же дефайны используйте...
anaconda
May 9 2008, 16:10
Нет, не работает. Происходит все тоже самое. Вообще как-то болезненно он реагирует на цвета отличные от белого(0xFFFF) или черного(0x0000)
Попробуй закрашивать не вес экран сразу, а частями:
например по 1000 пикселов
for (i=0;i<1000;i++)
{
lcd_data(color);
};
anaconda
May 10 2008, 06:02
Нет не помогает. Картина аналогичная. Да и потом, белым и черным заливает на ура. А каково поведение линий CS и RS при передаче команд и данных. Сейчас : команды - CS=0,RS=1,передача двух байт,CS=1; данные - CS=0,RS=0,передача двух байт,CS=1. Может быть задержки нужно выставлять перед дерганием ногами, или линии SCK, DAT принудительно устанавливать в ноль после передачи? SPI - аппаратный.
anaconda
May 10 2008, 07:05
Попробовал увеличить скорость SPI(с 2МГц до 4МГц) и уменьшить(с 2МГц до 1МГц), даже инициализация дисплея перестала проходить. На 2МГц все по прежнему.
попробуйте при неизменной программе поставить меньше кварц. Это хоть и похоже на танцы с бубном, но мне помогло.
Не понял меня, попробуй заполнить часть экрана (допустим 100 точек) одним цветом потом эту же часть другим цветом, через некоторое время (пришли код)
попробуй паузу поставить после инициализации
Код
void lcd_init()
{
unsigned char i;
for (i=0;i<2;i++)
{
lcd_cmd(init1[i]);
}
delay_ms(50);
for (i=0;i<10;i++)
{
lcd_cmd(init2[i]);
}
delay_ms(7);
for (i=0;i<20;i++)
{
lcd_cmd(init3[i]);
}
delay_ms(30);
for (i=0;i<3;i++)
{
lcd_cmd(init4[i]);
}
delay_ms(30);
}
ведущий_специалист
May 10 2008, 17:32
Скорее всего дело в задержках при инициализации.А еще стоит проверить процедуру ожидания окончания посылки байта в SPI канал,если таковая имеется.
anaconda
May 11 2008, 17:04
Попробовал заливать по 1000 точек, ничего не изменилось - первая заливка проходит удачно, при следующей дисплей виснет. В редких случаях, заливка может идти достаточно долго(пока не отключишь питание) попеременно разными цветами. После повторного включения картина повторяется - дисплей зависает. Исходник прилагается.
Cyber_RAT
May 12 2008, 04:37
попробуй заливать устанавливая координаты окна командами:
// задай размер окна
lcd_cmd(0xEF90);
lcd_cmd(0x0500);
lcd_cmd(0x0800 | 0);
lcd_cmd(0x0A00 | 0);
lcd_cmd(0x0900 | 132); <- тут 131 для всего экрана
lcd_cmd(0x0B00 | 176); <- тут 175 для всего экрана (0-131, 0-175)
а потом не надо ef90, 0500 0600 0700 команд, просто начинай заполнять экран.
p.s. экран на длинных проводах болтается? (через делители или все от 3.3вольта?)
anaconda
May 12 2008, 06:08
Дисплей подключен через обрезанный IDE кабель длиной 20-23см. Для согласования уровней используется 74lvc245. Подсветка сделана на MC34063(5В->10.5В). Выводы контроллера и 74lvc245, а также 74lvc245 и дисплея, соединены напрямую проводами.
Цитата(anaconda @ May 12 2008, 09:08)

Дисплей подключен через обрезанный IDE кабель длиной 20-23см. Для согласования уровней используется 74lvc245. Подсветка сделана на MC34063(5В->10.5В). Выводы контроллера и 74lvc245, а также 74lvc245 и дисплея, соединены напрямую проводами.
а как включена lvc245, а то у меня чото не получается ее запустить(на виходах 4.9в)?
anaconda
May 13 2008, 10:52
Питаешь lvc245 от скольки вольт.
Цитата(anaconda @ May 13 2008, 17:52)

Питаешь lvc245 от скольки вольт.
зашил твой(только порты под себя переписал) код к себе вот что получилось: верхняя часть заливается по очереди цветами нижняя как и положенно залита шумами...
Подправил код, заливай и все пойдет...
Код
#define COLOR_SKY 0x54fb
#define COLOR_BLACK 0x0000
#define COLOR_WHITE 0xFFFF
#define COLOR_GREEN 0x07E0
#define COLOR_BLUE 0x7FF0
#define COLOR_RED 0xF800
#define COLOR_YELLOW 0xDEE0
#define COLOR_ORANGE 0xAB00
#define COLOR_PINK 0xF97F
#define COLOR_BROWN 0x8200
#define COLOR_GREY 0x8410
#define COLOR_VIOLET 0x91D4
const Word _int_2[] =
{
0xEF00, 0xEE04, 0x1B04, 0xFEFE, 0xFEFE,
0xEF90, 0x4A04, 0x7F3F, 0xEE04, 0x4306
};
const Word _int_3[] =
{
0xEF90, 0x0983, 0x0800, 0x0BAF, 0x0A00,
0x0500, 0x0600, 0x0700, 0xEF00, 0xEE0C,
0xEF90, 0x0080, 0xEFB0, 0x4902, 0xEF00,
0x7F01, 0xE181, 0xE202, 0xE276, 0xE183
};
const Word _int_4[] =
{
0x8001, 0xEF90, 0x0000
};
void LCD_S65_CMD(Word Cmd)
{
Pin_On(Pin_LCD_S65_RS);
Pin_Off(Pin_LCD_S65_CS);
//
SPDR = BYTES(Cmd)[1]; do{}while(!(SPSR&_Bit(SPIF)));
SPDR = BYTES(Cmd)[0]; do{}while(!(SPSR&_Bit(SPIF)));
//
Pin_On(Pin_LCD_S65_CS);
}
void LCD_S65_DATA(Word Data)
{
Pin_Off(Pin_LCD_S65_RS);
Pin_Off(Pin_LCD_S65_CS);
//
SPDR = BYTES(Data)[1]; do{}while(!(SPSR&_Bit(SPIF)));
SPDR = BYTES(Data)[0]; do{}while(!(SPSR&_Bit(SPIF)));
//
Pin_On(Pin_LCD_S65_CS);
}
void LCD_S65_Init(void)
{
Pin_Out_On(Pin_LCD_S65_CS);
Pin_Out_Off(Pin_LCD_S65_Reset);
Pin_Out_On(Pin_LCD_S65_RS);
//
Pin_In(Pin_SPI_MISO);
Pin_Out_Off(Pin_SPI_SS);
Pin_Out_Off(Pin_SPI_MOSI);
Pin_Out_Off(Pin_SPI_SCK);
//
Delay(1_ms);
//
Pin_Out_On(Pin_LCD_S65_Reset);
//
SPSR = _Bit(SPI2X);
SPCR = _Bit(SPE) | _Bit(MSTR);
//
Pin_On(Pin_LCD_S65_CS);
//
LCD_S65_CMD(0xFDFD);
LCD_S65_CMD(0xFDFD);
//
Delay(50_ms);
//
for(Byte i = 0; i < 10; i++) LCD_S65_CMD(_int_2[i]);
//
Delay(7_ms);
//
for(Byte i = 0; i< 20; i++) LCD_S65_CMD(_int_3[i]);
//
Delay(30_ms);
//
for(Byte i = 0; i < 3; i++) LCD_S65_CMD(_int_4[i]);
//
Delay(30_ms);
}
void LCD_S65_SET_WINDOW(Byte Xmin, Byte Ymin, Byte Xmax, Byte Ymax)
{
LCD_S65_CMD(0xEF90);
LCD_S65_CMD(0x0500);
LCD_S65_CMD(0x0800 | Xmin);
LCD_S65_CMD(0x0A00 | Ymin);
LCD_S65_CMD(0x0900 | Xmax);
LCD_S65_CMD(0x0B00 | Ymax);
}
void LCD_S65_FILL_ALL(Word Color)
{
LCD_S65_SET_WINDOW(0, 0, 132, 178);
//
Pin_Off(Pin_LCD_S65_RS);
//
for(Word i = 0; i < 132*178; i++)
{
Pin_Off(Pin_LCD_S65_CS);
SPDR = BYTES(Color)[1]; do{}while(!(SPSR&_Bit(SPIF)));
SPDR = BYTES(Color)[0]; do{}while(!(SPSR&_Bit(SPIF)));
Pin_On(Pin_LCD_S65_CS);
}
}
int main()
{
//
LCD_S65_Init();
//
for(;;)
{
LCD_S65_FILL_ALL(COLOR_SKY);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_BLACK);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_WHITE);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_GREEN);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_BLUE);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_RED);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_YELLOW);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_ORANGE);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_PINK);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_BROWN);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_GREY);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_VIOLET);
Delay(1_s);
}
}
Juras Pr.
May 13 2008, 20:37
Экран LS020, работа регистра прокрутки экрана R11h, в который записывается значение смещения величиной от 0 до 175. Значения выше AFh (175) игнорируются.
LS020_Scroll - для просмотра нужен кодек H264.
anaconda
May 14 2008, 06:05
Цитата(ZiB @ May 13 2008, 16:56)

Подправил код, заливай и все пойдет...
Код
#define COLOR_SKY 0x54fb
#define COLOR_BLACK 0x0000
#define COLOR_WHITE 0xFFFF
#define COLOR_GREEN 0x07E0
#define COLOR_BLUE 0x7FF0
#define COLOR_RED 0xF800
#define COLOR_YELLOW 0xDEE0
#define COLOR_ORANGE 0xAB00
#define COLOR_PINK 0xF97F
#define COLOR_BROWN 0x8200
#define COLOR_GREY 0x8410
#define COLOR_VIOLET 0x91D4
const Word _int_2[] =
{
0xEF00, 0xEE04, 0x1B04, 0xFEFE, 0xFEFE,
0xEF90, 0x4A04, 0x7F3F, 0xEE04, 0x4306
};
const Word _int_3[] =
{
0xEF90, 0x0983, 0x0800, 0x0BAF, 0x0A00,
0x0500, 0x0600, 0x0700, 0xEF00, 0xEE0C,
0xEF90, 0x0080, 0xEFB0, 0x4902, 0xEF00,
0x7F01, 0xE181, 0xE202, 0xE276, 0xE183
};
const Word _int_4[] =
{
0x8001, 0xEF90, 0x0000
};
void LCD_S65_CMD(Word Cmd)
{
Pin_On(Pin_LCD_S65_RS);
Pin_Off(Pin_LCD_S65_CS);
//
SPDR = BYTES(Cmd)[1]; do{}while(!(SPSR&_Bit(SPIF)));
SPDR = BYTES(Cmd)[0]; do{}while(!(SPSR&_Bit(SPIF)));
//
Pin_On(Pin_LCD_S65_CS);
}
void LCD_S65_DATA(Word Data)
{
Pin_Off(Pin_LCD_S65_RS);
Pin_Off(Pin_LCD_S65_CS);
//
SPDR = BYTES(Data)[1]; do{}while(!(SPSR&_Bit(SPIF)));
SPDR = BYTES(Data)[0]; do{}while(!(SPSR&_Bit(SPIF)));
//
Pin_On(Pin_LCD_S65_CS);
}
void LCD_S65_Init(void)
{
Pin_Out_On(Pin_LCD_S65_CS);
Pin_Out_Off(Pin_LCD_S65_Reset);
Pin_Out_On(Pin_LCD_S65_RS);
//
Pin_In(Pin_SPI_MISO);
Pin_Out_Off(Pin_SPI_SS);
Pin_Out_Off(Pin_SPI_MOSI);
Pin_Out_Off(Pin_SPI_SCK);
//
Delay(1_ms);
//
Pin_Out_On(Pin_LCD_S65_Reset);
//
SPSR = _Bit(SPI2X);
SPCR = _Bit(SPE) | _Bit(MSTR);
//
Pin_On(Pin_LCD_S65_CS);
//
LCD_S65_CMD(0xFDFD);
LCD_S65_CMD(0xFDFD);
//
Delay(50_ms);
//
for(Byte i = 0; i < 10; i++) LCD_S65_CMD(_int_2[i]);
//
Delay(7_ms);
//
for(Byte i = 0; i< 20; i++) LCD_S65_CMD(_int_3[i]);
//
Delay(30_ms);
//
for(Byte i = 0; i < 3; i++) LCD_S65_CMD(_int_4[i]);
//
Delay(30_ms);
}
void LCD_S65_SET_WINDOW(Byte Xmin, Byte Ymin, Byte Xmax, Byte Ymax)
{
LCD_S65_CMD(0xEF90);
LCD_S65_CMD(0x0500);
LCD_S65_CMD(0x0800 | Xmin);
LCD_S65_CMD(0x0A00 | Ymin);
LCD_S65_CMD(0x0900 | Xmax);
LCD_S65_CMD(0x0B00 | Ymax);
}
void LCD_S65_FILL_ALL(Word Color)
{
LCD_S65_SET_WINDOW(0, 0, 132, 178);
//
Pin_Off(Pin_LCD_S65_RS);
//
for(Word i = 0; i < 132*178; i++)
{
Pin_Off(Pin_LCD_S65_CS);
SPDR = BYTES(Color)[1]; do{}while(!(SPSR&_Bit(SPIF)));
SPDR = BYTES(Color)[0]; do{}while(!(SPSR&_Bit(SPIF)));
Pin_On(Pin_LCD_S65_CS);
}
}
int main()
{
//
LCD_S65_Init();
//
for(;;)
{
LCD_S65_FILL_ALL(COLOR_SKY);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_BLACK);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_WHITE);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_GREEN);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_BLUE);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_RED);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_YELLOW);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_ORANGE);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_PINK);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_BROWN);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_GREY);
Delay(1_s);
//
LCD_S65_FILL_ALL(COLOR_VIOLET);
Delay(1_s);
}
}
Ок. Сегодня вечером попробую.
Juras Pr.
May 14 2008, 18:34
Еще немного по прокрутке. Регистр R0Fh определяет стартовую позицию области прокрутки, регистр R10h - конечную позицию области прокрутки по оси, на которой 176 точек. При увеличении содержимого регистра R11h содержимое области прокрутки начинает смещаться влево. Если содержимое регистра R11h превышает содержимое регистра R10h, то прокрутка не происходит (будто бы в R11 занесено значение 00h).
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаВ архиве - видео (кодек H264).
Evgeniy22
May 15 2008, 12:36
Доброго времени суток всем!!!!
Вот тоже занялся дисплеями сотовых. Ковыряю дисплей сименса S65(L2F50126), написал уже небольшую графическую библиотеку, а теперь занялся шрифтами. Для шрифтов хочу использовать конвертер Хагена, но никак не пойму как считать данные из массива. Был бы очень признателен если бы кто-нибудь выложил код вывода символа из С-массива(без сжатия).
Juras Pr.
May 15 2008, 14:18
В исходниках для разных типов экранов можно подсмотреть информацию по выводу текста без сжатия на сайте:
http://www.superkranz.de/Тут же добавлю некоторые исправления по прокрутке на экране LS020.
Регистр R0Fh определяет начало области прокрутки,
а вот регистр R10h определяет ширину области прокрутки, а не конец области. Еще найдено несколько довольно полезных функций, но надо еще проверить.
Evgeniy22
May 16 2008, 04:29
Я, наверное, несколько неправильно задал вопрос. Мне нужен код для знакогенератора конвертера Хагена Реддмана. Файл шрифта генерируемый этим конвертором уже имеет сжатие, так как высота символа постоянна, а ширина изменяется. В последней версии конвертера так же есть галочка для принудительного включения сжатия знакогенератора с помощью RLE, так вот под "без сжатия" я имел ввиду отключение RLE - сжатия. Есть исходники библиотеки где используются эти шрифты, но она на асме и из них я ничего не понял, поэтому и прошу выложить код для вывода символов из файлов созданных конвертером, ну или алгоритм считывания. На сайте Кранца у всех типов экранов вроде используется шрифты фиксированного размера(т.е. у всех символов ширина одинакова)? Или я чего то не заметил? Тогда ткните носом куда смотреть.
Alex_1811
May 21 2008, 20:14
Помогите запустить дисплей L2F50.
Навалял программу для Mega8 в IAR, а работать зараза не хочет.
Программа во вложении.
Цитата(Alex_1811 @ May 22 2008, 03:14)

Помогите запустить дисплей L2F50.
Навалял программу для Mega8 в IAR, а работать зараза не хочет.
Программа во вложении.
Начните с малого
http://www.mikrocontroller.net/attachment/...S65_Display.pdfсделайте как ниписано и все будет у вас работать. При отсутствии ошибок в монтаже.
Alex_1811
May 22 2008, 07:22
Цитата(ZiB @ May 22 2008, 10:02)

Начните с малого
http://www.mikrocontroller.net/attachment/...S65_Display.pdfсделайте как ниписано и все будет у вас работать. При отсутствии ошибок в монтаже.
С дисплеем LS020 я на ты, а вот L2F50 не хочет запускаться. Инициализация ведь у них разная,
може я чегото неправильно делаю.
Зверюга
May 24 2008, 06:55
Вопрос на засыпку - а скольfdgко mA жрут светодиоды подсветки в LS020?
И какое максимльное напряжение на них можно подавать?
Валяются 15 вольтовые преобразователи, охота применить.
Зверюга
May 24 2008, 06:55
Вопрос на засыпку - а скольfdgко mA жрут светодиоды подсветки в LS020?
И какое максимльное напряжение на них можно подавать?
Валяются 15 вольтовые преобразователи, охота применить.
Alex_1811
May 24 2008, 11:20
Цитата(Зверюга @ May 24 2008, 09:55)

Вопрос на засыпку - а скольfdgко mA жрут светодиоды подсветки в LS020?
И какое максимльное напряжение на них можно подавать?
Валяются 15 вольтовые преобразователи, охота применить.
Ток не более 20мА.
Зверюга
May 24 2008, 15:15
Ну... а 15 вольт можно ставить?
Зверюга
May 24 2008, 16:02
Вы лично пробовали через резистор? Номинал?
Может лучше стабилитрон?
блин.. ни хрена не понимаю - на сайте
http://superkranz.de/christian/S65_Display...ayHardware.htmlнаписано в тексте что надо 10,4 вольт. На схеме же написано 15 вольт и резистор 180 ом. С каких это пор у нас резистор ограничивает напряжение?
Alex_1811
May 24 2008, 16:14
Цитата(Зверюга @ May 24 2008, 19:02)

Вы лично пробовали через резистор? Номинал?
Может лучше стабилитрон?
блин.. ни хрена не понимаю - на сайте
http://superkranz.de/christian/S65_Display...ayHardware.htmlнаписано в тексте что надо 10,4 вольт. На схеме же написано 15 вольт и резистор 180 ом. С каких это пор у нас резистор ограничивает напряжение?
Сделай как у немцов. Проверено. Работает.
Зверюга
May 24 2008, 16:19
угу... вырубится PWM и кранты транзистору.
Да и два года назад я безуспешно пытался найти диод и транзистор из этой схемы в Воронеже, даже с дросселем проблемы.
ПРоще заказать семпл DC-DC конвертера. Вот я и спрашиваю о предельных параметрах
Juras Pr.
May 24 2008, 16:21
Напряжение на резисторе = 15-10,4=4,6(В). Ток через резистор (и светодиоды) = 4,6/180=0.025(А), т.е. 25мА.
Зверюга
May 24 2008, 16:32
Цитата
Напряжение на резисторе = 15-10,4=4,6(В).
Простите, я пришел из раздела новичков - светодиоды подсветки работают как стабилитроны? Напряжение само падает до 10,4 вольт? И надо просто ограничить ток резистором, так?
Juras Pr.
May 24 2008, 17:19
Это напряжение падения последовательно соединённых светодиодов в рабочем состоянии. У одного белого светодиода это напряжение обычно лежит в пределах примерно 3,0-3,8В. В подсветке светодиоды включены группами. При попытке увеличить это напряжение начнёт быстро расти ток. Да, почти как стабилитрон, только характеристика не такая крутая.
InsolentS
May 28 2008, 04:08
Здравствуйте поклонники АВР.
Давно использую СХ65-ый дисплей в своих разработках, в качестве процессора вставляю АРМ7. Всё нормально - кручу даже видео, эффекта прорисовки не наблюдается. Частота SPI 15 MHz.
и все таки подключил ли кто-нибудь lph9157-2 от С75?
Цитата(Juras Pr. @ May 15 2008, 17:18)

Тут же добавлю некоторые исправления по прокрутке на экране LS020.
Регистр R0Fh определяет начало области прокрутки,
а вот регистр R10h определяет ширину области прокрутки, а не конец области. Еще найдено несколько довольно полезных функций, но надо еще проверить.
А можно по подробней? -а то непонятно что за регистр такой? где находится? и как с ним работать? и как вообще организовать прокрутку?
Fusion
May 29 2008, 08:11
Цитата(ххх @ May 29 2008, 04:47)

А можно по подробней? -а то непонятно что за регистр такой? где находится? и как с ним работать? и как вообще организовать прокрутку?

Команды передаются двумя байтами: 1 - регистр, 2 - команда.
Например регистр 80, команда 01 DISP ON, команда 00 DISP OFF.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.