Форум РадиоКот https://radiokot.ru/forum/ |
|
Дисплей на D7225 https://radiokot.ru/forum/viewtopic.php?f=61&t=125566 |
Страница 1 из 1 |
Автор: | levaclaus [ Пт янв 08, 2016 18:30:37 ] |
Заголовок сообщения: | Дисплей на D7225 |
Пытаюсь завести дисплей, контроллер mPD7225, вот таблица соответствия сегментов-выводов. Вложение: Сделал вывод, что это Divide-by-4 time division drive, собственно вот инициализация. 1 Mode set 01000000 (div4, 1/3 bias) 2 synchroniset transfer 00110001 3 Blinkin off 00011000 4 without segment decoder 00010100 5 Display on 00010001 6 Clear data memory 00100000 Далее указываю 13-й столбец spi(0b11101101); COM0-й общий spi(0b11010001); Должен загореться сегмент 5F, но при этом подсвечиваются 4A, 4С, 4H Вложение: А это не кулл, как быть? |
Автор: | Rtmip [ Вс янв 10, 2016 10:04:29 ] |
Заголовок сообщения: | Re: Дисплей на D7225 |
Попробуйте так: spi(0b00011101); Если ничего не будет подсвечено, то так: spi(0b00011101); spi(0b11010001);. |
Автор: | levaclaus [ Вс янв 10, 2016 21:08:22 ] |
Заголовок сообщения: | Re: Дисплей на D7225 |
я тоже обратил внимание, что засвет соответствует коду 1101. Но без этого кода не работает вообще, это команда на запись в память. |
Автор: | levaclaus [ Пн янв 11, 2016 13:41:10 ] |
Заголовок сообщения: | Re: Дисплей на D7225 |
А все оказалось банально. Посыл даты это оказывается не дата, это команда. ![]() Дергнул пин конада\дата в команду и все заработало... |
Автор: | Rtmip [ Ср янв 20, 2016 08:22:15 ] |
Заголовок сообщения: | Re: Дисплей на D7225 |
Поздравляю! Но, что тогда посыл даты? Можете подробнее описать посылку даты, указав команды и какие уровни на управляющих пинах ставите? |
Автор: | levaclaus [ Пт янв 22, 2016 20:34:48 ] |
Заголовок сообщения: | Re: Дисплей на D7225 |
На драйвере есть пин C-D. Если он 0, то принятые 8 бит дата, если 1 - команда. Сейчас работаю через команды, от даты не увидел практической пользы. дисплей уже инициализирован C-D = 1; 111ххххх - номер столбца 1101abcd - запись в столбец 4х бит abcd, после этого номер столбца автоматом делает +1 |
Автор: | Rtmip [ Вс янв 24, 2016 10:57:45 ] |
Заголовок сообщения: | Re: Дисплей на D7225 |
Понятно, спасибо ![]() |
Автор: | CyberVad [ Ср июн 15, 2022 12:21:54 ] |
Заголовок сообщения: | Re: Дисплей на D7225 |
Товарищи! Кто то запустил дисплей на D7225? Если да, то поделитесь рабочим кодом инициализации, выводом циферок. Мой дисплей на двух 7225, я так думаю один управляет верхней строкой 7-сег, другой строкой 14-сег. Я боролся-боролся, кроме параличного рандомного мигания ничего. Спасибо! |
Автор: | roma57 [ Пн янв 09, 2023 18:50:22 ] |
Заголовок сообщения: | Re: Дисплей на D7225 |
Если кому интересно, то вот видео как работать с этим МК: https://www.youtube.com/watch?v=6HcJMtBni_8 Там три части. Так как я только изучал этот МК, который установлен на плате дисплея магнитолы Ауди, то со всеми подробностями. Тем более я не программист. Но понять как можно обуздать такой дисплей более чем достаточно. Код: #define _SCK 1 //оранжевый
#define _SI 2 //зеленый #define _CD 3 //феолетовый #define _CS 4 //серый void command(uint8_t cmd){ for(int i=0; i<8; i++) { digitalWrite(_SI,(cmd &(1<<(7-i)))); // Вывод байта начиная со старшего бита digitalWrite(_SCK,LOW); delay(1); digitalWrite(_SCK,HIGH); delay(1); } } void setup(){ pinMode(_SCK,OUTPUT); pinMode(_SI,OUTPUT); pinMode(_CD,OUTPUT); pinMode(_CS,OUTPUT); //Инициализация дисплея digitalWrite(_SCK,HIGH); digitalWrite(_CD,HIGH); digitalWrite(_CS,HIGH); delay(1); //Настройка дисплея digitalWrite(_CS,LOW); command(0x5C);//Mode set command(0x31);//Synchronized transfer command(0x11);//DISPLAY ON command(0x20);//CLEAR DISPLAY digitalWrite(_CS,HIGH);//Отправка команд delay(500); } void loop(){ //круги digitalWrite(_CS,LOW); command(0xE0);//LOAD DATA POINTER command(0xD1);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //M digitalWrite(_CS,LOW); command(0xE0);//LOAD DATA POINTER command(0xD3);//WRITE DATA MEMORY command(0xD3);//WRITE DATA MEMORY command(0xD2);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //DX digitalWrite(_CS,LOW); command(0xE2);//LOAD DATA POINTER command(0xD3);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //0 digitalWrite(_CS,LOW); command(0xE8);//LOAD DATA POINTER command(0xD3);//WRITE DATA MEMORY command(0xD1);//WRITE DATA MEMORY command(0xD3);//WRITE DATA MEMORY command(0xD1);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //1 digitalWrite(_CS,LOW); command(0xEE);//LOAD DATA POINTER command(0xD2);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //2 digitalWrite(_CS,LOW); command(0xF0);//LOAD DATA POINTER command(0xD2);//WRITE DATA MEMORY command(0xD3);//WRITE DATA MEMORY command(0xD1);//WRITE DATA MEMORY command(0xD1);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //3 digitalWrite(_CS,LOW); command(0xF4);//LOAD DATA POINTER command(0xD2);//WRITE DATA MEMORY command(0xD2);//WRITE DATA MEMORY command(0xD3);//WRITE DATA MEMORY command(0xD1);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //POINT digitalWrite(_CS,LOW); command(0xF7);//LOAD DATA POINTER command(0xD3);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //4 digitalWrite(_CS,LOW); command(0xF8);//LOAD DATA POINTER command(0xD3);//WRITE DATA MEMORY command(0xD2);//WRITE DATA MEMORY command(0xD2);//WRITE DATA MEMORY command(0xD0);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //VF digitalWrite(_CS,LOW); command(0xFB);//LOAD DATA POINTER command(0xD2);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //8 digitalWrite(_CS,LOW); command(0xFC);//LOAD DATA POINTER command(0xD3);//WRITE DATA MEMORY command(0xD3);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //RIGHT digitalWrite(_CS,LOW); command(0xFE);//LOAD DATA POINTER command(0xD1);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(500); //LEFT digitalWrite(_CS,LOW); command(0xFE);//LOAD DATA POINTER command(0xD3);//WRITE DATA MEMORY digitalWrite(_CS,HIGH);//Отправка команд delay(5000); //CLEAR DISPLAY digitalWrite(_CS,LOW); command(0x20);//CLEAR DISPLAY digitalWrite(_CS,HIGH);//Отправка команд delay(1000); } |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |