Подпрограмма переноса подготовленных буферов в матрицу. В данном случае использую две матрицы 64х32.
Длина строки 16 байт. Высота 16 бит верхней части, 16 нижней. Таких подпрограм 4 с учетом высоты символа 8 бит, и разукрашивания дисплея.
'=============================================================
Загрузка_верх_1:
R_1 = 0 : G_1 = 0 : B_1 = 0 : R_2 = 0 : G_2 = 0 : B_2 = 0 'Обнуление всех данных для передачи
Oe = 1 'Отключение всего дисплея
For Temp2 = 1 To 16 ' Загружаем 16 байт (одну строку)
'-----------------------------------------------------------------------------------------
!push R16
!push R17
Loadadr Data1(temp2) , X
!ld R16 , X
!ldi R17 , 8 ' 8 бит в байте
Next_bit1: ' Загоняем данные
'!SBRc R16 , 0
' R_1 = 1
!SBRc R16 , 0
G_1 = 1
!SBRc R16 , 0
B_1 = 1
'!SBRs R16 , 0 ' Пропустить если бит в регистре установлен
' R_1 = 0
!SBRs R16 , 0 ' Пропустить если бит в регистре установлен
G_1 = 0
!SBRs R16 , 0
B_1 = 0
!roR R16 ' Сдвигаем влево биты в байте
Write_clk1: ' Передаём тактовые импульсы
Clk = 1
Clk = 0
!dec R17 ' Считаем биты
!brne Next_Bit1
!pop R16
!pop R17
'-----------------------------------------------------------------------------------------=
Next
Pulseout Portg , 3 , 5 'Счелкаем защелкой для переноса содержимого регистров в буфера индикации
Oe = 0 'Включаем дисплей
Return
'======================================================================Это код Алекандра для передачи по SPI.
В данном случае включаются зеленый, и синий одновременно. Красный закомментирован. Получается голубой цвет.
Строка = " Улица #" + Temper_str + "°C &" + Vbatstr + "В "
Вся строка будет голубого цвета.
Как сделать например(" Улица) красный, (#" + Temper_str + "°C) зеленый, ( &" + Vbatstr + "В ") синий?
Между символами в скобках пробел. Шрифт этой строки 5х8. Те переход на другой цвет можно сделать на черном месте, если считать байтами.

