Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Ср янв 09, 2013 22:23:12
Cсори что так поздно. Вот выкладываю фото. то что там не постоянка ето бесспорно там драйвер стоит.
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
А никто и не говорил о подаче постоянного сигнала, я говорил модернизировать, т.е. изменить схему для работы с ЖКИ: подать меандр на подложку ЖКИ, исходя из примененных дешифраторов организовать противофазное управление сегментами и т.д...Chettuser писал(а):Хмм.. на ЖКИ как правило подается периодически инвертируемый сигнал, что бы не было порчи индикатора - постоянное напряжение на него подавать нельзя.
На выложенном фото тяжеловато что-то увидеть.sergei_190882 писал(а):Cсори что так поздно. Вот выкладываю фото. то что там не постоянка ето бесспорно там драйвер стоит
Код: Выделить всё
#include <mega16.h>
#include <delay.h>
#define DATA PORTD
#define RES PORTB.0
#define DC PORTB.2
#define WR PORTB.1
#define CS PORTB.3
void SendCom (unsigned int com) // отправка команд
{
DC = 0;
DATA = com;
WR = 0;
WR = 1;
}
void SendDat (unsigned int dat) //отправка данных
{
DC = 1;
DATA = dat;
WR = 0;
WR = 1;
}
void LCDinit ()// инициализация дисплея
{
WR = 1;
//CS=1;
RES = 0;
delay_ms(10);
RES = 1;
delay_ms(100);
CS=0;
SendCom(0x11);
delay_ms(100);
SendCom(0x36);
SendDat(0x14);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x29); // DISPON
}
Это не код... это листинг проги... да и то... неполный...VXXXV писал(а): Вот код:
Код: Выделить всё
/*****************************************************
Date : 01.02.2013
Chip type : ATmega16L
Program type : Application
AVR Core Clock frequency: 16,000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega16.h>
#include <delay.h>
#define DATA PORTD
#define RES PORTB.0
#define DC PORTB.2
#define WR PORTB.1
#define CS PORTB.3
void SendCom (unsigned int com) // отправка команд
{
DC = 0;
DATA = com;
WR = 0;
WR = 1;
}
void SendDat (unsigned int dat) //отправка данных
{
DC = 1;
DATA = dat;
WR = 0;
WR = 1;
}
void LCDinit ()// инициализация дисплея
{
WR = 1;
//CS=1;
RES = 0;
delay_ms(10);
RES = 1;
delay_ms(100);
CS=0;
SendCom(0x11);
delay_ms(100);
SendCom(0x36);
SendDat(0x14);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x29); // DISPON
}
/******************* Функция отчистки *********************/
void LCDclear(char color_r, char color_g, char color_b)
{
unsigned long int i;
SendCom(0x2A);
SendDat(0); SendDat(0);
SendDat(0); SendDat(0xEF);
SendCom(0x2B);
SendDat(0); SendDat(0);
SendDat(1); SendDat(0x8F);
SendCom(0x2C);
for (i=0;i<(400*240);i++)
{SendDat(color_r);SendDat(color_g);SendDat(color_b);}
}
/***************************************************************/
void main(void)
{
PORTA=0x00;DDRA=0x00;PORTB=0x00;DDRB=0xFF;PORTC=0x00;DDRC=0x00;PORTD=0x00;DDRD=0xFF;TCCR0=0x00;TCNT0=0x00;OCR0=0x00;TCCR1A=0x00;TCCR1B=0x00;TCNT1H=0x00;
TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;ASSR=0x00;
TCCR2=0x00;TCNT2=0x00;OCR2=0x00;MCUCR=0x00;MCUCSR=0x00;TIMSK=0x00;UCSRB=0x00;ACSR=0x80;SFIOR=0x00;ADCSRA=0x00;SPCR=0x00;TWCR=0x00;
LCDinit ();
LCDclear(0,255,0);
}Плату под дисплей в чём делали? Можете скинуть печатку, у меня есть 2 дисплея и шлейфы к нему, с одного шлейфа я однорядный разъём выпаял, чтобы напрямую к нему подключить, а второй как раз с таким разъёмом остался.VXXXV писал(а): Ноги RD и RS прозвонил и оказалось действительно перепутаны с общепринятой распиновкой, в печатке это учел...
А как раз для первого дисплея подойдёт. А работу с дисплеем описанную CyberVad почитай, только он что-то пропал, даже в аське нет.VXXXV писал(а):делал в лейоте, к разьему что напрямую, 31пин. (((
Это же не Нокиа!!!VXXXV писал(а):Инициализация одив в один как и от нокии 6300, тот у меня завелся.
Код: Выделить всё
SendCom(0x11);
delay_ms(100);
SendCom(0x36);
SendDat(0x14);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x29); // DISPON
Код: Выделить всё
SendCom(0x11); // SLPOUT
delay_ms(100);
SendCom(0x3A);
SendDat(0x05);
SendCom(0x36);
SendDat(0x9C);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x29); // DISPON
delay_ms(100);
ОтсюдаVXXXV писал(а):заработало, рисует два цветных прямоугольника, блымает