Вернуться   Официальный Форум любителей LADA Kalina и новой Лада Калина 2 > Лада Калина. Технический раздел > Электрооборудование > Комбинация приборов. Датчики и указатели. Бортовой компьютер. Штатная магнитола.

Ответ
 
Опции темы Опции просмотра
Старый 20.12.2012, 19:48   #171
Гуру
 
Аватар для angtar
 
Регистрация: 16.11.2010
Адрес: Белгород, 31Rus
Возраст: 63
Пол: Мужской
Сообщений: 7,081
Записей в дневнике: 28
Вес репутации: 228750 angtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутации
Отправить сообщение для angtar с помощью ICQ Отправить сообщение для angtar с помощью Skype™
Re: Самодельный бортовой компьютер через K-Line

Цитата:
Сообщение от ZiperRUS Посмотреть сообщение
Здравствуйте вежливые блогородные люди. Мне хотелось бы узнать а будет ли работать этот велеколепнейший приборчек на ваз 2109? там стоит январь 5.1.
не будет он работать с я5.1, я7.2
причина проста: у я5.1 (я7.2) другие:
1. инициализация блока
2. длина ответа для Р83 и Е2...
а этот тестер делался под блоки Е3, там ответ тоже другой...
в принципе на авто-бк есть проект "Микротестер на МК" там можешь посмотреть исходники...
как-то примерно так выходит
__________________
Лучше быть хорошим человеком, ругающимся матом, чем тихой, воспитанной тварью
©
Фаина Раневская
************************************************** ****************
Не спорю с дураками, люди могут не понять разницы ©


Последний раз редактировалось angtar; 21.12.2012 в 09:06..
angtar вне форума   Ответить с цитированием Вверх
Старый 22.12.2012, 22:13   #172
Гость
 
Регистрация: 20.12.2012
Адрес: рязань
Возраст: 41
Пол: Мужской
Сообщений: 2
Вес репутации: 0 ZiperRUS не успел проявить себя
Re: Самодельный бортовой компьютер через K-Line

может кто нибуть так на скидочку знает какой ответ приходит у января 5.1 или ссылочку охото б было получить небольшую совсем

Последний раз редактировалось oapv; 02.03.2013 в 23:09..
ZiperRUS вне форума   Ответить с цитированием Вверх
Старый 23.12.2012, 08:00   #173
Гуру
 
Аватар для angtar
 
Регистрация: 16.11.2010
Адрес: Белгород, 31Rus
Возраст: 63
Пол: Мужской
Сообщений: 7,081
Записей в дневнике: 28
Вес репутации: 228750 angtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутации
Отправить сообщение для angtar с помощью ICQ Отправить сообщение для angtar с помощью Skype™
Re: Самодельный бортовой компьютер через K-Line

Цитата:
Сообщение от ZiperRUS Посмотреть сообщение
может кто нибуть так на скидочку знает какой ответ приходит у января 5.1 или ссылочку охотоб было получить небольшую совсема , очень меня это интересует а то лазию ищу в инете вторую неделю глаза из орбит уже вылазиют вот так вот как у жёлтенького кружёчка ->
здесь не пробовал смотреть?
формат ответов для Р83 и Е2 будет разный
__________________
Лучше быть хорошим человеком, ругающимся матом, чем тихой, воспитанной тварью
©
Фаина Раневская
************************************************** ****************
Не спорю с дураками, люди могут не понять разницы ©

angtar вне форума   Ответить с цитированием Вверх
Старый 25.12.2012, 14:46   #174
Втянувшийся
 
Аватар для mr_smit85
 
Регистрация: 29.06.2011
Адрес: Самара
Возраст: 40
Пол: Мужской
Автомобиль: ВАЗ 11176 "Люкс"
Сообщений: 205
Вес репутации: 115 mr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутации
Re: Самодельный бортовой компьютер через K-Line

Цитата:
Сообщение от ZiperRUS Посмотреть сообщение
Здравствуйте вежливые блогородные люди. Мне хотелось бы узнать а будет ли работать этот велеколепнейший приборчек на ваз 2109? там стоит январь 5.1. Просто я его собрал переписал прошивку под lcd 16X2 а он не показывает данных(((( прошивка правельная !!!!
No comment...

Код там как раз написан очень правильно. В полном соответствии с протоколом. Там учтены все возможные штатные и не штатные ситуации при передаче. Я, при написании своей прошивки, такими заморочками не занимался, написал максимально упрощенный вариант под себя.

Возьмите любой K-Line адаптер, подключитесь к машине и посмотрите обмен по СОМ порту. Что отправляет программа и что присылает в ответ ЭБУ. Различия в протоколе Россия-83 и Euro-II минимальные. Смотрите пункт 6.3.3.3 Содержание поля данных сообщения для идентификатора RLI_ASS. В моей прошивке для Меги8 учитывается длинна ответа для 38 возвращаемых байт данных. Ваш ЭБУ Январь 5.1 возвращает их меньше - 34. Поэтому и не работает. А эмулятор на ПК как раз и шлет тот самый 38 байтный ответ. Поэтому с эмулятором ваш бортовик и работает. В прошивке для Меги16 я добавил вычисление длины ответа. Скопируйте этот кусок кода оттуда.

Протокол передачи данных по K-Line (Россия-83)
Протокол передачи данных по K-Line (Euro-II)

Последний раз редактировалось oapv; 02.03.2013 в 23:10..
mr_smit85 вне форума   Ответить с цитированием Вверх
Старый 09.01.2013, 05:52   #175
Гость
 
Регистрация: 09.01.2013
Адрес: Москва
Пол: Мужской
Автомобиль: 21093i
Сообщений: 2
Вес репутации: 0 Alex_S не успел проявить себя
Re: Самодельный бортовой компьютер через K-Line

Доброго времени суток.А можно конфигурацию фузов для maga16?И я так понимаю бит
rstdisbl нужно включать.
Alex_S вне форума   Ответить с цитированием Вверх
Старый 12.01.2013, 17:15   #176
Втянувшийся
 
Аватар для mr_smit85
 
Регистрация: 29.06.2011
Адрес: Самара
Возраст: 40
Пол: Мужской
Автомобиль: ВАЗ 11176 "Люкс"
Сообщений: 205
Вес репутации: 115 mr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутации
Re: Самодельный бортовой компьютер через K-Line

Цитата:
Сообщение от Alex_S Посмотреть сообщение
Доброго времени суток.А можно конфигурацию фузов для maga16?И я так понимаю бит
rstdisbl нужно включать.
Фьюзы для CodeVisionAVR:
---------------------------
CKSEL0 = 0
CKSEL1 = 1
CKSEL2 = 1
CKSEL3 = 1
SUT0 = 0
SUT1 = 1
BODEN = 1
BODLEVEL = 1
BOOTRST = 1
BOOTSZ0 = 0
BOOTSZ1 = 0
EESAVE = 1
CKOPT = 0
WDTON = 1
RSTDISBL = 1
--------------------------

RSTDISBL включать не надо
mr_smit85 вне форума   Ответить с цитированием Вверх
Старый 14.01.2013, 22:21   #177
Гость
 
Регистрация: 09.01.2013
Адрес: Москва
Пол: Мужской
Автомобиль: 21093i
Сообщений: 2
Вес репутации: 0 Alex_S не успел проявить себя
Re: Самодельный бортовой компьютер через K-Line

Спасибо.Проблема найти дисплей именно LS020,но получилось найти LPH так он не хочет работать хотя где-то читал что вродебы команды инициализации у них одинаковые.Может кто столкнулся с подобной проблемой и решил её,поделитесь прошивкой а то я не программист а только учусь,сам исправлю но боюсь не скоро разберусь.Заранее спасибо.
Alex_S вне форума   Ответить с цитированием Вверх
Старый 15.01.2013, 20:18   #178
Втянувшийся
 
Аватар для mr_smit85
 
Регистрация: 29.06.2011
Адрес: Самара
Возраст: 40
Пол: Мужской
Автомобиль: ВАЗ 11176 "Люкс"
Сообщений: 205
Вес репутации: 115 mr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутации
Re: Самодельный бортовой компьютер через K-Line

Цитата:
Сообщение от Alex_S Посмотреть сообщение
Спасибо.Проблема найти дисплей именно LS020,но получилось найти LPH так он не хочет работать хотя где-то читал что вродебы команды инициализации у них одинаковые.Может кто столкнулся с подобной проблемой и решил её,поделитесь прошивкой а то я не программист а только учусь,сам исправлю но боюсь не скоро разберусь.Заранее спасибо.
Команды у них разные. Для подключения LPH нужно на 1 контакт меньше. Как работать с таким дисплеем хорошо описано тут: http://datagor.ru/microcontrollers/6...-s65-k-mk.html Но ему уже нужно питание 3,3 вольта.

Нажмите, чтобы прочитать текст полностью

/************************************************** ***
This program was produced by the
CodeWizardAVR V1.25.9 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Chip type : ATmega16
Program type : Application
Clock frequency : 14,300000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
************************************************** ***/

#include <mega16.h>

#include <spi.h>

#include <string.h>

#include <delay.h>

#include <stdio.h>

#define DISP_W 132
#define DISP_H 176
#define CHAR_W 8
#define CHAR_H 14

// строки для примера
char txt1[]="Spirit for Datagor.ru";
char txt2[]="Siemens S65";
char txt3[]="display";
char txt4[]="Test programm";

// сопоставление выводов дисплея и микроконтроллера
#define RESET PORTB.6
#define CS PORTB.3
// тактовый и информационный вход дисплея
// подключены к аппаратному SPI микроконтроллера


unsigned int i=0, j=0;
unsigned int counter=0;


// массив символов
flash char ascii_tab[96][14]={
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // space (32)
{ 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00}, //!
{ 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, //"
{ 0x00, 0x00, 0x00, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x00, 0x00}, //#
{ 0x00, 0x18, 0x18, 0x7c, 0xc6, 0xc2, 0xc0, 0x7c, 0x06, 0x86, 0xc6, 0x7c, 0x18, 0x18}, //$
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0xc6, 0x0c, 0x18, 0x30, 0x66, 0xc6, 0x00, 0x00}, // %
{ 0x00, 0x00, 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x76, 0xdc, 0xcc, 0xcc, 0x76, 0x00, 0x00}, // &
{ 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // '
{ 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00, 0x00}, // (
{ 0x00, 0x00, 0x00, 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00, 0x00}, // )
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00, 0x00, 0x00}, // *
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, // +
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00}, // ґ
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // -
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00}, // .
{ 0x00, 0x00, 0x00, 0x02, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00}, // /
{ 0x00, 0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xd6, 0xc6, 0xc6, 0x6c, 0x38, 0x00, 0x00}, // 0 (48-32)
{ 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x06, 0x3c, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0x0c, 0x0c, 0x1e, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xfe, 0xc0, 0xc0, 0xc0, 0xfc, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x38, 0x60, 0xc0, 0xc0, 0xfc, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xfe, 0xc6, 0x06, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x06, 0x0c, 0x78, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x0c, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xde, 0xde, 0xde, 0xdc, 0xc0, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x66, 0xfc, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0, 0xc2, 0x66, 0x3c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xf8, 0x6c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x62, 0x66, 0xfe, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0xf0, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xde, 0xc6, 0x66, 0x3a, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xe6, 0x66, 0x6c, 0x6c, 0x78, 0x6c, 0x6c, 0x66, 0xe6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xc6, 0xee, 0xfe, 0xd6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xde, 0x7c, 0x0e, 0x00},
{ 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0x66, 0xe6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x60, 0x38, 0x0c, 0xc6, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x5a, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xd6, 0xfe, 0x6c, 0x6c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0x7c, 0x38, 0x7c, 0xc6, 0xc6, 0xc6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xfe, 0xc6, 0x8c, 0x18, 0x30, 0x60, 0xc2, 0xc6, 0xfe, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0x06, 0x02, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3c, 0x00, 0x00},
{ 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff},
{ 0x00, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0xe0, 0x60, 0x60, 0x78, 0x6c, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x3c, 0x6c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x1c, 0x36, 0x32, 0x30, 0x7c, 0x30, 0x30, 0x30, 0x78, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xcc, 0x78},
{ 0x00, 0x00, 0x00, 0xe0, 0x60, 0x60, 0x6c, 0x76, 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c},
{ 0x00, 0x00, 0x00, 0xe0, 0x60, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0xe6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0xfe, 0xd6, 0xd6, 0xd6, 0xd6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0x0c, 0x1e},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0x60, 0xf0, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x70, 0x1c, 0xc6, 0x7c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x10, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x30, 0x36, 0x1c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xd6, 0xd6, 0xfe, 0x6c, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x6c, 0x38, 0x38, 0x6c, 0xc6, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0x78},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xcc, 0x18, 0x30, 0x66, 0xfe, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x0e, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00},
{ 0x00, 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0x00, 0x00, 0x00}
};

// определение основных цветов
// просто для удобства
#define BLACK 0x0000
#define RED 0xf800
#define GREEN 0x07e0
#define BLUE 0x001f
#define WHITE 0xffff


// цвет фона и текста по умолчанию
unsigned int textcolor=GREEN;
unsigned int bgcolor=0x0000;


// запись одного байта в дисплей
void lcd_write8(char dat)
{
spi(dat);
}

// запись двух байт
void lcd_write(unsigned int dat)
{
lcd_write8(dat>>8);
lcd_write8 (dat);
}

// дергаем выводом CS для обозначения конца передачи данных
void lcd_cspulse(void)
{
CS= 1;
#asm("nop")
CS= 0;
}

// выбор регистра в контроллере дисплея
void lcd_reg(char register_name)
{
lcd_write8(0x74); // стартовый байт на передачу команды
lcd_write(register_name);
lcd_cspulse();
}

// отправка двух байт в графическую память дисплея
void lcd_dat8(char register_dat1, char register_dat2)
{
lcd_write8(0x76); // стартовый байт на запись данных
lcd_write8(register_dat1);
lcd_write8(register_dat2);
lcd_cspulse();

}

// то же самое, но из 16-и битной переменной
void lcd_dat(unsigned int data)
{
lcd_write8(0x76); // стартовый байт на запись данных
lcd_write(data);
lcd_cspulse();
}


// программа инициализации дисплея
void lcd_init_c(void)
{
RESET=0;
CS=1;
delay_ms(1);
RESET=1;

delay_ms(10);

CS=0;

delay_ms(50);
lcd_reg(0x00);lcd_dat(0x0001);

lcd_reg(0x03);lcd_dat(0x000c);

delay_ms(100);
lcd_reg(0x0d);lcd_dat(0x0616);

lcd_reg(0x01);lcd_dat(0x0215);

delay_ms(150);
lcd_reg(0x07);lcd_dat(0x0037);

CS= 1;
}


// заливка дисплея цветом color
void fill_screen(unsigned int color)
{

CS= 0; // select display

lcd_reg(0x16);lcd_dat(0x8300);
lcd_reg(0x17);lcd_dat(0xAF00);
lcd_reg(0x21);lcd_dat(0x0000);
lcd_reg(0x22);lcd_write8(0x76);

// start data transmission
for (i=0; i<DISP_H; i++)
{
for(j=0;j<DISP_W;j++)
{
lcd_write(color);
}
}

CS= 1; // deselect display
}

// поместить символ в графическую память дисплея
void put_char(char x, char y, char c, unsigned int color, char rot)
{
char h,ch,p,mask;

CS= 0;

switch(rot)
{
default:
case 0:
lcd_reg(0x05);lcd_dat(0x0038);
lcd_reg(0x17);lcd_dat8(x+CHAR_W-1, x);
lcd_reg(0x16);lcd_dat8(y+CHAR_H-1, y);
lcd_reg(0x21);lcd_dat8(x,y);
lcd_reg(0x22);
lcd_write8(0x76);
break;
case 1:
lcd_reg(0x05);lcd_dat(0x0030);
lcd_reg(0x16);lcd_dat8(x+CHAR_W-1, x);
lcd_reg(0x17);lcd_dat8(y+CHAR_H-1, y);
lcd_reg(0x21);lcd_dat8(y, x);
lcd_reg(0x22);
lcd_write8(0x76);
break;
}


for (h=0; h<CHAR_H; h++) // every column of the character
{
if (rot==1)
ch=ascii_tab[ c-32 ][h];
else
ch=ascii_tab[ c-32 ][CHAR_H-h-1];

mask=0x80;
for (p=0; p<CHAR_W; p++) // write the pixels
{
if (ch&mask)
{
lcd_write(color);
}
else
{
lcd_write(bgcolor);
}
mask=mask/2;
} // for p
}
CS= 1; // deselect display

}


// записать строку, начиная с координат x, y, цветом color и ориентацией orient
// если orient=0, то горизонтально, если =1, то вертикально
void put_string(unsigned char x, unsigned char y, char *str, unsigned int color, unsigned char orient)
{
j=0;
while (j<strlen(str))
{
put_char(x+j*CHAR_W,y,str[j],orient, color); // 0 deg. rotated
j++;
}
}


interrupt [EXT_INT0] void ext_int0_isr(void)
{

}


// прерывание INT1
// запись строк примера в дисплей
interrupt [EXT_INT1] void ext_int1_isr(void)
{

put_string(6,0,txt1,0, textcolor);

put_string(25,00,txt2,1, textcolor);

put_string(40,15,txt3,1, textcolor);

put_string(35,120,txt4,0, textcolor);

}


interrupt [EXT_INT2] void ext_int2_isr(void)
{

}


void main(void)
{
PORTA=0x00;DDRA=0x00;PORTB=0x00;DDRB=0xFF;PORTC=0x FF;DDRC=0x00;PORTD=0xFF;DDRD=0x00;TCCR0=0x00;
TCNT0=0x00;OCR0=0x00;TCCR1A=0x00;TCCR1B=0x00;TCNT1 H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;
OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;AS SR=0x00;TCCR2=0x00;TCNT2=0x00;OCR2=0x00;
GICR|=0xE0;MCUCR=0x0A;MCUCSR=0x00;GIFR=0xE0;TIMSK= 0x00;ACSR=0x80;SFIOR=0x00;SPCR=0x50;SPSR=0x01;

#asm("sei")

lcd_init_c(); // инициализация дисплея

fill_screen(bgcolor); // заливка черным

while (1)
{

char cnt[16]; // промежуточная переменная для функции sprint()


sprintf(cnt,"%5u",counter); // преобразование числа в строку

put_string(68,60,cnt,0, BLUE); // вывод полученной строки

counter++; // инкремент переменной

};
}
mr_smit85 вне форума   Ответить с цитированием Вверх
Старый 08.02.2013, 14:33   #179
Челябинская ячейка
 
Регистрация: 06.08.2010
Адрес: Челябинск
Пол: Мужской
Сообщений: 7,407
Изображений: 3
Вес репутации: 115557 VAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутацииVAZ_11193 имеет репутацию за пределами доброй репутации
Re: Самодельный бортовой компьютер через K-Line

Лучшие рессурсы по индикаторам от сотовых это казус и VRTP.

http://vrtp.ru/index.php?showtopic=1120

Там есть все что прогрессивное человечество на сегодняшний день знает о дисплеях от сотиков.

http://www.superkranz.de/christian/S...ySoftware.html


Тут есть сорцы под LPH
http://code.google.com/p/openhause/s...splay4_V03.zip
__________________
ДОМ построил!
Нашел себе новую игрушку 3D принтер.
Пытаюсь напечатать собачью будку.

Последний раз редактировалось VAZ_11193; 08.02.2013 в 14:50..
VAZ_11193 вне форума   Ответить с цитированием Вверх
Старый 19.02.2013, 13:29   #180
Втянувшийся
 
Аватар для mr_smit85
 
Регистрация: 29.06.2011
Адрес: Самара
Возраст: 40
Пол: Мужской
Автомобиль: ВАЗ 11176 "Люкс"
Сообщений: 205
Вес репутации: 115 mr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутацииmr_smit85 имеет репутацию за пределами доброй репутации
Re: Самодельный бортовой компьютер через K-Line

Кстати этот дисплей продается на Ebay за 15$. Доставка бесплатная.

http://www.ebay.com/itm/2-1-SPI-Siem...item257465b42b
mr_smit85 вне форума   Ответить с цитированием Вверх
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Сервис метрических линеек для форумов и блогов


Быстрый переход









Часовой пояс GMT +3, время: 05:31.