А что, если записать все служебные символы , в том числе и русские буквы в EEPROM, а потом по необходимости их оттуда доставать и сразу кидать в одну единственную ячейку дисплея, предназначенную для символов пользователя. Не зная, как это выглядит в ASM-е, а в Bascom-е так:
Readeeprom S, &H10 ' S - переменная для символа , &H10 - адрес в EEPROM, где хранится код этого символа
Locate 1, 1 ' располагаем курсор в позицию первая строка, первый столбец (на самом деле в любое место)
Lcd S ' отображаем то, что считали из EEPROM
и так далее. Можно все сделать в цикле. Можно в EEPROM-е хранить даже целые фразы ака названия станций. Немного уменьшится быстродействие программы, да бесспорно, но ведь считывание символов не нужно постоянно. Раз считали, а потом просто отображаем из буфера дисплея. Особенно это актуально для графических дисплеев, в которых буфер графики отдельный от буфера символов...
А закидывать в EEPROM так:
Deflcdchar [x], 224, 224, 224, 224, 224, 224, 224, 224 ' где [x] это номер ячейки дисплея для символов, определяемых пользователем (0-7)
' цифрами (здесь 244) кодируется символ - в BascomAVR есть встроенный редактор символов дисплея...
S = Chr(0)
Writeeeprom S, &H10 ' запись в EEPROM переменной S по адресу &H10