ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
12 августа
1597402 Топик полностью
=L.A.= (23.07.2026 13:30, просмотров: 101) ответил reZident на Во-первых, часть кириллических символов имеет то же начертание, что и латинские символы (B - В, A - A, C - С) и поэтому не имеет отдельного кода в знакогенераторе дисплея. И, во-вторых, заранее неизвестно, в какой кодировке у вас будет исходная строка - CP1251, KOI-xx, UFT-8? Поэтому вам нужна таблица перекодировки исходной строки символов в коды символов знакогенератора дисплея. И функция для этой перекодировки.
таблицу я и сделал. 
//##########################################################################//
//**************************************************************************//
//  Формирование кодов символов LCD  дисплея. Кириллица и спецсимволы       //
//==========================================================================//
uchar   Kiryl_LCD_cod2 ( uchar   c )                                        //
{                                            
   uchar  sgm1;                                 //                          //
//                                              //                          //
   switch ( c )                                 //                          //
      {                                         //                          //
         case '0':                              //                          //
         case 0: sgm1 = _0b_00110000; break;    //   _0b_00110000;          //
         case '1':                              //   _0b_00110001;          //
         case 1: sgm1 = _0b_00110001; break;    //   _0b_00110010;          //
         case '2':                              //   _0b_00110011;          //
         case 2: sgm1 = _0b_00110010; break;    //   _0b_00110100;          //
         case '3':                              //   _0b_00110101;          //
         case 3: sgm1 = _0b_00110011; break;    //   _0b_00110110;          //
         case '4':                              //   _0b_00110111;          //
         case 4: sgm1 = _0b_00110100; break;    //   _0b_00111000;          //
         case '5':                              //   _0b_00111001;          //
         case 5: sgm1 = _0b_00110101; break;    //                          //
         case '6':                              //                          //
         case 6: sgm1 = _0b_00110110; break;    //                          //
         case '7':                              //                          //
         case 7: sgm1 = _0b_00110111; break;    //                          //
         case '8':                              //                          //
         case 8: sgm1 = _0b_00111000; break;    //                          //
         case '9':                              //                          //
         case 9: sgm1 = _0b_00111001; break;    //                          //
//--------------------------------------------- //                          //   
         case 'А': sgm1 = _0b_01000001; break;  //                          //  
         case 'Б': sgm1 = _0b_10100000; break;  //                          //  
         case 'В': sgm1 = _0b_01000010; break;  //                          //
         case 'Г': sgm1 = _0b_10100001; break;  //                          //
         case 'Д': sgm1 = _0b_11100000; break;  //                          //
         case 'Е': sgm1 = _0b_01000101; break;  //                          //
         case 'Ё': sgm1 = _0b_10100010; break;  //                          //
         case 'Ж': sgm1 = _0b_10100011; break;  //                          //
         case 'З': sgm1 = _0b_10100100; break;  //                          //
         case 'И': sgm1 = _0b_10100101; break;  //                          //
         case 'Й': sgm1 = _0b_10100110; break;  //                          //
         case 'К': sgm1 = _0b_01001011; break;  //                          //
         case 'Л': sgm1 = _0b_10100111; break;  //                          //
         case 'М': sgm1 = _0b_01001101; break;  //                          //
         case 'Н': sgm1 = _0b_01001000; break;  //                          //
         case 'О': sgm1 = _0b_01001111; break;  //                          //
         case 'П': sgm1 = _0b_10101000; break;  //                          //
         case 'Р': sgm1 = _0b_01010000; break;  //                          //
         case 'С': sgm1 = _0b_01000011; break;  //                          //
         case 'Т': sgm1 = _0b_01010100; break;  //                          //
         case 'У': sgm1 = _0b_10101001; break;  //                          //
         case 'Ф': sgm1 = _0b_10101010; break;  //                          //
         case 'Х': sgm1 = _0b_01011000; break;  //                          //
         case 'Ч': sgm1 = _0b_10101011; break;  //                          //
         case 'Ш': sgm1 = _0b_10101100; break;  //                          //
         case 'Ъ': sgm1 = _0b_10101101; break;  //                          //
         case 'Ь': sgm1 = _0b_01100010; break;  //                          //
         case 'Ы': sgm1 = _0b_10101110; break;  //                          //
         case 'Э': sgm1 = _0b_10101111; break;  //                          //
         case 'Ц': sgm1 = _0b_11100001; break;  //                          //
         case 'Щ': sgm1 = _0b_11100010; break;  //                          //
         case 'Ю': sgm1 = _0b_10110000; break;  //                          //
         case 'Я': sgm1 = _0b_10110001; break;  //                          //
//                                              //                          //
         case 'а': sgm1 = _0b_01100001; break;  //                          //  
         case 'б': sgm1 = _0b_10110010; break;  //                          //
         case 'в': sgm1 = _0b_10110011; break;  //                          //
         case 'г': sgm1 = _0b_10110100; break;  //                          //
         case 'д': sgm1 = _0b_11100011; break;  //                          //
         case 'е': sgm1 = _0b_01100101; break;  //                          //
         case 'ё': sgm1 = _0b_10110101; break;  //                          //
         case 'ж': sgm1 = _0b_10110110; break;  //                          //
         case 'з': sgm1 = _0b_10110111; break;  //                          //
         case 'и': sgm1 = _0b_10111000; break;  //                          //
         case 'й': sgm1 = _0b_10111001; break;  //                          //
         case 'к': sgm1 = _0b_10111010; break;  //                          //
         case 'л': sgm1 = _0b_10111011; break;  //                          //
         case 'м': sgm1 = _0b_10111100; break;  //                          //
         case 'н': sgm1 = _0b_10111101; break;  //                          //
         case 'о': sgm1 = _0b_01101111; break;  //                          //
         case 'п': sgm1 = _0b_10111110; break;  //                          //
         case 'р': sgm1 = _0b_01110000; break;  //                          //
         case 'с': sgm1 = _0b_01100011; break;  //                          //
         case 'т': sgm1 = _0b_10111111; break;  //                          //
         case 'у': sgm1 = _0b_01111001; break;  //                          //
         case 'ф': sgm1 = _0b_11100100; break;  //                          //
         case 'х': sgm1 = _0b_01111000; break;  //                          //
         case 'ц': sgm1 = _0b_11100101; break;  //                          //
         case 'ч': sgm1 = _0b_11000000; break;  //                          //
         case 'ш': sgm1 = _0b_11000001; break;  //                          //
         case 'ъ': sgm1 = _0b_11000001; break;  //                          //
         case 'щ': sgm1 = _0b_11100110; break;  //                          //
         case 'ы': sgm1 = _0b_11000011; break;  //                          //
         case 'ь': sgm1 = _0b_11000100; break;  //                          //
         case 'э': sgm1 = _0b_11000101; break;  //                          //
         case 'ю': sgm1 = _0b_11000110; break;  //                          //
         case 'я': sgm1 = _0b_11000111; break;  //                          //
//----------------------------------------------//------------------         //
         case ' ': sgm1 = _0b_00100000; break;  //                          //
         case '[': sgm1 = _0b_01011011; break;  //                          //
         case ']': sgm1 = _0b_01011101; break;  //                          //
         case '^': sgm1 = _0b_01011110; break;  //                          //
         case '_': sgm1 = _0b_01011111; break;  //                          //
         case '=': sgm1 = _0b_00111101; break;  //                          //
         case '-': sgm1 = _0b_00101101; break;  //                          //
         case '+': sgm1 = _0b_00101011; break;  //                          //
         case '*': sgm1 = _0b_00101010; break;  //                          // 
         case ')': sgm1 = _0b_00101001; break;  //                          //  
         case '(': sgm1 = _0b_00101000; break;  //                          //  
         case '`': sgm1 = _0b_00100111; break;  //                          // 
         case '.': sgm1 = _0b_00101110; break;  //                          //
         case ',': sgm1 = _0b_00101100; break;  //                          // 
         case '&': sgm1 = _0b_00100110; break;  //                          // 
         case '%': sgm1 = _0b_00100101; break;  //                          // 
         case '$': sgm1 = _0b_00100100; break;  //                          // 
         case '#': sgm1 = _0b_00100011; break;  //                          // 
         case '!': sgm1 = _0b_00100001; break;  //
         case '/': sgm1 = _0b_00101111; break;  //
//     
         case ':': sgm1 = _0b_00111010; break;   //                          //
         case ';': sgm1 = _0b_00111011; break;   //                          //
         case '<': sgm1 = _0b_00111100; break;   //                          //
         case '>': sgm1 = _0b_00111110; break;   //                          //
         case '?': sgm1 = _0b_00111111; break;   //                          //
//                                              //                          //
         case '"': sgm1 = _0b_11001011; break;  //                          //
         case '~': sgm1 = _0b_11101001; break;  //                          //
//                                              //                          //
         default :                           
           return ( 0x20 );                  
//                                           
      } /* switch */                         
//                                           
      return ( sgm1 );                       
//                                           
} // Kiryl_LCD_cod2 */