[an error occurred while processing this directive]
|
Если имеются ввиду LCD дисплеи типа PC1602 и подобные, то какие-то процедуры перекодировки это лишняя трата времени и памяти программ. У меня сделано так:
// Соответствие символов и кодов индикатора
// Русские символы большие
#define AA 0x41
#define BB 0xa0
#define VV 0x42
#define GG 0xa1
#define DD 0xe0
#define EE 0x45
#define YO 0xa2
#define ZH 0xa3
#define ZZ 0xa4
#define II 0xa5
#define JJ 0xa6
#define KK 0x4b
#define LL 0xa7
#define MM 0x4d
#define NN 0x48
#define OO 0x4f
#define PP 0xa8
#define RR 0x50
#define SS 0x43
#define TT 0x54
#define UU 0xa9
#define FF 0xaa
#define HH 0x58
#define TS 0xe1
#define CH 0xab
#define SH 0xac
#define SHCH 0xe2
#define TZ 0xad
#define YI 0xae
#define MZ 0x62
#define EA 0xaf
#define YU 0xb0
#define YA 0xb1
// Русские символы малые
#define aa 0x61
#define bb 0xb2
#define vv 0xb3
#define gg 0xb4
#define dd 0xe3
#define ee 0x65
#define yo 0xb5
#define zh 0xb6
#define zz 0xb7
#define ii 0xb8
#define jj 0xb9
#define kk 0xba
#define ll 0xbb
#define mm 0xbc
#define nn 0xbd
#define oo 0x6f
#define pp 0xbe
#define rr 0x70
#define ss 0x63
#define tt 0xbf
#define uu 0x79
#define ff 0xe4
#define hh 0x78
#define ts 0xe5
#define ch 0xc0
#define sh 0xc1
#define shch 0xe6
#define tz 0xc2
#define yi 0xc3
#define mz 0xc4
#define ea 0xc5
#define yu 0xc6
#define ya 0xc7
//пробел
#define SPC 0x20
//стрелки
#define arr_up 0xd9
#define arr_dwn 0xda
Строки задаю так:
из английских символов
const char sSetup[] = {'S', 'e', 't', 'u', 'p', ':', SPC, SPC, 0};
из русских символов
const char sObormot[] = {OO, bb, oo, rr, mm, oo, tt, SPC, 0};
Тот же принцип и для варианта программы на ассемблере.
E-mail: info@telesys.ru