Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » LCD дисплеи Nextion ?


LCD дисплеи Nextion ?

Сообщений 121 страница 123 из 123

121

Иногда хочется отойти от предлагаемых редактором Nextion набора цветов.
Но тут возникает вопрос - Nextion использует режим 565RGB, в отличие от привычного 888RGB.
Суть в том, что для задания цвета берутся 5 бит R, 6 бит G и 5 бит B...
Калькулятор в Excel позволяет это сделать (писать этот мизер в VB просто влом ;) ).
https://yadi.sk/d/k-eskL81oFKVBg
http://forumuploads.ru/uploads/0000/25/b8/1743/t13782.jpg
Порядок работы:
- открываем калькулятор в Excel
- на любой ячейке активизируем "Заливку"
- выбираем "Другие цвета" > "Спектр"
- выбираем нужный цвет, значения RGB вносим в указанные цветом ячейки
- в ячейки D6 забираем код RGB в формате Nextion

+3

122

Nord написал(а):

Иногда хочется отойти от предлагаемых редактором Nextion набора цветов.
Но тут возникает вопрос - Nextion использует режим 565RGB, в отличие от привычного 888RGB.
Суть в том, что для задания цвета берутся 5 бит R, 6 бит G и 5 бит B

Можно и прямо в МК

Вывод_на_lcd_16_bit_из_24_bit:
        !LD    R16  ,  X +       ' Синий в R16
        !LD    R17  ,  X +       ' Зелёный в R17
        !LD    R18  ,  X +       ' Красный в R18
        !ANDI  R18  ,  &b11111000       ' Обрезаем по маске

      ' Зелёный
        !ROL   R17       ' Циклический сдвиг влево через C
        !ROL   R17       ' Циклический сдвиг влево через C
        !ROL   R17       ' Циклический сдвиг влево через C
        !ROL   R17       ' Циклический сдвиг влево через C
        !MOV   R24  ,  R17       ' Копируем регистры
        !ROR   R17       ' Циклический сдвиг вправо через C
        !ANDI  R17  ,  &b11100000       ' Режем по маске
        !ANDI  R24  ,  &b00000111       ' Режем по маске

      ' Синий
        !LSR   R16       ' Логический сдвиг вправо
        !LSR   R16       ' Логический сдвиг вправо
        !LSR   R16       ' Логический сдвиг вправо
        !OR    R17  ,  R16       ' Сливаем 5 bit синего и 3 bita зелёного
        !OR    R24  ,  R18       ' Сливаем 3 bita зелёного и 5 bit красного

     ' Выводим пиксель с нужным цветом по нужному адресу на LCD
     'Пишем_цветность_в_lcd:

        !OUT Data_disp_high  ,  R24
        !OUT Data_disp_low   ,  R17

+2

123

Спасибо. Возьму в копилку.  :cool:

sasha_1973 написал(а):

Можно и прямо в МК

Собственно, необходимость такого расчета возникает при передаче команды в дисплей.
В самом редакторе есть возможность выбрать любой цвет из палитры и что-то считать смысла нет.
Но изменить цвет извне - уже есть необходимость в калькуляции, если не использовать стандартные (RED, BLUE...).

0


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » LCD дисплеи Nextion ?