roboforum.ru

Технический форум по робототехнике.


SPI LCD Nokia 3410 96х65 200р.

Обсуждение и примеры готовых и самосборных компонент для построения роботов.

Re: SPI LCD Nokia 3410 96х65 200р.

Сообщение EdGull » 13 ноя 2007, 22:10

у нас в комиссионках SD карточки на 16-32 метра стоят 50р.
соответственно шесть проводков можно подпаять напрямую без картридера.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: SPI LCD Nokia 3410 96х65 200р.

Сообщение Strijar » 13 ноя 2007, 23:08

Обижаешь! 16м уже давно лежит приготовленая (шла в комплекте с фотиком) да и sd-разъем уже давно выпаян из "нерабочего" кард-ридера ;)
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: SPI LCD Nokia 3410 96х65 200р.

Сообщение Master » 14 ноя 2007, 08:30

Ну раз такое дело, то тогда пиши ворклог, подробненький с коментариями. Для чайников как я.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Быстренько причесал и из своей проги всунул...

Сообщение MetEl » 18 ноя 2007, 12:38

Код: Выделить всёРазвернуть
#include <mega128.h> 
#include <spi.h>
#include <delay.h>   

#define reset PORTC.4 //RESET от LCD подключён к 39-й ноге МК
#define DC PORTC.5    //Выбор режима ввода данных(1=D-данные /0=C- команды) от LCD подключён к 40-й ноге МК
//VDD на +5В.
// SCLK LCD на 11-ю ногу МК (SCK)
// SDIN LCD на 12-ю ногу МК (MOSI)
// CS LCD на земле.
//Vout (7нога) LCD на + кондёра 1-4.7мкФ и на землю.

void main(void)
{   
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization /output
PORTB=0x00;
DDRB=0xFF;
// Port C initialization
PORTC=0xFF;
DDRC=0xF0;
// Port G initialization
PORTG=  0b11111011;
DDRG=   0b00000100;
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 2*3000,000 kHz  //  У меня кварц 12МГц.
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=0x50;
SPSR=0x01;   

//////////////////////////////START///////////////////////
     // ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ
DC =0;    // режим приёма команд
reset =0; //сбросить LCD
delay_ms(1); // задержка 1мСек.
reset=1;
delay_ms(1);
          spi(0x21);     // включить питание, расшир. команды
   spi(0xC8);     // включить внутренний источник питания
         spi(0x06);     // выбрать температурный режим
   spi(0x13);     // выбрать систему питания 
   spi(0x20);     // установить обычный набор инструкций
   spi(0x0C);     // устаноить режимы -дисплей пустой, обычное отображение
delay_us(500);   
//дисплей готов, виден всякий бред...
/*
unsigned int i;                           
DC=0 ;                // режим приёма кодов
          spi(64);    // адрес строки = 0
          spi(128);   // адрес столбца = 0
DC =1;                 //режим приёма данных
for(i=0;i<909;i++) spi(0xAA);   // запись (вывод на экран) чёрточек   , если не 0хAA , а скажем 0х00, то весь экран "очистится".
Можно только по сюда написать, а дальше моё извращение (вырезал из своей програмы и быстренько причесал для форума)
*/
while (1)
{                         
       // Place your code here
if (PIND.4 == 0) {   // при замыкании кнопки (29нога МК) на массу.
unsigned int i;                           
DC=0 ;                // режим приёма кодов
          spi(64);    // адрес строки = 0
          spi(128);   // адрес столбца = 0
DC =1;                 //режи приёма данныйх
for(i=0;i<909;i++) spi(0x0F);   // запись (вывод на экран) чёрточек                   
                       }; // скобка для if         
 
   // работает ли МК и бегает ли по циклу (тест...)   
PORTG = 255; // включить пищалку или чветодиод (у меня, посто так собрана схема)   на любой ноге порта G
delay_ms(350); // пауза 350 мС 
PORTG = 0; // выключить пищалку
delay_ms(350); // пауза 350 мС
             
if (PIND.5 == 0) {   //  при замыкании кнопки (30нога МК) на массу.
unsigned int i;
DC=0 ;                // режим приёма кодов
          spi(64);    // адрес строки = 0
          spi(128);   // адрес столбца = 0
DC =1;                 //режи приёма данныйх
for(i=0;i<909;i++) spi(0x55);   // запись (вывод на экран) линий                 
                       }; // скобка для if             
                };   // общий цикл 
        };   // майн

добавил тег CODE <V>
MetEl
 
Сообщения: 3
Зарегистрирован: 18 ноя 2007, 12:06

Re: SPI LCD Nokia 3410 96х65 200р.

Сообщение Strijar » 18 ноя 2007, 20:27

Ну так я все так и делаю... Короче с SPI у меня все хорошо - SD у меня завелась! Не сразу правда, но теперь вылизал, все работает. Так, что приеду из командировки и буду возвращаться к ЖКИ ;)
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Кстати , обдумываю как подключить несколько

Сообщение MetEl » 18 ноя 2007, 21:31

Кстати , обдумываю как подключить несколько устройств на SPI (контакты то одни).
Надо на SPI с LCD еще и микруху (контроллер времени, ну время и дату храни и считает) посадить.
А у LCD нет никаких запрещающих сигналов.

Буду думать как усроить выбор между подключёнными МС.


ЗЫ: На частоту передачи данных посмотрел?
SPCR=0x50;
SPSR=0x01; /// ????

// SPI Clock Rate: 2*3000,000 kHz

У меня atmega 128-16AI, кварц на 12МГц.
MetEl
 
Сообщения: 3
Зарегистрирован: 18 ноя 2007, 12:06

Re: SPI LCD Nokia 3410 96х65 200р.

Сообщение EdGull » 18 ноя 2007, 22:01

а чипселект т.е. CS для чего богом дан?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: SPI LCD Nokia 3410 96х65 200р.

Сообщение MetEl » 18 ноя 2007, 22:06

А чего он селект? (может он внутри там чегото селект.. страницы памяти хотябы...)
Если он чип сет ? Тогда я всё понял.
А пишут то! что пишут то?!

По бумагам он SCE - Chip Enable - разрешение работы чипу ( контроллеру LCD)
А точнее (почитал) при 1 на SCE SPI интерфейс игнорируется.
Он уменя просто на перемычку посажен зараза. Надо перепоять немнога.

Ну тогда все хорошо.
Надо тока подключить DS1302 или DS1338C. Кокуюнить найти и побаловаться.
MetEl
 
Сообщения: 3
Зарегистрирован: 18 ноя 2007, 12:06

Re: SPI LCD Nokia 3410 96х65 200р.

Сообщение Nikopol » 09 окт 2008, 09:31

http://kazus.ru/forum/topics/8548.html вот тут почитайте, там много про дисплеи написано. И библиотеки есть под CVAVR.
Nikopol
 
Сообщения: 7
Зарегистрирован: 03 апр 2007, 17:37
Откуда: Макеевка

Re: SPI LCD Nokia 3410 96х65 200р.

Сообщение mishar » 09 окт 2008, 10:33

Используется в проекте http://forum.rcdesign.ru/index.php?showtopic=28745&st=1380&start=1380 - листайте вверх.
mishar
 
Сообщения: 5
Зарегистрирован: 21 сен 2008, 19:28

Пред.

Вернуться в Готовые модули

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7