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

 
 
> Народ поделитесь библиотекой SED1520 для дисплея MT-12232
TamTam
сообщение Jun 8 2006, 09:48
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Ну или сурцом желательно для CVAVR
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
asf
сообщение Dec 7 2006, 12:26
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 19-12-05
Пользователь №: 12 407



Смотрел, пробовал уже все, что-то не так......
распаял кабель на LPT, проверил с компа - живет.....
может глаза замылились?

#define LCD_PORTDATA PORTC
#define LCD_DDRDATA DDRC
#define LCD_PINDATA PINC

#define LCD_PORTCONTROL PORTA
#define LCD_DDRCONTROL DDRA
#define LCD_wire_A0 PA3
#define LCD_wire_RW PA4
#define LCD_wire_E PA5
#define LCD_RES PA6
#define LCD_wire_CS PA7

LCD_PORTDATA = 0x00;
LCD_DDRDATA = 0xFF;
LCD_PORTCONTROL = 0x00;
LCD_DDRCONTROL = 0xFF;

LCD_PORTCONTROL |= _BV(LCD_wire_E); // LCD.E=1;//Начальное значение сигнала индикатору
LCD_PORTCONTROL &= ~_BV(LCD_RES); // LCD.RES=0;//Выдать сигнал RES=0 индикатору
_delay_us(100); // Задержка на время больше 10 мкс
LCD_PORTCONTROL |= _BV(LCD_RES); // LCD.RES=1;//Снять сигнал RES
_delay_ms(5); // Delay(>1ms);//Задержка на время больше 1 мс
WriteCodeL(0xE2);//Reset
WriteCodeR(0xE2);//Reset
WriteCodeL(0xEE);//ReadModifyWrite off
WriteCodeR(0xEE);//ReadModifyWrite off
WriteCodeL(0xA4);//Включить обычный режим
WriteCodeR(0xA4);//Включить обычный режим
WriteCodeL(0xA9);//Мультиплекс 1/32
WriteCodeR(0xA9);//Мультиплекс 1/32
WriteCodeL(0xC0);//Верхнюю строку на 0
WriteCodeR(0xC0);//Верхнюю строку на 0
WriteCodeL(0xA1);//Invert scan RAM
WriteCodeR(0xA0);//NonInvert scan RAM
WriteCodeL(0xAF);//Display on
WriteCodeR(0xAF);//Display on


for(p=0; p<4; p++) {//Цикл по всем 4-м страницам индикатора
WriteCodeL(p|0xB8);//Установка текущей страницы для левого кристалла индикатора
WriteCodeL(0x13);//Установка текущего адреса для записи данных в левую отображаемую позицию левой половины индикатора
for(c=0; c<61; c++) {//Цикл вывода данных в левую половину индикатора
WriteDataL(Logo122[p][c]);//Вывод очередного байта в индикатор
}
WriteCodeR(p|0xB8);//Установка текущей страницы для правого кристалла индикатора
WriteCodeR(0x00);//Установка текущего адреса для записи данных в левую отображаемую позицию правой половины индикатора
for(c=61; c<122; c++) {//Цикл вывода данных в правую половину индикатора
WriteDataR(Logo122[p][c]);//Вывод очередного байта в индикатор
}
}

// Установка цикла обмена по шине данных
#define LCD_StrCYC() (LCD_PORTCONTROL |= LCD_wire_E) // начало цикла обмена данными
#define LCD_EndCYC() (LCD_PORTCONTROL &= ~LCD_wire_E) // окончание цикла обмена данными

//Процедура выдачи байта в индикатор
void WriteByte(char b, int cd, int lr)
{
//При необходимости настроить здесь шину данных на вывод
// LCD.RW=0; LCD.A0=cd; //Выдача байта в индикатор как данных или команды
LCD_PORTCONTROL &= ~_BV(LCD_wire_RW);
if (cd) LCD_PORTCONTROL |= _BV(LCD_wire_A0); else LCD_PORTCONTROL &= ~_BV(LCD_wire_A0);
// LCD.CS=lr; LCD.D=b; //Выбрать кристалл индикатора и выдать байт на шину данных индикатора
if (lr) LCD_PORTCONTROL |= _BV(LCD_wire_CS); else LCD_PORTCONTROL &= ~_BV(LCD_wire_CS);
LCD_PORTDATA = b;
_delay_us(100); //Это время предустановки адреса (tAW)
LCD_StrCYC(); // начало строба
LCD_EndCYC(); // конец строба
}

void WriteCodeL(char cool.gif { WriteByte(b,0,1); }//Команду в левый кристалл индикатора
void WriteCodeR(char cool.gif { WriteByte(b,0,0); }//Команду в правый кристалл индикатора

void WriteDataL(char cool.gif { WriteByte(b,1,1); }//Данные в левую половину индикатора
void WriteDataR(char cool.gif { WriteByte(b,1,0); }//Данные в правую половину индикатора
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TamTam   Народ поделитесь библиотекой SED1520 для дисплея MT-12232   Jun 8 2006, 09:48
- - prottoss   Цитата(TamTam @ Jun 8 2006, 17:48) Ну или...   Jun 8 2006, 11:09
- - TamTam   Цитата(prottoss @ Jun 8 2006, 15:09) Цита...   Jun 8 2006, 16:44
|- - prottoss   Цитата(TamTam @ Jun 9 2006, 00:44) Цитата...   Jun 8 2006, 16:59
- - TamTam   Цитата(prottoss @ Jun 8 2006, 20:59) Цита...   Jun 8 2006, 22:13
- - TamTam   Результатом поиска стали бве библы, но они к сожал...   Jun 8 2006, 22:53
- - TamTam   Может есть у кого библа для CVAVR, для любого друг...   Jun 8 2006, 23:06
- - otrog   Цитата с сайта МЭЛТ: ЦитатаА нет ли примера програ...   Jun 9 2006, 07:02
- - ROC   Что-то было на www.8052.com.... http://www.8052.co...   Jun 9 2006, 07:25
- - proba   для GCC но легко переделать, : схема самого просто...   Jun 10 2006, 07:39
|- - prottoss   Цитата(proba @ Jun 10 2006, 15:39) для GC...   Jun 10 2006, 08:07
- - asf   Новых примеров нет? А то что-то не запускается зар...   Dec 6 2006, 19:08
|- - prottoss   Цитата(asf @ Dec 6 2006, 23:08) Кодvoid W...   Dec 6 2006, 19:36
- - prottoss   А зачем ресетом рулить? ИМХО где то здесь косяк мо...   Dec 7 2006, 13:09
|- - asf   Цитата(prottoss @ Dec 7 2006, 13:09) А за...   Dec 7 2006, 13:28
|- - prottoss   Цитата(asf @ Dec 7 2006, 17:28) пофиг ...   Dec 7 2006, 13:42
- - asf   //************************************************...   Dec 7 2006, 17:43
- - prottoss   не пойму надобность демонстрировать один и тот же ...   Dec 7 2006, 18:01
- - asf   Цитата(prottoss @ Dec 7 2006, 18:01) не п...   Dec 7 2006, 18:15
- - prottoss   Цитата(asf @ Dec 7 2006, 22:15) Цитата(pr...   Dec 7 2006, 18:34
- - asf   Цитата(prottoss @ Dec 7 2006, 18:34) Цита...   Dec 7 2006, 18:45


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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