LCD nokia 3310
-
serjkruserj
- Родился
- Сообщения: 2
- Зарегистрирован: Вс ноя 16, 2008 18:35:10
Пишу для дисплея от нокии 3310. они у нас по 1.5$
вот для новичков и не только, сборка програм для граф.лсд
http://depositfiles.com/files/s87j2b1g7
В архиве несколько программ.
Вот ещё у себя нашол:http://depositfiles.com/files/jgmyzm7kf
Есть HexStreamConverter - она делает код из непонятного &h48,&h78,&h60, в более понятный 0x48,0x78,0x60
И ещё шрифт 5х7 с кирилицей и латиницей.
Удачи!
вот для новичков и не только, сборка програм для граф.лсд
http://depositfiles.com/files/s87j2b1g7
В архиве несколько программ.
Вот ещё у себя нашол:http://depositfiles.com/files/jgmyzm7kf
Есть HexStreamConverter - она делает код из непонятного &h48,&h78,&h60, в более понятный 0x48,0x78,0x60
И ещё шрифт 5х7 с кирилицей и латиницей.
Удачи!
- Вложения
-
- font.rar
- (1.96 КБ) 950 скачиваний
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Ребятки у меня проблемка
3310 в протеусе всё пашет супер а вот в реале -
содержимое экрана
платка
Кто поборол это смещение вверх на 4 пикселя неплановое? неприкольно терять строку целую....
Слышал что это идиотизм китайских мониторов....тогда интересно почему этот гад снятый с рабочего телефона в котором всё ПОКАЗЫВАЛО ПРАВИЛЬНО у меня-то перестал работать и никогда не видел я чтоб он был по-другому
Предупреждение за дублирование сообщений! Паятель.
3310 в протеусе всё пашет супер а вот в реале -
содержимое экрана
платка
Кто поборол это смещение вверх на 4 пикселя неплановое? неприкольно терять строку целую....
Слышал что это идиотизм китайских мониторов....тогда интересно почему этот гад снятый с рабочего телефона в котором всё ПОКАЗЫВАЛО ПРАВИЛЬНО у меня-то перестал работать и никогда не видел я чтоб он был по-другому
Предупреждение за дублирование сообщений! Паятель.
clawham писал(а):Ребятки у меня проблемка
3310 в протеусе всё пашет супер а вот в реале -
Смотри тут:
http://radiokot.ru/forum/viewtopic.php?p=189466#189466
Легкая корректировка программы решит твою проблему.
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
в том то и дело что уже раз 10 пробывал у меня эта зараза не работает вообще - пробывал с разными значениями, может нужно чтото до этого кидать?
Я инициализацию делаю так
а процедура writecomm у меня вот
вот так вот - не вылечило оно смещение
Я инициализацию делаю так
Код: Выделить всё
void lcd_init(void)
{
SPCR=0x50;
SPSR=0x01;
writecomm(0x21);
writecomm(0xC8);
writecomm(0x06);
writecomm(0x13);
writecomm(0x20);
writecomm(0x0C);
writecomm(0b011100); //Переводим СКРОЛЛИНГ вверх на мекс63 строки - тоесть по кругу на место ставим
а процедура writecomm у меня вот
Код: Выделить всё
void writecomm(char comm)
{
DC = 0;
spi(comm);
}
вот так вот - не вылечило оно смещение
- 1995kenny
- Вымогатель припоя
- Сообщения: 524
- Зарегистрирован: Ср авг 27, 2008 10:13:19
- Откуда: Украина, Харьков
- Контактная информация:
Кому интересно, размеры дисплея на этой странице.
Ещё там прога для рисования картинок в формат HEX.
http://www.amontec.com/lcd_nokia_3310.shtml
Кстати сам заинтересовался этим дисплееем.
Как лучше подключить его: Контактами на плату и винтами, или шлейф?
Ещё там прога для рисования картинок в формат HEX.
http://www.amontec.com/lcd_nokia_3310.shtml
Кстати сам заинтересовался этим дисплееем.
Как лучше подключить его: Контактами на плату и винтами, или шлейф?
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Извиняюсь всё работает супер, просто неправильный побитовый оператор напичатал когда расчитывал конечную цифру Спасибо!
Наконецто у меня есть многозонный термометр с РС232 портом и графическим дисплеем
Следующий шаг - прикрутить тсоп и с пультика заставить этот контроллер дёргать ногами в зависимости от температуры(ну там вентилятор включить в теплице или печку запустить или кондиционер или полив врубить
Да и вообще эта связочка МК + LCD Nokia 3310 - очень занимательный комплектик для старта начинающему
И вообще дисплей супер, он и от 2.5 вольт работает только биас нужно побольше дать
А по поводу "лучше прикрепить" я просто напаял на контактики шлейфика кусочек от IDE 133-го какраз шаг попадает, а потом всё молекулярным клеем залил а шлейфика оторвал на всю длину - с резюками по шинам данных в 33 килоома работает абсолютно железобетонно, но вот стабилизатор питания с кондером пришлось лепить прям к контакту - стоит его прилепить на тот конец на платку - как начинаются приколы со сбиванием адресов в строчке в общем не страшно со старой мамки выпаял стаб типа кренки только на 2.5 вольт в корпусе как транзисторы на антенном усилителе - ну просто мельче некуда
Единственное что - хочется сделать не насилование защитных диодов на входе экрана а какой-то буффер впихнуть - и потребление меньше будет
- думаю что HC244 -тая мне будет работать с птанием в 2.5 вольт как шинний формирователь 
Наконецто у меня есть многозонный термометр с РС232 портом и графическим дисплеем
Да и вообще эта связочка МК + LCD Nokia 3310 - очень занимательный комплектик для старта начинающему
И вообще дисплей супер, он и от 2.5 вольт работает только биас нужно побольше дать
А по поводу "лучше прикрепить" я просто напаял на контактики шлейфика кусочек от IDE 133-го какраз шаг попадает, а потом всё молекулярным клеем залил а шлейфика оторвал на всю длину - с резюками по шинам данных в 33 килоома работает абсолютно железобетонно, но вот стабилизатор питания с кондером пришлось лепить прям к контакту - стоит его прилепить на тот конец на платку - как начинаются приколы со сбиванием адресов в строчке в общем не страшно со старой мамки выпаял стаб типа кренки только на 2.5 вольт в корпусе как транзисторы на антенном усилителе - ну просто мельче некуда
Единственное что - хочется сделать не насилование защитных диодов на входе экрана а какой-то буффер впихнуть - и потребление меньше будет
clawham писал(а):Единственное что - хочется сделать не насилование защитных диодов на входе экрана а какой-то буффер впихнуть - и потребление меньше будет- думаю что HC244 -тая мне будет работать с птанием в 2.5 вольт как шинний формирователь
Незаморачивайся!
Питай напрямую от 5 вольт (ток потребления у экрана мизерный, а стабилизатором питания ты его увеличиваеш в несколько раз), выкинь резики и защитные диоды - нафиг не нужны. Работает отлично - проверено!
- 1995kenny
- Вымогатель припоя
- Сообщения: 524
- Зарегистрирован: Ср авг 27, 2008 10:13:19
- Откуда: Украина, Харьков
- Контактная информация:
Хочу сделать мини-часы на экране 3310. Делал с готовых исходников nokia.c Для работы часов настроил таймеры, ввел переменные:
Для вывода времени цикл:
CVAVR жалуется "parametr #1 of type 'unsigned char' incompatible with 'unsigned char*' specified in function 'putstr' declaration" строках putstr( *** ); . Что изменить? Вот кусок программы:

Код: Выделить всё
char sek; // секунд
char min; // минут
char hour; // часов Для вывода времени цикл:
Код: Выделить всё
while (1) //цикл вывода времени {
lcd_clear(); //очистка скрина
lcd_gotoxy(15,3); //где-то посередине экрана
delost = 5 % 2; //прога для вывода ":" - т.е. показывать ":" только при нечетном кол-ве секунд
putstr(hour); //вывод переменной часов
//вывод ":"
putstr(min); //вывод минут
//вывод ":"
putstr(sek); //секунд
delay_ms(10); };CVAVR жалуется "parametr #1 of type 'unsigned char' incompatible with 'unsigned char*' specified in function 'putstr' declaration" строках putstr( *** ); . Что изменить? Вот кусок программы:
Код: Выделить всё
void putchar(char character)
{ int tablept, count, char_column;
if ((character<0x20>0x7f)) {return;}
tablept = ((5*character) - 160);
for (count=5;count>0;count--)
{ char_column = table[tablept];
writedata(char_column);
tablept++; }
writedata(0x00); }
void putstr(const char *s)
{ while(*s) {putchar(*s++);} }-у меня такжеlex[ws] писал(а):правда есть здесь проблема не все буквы получается вывести м компилятор ругается вот так что я вылажу за пределы 8 бит
- Вложения
-
- 3310.c
- Моя прога)
- (8.97 КБ) 867 скачиваний
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
вообщето Putstr это функция вывода в консольку - тоесть в Ком порт!
я всегда пользуюсь другой технологией - вот моя функция вывода строки
Массив table это табличка шрифтов
а когда я хочу чтото вывести на экран я делаю так
Здесь a2 временная переменная а devices - переменная которую нужно вывести как число
Это функция выводит температуру с десятичной точностью через точку используя только ИНТ переменную(экономия 5 байт перед флоатом)
я всегда пользуюсь другой технологией - вот моя функция вывода строки
Код: Выделить всё
void lcd_putchar(char character)
{
int tablept, count, char_column;
if ((character<0x20>0x7f)) {return;}
tablept = ((6*character) - 192);
for (count=5;count>0;count--)
{
char_column = table[tablept];
writedata(char_column);
tablept++;
}
writedata(0x00);
}
void lcd_putstr(const char *s)
{
while(*s) {lcd_putchar(*s++);}
}
Массив table это табличка шрифтов
Код: Выделить всё
flash char table[546] = {
0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000 , // sp
0b00000000, 0b00000000, 0b01011111, 0b00000000, 0b00000000, 0b00000000 , // !
0x00, 0x07, 0x00, 0x07, 0x00 ,0x00 , // "
0x14, 0x7f, 0x14, 0x7f, 0x14 ,0x00 , // #
0x24, 0x2a, 0x7f, 0x2a, 0x12 ,0x00 , // $
0xc4, 0xc8, 0x10, 0x26, 0x46 ,0x00 , // %
0x36, 0x49, 0x55, 0x22, 0x50 ,0x00 , // &
0x00, 0x05, 0x03, 0x00, 0x00 ,0x00 , // '
0x00, 0x1c, 0x22, 0x41, 0x00 ,0x00 , // (
0x00, 0x41, 0x22, 0x1c, 0x00 ,0x00 , // )
0x14, 0x08, 0x3E, 0x08, 0x14 ,0x00 , // *
0x08, 0x08, 0x3E, 0x08, 0x08 ,0x00 , // +
0x00, 0x00, 0x50, 0x30, 0x00 ,0x00 , // ,
0x10, 0x10, 0x10, 0x10, 0x10 ,0x00 , // -
0x00, 0x60, 0x60, 0x00, 0x00 ,0x00 , // .
0x20, 0x10, 0x08, 0x04, 0x02 ,0x00 , // /
0b00110110, 0b01000001, 0b01000001, 0b01000001, 0b00110110, 0b00000000 , // 0
0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00110110, 0b00000000 , // 1
0b00110000, 0b01001001, 0b01001001, 0b01001001, 0b00000110, 0b00000000 , // 2
0b00000000, 0b01001001, 0b01001001, 0b01001001, 0b00110110, 0b00000000 , // 3
0b00000110, 0b00001000, 0b00001000, 0b00001000, 0b00110110, 0b00000000 , // 4
0b00000110, 0b01001001, 0b01001001, 0b01001001, 0b00110000, 0b00000000 , // 5
0b00110110, 0b01001001, 0b01001001, 0b01001001, 0b00110000, 0b00000000 , // 6
0b00000000, 0b00000001, 0b00000001, 0b00000001, 0b00110110, 0b00000000 , // 7
0b00110110, 0b01001001, 0b01001001, 0b01001001, 0b00110110, 0b00000000 , // 8
0b00000110, 0b01001001, 0b01001001, 0b01001001, 0b00110110, 0b00000000 , // 9
0x00, 0x36, 0x36, 0x00, 0x00 ,0x00 , // :
0x00, 0x56, 0x36, 0x00, 0x00 ,0x00 , // ;
0x08, 0x14, 0x22, 0x41, 0x00 ,0x00 , // <0x14>
0x02, 0x01, 0x51, 0x09, 0x06 ,0x00 , // ?
0x32, 0x49, 0x59, 0x51, 0x3E ,0x00 , // @
0x7E, 0x11, 0x11, 0x11, 0x7E ,0x00 , // A
0x7F, 0x49, 0x49, 0x49, 0x36 ,0x00 , // B
0x3E, 0x41, 0x41, 0x41, 0x22 ,0x00 , // C
0x7F, 0x41, 0x41, 0x22, 0x1C ,0x00 , // D
0x7F, 0x49, 0x49, 0x49, 0x41 ,0x00 , // E
0x7F, 0x09, 0x09, 0x09, 0x01 ,0x00 , // F
0x3E, 0x41, 0x49, 0x49, 0x7A ,0x00 , // G
0x7F, 0x08, 0x08, 0x08, 0x7F ,0x00 , // H
0x00, 0x41, 0x7F, 0x41, 0x00 ,0x00 , // I
0x20, 0x40, 0x41, 0x3F, 0x01 ,0x00 , // J
0x7F, 0x08, 0x14, 0x22, 0x41 ,0x00 , // K
0x7F, 0x40, 0x40, 0x40, 0x40 ,0x00 , // L
0x7F, 0x02, 0x0C, 0x02, 0x7F ,0x00 , // M
0x7F, 0x04, 0x08, 0x10, 0x7F ,0x00 , // N
0x3E, 0x41, 0x41, 0x41, 0x3E ,0x00 , // O
0x7F, 0x09, 0x09, 0x09, 0x06 ,0x00 , // P
0x3E, 0x41, 0x51, 0x21, 0x5E ,0x00 , // Q
0x7F, 0x09, 0x19, 0x29, 0x46 ,0x00 , // R
0x46, 0x49, 0x49, 0x49, 0x31 ,0x00 , // S
0x01, 0x01, 0x7F, 0x01, 0x01 ,0x00 , // T
0x3F, 0x40, 0x40, 0x40, 0x3F ,0x00 , // U
0x1F, 0x20, 0x40, 0x20, 0x1F ,0x00 , // V
0x3F, 0x40, 0x38, 0x40, 0x3F ,0x00 , // W
0x63, 0x14, 0x08, 0x14, 0x63 ,0x00 , // X
0x07, 0x08, 0x70, 0x08, 0x07 ,0x00 , // Y
0x61, 0x51, 0x49, 0x45, 0x43 ,0x00 , // Z
0x00, 0x7F, 0x41, 0x41, 0x00 ,0x00 , // [
0x55, 0x2A, 0x55, 0x2A, 0x55 ,0x00 , // 55
0x00, 0x41, 0x41, 0x7F, 0x00 ,0x00 , // ]
0x04, 0x02, 0x01, 0x02, 0x04 ,0x00 , // ^
0x40, 0x40, 0x40, 0x40, 0x40 ,0x00 , // _
0x00, 0x01, 0x02, 0x04, 0x00 ,0x00 , // '
0x20, 0x54, 0x54, 0x54, 0x78 ,0x00 , // a
0x7F, 0x48, 0x44, 0x44, 0x38 ,0x00 , // b
0x38, 0x44, 0x44, 0x44, 0x20 ,0x00 , // c
0x38, 0x44, 0x44, 0x48, 0x7F ,0x00 , // d
0x38, 0x54, 0x54, 0x54, 0x18 ,0x00 , // e
0x08, 0x7E, 0x09, 0x01, 0x02 ,0x00 , // f
0x0C, 0x52, 0x52, 0x52, 0x3E ,0x00 , // g
0x7F, 0x08, 0x04, 0x04, 0x78 ,0x00 , // h
0x00, 0x44, 0x7D, 0x40, 0x00 ,0x00 , // i
0x20, 0x40, 0x44, 0x3D, 0x00 ,0x00 , // j
0x7F, 0x10, 0x28, 0x44, 0x00 ,0x00 , // k
0x00, 0x41, 0x7F, 0x40, 0x00 ,0x00 , // l
0x7C, 0x04, 0x18, 0x04, 0x78 ,0x00 , // m
0x7C, 0x08, 0x04, 0x04, 0x78 ,0x00 , // n
0x38, 0x44, 0x44, 0x44, 0x38 ,0x00 , // o
0x7C, 0x14, 0x14, 0x14, 0x08 ,0x00 , // p
0x08, 0x14, 0x14, 0x18, 0x7C ,0x00 , // q
0x7C, 0x08, 0x04, 0x04, 0x08 ,0x00 , // r
0x48, 0x54, 0x54, 0x54, 0x20 ,0x00 , // s
0x04, 0x3F, 0x44, 0x40, 0x20 ,0x00 , // t
0x3C, 0x40, 0x40, 0x20, 0x7C ,0x00 , // u
0x1C, 0x20, 0x40, 0x20, 0x1C ,0x00 , // v
0x3C, 0x40, 0x30, 0x40, 0x3C ,0x00 , // w
0x44, 0x28, 0x10, 0x28, 0x44 ,0x00 , // x
0x0C, 0x50, 0x50, 0x50, 0x3C ,0x00 , // y
0x44, 0x64, 0x54, 0x4C, 0x44 ,0x00 , // z
};
а когда я хочу чтото вывести на экран я делаю так
Код: Выделить всё
unsigned char a2[30]; //Временная строка для вывода на экран
lcd_gotoxy(1,5);
sprintf(a2, "%i DEV(S)DET.1",devices);
lcd_putstr(a2);
Здесь a2 временная переменная а devices - переменная которую нужно вывести как число
Код: Выделить всё
ds_temp=ds18b20_temperature(&rom_codes[i][0]);
ds_temp = ds_temp/8;
sprintf(a2, "t%-u=%-i.%-u\xf8C",i+1, ds_temp/10, ds_temp%10);
lcd_clear_row(2+i);
lcd_gotoxy(1,2+i);
lcd_putstr(a2);
Это функция выводит температуру с десятичной точностью через точку используя только ИНТ переменную(экономия 5 байт перед флоатом)
- 1995kenny
- Вымогатель припоя
- Сообщения: 524
- Зарегистрирован: Ср авг 27, 2008 10:13:19
- Откуда: Украина, Харьков
- Контактная информация:
Я скачал модель LCD 3310 для Proteus, а она не работает
Говорит "failed to autorise..."
Говорит "failed to autorise..."
- Вложения
-
- LCD 3310.rar
- для протеуса
- (47.64 КБ) 776 скачиваний
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Если чесно то наверное это изза неправильной версии...я когда ещё только начинал то с авр123 скачал протеус дома поставил и библиотечки потом внёс - начал разбираться с моником в протеусе а потом как-то захотелось одну вещ попробывать на работе, так я там скачав какую-то некрякнутую версию протеуса так и не добился работы, потом перебил из инсталлятора домашнего (это сам протеус, к нему крэк и сервиспак) и вуаля - заработало даж не подавилось!
- Rimsky
- Грызет канифоль
- Сообщения: 299
- Зарегистрирован: Вт июн 15, 2010 07:16:42
- Откуда: Иркутск
- Контактная информация:
Re: LCD nokia 3310

- Вложения
-
- lcd_nokia_3310.rar
- если кому интересно, здесь архивчик с проектом..
- (21.88 КБ) 1016 скачиваний
- Rimsky
- Грызет канифоль
- Сообщения: 299
- Зарегистрирован: Вт июн 15, 2010 07:16:42
- Откуда: Иркутск
- Контактная информация:
Re: LCD nokia 3310
Шрифты 5х8 для графических дисплеев заточеные под проекты на AVRASM
- Вложения
-
- font.rar
- (1.47 КБ) 573 скачивания