реклама на сайте
подробности

 
 
87 страниц V  « < 72 73 74 75 76 > »   
Reply to this topicStart new topic
> AVR и Siemens M55
Juras Pr.
сообщение Dec 19 2009, 15:06
Сообщение #1096


Участник
*

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



Контакты есть здесь Steckverbinder für S65 Display, там же, возможно, появятся рамки (была информация на немецком форуме). А если ближе к реальности - то проще купить целый Siemens S65 и выпаять феном рамку и контакты, экран - в бонус.
Go to the top of the page
 
+Quote Post
-=MaX=-
сообщение Dec 19 2009, 17:27
Сообщение #1097


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 10-12-09
Пользователь №: 54 181



Тогда проще скачать прогу, которая через дата кабель даст полный доступ к потрохам телефона
Go to the top of the page
 
+Quote Post
LexRoss
сообщение Dec 31 2009, 08:54
Сообщение #1098


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202



Попался дисплей от Nokia 6100 с зеленым шлейфом, без контактных площадок сзади. Похоже, что контроллер S1D15G10.
Инициализацию пробовал и для S1D15G10 и для PCF8833, не работат.
Может, я чего пишу не так?
CODE
#include <mega8.h>
#include <delay.h>

#define SPIPORT PORTB
#define SPIDDR DDRB
#define CS 2
#define CLK 5
#define SDA 3
#define RESET 4

#define cbi(reg, bit) (reg&=~(1<<bit))
#define sbi(reg, bit) (reg|= (1<<bit))

#define CS0 cbi(SPIPORT,CS);
#define CS1 sbi(SPIPORT,CS);
#define CLK0 cbi(SPIPORT,CLK);
#define CLK1 sbi(SPIPORT,CLK);
#define SDA0 cbi(SPIPORT,SDA);
#define SDA1 sbi(SPIPORT,SDA);
#define RESET0 cbi(SPIPORT,RESET);
#define RESET1 sbi(SPIPORT,RESET);

#define NOP 0x00 // nop
#define SWRESET 0x01 // software reset
#define BSTROFF 0x02 // booster voltage OFF
#define BSTRON 0x03 // booster voltage ON
#define RDDIDIF 0x04 // read display identification
#define RDDST 0x09 // read display status
#define SLEEPIN 0x10 // sleep in
#define SLEEPOUT 0x11 // sleep out
#define PTLON 0x12 // partial display mode
#define NORON 0x13 // display normal mode
#define INVOFF 0x20 // inversion OFF
#define INVON 0x21 // inversion ON
#define DALO 0x22 // all pixelS OFF
#define DAL 0x23 // all pixelS ON
#define SETCON 0x25 // write contrast
#define DISPOFF 0x28 // display OFF
#define DISPON 0x29 // display ON
#define CASET 0x2A // column address set
#define PASET 0x2B // page address set
#define RAMWR 0x2C // memory write
#define RGBSET 0x2D // colour set
#define PTLAR 0x30 // partial area
#define VSCRDEF 0x33 // vertical scrolling definition
#define TEOFF 0x34 // test mode
#define TEON 0x35 // test mode
#define MADCTL 0x36 // memory access control
#define SEP 0x37 // vertical scrolling start address
#define IDMOFF 0x38 // idle mode OFF
#define IDMON 0x39 // idle mode ON
#define COLMOD 0x3A // interface pixel format
#define SETVOP 0xB0 // set Vop
#define BRS 0xB4 // bottom row swap
#define TRS 0xB6 // top row swap
#define DISCTR 0xB9 // display control
#define DORO 0xBA // data order
#define TCDFE 0xBD // enable/disable DF temperature compens
#define TCVOPE 0xBF // enable/disable Vop temp comp
#define EC 0xC0 // internal or external oscillator
#define SETMUL 0xC2 // set multiplication factor
#define TCVOPAB 0xC3 // set TCVOP slopes A and B
#define TCVOPCD 0xC4 // set TCVOP slopes c and d
#define TCDF 0xC5 // set divider frequency
#define DF8COLOR 0xC6 // set divider frequency 8-color mode
#define SETBS 0xC7 // set bias system
#define RDTEMP 0xC8 // temperature read back
#define NLI 0xC9 // n-line inversion
#define DEFALT 0xEF //default


void shiftBits(byte cool.gif {

CLK0
if ((b&128)!=0) SDA1 else SDA0
CLK1

CLK0
if ((b&64)!=0) SDA1 else SDA0
CLK1

CLK0
if ((b&32)!=0) SDA1 else SDA0
CLK1

CLK0
if ((b&16)!=0) SDA1 else SDA0
CLK1

CLK0
if ((b&8)!=0) SDA1 else SDA0
CLK1

CLK0
if ((b&4)!=0) SDA1 else SDA0
CLK1

CLK0
if ((b&2)!=0) SDA1 else SDA0
CLK1

CLK0
if ((b&1)!=0) SDA1 else SDA0
CLK1

}

//send data
void sendData(byte data) {

CLK0
SDA1 //1 for param
CLK1

shiftBits(data);
}

//send cmd
void sendCMD(byte data) {

CLK0
SDA0 //1 for cmd
CLK1

shiftBits(data);
}


void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// 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=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// 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;

SPIDDR=(1<<SDA)|(1<<CLK)|(1<<CS)|(1<<RESET);



while (1)
{
// Place your code here
CS0
SDA0
CLK1
RESET1
RESET0
RESET1
CLK1
SDA1
CLK1



//Software Reset
sendCMD(SWRESET);

//Sleep Out
sendCMD(SLEEPOUT);

//Booster ON
sendCMD(BSTRON);

delay_ms(10);
//Display On
sendCMD(DISPON);

//Normal display mode
sendCMD(NORON);

//Display inversion on
sendCMD(INVON);

//Data order
sendCMD(DORO);

//Memory data access control
sendCMD(MADCTL);


sendData(8|128|64); //inverse rgb + MirrorY


sendCMD(COLMOD);
sendData(3); //12-Bit per Pixel (default)

delay_ms(100);
};
}
Причина редактирования: Приведение в порядок исходника.
Go to the top of the page
 
+Quote Post
artem79
сообщение Dec 31 2009, 09:31
Сообщение #1099


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 4-01-07
Из: Казань
Пользователь №: 24 091



А что должно работать? Это только инициализация. Да еще и в цикле.
Причина редактирования: Бездумное цитироване бездумных постов
Go to the top of the page
 
+Quote Post
LexRoss
сообщение Dec 31 2009, 10:10
Сообщение #1100


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202



я надеялся увидеть "мусор". А что должно быть после инициализации?
Go to the top of the page
 
+Quote Post
МП41
сообщение Dec 31 2009, 10:46
Сообщение #1101


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Обычно после инициализации идут процедуры заливки экрана. Заливка чёрным цветом воспринимается как очистка, если нет специальной для этого команды.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
LexRoss
сообщение Dec 31 2009, 11:29
Сообщение #1102


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202



Может, кому-то удалось запустить Nokia6100 с контроллером S1D15G10? Поделитесь исходниками.
Go to the top of the page
 
+Quote Post
Free
сообщение Jan 1 2010, 00:33
Сообщение #1103


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 31-07-09
Из: ВАРПА
Пользователь №: 51 677



я запускал дисплей от сименса м55 с жёлтым шлейфом, там S1D15G14 - похоже, да? biggrin.gif
так вот основная грабля была с контрастностью - долго понять не мог работает оно или нет. поэтому в инициализацию надо добавить установку контрастности.
и ещё убрать инициализацию из цикла, иначе ничего вы не увидите даже если она и прокатывает maniac.gif

что то в таком духе:

Код
...
#define OSCON 0xD1
...
CS0
SDA0        
CLK1        
RESET1
delay_ms(10);
RESET0      
delay_ms(10);
RESET1      
CLK1        
SDA1        
CLK1  

//Software Reset
      sendCMD(SWRESET);
delay_ms(10);
//Oscillation ON
      sendCMD(OSCON);
//Sleep Out
      sendCMD(SLEEPOUT);
//Electronic Volume control
      sendCMD(VOLCTR);
...
while (1)
      {
      // Place your code here

      }

это для примера, щас лень писать всё полностью, как надо cranky.gif
З.Ы. тока щас заметил. у мя в шите на S1D15G10 опкоды то другие, можно ваш даташит глянуть?

кстати вот отрывок того что нужно делать в инициализации:
Цитата
12.1.1 When Power is Turned On
Input power (VDDI, VDD).
Be sure to apply POWER-ON RESET (RES = LOW)

<Display Setting>
Display control (DISCTL)
Setting clock dividing ratio and F1/F2 drive selection
Duty setting:
Setting reverse rotation number of line:
Common scan direction (COMSCN)
Setting scan direction:
Temperature Gradient Setting (TMPGRD)
Oscillation ON (OSCON)
Sleep-out (SLIPOUT)

<Power Supply Setting>
Electronic volume control (VOLCTR)
Setting volume value α :
Setting built-in resistance value :
Power control (PWRCTR)
Setting operation of power supply circuit:

<Display Setting 2>
Normal rotation of display (DISNOR)/Inversion of display (DISINV)
Partial-in (PTLIN)/Partial-out (PTLOUT)
Setting fix area:
Area scroll set (ASSET)
Setting area scroll region:
Setting area scroll type:
Scroll start set (SCSTART)
Setting scroll start address:

<Display Setting 3>
Data control (DATCTL)
Setting normal rotation/inversion of page address:
Setting normal rotation/inversion of column address:
Setting direction of address scanner:
Setting RGB arrangement:
Setting gradation:
256-color position set (RGBSET8)
Setting color position at 256-color

<RAM Setting>
Page address set (PASET)
Setting start page address:
Setting end page address:
Column address set (CASET)
Setting start column address:
Setting end column address:

<RAM Write>
Memory write command (RAMWR)
Writing displayed data : Repeat as many as the number needed
and exit by entering other command.
<Waiting (approximately 100ms)>
Wait until the power supply voltage has stabilized.
Enter the power supply control command first, then wait at least
100ms before entering the display ON command when the built-in
power supply circuit operates.
If you do not wait, an unwanted display may appear on the
liquid crystal panel.
Display ON (DISON):


--------------------
Всё что ты видишь - лживый облик.
Go to the top of the page
 
+Quote Post
LexRoss
сообщение Jan 1 2010, 09:38
Сообщение #1104


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202



Инициализацию брал отсюда: http://slil.ru/28428932
Даташит:

Поиграл с контрастностью - никаких изменений. Может, там не S1D15G10 ? Как точно определить какой контроллер?
Прикрепленные файлы
Прикрепленный файл  Epson_S1D15G10.PDF ( 437.36 килобайт ) Кол-во скачиваний: 137
 
Go to the top of the page
 
+Quote Post
Free
сообщение Jan 2 2010, 04:45
Сообщение #1105


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 31-07-09
Из: ВАРПА
Пользователь №: 51 677



Цитата(LexRoss @ Jan 1 2010, 12:38) *
Инициализацию брал отсюда: http://slil.ru/28428932
Даташит:

Поиграл с контрастностью - никаких изменений. Может, там не S1D15G10 ? Как точно определить какой контроллер?


именно. там Epson S1D15G00 ... если смотреть описание по ссылке rolleyes.gif
я через поисковик искал зацепки, а потом пытался по дш инициализировать, предполагая что там именно такой контроллер. не получалось пробовал последовательность от другого похожего контроллера и тд.
p/s. а прикреплённая пдфка открывается с кракозябрами =\
з.з.ы. ну и ещё у вас часть команд инициализации пропущена. например нету включения внутреннего генератора, не устанавливаете нужные параметры типа всяких коэффициентов деления частоты, и прочего
Цитата(http://slil.ru/28428932)
// Display control
WriteSpiCommand(DISCTL);
WriteSpiData(0x00); // P1: 0x00 = 2 divisions, switching period=8 (default)
WriteSpiData(0x20); // P2: 0x20 = nlines/4 - 1 = 132/4 - 1 = 32)
WriteSpiData(0x00); // P3: 0x00 = no inversely highlighted lines


Сообщение отредактировал Free - Jan 2 2010, 04:49


--------------------
Всё что ты видишь - лживый облик.
Go to the top of the page
 
+Quote Post
LexRoss
сообщение Jan 2 2010, 09:47
Сообщение #1106


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 31-01-09
Пользователь №: 44 202



Все-таки у меня филипс http://www.electricstuff.co.uk/noklcd.html
для PCF8833 инициализация не проходит.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
HeOHuKC
сообщение Jan 16 2010, 22:01
Сообщение #1107


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 25-04-09
Из: г. Россошь
Пользователь №: 48 259



Free Можете выложить настройку регистров сименсовского дисплея ? Конкретно интересует настройка регистра Display Control (0xB6) бьюсь третий день с ним, никак не получаеться запустить sad.gif

Сообщение отредактировал HeOHuKC - Jan 16 2010, 22:01
Go to the top of the page
 
+Quote Post
Free
сообщение Jan 18 2010, 16:50
Сообщение #1108


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 31-07-09
Из: ВАРПА
Пользователь №: 51 677



Цитата(HeOHuKC @ Jan 17 2010, 01:01) *
Free Можете выложить настройку регистров сименсовского дисплея ? Конкретно интересует настройка регистра Display Control (0xB6) бьюсь третий день с ним, никак не получаеться запустить sad.gif


rolleyes.gif
Код
LCD_COM;
    write_SPI(0xB6);    //Display Control -
    LCD_DAT;
    write_SPI(0x57);    //Generator Frequency
    write_SPI(0x80);    //N-line inversion OFF
    write_SPI(0x96);    //2 Div osc on idle, Bias 1/7, place on bottom, 104x82, Display Duty 1/82
    write_SPI(0x00);    //Duty 1/84
    write_SPI(0x00);
    write_SPI(0xFF);    //Duty 1/82
    write_SPI(0x00);


имхо это самая сложная эпопея в нём, но кстати я не уверен что до конца всё правильно, иногда видны полосы, надо ещё играться со значениями maniac.gif
может всю инициализацию дать?


--------------------
Всё что ты видишь - лживый облик.
Go to the top of the page
 
+Quote Post
HeOHuKC
сообщение Jan 19 2010, 04:24
Сообщение #1109


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 25-04-09
Из: г. Россошь
Пользователь №: 48 259



Free Что то нехочет работать, показывает белым и всё. Контраст подкрутил, он меняется но толку нет. Видать придется всё переписывать, поделитесь инициализацией ? И еще вопрос - для рисования надо заполнить значения Column adress set (0x2A), Page adress set(0x2B) и дать команду memory wtite(0x2C) ? А то мне кажется, что тут еще чего то не хватает...
-----------------
Вдруг начал показывать unsure.gif не понимаю, что я сделал но все работает. Правда работает не так как надо, по середине на дисплее полоса в которой ничего не отображается. Цвета перепутаны, даешь рисовать зеленым - рисует желтым. Спасибо Вам огромнейшее за пример настройки регистров буду шаманить дальше smile.gif
-----------------
Всё я его окончательно победил smile.gif уже пример инициализации не нужен, кстати дисплей у меня LPH9116-1. Тоже с сименса, такой стоит в сименсе AX75 он оказался точно такойже как и LPH8731-3C и LPH8731-1A. Вот такие вот пироги biggrin.gif
Free еще раз огромное Вам спасибо.
Вот вывел две линии на дисплей smile.gif


Сообщение отредактировал HeOHuKC - Jan 19 2010, 05:22
Go to the top of the page
 
+Quote Post
МП41
сообщение Jan 19 2010, 08:14
Сообщение #1110


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Ребята, а как вы решали вопрос физического подключения экранов? Там, судя по фото, очень мелкие разъёмы.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post

87 страниц V  « < 72 73 74 75 76 > » 
Reply to this topicStart new topic
10 чел. читают эту тему (гостей: 10, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01522 секунд с 7
ELECTRONIX ©2004-2016