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

 
 
> Народ поделитесь библиотекой 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, 17:43
Сообщение #2


Участник
*

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



//************************************************************
#define F_CPU 8000000UL // 8 MHz Задаем частоту процессора *
#include <util/delay.h>
//************************************************************

#include <avr/io.h>
#include <avr/interrupt.h>
//***LCD МЭЛТ
const char Logo122[4][122]=//122x32 pixel, каждые 8 вертикальных точек собраны в байт
{
{ 0xFF,0x01,0x01,0x01,0x01,0xC1,0xE1,0xB1,0x11,0x1D,0x1D,0x7F,0x7F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFD,0xF9,0xB1,
0xF1,0xE1,0x81,0x01,0x01,0x01,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xFF
},
{ 0xFF,0xE0,0x7C,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x6F,0x6F,0x07,
0x07,0x06,0x00,0x00,0x03,0x03,0x0F,0x3F,0x07,0x07,0x07,0x03,0x03,0x07,0x0F,0x3B,
0x13,0x80,0x80,0x23,0x9E,0xF8,0xF8,0xF8,0xFC,0xFE,0xFE,0xFE,0xFC,0x00,0x00,0x00,
0x80,0x80,0xE0,0xF8,0xFC,0xFE,0xFE,0xFE,0xFC,0x00,0x00,0x00,0x60,0xF0,0xF8,0xF8,
0x7C,0x3E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x3E,0x3E,0x7E,0xFC,0xF8,0xF0,0xE0,
0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0xFC,0xFE,
0xFE,0xFE,0xFE,0xFC,0x00,0x1C,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0xFE,0xFE,0xFE,
0xFE,0xFE,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x1C,0xFF
},
{ 0xFF,0x07,0x7C,0xE0,0x80,0x00,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0x0F,0x30,0x38,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0xE0,0xF0,0xFC,0xFF,0xFF,0x3F,0x0F,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFE,0xFF,
0x7F,0x7F,0x1F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x3C,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x3C,0x3C,0x18,0x00,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0x00,0x00,0x80,0xE0,0xF0,0xFC,0xFE,0xFF,0x7F,0x1F,0x07,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF
},
{
0xFF,0x80,0x80,0x80,0x80,0x83,0x86,0x8C,0x98,0xB0,0xB0,0xE0,0xC0,0xC0,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xF8,0xFC,0xFF,0xFF,
0xBF,0x8F,0x87,0x81,0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0x83,0x80,
0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x80,0x80,0x86,0x8F,0x9F,0xBF,
0xFE,0xFC,0xF8,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFE,0xBF,0x9F,0x8F,
0x87,0xE3,0xF9,0xFC,0xFF,0xFF,0xBF,0x9F,0x87,0x81,0x80,0x80,0x80,0x80,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,
0xFF,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF
}
};

#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

//*****************************************************************************
//Низкоуровневые команды
//******************************************************************************/
// Установка цикла обмена по шине данных
#define LCD_StrCYC() {LCD_PORTCONTROL &= ~_BV(LCD_wire_E);} // начало цикла обмена данными
#define LCD_EndCYC() {LCD_PORTCONTROL |= _BV(LCD_wire_E);} // окончание цикла обмена данными


//Процедура выдачи байта в индикатор
void WriteByte(char b, int cd, int lr)
{
LCD_PORTCONTROL &= ~(_BV(LCD_wire_E)); // LCD.E=0;//Начальное значение сигнала индикатору
// LCD.RW=0; LCD.A0=cd; //Выдача байта в индикатор как данных или команды
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(1);
LCD_StrCYC(); // начало строба
LCD_EndCYC(); // конец строба
_delay_us(10);
}

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); }//Данные в правую половину индикатора
//***LCD МЭЛТ



int main(void) {
int p;//Номер текущей страницы индикатора
int c;//Позиция по горизонтали выводимого байта


ASSR &= ~_BV(AS2); //Clear AS2 bit PC7 and PC6
// для PC5 и PC4 и PC3 и PC2 - JTAGEN Fuse поставить галку т.е. отключить JTAG
TWCR &= ~(_BV(TWEN)); //Clear TWEN bit PC1
ADCSRA &= ~(_BV(ADEN)); //Clear all ADC on portA

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 индикатору
LCD_PORTCONTROL |= _BV(LCD_RES); // LCD.RES=1;//Снять сигнал RES
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]);//Вывод очередного байта в индикатор
}
}

while(1)
{
}


} //main
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
- - asf   Смотрел, пробовал уже все, что-то не так...... рас...   Dec 7 2006, 12:26
- - 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
- - 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 Текстовая версия Сейчас: 22nd July 2025 - 20:01
Рейтинг@Mail.ru


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