|
|
  |
AVR и Siemens M55 |
|
|
|
Aug 31 2008, 20:21
|

Участник

Группа: Участник
Сообщений: 61
Регистрация: 26-04-08
Из: BY/MN
Пользователь №: 37 111

|
Страница с описанием соответствующего регистра. Сам не проверял.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 6 2008, 08:17
|
Местный
  
Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979

|
Цитата(Alex_1811 @ Sep 4 2008, 12:47)  Народ,может делал кто многоуровневое меню для ЖКИ дисплея? Поделитесь примером реализации. попробуй микрочип гуй
|
|
|
|
|
Sep 8 2008, 17:29
|
Группа: Новичок
Сообщений: 5
Регистрация: 16-06-08
Пользователь №: 38 333

|
Запустил LS020!!! Подскажите, как там кодируются цвета 0x0000 - 0xFFFF ???
|
|
|
|
|
Sep 12 2008, 13:16
|
Группа: Новичок
Сообщений: 1
Регистрация: 23-07-07
Пользователь №: 29 313

|
помогите плз найти даташит на дисплей от siemens cx75. или хотя бы какой там контроллер стоит и кто делает контроллеры LPH
|
|
|
|
|
Sep 25 2008, 08:20
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 9-07-05
Пользователь №: 6 656

|
У меня дисплей s65 на контроллере L2F50126 а даташит на L2F50052T01 Там я не нашел команду записи точки по координатам X,Y. COLOR Есть только команды установки координат окна ввода X1,X2 Y1,Y2 и записи точки RAMWR с авто инкриментом координат рисования внутри окна. Для рисования шрифта это удобно - установил окно размером со знакоместо и далее подрят передаешь команду RAMWR с коответствующим светом символа или фона. А когда рисуешь графики это неудобно потому что избыточно В контроллере LPH было по другому. У кранца тоже нет рисования точки для этого контроллера. ниже привожу процедуру рисования точки (с условной трансляцией по параметру DyspType ) //***************************************************************************** // Name: LCD_PixelPut(unsigned char x, unsigned char y, unsigned char color) // Copyright: Free to use at will & at own risk. // Author: JCP // Date: 03.30.06 17:10 // Description: Отрисовка точки // Useage: LCD_PixelPut(param X,param Y,param Col) // // param X: x direction 0-131 // param Y: y direction 0-176 // param Col: Color of Pixel, RRRGGGBB format // Example: LCD_PixelPut(30,30,0x62) // отрисовка точки в координатах 30,30 цвета 62 // // Notes: Нет проверки на выход за пределы экрана.Вывод производится в текущее окно //******************************************************************************* void LCD_PixelPut(unsigned char x, unsigned char y, CPU_INT16U color) { #if DyspType == l2f50 LCD_CS_LOW(); // Выбор дисплея // x координаты окна lcd_cmd_l2f50(SD_CSET); lcd_dat0_l2f50(0x08+y); // start is 8, not 0 lcd_dat0_l2f50(0x01); lcd_dat0_l2f50(0x08+y+8-1); // end is 00x8B = 0x83+8 lcd_dat0_l2f50(0x01); // Y координаты окна lcd_cmd_l2f50(SD_PSET); lcd_dat0_l2f50(x); lcd_dat0_l2f50(x+8-1); //запись цвета точки lcd_cmd_l2f50(RAMWR); lcd_dat16_l2f50(color); LCD_CS_HIGH(); //дезактивация #endif #if DyspType == lph LCD_CS_LOW(); // Выбор дисплея // вывод точки в текущее окно вывода lcd_comtype(0x21); // 21 регистр данных(цвета) одной точки lcd_comdat(x,y); // координаты lcd_comtype(0x22); // регистр данных lcd_write(0x76); // команда записи lcd_write16(color); // цвет точки LCD_CS_HIGH(); // deselect display #endif }
Видно что для LPH контроллера число передачь для отрисовки точки меньше.
|
|
|
|
|
Sep 25 2008, 10:36
|
Частый гость
 
Группа: Участник
Сообщений: 92
Регистрация: 1-06-08
Пользователь №: 37 959

|
Цитата(Jurdens @ Sep 25 2008, 12:20)  Для рисования шрифта это удобно - установил окно размером со знакоместо Можно сделать еще удобнее: установить окно с высотой шрифта до правого края дисплея и выводить шрифт по столбцам, проверяя, не заполнилось ли оно. Я делаю вот так: Код void print (char *str) { unsigned short curr=0; while(str[curr]!=0) { //Линия unsigned char newline=0; unsigned char oldtextx=textx; spiout(0xef00); spiout(0x0500); spiout(0x0a00+textx); spiout(0x0b00+175); spiout(0x0800+texty); spiout(0x0900+texty+fontheight[textfont]); //Использую 3 разных шрифта do { //Буква if(str[curr]==0)return; else if((textctl)&&(str[curr]=="\n"[0])) { textx=oldtextx; texty-=fontheight[textfont]+1; newline=1; } else if((textctl)&&(str[curr]=="\r"[0])) { textx=oldtextx; newline=1; } else if((textctl)&&(str[curr]=="\a"[0]))textinverse^=0xff; else { unsigned short mask=0x1, bitcount=0, i; unsigned short offs=getoffset(str[curr])/2; for(i=(fontheight[textfont]+1)*getwidth(str[curr]);i--;i>0) { //Точка unsigned short data=getfont()[offs]; if(data&mask)U0TXBUF=textcolor^textinverse; else U0TXBUF=textbg^textinverse; if(mask!=0x8000)mask<<=1; else { mask=0x1; offs++; } if(bitcount<fontheight[textfont])bitcount++; else { bitcount=0; textx++; } } } curr++; }while((textx+getwidth(curr+1)<175)&&(newline==0)); if(textx+getwidth(curr+1)>=175) { texty-=fontheight[textfont]; textx=oldtextx; } } } P.S. Сорри за кривоватый код  P.P.S. Дисплеи хороши, но скроллинга им явно не хватает
Сообщение отредактировал LCD - Sep 25 2008, 10:45
|
|
|
|
|
Sep 30 2008, 08:55
|
Частый гость
 
Группа: Участник
Сообщений: 92
Регистрация: 1-06-08
Пользователь №: 37 959

|
Цитата(RomanRom @ Sep 29 2008, 19:49)  =Судя по тем же фоткам, цепь 1,8 В подключается только у L2F50. Это выход напряжения из дисплея или это напряжение надо подавать внутрь? Кто что ставит (типа диода)? Надо подавать. Судя по схемам с сайта Кранца, можно подавать туда 2,9В, но я бы лучше подал 1,8В через 1117.
Сообщение отредактировал LCD - Sep 30 2008, 08:55
|
|
|
|
|
  |
20 чел. читают эту тему (гостей: 20, скрытых пользователей: 0)
Пользователей: 0
|
|
|