• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!

Поиск по сайту

Результаты поиска по тегам 'lcd'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • ATX->ЛБП Переделки
  • Юмор в youtube Киловольты юмора
  • Надежность и группы продавцов Радиолюбительская доска объявлений exDIY
  • разные темы Переделки

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено 46 результатов

  1. Добрый день. Появилась возможность добыть несколько десятков дисплеев от китайфонов. Дисплеи с сенсором, так что для радиолюбителя - прям лакомый кусочек. Но вот инфы на них нет. Надписи на шлейфе: M403B115 M30112B341 FPC-FTM300D80Z 2010-01-26 На сенсоре: PB093-FR-TR Прошу помощи в определении контроллера и распиновки, может ко-то с ними уже сталкивался. В крайнем случае, можно и только контроллер. Распиновку и инициализацию попытаюсь снять лог. анализатором с рабочего тела с аналогичным дисплеем.
  2. На брелке автосигнализации Sheriff ZX-930 разбился LCD-экран. Купил новый брелок на авито, но продавец подсунул нерабочий (бог ему судья). Видимо что-то с мозгами у брелка, т.к. не реагирует на кнопки и т.д., но экран рабочий. В общем хочу экран поставить на мой брелок. Но там к нему подходит плоский шлейф, сидит видимо не клее. Пошел в мастерскую, там почему-то отказались делать, хотя думаю для них это не сложно. В общем хочу сам попробовать переставить. Буду очень благодарен за рецепт как аккуратно снять и переставить LCD с шлейфом.
  3. Проблема с чтением PCF8574AT (LCD/I2C)

    Здравствуйте! Пишу программу на C++ для управления LCD (HD44780) по I2C через модуль расширения портов ввода/вывода PCF8574AT. void LCD_I2C::readBF() { transmitByte(0b00001110); //transmits E, RW set to HIGH and RS, set to LOW _delay_ms(5); transmitByte(0b00001010); //transmits E, RS set to LOW and RW set to HIGH _delay_ms(5); initRestart(); transmitAddrRW(0b01111111); //sends PCF8574AT address + SLA+R do { receiveDataAck(); PORTA = storage; } while((storage & (1 << BF)) != 0); //wait until BF is 0 initRestart(); transmitAddrRW(0b01111110); } Метод void transmitByte(uint8_t data) после инициализации состояния "Старт" и отправки адреса устройства + SLA+W отправляет байт данных по TWI с ожиданием бита подтверждения (команды работают верно, проверял по регистру статуса TWI - 0x08, 0x10 и 0x24). Метод void transmitAddrRW(uint8_t address) отправляет соответственно SLA+W/R + адрес устройства (команда работает также верно). Нареканий к работе TWI у меня нет, т.к. недавно с его помощью успешно запустил часы DS1307 с интеграцией LCD. После передачи запроса на чтение флага занятости инициализируется состояние "ПОВСТАРТ", отправляется адрес устройства + SLA+R, далее идет цикл - запрос байта данных (состояние выводов PCF8574AT) с отправкой бита подтверждения uint8_t receiveDataAck() (команды работают также верно, возвращает storage = TWDR) и вывод storage на порт А микроконтроллера (там установлены светодиоды). Чтение регистра данных TWDR после принятия байта данных (receiveDataAck()) дает следующий результат - 0b00000010 - установлен только бит RW микросхемы. Таким образом, флаг занятости BF = DB7 = 7й бит оказывается сразу же сброшенным, происходит мгновенный выход из цикла - контроллер дисплея не успевает скушать информацию, и инициализация не выполняется (неудачную инициализацию определяю по отсутствию курсора). Ожидалось, что флаг занятости будет установлен в единицу и произойдет несколько итераций перед выходом из цикла. При замене метода ожидания сброса флага занятости BF на программную задержку в 250 мс везде, где это требует datasheet - инициализация происходит успешно (появляется курсор, как и должно быть). Вопрос: что можно сделать, чтобы вместо _delay_ms(250) использовать readBF(), т.к. этот путь мне кажется более верным (уж очень не хочется использовать задержку .__.)? Возможно, проблема в микросхеме, которая неверно выдает информацию при чтении? (Имеется вторая микросхема, она вообще не работает:D) З.Ы. На фото виден результат чтения флага BF и Adress Counter - установлен только бит RW. З.Ы.Ы Кому интересно - вот функция main(). Повторюсь - проблема только в методе readBF(): void LCD_I2C::init() { setBitRate(20000); initStart(); transmitAddrRW(0b01111110); //send PCF8574AT address + SLA+W _delay_ms(60); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(20); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(5); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(5); sendInstruction(0b00100000); //function set 4-bit operation readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00100000); //function set 4-bit operation, 2 lines, 5x8 dots sendInstruction(0b10000000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display off, cursor off, blinking off sendInstruction(0b10000000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display clear sendInstruction(0b00010000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //entry mode set increment, display shift off sendInstruction(0b01100000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display on, cursor off, blinking off sendInstruction(0b11100000); readBF();/ }
  4. 1602 и 12864

    Вопрос знатокам: можно ли без особых танцев с бубнами для выведения строчного текста вместо дисплея 1602 подключить 12864? В идеале используя то же количество проводов между контроллером и дисплеем. Контроллер Atmega8. И если можно, то как?
  5. Доброго времени суток, решил создать свои символы на LiquidCrystal по вертикали, нарисовал единичку показывает норм, рядом добавил пятерочку получил место 1->5 и место 5->разбитую 5 (можно на рисунке посмотреть) #include <BigCrystal.h> #include <LiquidCrystal.h> LiquidCrystal lcd(7, 8, 9, 10, 11, 12); BigCrystal bigCrystal(&lcd); /********************edinica********************/ byte edinica1[8] = { 0b11111, 0b11111, 0b01111, 0b00111, 0b00011, 0b00001, 0b00000, 0b00000 }; byte edinica2[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111 }; byte edinica3[8] = { 0b11111, 0b11111, 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b00000 }; byte edinica4[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111 }; byte edinica5[8] = { 0b11111, 0b11111, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; byte edinica6[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111 }; byte edinica7[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b00000 }; byte edinica8[8] = { 0b00000, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; /********************The End********************/ /******************** Pyat *********************/ byte pyat1[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b01111, 0b00111 }; byte pyat2[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; byte pyat3[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; byte pyat4[8] = { 0b00000, 0b00001, 0b00011, 0b00011, 0b00011, 0b00011, 0b00011, 0b00011 }; byte pyat5[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; byte pyat6[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; byte pyat7[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; byte pyat8[8] = { 0b11100, 0b11110, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; /********************* The End *********************/ /**/ /**/ void setup() { bigCrystal.begin(20, 4); /********************edinica********************/ lcd.createChar(1, edinica1); lcd.createChar(2, edinica2); lcd.createChar(3, edinica3); lcd.createChar(4, edinica4); lcd.createChar(5, edinica5); lcd.createChar(6, edinica6); lcd.createChar(7, edinica7); lcd.createChar(8, edinica8); /********************The End********************/ /********************* Pyat *********************/ lcd.createChar(9, pyat1); lcd.createChar(10, pyat2); lcd.createChar(11, pyat3); lcd.createChar(12, pyat4); lcd.createChar(13, pyat5); lcd.createChar(14, pyat6); lcd.createChar(15, pyat7); lcd.createChar(16, pyat8); /********************* The End *********************/ /**/ /**/ } void loop() { /**/ lcd.setCursor(19,0); lcd.write((uint8_t)16); lcd.setCursor(19,1); lcd.write((uint8_t)15); lcd.setCursor(18,0); lcd.write((uint8_t)14); lcd.setCursor(18,1); lcd.write((uint8_t)13); lcd.setCursor(17,0); lcd.write((uint8_t)12); lcd.setCursor(17,1); lcd.write((uint8_t)11); lcd.setCursor(16,0); lcd.write((uint8_t)10); lcd.setCursor(16,1); lcd.write((uint8_t)9); /**/ /********************edinica********************/ lcd.setCursor(19,2); lcd.write((uint8_t)8); lcd.setCursor(19,3); lcd.write((uint8_t)7); lcd.setCursor(18,2); lcd.write((uint8_t)6); lcd.setCursor(18,3); lcd.write((uint8_t)5); lcd.setCursor(17,2); lcd.write((uint8_t)4); lcd.setCursor(17,3); lcd.write((uint8_t)3); lcd.setCursor(16,2); lcd.write((uint8_t)2); lcd.setCursor(16,3); lcd.write((uint8_t)1); /******************** The End ********************/ }
  6. Прочитал про принцип работы и не понял, почему монохромный жк отлично видно и без подсветки, лишь за счёт внешнего света, а LCD tft, которые имеют ту же структуру (первый поляризационный фильтр, жидкие кристаллы, второй фильтр), без подсветки практически не читаемы? например, Nokia 1208 (как я понял, это не tft, поскольку матрицу нельзя назвать активной и транзисторов управляющих нет, но суть та же) и 1100.
  7. Обзор Touch-дисплеев 2.4" и 4.3" Nextion компании ITEAD с краудфандинговой платформы indiegogo. Краткий обзор, работа с редактором Nextion IDE, подключение к Arduino по UART-интерфейсу, отображение простейших элементов на дисплее и взаимодействие с контроллером. Скачать Nextion IDE (последняя версия) Nextion Instruction Set Nextion Editor Quick Start Guide Проект HMI и скетч для Arduino: Nextion 1.rar Скачать Nextion IDE 0.9: nextion-setup 0.9.zip
  8. Лампы подсветки LCD матрицы - CCFL 376мм 2,6мм Куплю в Питере 4-8штук. Новые.
  9. STM32F429ZG LTDC

    С наступающим, форумчане. Будьте так добры, посоветуйте дисплей под выше указанный камень и интерфейс, с разрешением не меньшим 480x320. На али нашел пару дисплеев под rasberry pi с контроллерами ili9486L, ili9488 подойдут ли они? Заранее спасибо. Да и еще вопросец. DMA2D относится только к LTDC, или к дисплеям подключенным на FMC тоже?
  10. С LCD на LED

    Доброго времени суток, имею в наличии цифровой термометр без LCD-экрана, т.к. треснул. Необходимо сейчас переделать его в LED. В городе нигде нет, а заказывать не хочу, хочу попробовать спаять.
  11. Народ, прошу помощи в решении проблемы. Решил собрать тестер полупроводниковых элементов по данной схеме. В конечном итоге на lcd дисплее светятся все сегменты, и никакого намеки на нормальную работу прибора. Собирался по схеме 1, и по схеме 2 (которая представлена здесь), реакция аналогичная. МК зашит правильно, опыт в этом есть. Все дорожки прозвонил, никаких коротышей нету, в чём проблема понять не могу. Первый опыт в подключении lcd дисплея и вывода на него информации..
  12. Хочу подключить его отдельно для видео глазка дома. Сам он полностью работает, когда подключаю к системе машины. Может кто даст совет куда подать напряжение что бы он отдельно завёлся ( часы не нужны ). или что замкнуть между собой. Я подал напряжение на защитный диод он параллельно с кондёром на 2200 мФх16В. По схеме пошло напряжение, но экран не светиться. Что посоветуете. Выхода на плате обозначены (на фото). Посоветуйте как быть. И ещё я вижу там RGB, это значить простой AV сигнал не получиться на него подать ?
  13. Всем привет ! Столкнулся с проблемой написания кода управления LCD экранчиком под C18 компилятором. В XC8 компиляторе или в MicroC IDE есть те или иные библиотеки для работы с LCD экраном. От отчаяния переписываю код из XC8 под C18, но пока ничего не выходит. В виду ускорения процесса ... прошу помощи. Может кто поделиться ? Всем откликнувшимся, отдельное спасибо !!! Хотя, вот нашёл что-то http://www.romux.com/bootloader/usb-pic18f4550/lcd-hello-world
  14. Замена Lcd Дисплея

    Добрый вечер господа, хотел узнать, может вы сможете мне помочь.. дело вот в чём, есть некий планшет с 7" дисплеем на борту, подключается дисплей по 30 пиновой шине данных. Из этой шины используется 21 пин, коннектор на материнке стандарта MIPI. Собственно в чём вопрос, можно ли узнать по каким пинам идет передача данных а по каким управление подсветкой и использовать 5" дисплей предворительно перепинив его?
  15. Всем привет! Имею в распоряжении LCD QC12864B. Написал для него код инициализации с парой функций для отправки команд и данных. Собираю все это в кучу, а дисплей не показывает ничего, даже мигающий курсор. Просто работает подсветка. При инициализации я указывал: показывать мигающий курсор. Использую параллельный вывод по 8 битам. Есть подозрение на мою неправильную работу с rst. Пробовал собирать все в протеусе, но с LM016L, т.к. моего в библиотеке нет. В итоге в симуляторе что-то выводит даже. /* Управление и вывод информации в LCD */ #include <avr/io.h> #define F_CPU 11059200UL #include <util/delay.h> #define RS PB0 #define RW PB1 #define E PB2 #define RESET PB3 void SaidComand(unsigned char COMAND) { //Устанавливаем низкий уровень E //Устанавливаем низкий уровень RS //Устанавливаем низкий уровень RW PORTB&=~((1<<E)|(1<<RS)|(1<<RW)); //Задержка 1 мкс. _delay_us(1); //Устанавливаем высокий уровень E PORTB|=(1<<E); //Отправляем в порт данных байт команды PORTA=COMAND; //Задержка 1 мкс. _delay_us(1); //Устанавливаем низкий уровень E PORTB&=~(1<<E); //Задержка 50 мкс. _delay_us(50); } void SaidData(unsigned char DATA) { //Устанавливаем низкий уровень E //Устанавливаем высокий уровень RS //Устанавливаем низкий уровень RW PORTB&=~((1<<E)|(1<<RW)); PORTB|=(1<<RS); //Задержка 1 мкс. _delay_us(1); //Устанавливаем высокий уровень E PORTB|=(1<<E); //Отправляем в порт данных байт команды PORTA=DATA; //Задержка 1 мкс. _delay_us(1); //Устанавливаем низкий уровень E PORTB&=~(1<<E); //Задержка 50 мкс. _delay_us(50); } int main(void) { //Настройка портов DDRA=0xFF; //На выход DDRB|=((1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)); PORTA=0x00; PORTB&=~((1<<RS)|(1<<RW)|(1<<E)); _delay_us(100); PORTB&=~(1<<RESET); //Инициализация дисплея //Задержка в 50 мс. _delay_ms(50); //Wait time //PORTB|=(1<<RESET); //Отправляем команду установки 8 битного режима. SaidComand(0b00110000); //FUNCTION SET //Задержка 120 мкс. _delay_us(120); //Повторно отправляем функцию установки 8 битного режима SaidComand(0b00110000); //FUNCTION SET //Задержка в 50 мкс. _delay_us(50); //Отправляем команду включения дисплея ( в ней же указывается, включить ли курсор, и мигать ли курсором) SaidComand(0b00001111); //DISPLAY STATUS //Задержка 120 мкс. _delay_us(120); //Отправляем команду отчистить экран SaidComand(0b00000001); //CLEAR //Задержка 20 мс. _delay_ms(20); //Устанавливаем ENTRY MODE (эта команда говорит о том в какую сторону сдвигать курсор после написания символа, нам соответственно нужно вправо) SaidComand(0b00000110); //ENTRY MODE SET //Отправка информации на дисплей SaidData(34); while(1) { } } LCD12864(st7920).pdf
  16. Необходимо запустить дисплей Nokia 5110 при помощи ATmega16, SPI сделал программный, пытаюсь инициализировать дисплей вроде все норм (Собирал схему в Proteus), а вывести не получается. Прошу помощи в данном вопросе, кто делал - поделитесь инфой
  17. Здравствуйте, форумчане. Помогите мне пожалуйста подобрать экран с точ-панелью для навигатора. Модели незнаю. нонейм. вскрыл, собрал все маркировки на платах, пофоткал. чтобы понять вообще что это за модель. схемы нет. да и не понимаю я ничего в них. все фото маркировок тут: http://vk.com/album40489285_216300579 разобрал аккуратно, вынул панель экран+точ. вот она полез на али и ибей и впал в ступор. именно такой маркировки KSD4304005 найти не смог. есть куча аналогичных девайсов. вот к примеру: http://www.ebay.com/itm/201069929481 но так как познаний у меня в радиоэлетронике нет никаких, я не уверн, что он подойдет. смотрю по пинам, по шлейфу все другое. единственное, что я понял что 1-2 пин это подсветка экрана. все. на этом мои познаних заканчиваются. понять подойдет ли мне этот экран или нет самостоятельно не могу. есть куча други вариантов дороже до 1,5-2-3 тыс р. но найти такого же как у меня я не смог. как понять? вообще может всеравно? все они однотипные и будут работать? может тупо рискнуть и взять более-менее подходящую? а не подойдет? куда мне ее деть потом? прошу помощи: пожалуйста помогите мне подобрать экран и точ-панель, аналогичный разбитому. заранее спасибо. зы. менять к сожалению надо всборе матрицу и точпанель, тк матрица тоже пострадала. справа кусок размером с рублевую монетку не показывает. более дешевый вариант перепаять только точпанель не рассматриваю.
  18. Всем здравствуйте! Есть следующая задача: Необходимо создать информационное табло, работающее на автономных источниках питания, притом оно должно располагаться на улице и работать в температурных диапазонах от -20 до +40, обновление информации будет раз в мин 10. Решая эту задачу удалось решить все вопросы за исключением средства отображения, так как не могу найти экранов с низким потреблением и работой в указанных тем. режимах. Требования к самому экрану: 1. Размер - Либо 21" до 24", либо прямоугольные полотна шириной примерно 10 см и длинной до 54 см. 2. Тип эрана любой - главное, чтобы удовлетворял требованиям размера, потребления и рабочей температуры. 3. Энергопотребление до 15 Вт. 4. Углы обзора не важны 5. Регулировка яркости или подсветка. p.s. 1. Склоняюсь к использованию электронной бумаги, но не нашел поставщиков таковой в РФ и не знаю, как она и её модификации дружат с морозом. 2. Нашел ЖК монитор с питание и передай информации по USB, потребляет 15 Вт, но опять же не знаю как его тип матрицы TN на морозе. Буду благодарен за любую информацию.
  19. Здравствуйте уважаемые специалисты! Есть китайское полезное устройство - бытовой дальномер Вывод в устройстве происходит через P89LPC9401FBD, эта же микруха все и считает, вторая я так понимаю хранит информацию про режим измерения и в момент когда измерение выполнено и требуется только вывод его на экран. На прозрачный дисплей выводится сила сигнала и расстояние до препятсвия в метрах или ярдах. Стоит задача, вывести параллельно на 7ми сегментный индикатор (3х разраядный) то, что передается на LCD дисплей Подскажите каким путем попробывать реализовать такую задачу? Думается про непосредственное подключение к выходам S0-S13 или изящное типа работы через интерфейс SIP. Прошу подсказать какой путь выбрать для решения данной задачи собственными скромными силами при этом не поломав девайс datasheet.pdfMAX3000A.pdf
  20. Atmega128 И Lcd 5110

    Здравствуйте, после трех дней жесткого сношения с контроллером, экранчиком, паяльником и Atmel Studio, решился задать вопрос сюда, надеясь на помощь. Есть задача- подключить дисплей от нокии 5110 к атмеге128. Мануал http://cxem.net/mc/mc274.php не помогает. Питание завожу на экран отдельно, от usb-ttl(может выдавать 3.3в), сигнал с атмеги, работающей на 5в, пробовал на сигнальные ставить по 10кОм и без них. "PBx" менял на "PINBx"- не помогает. пробовал различнейшие либы для работы- ноль реакции. как, кстати, и на популярный 1602 экран. атмега распаяна на отладочной плате MD-3, программируется USB-ASP через avrdude, код в AtmelStudio. Кстати, почему я менял PB на PINB- светодиод зажигается, только если к нему обратиться (1 << PINBx). Уже все волосы на жголове себе повырывал, помогите, люди добрые
  21. Добрый день. Давайте разберёмся с инициализирующей последовательностью дисплея Nokia 1202 (ST). Исходный материал: http://tuxotronic.or...ent/lcd/ste2007 Ноги дисплея: !RES, !CS, SDA, SCK Инициализирую, дёргая ноги контроллера attiny (такт. ч-та 1MHz, питание 3.3V) по следующему алгоритму. 1) Исходное состояние: !RES=1, !CS=1, SDA=0, SCK=0 2) Reset: !RES->0, пауза 0.5сек, !RES->1, пауза 0.5сек 3) Передача инициализирующей последовательности (0xA4, 0x2F, 0xAF, 0xA5) [font=courier new,courier,monospace]CLI ; запретить прерывания до конца передачи по SPI MOV R16, URxBYTE ; байт данных (будет сдвигаться) LDI R18, 0x08 ; счётчик сдвига -> 8 CBI INTERFACE_PORT, CSPIN ; !CS->0 CBI INTERFACE_PORT, SDAPIN ; SDA->0 (!D/C) SBI INTERFACE_PORT, SCKPIN ; SCK _/- (по + фронту бит передаётся в LCD) on0xBX_1_TxLoop: ; ЦИКЛ ПЕРЕДАЧИ БАЙТА CBI INTERFACE_PORT, SCKPIN ; SCK -\_ MOV R17, R16 ANDI R17, 0x80 ; берём старший бит данных BST R17, 7 ; сохраняем в T IN R19, INTERFACE_PORT BLD R19, SDAPIN ; T -> SDAPIN OUT INTERFACE_PORT, R19 LSL R16 ; R16<<1 (байт данных) DEC R18 SBI INTERFACE_PORT, SCKPIN ; SCK _/- BRNE on0xBX_1_TxLoop CBI INTERFACE_PORT, SCKPIN ; SCK -\_ (по - фронту выполняется команда в LCD) SBI INTERFACE_PORT, CSPIN ; !CS->1 (по + фронту !CS вып. команда LCD) SEI ; разрешить прерывания по окончании передачи SPI RJMP pRxB_ret ; возвращаемся в точку выхода[/font] то есть перед началом передачи: - !CS->0 (активация интерфейса) - SDA->0 (первый бит=0, обозначает начало команды) - SCK->1 (по + фронту данные записываются в приёмник дисплея) в процессе передачи: - SDA-> очередной бит данных - SCK ->0, ->1 (формируем тактовый импульс, данные переносятся по + фронту) после передачи: - SCK ->0 (в исходное) - !CS -> 1 (исходное, отключение интерфейса LCD) И вот. НИКАКОЙ реакции. Начальные последовательности какие только не пробовал, и с ресетом (0xE2) и без. И в разной последоваетльности крутил разные команды. Хотя один раз у меня вдруг отобразились все точки (0xa5 сработала таки?) (причём в тот раз у меня тактовые импульсы подавались вообще ~ 1 гц). Потом показал какую-то рябь на экране, и с тех пор всё. У кого какие мысли? Я уже мозги сломал. кстати, как тут нормально форматирование сохранить? Табы не сохраняются, пробелы все тоже схлопываются..
  22. Uart Lcd Hd44780 Attiny13

    Всем привет, оцените проект, вот схема: А вот видео работы: Файлы протеуса и хекс файл: https://vk.com/doc256435878_327443957
  23. Делаю следующее подключаю lcd wh1602b winstar к atmega16 Заливаю простенькую программу в мегу #include <mega16.h> #include <delay.h> // инициализация порта В под ЖКИ #asm .equ __lcd_port=0x15 ;PORTC #endasm #include <lcd.h> void main(void) { PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00; TCCR0=0x00; TCNT0=0x00; OCR0=0x00; TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; MCUCSR=0x00; TIMSK=0x00; UCSRB=0x00; ACSR=0x80; SFIOR=0x00; ADCSRA=0x00; SPCR=0x00; TWCR=0x00; lcd_init(16); lcd_gotoxy(0,0); lcd_putsf("Hello"); lcd_gotoxy(0,1); lcd_putsf("radioaktiv.ru"); while (1) { } } И о чюдо на второй строчке рисуется буква О это все чего я смог добится подскажите новичку что делать
  24. Дисплей Nokia1202 + Asm

    Добрый день! Подскажите, кто-нибудь видел готовый проект с дисплеем nokia 1202 (1280), исходник которого написан на ассемблере. Всё что мне попадалось, на С. На С не пишу. Нужно чтобы код инициализировал дисплей и выводил на него что-нибудь. Чем проще будет проект, тем лучше. Спасибо.
  25. Подскажите библиотеку для работы LCD дисплея для avr студии на базе контроллера HD44780. Желательно с примерами. Если можно вложением. PS Нашёл несколько, пытался использовать не выходит (в протеусе симуляция не проходит). Толи от недостатка знаний толи руки не оч ровные. Заранее спасибо за помощь)))