Страница 1 из 13
Дисплей от Siemens S65
Добавлено: Сб июл 11, 2009 08:47:33
PIC
Мужкики мучаю дисплей от S65, если подал напругу 3,5 вольта, дисплей не загнется ?
И вот еще какой активный уровень у сигналов RESET и CS ?
Заранее спасибо
Добавлено: Сб июл 11, 2009 12:37:01
Krik99
Я питал МК и диспл от 3.2-3.5В и всё норм, но это только если у тебя дисп с контроллером ls020, с другими не пробовал.
Добавлено: Сб июл 11, 2009 13:34:35
Antibiotic
У меня дисплей работает от 3.2 вольта (стабилизатор из дохлого CD-ROM). Уровни СS и RESET активный низкий. ресет я менс висит на + питания дисплея. Работает на ура
Добавлено: Сб июл 11, 2009 20:30:21
PIC
Уважаемый антибиотик, на каком микроконтроллере вы дергали дисплей, дайте исходник
Добавлено: Сб июл 11, 2009 22:31:05
Krik99
Если погуглить, то найдёш тему на форум с достаточной инфой для начала работы с диспом.
Ну если лень гуглить, то вот ссылка
http://electronix.ru/forum/index.php?s= ... opic=16563
Лично мне этого хватило

не подумайте что это реклама...
Добавлено: Вс июл 12, 2009 09:02:03
Antibiotic
Подключал к меге8 потом не хватило места для картинок, переделал на мегу32. Исходник на CVAVR во вложении. Дисплей LS020.
PS: В коде есть лишние функции,но на работу они никак не влияют. Мега32 работает на 16МГц, экран за SCK и DAT подвешен на аппаратный SPI контроллера к SCK и MOSI соответственно. Остальные линии дисплея назначаются в дефайнах.
ЗЗЫ:
Между дисплеем и контроллером стоит 74AC245PC в качестве преобразователя уровней и питается от 3.2в как и дисплей, AVR работает от 5в. Для питания подсветки дисплея использую DC-DC преобразователь из старой сетевухи.. 5в на входе и 10 на выходе
Добавлено: Вс июл 12, 2009 21:49:57
PIC
Уважаемый Антибиотик спасибо за либу. У меня вопрос как правильно производить выключение дисплея, т.е какая команда его выключает
Добавлено: Вс июл 12, 2009 23:37:30
neonix
Вот валялась дока по регистрам дисплея S65 (ls020), может пригодится..
Добавлено: Пн июл 13, 2009 06:17:10
Antibiotic
PIC писал(а):Уважаемый Антибиотик спасибо за либу. У меня вопрос как правильно производить выключение дисплея, т.е какая команда его выключает
Смотрите в файл lcd_s.h есть процедура void LCD_PowerOff(void) которая посылает набор команд для корректного отключения дисплея
Добавлено: Пн июл 13, 2009 06:59:16
PIC
Antibiotic писал(а):PIC писал(а):Уважаемый Антибиотик спасибо за либу. У меня вопрос как правильно производить выключение дисплея, т.е какая команда его выключает
Смотрите в файл lcd_s.h есть процедура void LCD_PowerOff(void) которая посылает набор команд для корректного отключения дисплея
Спасибо, еще раз за библиотеку!
Я просмотрел все заголовочные и исходные файлы. Все прошло на ура дисплей инициализируется, появляется на экране мусор. Заливаю своим цветом. Но вот с выключением трабла блин. Взял ваши команды:
Код: Выделить всё
const long int Off[26] = {0xEF00, 0x7E04, 0xEFB0, 0x5A48, 0xEF00, 0x7F01, 0xEFB0, 0x64FF, 0x6500, 0xEF00, 0x7F01, 0xE262, 0xE202, 0xEFB0, 0xBC02,0xEF00, 0x7F01, 0xE200, 0x8000, 0xE204, 0xE200, 0xE100, 0xEFB0, 0xBC00, 0xEF00, 0x7F01};
void LCD_PowerOff(void)
{
int i;
for(i=0; i<52; i++)
{
send_cmd(Off[i]);
};
}[/i]
После выполнения ничего не происходит, я так понимаю все изображение должно стерется и можно выключать питание.
Добавлено: Пн июл 13, 2009 07:02:22
PIC
neonix писал(а):Вот валялась дока по регистрам дисплея S65 (ls020), может пригодится..
Спасибо огромнейшее, именно то что я и скал

Добавлено: Пн июл 13, 2009 08:04:31
PIC
Добавлено: Пн июл 13, 2009 08:22:17
Krik99
Есть смысл выключать дисп передёрнув reset, а потом снимать питание.
Добавлено: Пн июл 13, 2009 08:57:01
Antibiotic
Странно. у меня работает. экран очищается и до повтороной инициализации ничего на него вывести не получается. Попробуйте изменить в счетчике максимальное значение,опечатка там, но повторю что у меня функция работает.
Код: Выделить всё
void LCD_PowerOff(void)
{
int i;
for(i=0; i<25; i++)
{
send_cmd(Off[i]);
};
Добавлено: Пн июл 13, 2009 13:42:02
Krik99
Может всётаки там 26 вместо 25, так как масиив то на 26.
Код: Выделить всё
void LCD_PowerOff(void)
{
int i;
for(i=0; i<26; i++)
{
send_cmd(Off[i]);
};
Добавлено: Пн июл 13, 2009 14:31:31
PIC
Krik99 писал(а):Может всётаки там 26 вместо 25, так как масиив то на 26.
Код: Выделить всё
void LCD_PowerOff(void)
{
int i;
for(i=0; i<26; i++)
{
send_cmd(Off[i]);
};
Это так, господа я написал под pic там отправляется по байтно, поэтому 52
Добавлено: Пн июл 13, 2009 20:17:37
Antibiotic
Krik99 писал(а):Может всётаки там 26 вместо 25, так как масиив то на 26.
Код: Выделить всё
void LCD_PowerOff(void)
{
int i;
for(i=0; i<26; i++)
{
send_cmd(Off[i]);
};
Если я правильно помню то счет массивов идет с 0 а не с 1. цикл тоже начинается с 0..так что 25

Добавлено: Пн июл 13, 2009 21:03:47
Krik99
Ну если я не ошибаюсь, то цикл тоже начинаеться с значения 0.

Добавлено: Пн июл 13, 2009 22:23:58
PIC
Вы полностью правы, цикл идет с 0, спасибо все заработало, инициализируется, выключатся стал, щас дописываю библиотеку уважаемого тов-ща Антибиотика своими функциями. Хочу мужики замутить на этом индикаторе осциллограф, какие будут соображения ?

Добавлено: Пн июл 13, 2009 23:47:44
neonix
А соображения простые, меги не хватит гонять этот дисп , ибо скорость маленькая, даже в восьмибитном режиме без разгону все будет оооочень меееедленно. Да и всю часть входную часть прийдеца делать либо на АЦП + ПЛИС + ФИФО либо ацп + фифо + мк. вот и решайте стоит ли овчинка выделки, по мне так лучше купить китайский цифовой осцил...