Страница 7 из 12

Re: LCD nokia 3310

Добавлено: Чт июн 17, 2010 16:05:21
Rimsky
Данная функция позволяет выводить данные в таком виде:

Код: Выделить всё

TEXT_1_TABLE:
.db	"Функция", 0x00
TEXT_2_TABLE:
.db	"вывода ISCII", 0x00
TEXT_3_TABLE:
.db	"символов", 0x00
TEXT_4_TABLE:
.db	"в ЖКИ", 0x00 
TEXT_5_TABLE:
.db	"дисплей", 0x00
TEXT_6_TABLE:
.db	"NOKIA3310", 0x00
Так же может использоваться совместно с терминалом для вывода данных с компа на ЖКИ и т.д.
Юзайте на здоровье!
Изображение

Re: LCD nokia 3310

Добавлено: Вс июн 27, 2010 12:22:30
sachok
Кто то вывел на екран кирилицу? Я пробую в связке CVAVR и Proteus, пока без успехов(

Re: LCD nokia 3310

Добавлено: Вс июн 27, 2010 13:01:48
clawham
Экран графический....ему глубоко пофиг какой язык....проблема может быть только в программе МК а точнее - в таблице знакогенератора.....мне например лень было делать таблицу в два раза больше чем есть просто ради русского языка...хотя с компа шлю и русский тоже....проде как без проблем пока :)

Re: LCD nokia 3310

Добавлено: Вс июн 27, 2010 13:55:08
sachok
Эт я понямаю что дисплей графический и ему только бы таблица была...
Возможно проблема в самом выводе и команде

Код: Выделить всё

 sprintf(str, "АБВ");
Таблцу шрыфтов брал написаную Rimsky только переделал под синтаксис CVAVR
Кажись теперь нашол проблему, осталось только додумать как её решить. Таблицу то я дописал, а вот функцию вывода символа не переделал. Теперь осталось додумать эту функцию.

Код: Выделить всё

void lcd_putch (unsigned char c)
{
    unsigned char i=0;
     
	if (c>'z' || c<32) 
    {
		return;
	}
    
    for (i=0; i<5; i++)
    {
        lcd_send (font[c-32][i], lcd_data);
    }

	lcd_send(0x00, lcd_data);
}

Re: LCD nokia 3310

Добавлено: Вс июн 27, 2010 16:00:09
GRAF
sachok, ходи сюда.

Re: LCD nokia 3310

Добавлено: Вс июн 27, 2010 23:01:38
sachok
Решение нашол на kazus.ru может на первый взгляд не очень простое зато работает :) Дорабатывал что бы можно было выводить украинские буквы (і ї є), тоже сделал наверное не самым лучшим способом но работает :) прикрепляю фалы (с kazus.ru и то что у меня сейчас) может кому то пригодятся.

Re: LCD nokia 3310

Добавлено: Вт июл 20, 2010 13:34:10
demonchik
Хлопцы! выручите написал частотомер, вольтметр - все работает! а вывести умею только целые значения. а хочется с точностью до 2 знаков после запятой. Подскажите, пожалуйста как это реализовать

Re: LCD nokia 3310

Добавлено: Вт июл 20, 2010 13:38:34
demonchik
могу даже код прислать

Re: LCD nokia 3310

Добавлено: Вт июл 20, 2010 15:12:43
GRAF
demonchik, сходите по ссылке, которую я в этой теме дал, там в последнем сообщении будет файл doz.c. В обработчике прерывания interrupt [ADC_INT] void adc_isr(void) найдете нужный вам код. Код не мой, стянул давненько с какого-то сайта по источникам питания с микроконтроллерным управлением.

Re: LCD nokia 3310

Добавлено: Вт июл 20, 2010 22:13:49
demonchik
большое спасибо! буду дерзать

Re: LCD nokia 3310

Добавлено: Пн июл 26, 2010 15:47:00
demonchik
вроде как понятно. смущает строка: itoa(b,buf); - что она делает?

Re: LCD nokia 3310

Добавлено: Вс авг 01, 2010 19:06:22
demonchik
все заработало! спасибо! оказывается что я шел через сложные пути! но, мяу! все оказывается все просто! :))

Re: LCD nokia 3310

Добавлено: Пн авг 02, 2010 00:12:30
РадиоЛоматель
demonchik писал(а):вроде как понятно. смущает строка: itoa(b,buf); - что она делает?
Просто на будущее: Эта строка превращает 16 битное целое число (INT) в массив символов ASCI.
Название сей функции, являющейся стандартной для СИ, так и расшифровывается: integer to ASCI.
Вот например:

b=0х7В; (Как известно, это 123) => itoa(b,buf); => В массиве buf будет находиться четыре байта: '1' (0x31), '2'(0x32), '3'(0x33) и '\0'(0x0A-завершение текстовой строки)


Ну а зачем это надо, думаю можно догадаться.

Re: LCD nokia 3310

Добавлено: Ср окт 06, 2010 00:56:48
demonchik
Привет, уважаемые коты! подскажите, как правильно выводить массив картинки на этот замечательный дисплейчик. как я понимаю должно быть вроде
//-----------------------
char image[504]={......};

while(i<504)
{ lcd_send(*image++); }

если так, то какие функции должна включать ф. lcd_send() ?

я бы сам додумался, но это будет нескоро- голова загружена учебой... тяжело переключаться между разными родами деятельности

Re: LCD nokia 3310

Добавлено: Ср окт 06, 2010 00:58:28
demonchik
и вот проекты. рабочие. мной чуть подредактированные. мож для новичков понадобятся.... :sleep:

Re: LCD nokia 3310

Добавлено: Ср окт 06, 2010 01:03:18
demonchik
выложил слава богу
частотомер. плюс генератор ШИМ на OC1A - 15.625 kHz

Re: LCD nokia 3310

Добавлено: Ср окт 06, 2010 13:38:02
demonchik
Все получилось. разобрался. вот что получилось

Re: LCD nokia 3310

Добавлено: Сб окт 09, 2010 15:55:10
ooogo
подскажите пожалуйста, для того что бы паралельно два дисплея работали, нужно выводы SCE развести на разные порты и низким уровнем на нужном дисплее выбирать дисплей на который будут выводиться данные?

Re: LCD nokia 3310

Добавлено: Вс окт 17, 2010 18:56:22
sachok
Ага. Должно всё работать. Я с дисплеями не експерементировал но дисплей и SD карточку на один SPI цеплял, разделял только CE.

Re: LCD nokia 3310

Добавлено: Вс окт 17, 2010 22:50:34
DX168B
Проект Римского у меня заработал с первого раза. Компилировал в AVR Studio.
Ошибок и предупреждений небыло. Спасибо огромное за шаблон. Тем более на ассемблере. :)
Только я не понял? Нахрена там нужна инициализация таймера
и его практически пустой обработчик? :dont_know: :)))
Я выкинул из исходника инициализацию таймера и его обработчик = всё равно работает. :)))