Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
01.06.2011, 02:38
|
|
Временная регистрация
Регистрация: 21.02.2007
Адрес: Minsk
Сообщений: 71
Сказал спасибо: 26
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Может кто нибуть знает распиновку и контроллер этого дисплея???
|
|
|
|
01.06.2011, 15:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от wss60
|
Может кто нибуть знает распиновку и контроллер
|
Попросите у китайцев - там же есть контакт. Мне - присылают. А контроллера там на 99% нет, интерфейс RGB и нужно постоянно разворачивать картинку.
|
|
|
|
01.06.2011, 16:23
|
|
Частый гость
Регистрация: 16.04.2011
Сообщений: 36
Сказал спасибо: 5
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от Popeye
|
Всю тему перечитать не смог, извините если дубЕЛЬ.
А если не от сотового а примерно от этого ? http://www.technomarket.bg/products/...eo-mp-512f-mdj
15 львов, 512 мБ делают почти непродаваемым, т.е. цену вряд ли повысят, скорее начнут задаром давать
|
Тема превратилась в болото нечитаемых криков о помощи, за крайне редким исключением. Имхо почистить и в топике обновлять контекстными ссылками на посты с инфой по моделям, типа полезного референс-листа.
Всего в сети блуждает не более 20 распиновок из них менее 10 с примерами кода.
|
|
|
|
01.06.2011, 19:37
|
|
Временная регистрация
Регистрация: 21.02.2007
Адрес: Minsk
Сообщений: 71
Сказал спасибо: 26
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
kison, Спасибо!!!
Чувствую Atmega не потянет
Сообщение от kison
|
постоянно разворачивать картинку.
|
|
|
|
|
07.06.2011, 00:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 18.06.2006
Адрес: Литва
Сообщений: 2,206
Сказал спасибо: 1,448
Сказали Спасибо 2,001 раз(а) в 685 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
|
|
|
|
14.06.2011, 21:52
|
|
Прохожий
Регистрация: 09.11.2007
Сообщений: 3
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от -Alan-
|
Подключаю по следующей схеме:
По распиновке имеем:
[HTML]
1 - Clock 6 - LED+
2 - Data 7 - LED-
3 - GND 8 - N/c
4 - CS 9 - Vlcd
5 - Reset 10 - Vi/o
Кстати, пины идут так:
1 10
2 9
3 8
4 7
5 6
[/HTML]
Соединяю 9,10 и подаю 3,5В.
GND и LED- соединены, LED+ питается от 5В через 100 Омный резистор.
Ресет постоянно на нуле, не используется.
CS - дёргается на каждую команду и каждый байт
Clock - без комментариев ![Подмигивание](images/smilies/icon_wink.gif)
Data - 9 битный SPI - [Data(1)/Command(0)]затем сразу байт[MSB...LSB] От верхнего бита к нижнему.
Всё работает по немного модифицированному коду источника.
Во вложении - код к микроконтроллеру ATMega8535. Адаптировать легко к любому другому - нужно просто поменять несколько определений в заголовке.
Команд инициализации не много, в принципе можно начинать использовать сразу, но в памяти будут случайные данные.
|
Ресет скорее всего не на нуле, а на +U
С дисплеем 1100 работа без проблем, а вот 1110 никак не могу запустить (два дисплея подключены паралельно), и даже берут сомнения что у кого-то это получилось...
Есть ли какие отличия в инициализации данных дисплеев?
|
|
|
|
14.06.2011, 22:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от maboa
|
Ресет скорее всего не на нуле, а на +U
С дисплеем 1100 работа без проблем, а вот 1110 никак не могу запустить (два дисплея подключены паралельно), и даже берут сомнения что у кого-то это получилось...
Есть ли какие отличия в инициализации данных дисплеев?
|
А што не получается с 1110, што 1100 што 1110 у них вроде инит одинаковый.
Вот мой файл инита
PHP код:
|
#include "lcd_1110.h"
#define clk PORTD.0
#define da PORTD.1
#define cs PORTD.2
#define CMD 0
#define DATA 1
#define imps clk=1; clk=0; da=0;
// lcd_write --------------------------------------
void lcd_write(char cd,unsigned char data)
{ unsigned char mask=0x80;
cs=0;
if (cd) da=1; imps;
for(;mask;mask››= 1)
{ da = data & mask; imps; }
cs=1;
};
// init LCD --для 1100\для 1110 некоторые команды не работают
void lcd_init(void)
{
lcd_write(CMD,0xE2); // reset
lcd_write(CMD,0x20); // write VOP register
lcd_write(CMD,0x55); // контраст
lcd_write(CMD,0xA4); // all on/normal display
lcd_write(CMD,0x2F); // Power control set(charge pump on/off)
// lcd_write(CMD,0x40); // Устанавливает начало адрес строки = 0
// lcd_write(CMD,0xB0); // вводить Y-адрес = 0
// lcd_write(CMD,0x10); // вводить X-адреса, верхние 3 бита
// lcd_write(CMD,0x00); // вводить X-адреса, нижний 4 бита
lcd_write(CMD,0xC8); // зеркало оси Y (примерно по оси Х)
lcd_write(CMD,0xA1); // с лева на право 0xA1 / (с права на лево 0xA9)
lcd_write(CMD,0xAc); // первоначальный набор строк (R0) на дисплее
// lcd_write(CMD,0x07); //7
// lcd_write(CMD,0xAF); // 0xAF display ON / (0xAE OFF)
lcd_write(CMD,0xA6); // 0xA6 normal display / (0xA7 negativ display)
lcd_clear(); // очищать LCD
};
// clear LCD ----------------------------------
void lcd_clear(void)
{
unsigned int i;
lcd_write(CMD,0x40); // Устанавливает начало адрес строки = 0
lcd_write(CMD,0xB0); // вводить Y-адрес = 0
lcd_write(CMD,0x10); // вводить X-адреса, верхние 3 бита
lcd_write(CMD,0x00); // вводить X-адреса, нижний 4 бита
lcd_write(CMD,0xAE); // disable display;
for(i=0;i‹864;i++) lcd_write(DATA,0x00); // 768 864
lcd_write(CMD,0xAF); // enable display;
};
|
Последний раз редактировалось sdsrem; 14.06.2011 в 22:26.
|
|
|
|
14.06.2011, 23:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от maboa
|
Вот мой файл инита
PHP код:
void Lcd_Init ( void )
{
cs=0;
rst=0;
delay_ms ( 100 );
rst=1;
|
RESET сделан програмно так што ногу rst вешаем на +
так что это
rst=0;
delay_ms ( 100 );
rst=1;
писать не надо.
|
|
|
|
15.06.2011, 00:16
|
|
Прохожий
Регистрация: 09.11.2007
Сообщений: 3
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
[QUOTE=sdsrem;374609]А што не получается с 1110, што 1100 што 1110 у них вроде инит одинаковый.
Вот мой файл инита...
Мой файл:
PHP код:
|
#define sclk PORTC.2
#define sda PORTC.3
#define cs PORTC.4
#define rst PORTC.5
#define led PORTC.1
#define CMD 0
#define DATA 1
void Lcd_Init ( void )
{
cs=0;
rst=0;
delay_ms ( 100 );
rst=1;
Lcd_Write (CMD, 0xE2); // Internal reset
delay_ms (20);
Lcd_Write (CMD, 0xEB); // температурная компенсация включена
Lcd_Write (CMD, 0x2F); // режим питания
Lcd_Write (CMD, 0xA1); // направление LSB -› MSB
Lcd_Write (CMD, 0xA4); // очистить все пиксели жки
Lcd_Write ( CMD , 0xC8 ); // mirror Y axis (about X axis)
Lcd_Write (CMD, 0xA6); // позитивное изображение
Lcd_Write (CMD, 0xAF); // включить дисплей
Lcd_Clear ( ); // clear LCD
delay_ms (20);
}
void Lcd_Write ( unsigned char cd , unsigned char c )
{
unsigned char i;
cs=0;
sclk=0;
if (cd) sda=1;
else sda=0;
sclk=1;
delay_us (1);
sclk=0;
for ( i = 0 ; i ‹ 8 ; i++ )
{
sclk=0;
if ( c & 0x80 ) sda=1;
else sda=0;
delay_us (1);
sclk=1;
c ‹‹= 1;
}
sclk=0;
cs=1;
}
|
Все вроде так-же..
У меня два экранчика 1100 и 1110 подключено параллельно..
Один работает, другой нет (причем я перепробовал 1110, 1110i, 1112), контакт вроде нормальный
Вот фото:
|
|
|
|
15.06.2011, 00:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Попробуйте вот так.
PHP код:
|
#define sclk PORTC.2
#define sda PORTC.3
#define cs PORTC.4
#define rst PORTC.5
#define led PORTC.1
#define CMD 0
#define DATA 1
void Lcd_Init ( void )
{
cs=0;
rst=0;
delay_ms ( 100 );
rst=1;
lcd_write(CMD,0xE2); // reset
lcd_write(CMD,0x20); // write VOP register
lcd_write(CMD,0x55); // контраст
lcd_write(CMD,0xA4); // all on/normal display
lcd_write(CMD,0x2F); // Power control set(charge pump on/off)
lcd_write(CMD,0x40); // Устанавливает начало адрес строки = 0
lcd_write(CMD,0xB0); // вводить Y-адрес = 0
lcd_write(CMD,0x10); // вводить X-адреса, верхние 3 бита
lcd_write(CMD,0x00); // вводить X-адреса, нижний 4 бита
lcd_write(CMD,0xC8); // зеркало оси Y (примерно по оси Х)
lcd_write(CMD,0xA1); // с лева на право 0xA1 / (с права на лево 0xA9)
lcd_write(CMD,0xAc); // первоначальный набор строк (R0) на дисплее
lcd_write(CMD,0x07); //7
lcd_write(CMD,0xAF); // 0xAF display ON / (0xAE OFF)
lcd_write(CMD,0xA6); // 0xA6 normal display / (0xA7 negativ display)
lcd_clear(); // очищать LCD
delay_ms (20);
}
void Lcd_Write ( unsigned char cd , unsigned char c )
{
unsigned char i;
cs=0;
sclk=0;
if (cd) sda=1;
else sda=0;
sclk=1;
delay_us (1);
sclk=0;
for ( i = 0 ; i ‹ 8 ; i++ )
{
sclk=0;
if ( c & 0x80 ) sda=1;
else sda=0;
delay_us (1);
sclk=1;
c ‹‹= 1;
}
sclk=0;
cs=1;
}
|
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:04.
|
|