ЖКИ представляет собой 10-разрядный индикатор, имеющий простой
2-х проводный интерфейс, а также встроенные часы и таймер.
  Вывод данных на индикатор осуществляется побитно по линии DI, последовательным
четырехбитным кодом, начиная с младшего бита. Выводимый бит стробируется отрицательным
перепадом на линии CLK. Выведенный символ печатается с правого разряда индикатора
и сдвигается влево по приходе следующего символа.
  Далее приводится текст программы на языке С для управления индикатором PIC-контроллером.
  Схема включения:
0-бит порта В - CLK LCD
1-бит порта В - DI LCD
/*-------------начало примера-------------*/ . . . #define zero 10 #define blank 0 char lcd_code [10] = {zero, 1, 2, 3, 4, 5, 6, 7, 8 ,9 }; char display [10]; char tmp; char temp; void outDigit (char data) { for (tmp=0; tmp<4; tmp++) { asm bsf PORTB, 0; // CLK - up if (data&8 == 8) asm bsf PORTB, 1; // бит данных - 1 else asm bcf PORTB, 1; // бит данных - 0 data = data << 1; asm bcf PORTB, 0; // CLK - down } char convert(long value, long mod, long div) { return ((value % mod) / div); } outString( long value, char pos) { // вывод числа value с позиции pos char temp; for ( temp = 1; temp < 11; temp++) display [temp] = blank; display [pos + 3] = lcd_code[ convert(value, 10, 1) ]; display [pos + 2] = lcd_code[ convert(value, 100, 10) ]; display [pos + 1] = lcd_code[ convert(value, 1000, 100) ]; display [pos ] = lcd_code[ convert(value, 10000, 1000) ]; for ( temp = 1; temp < 11; temp++) { outDigit( display[temp]); } } . . . /* пример использования - вывод чисел от 0000 до 9999 на индикатор с 5-й позиции */ for (i=0; i<10000; i++) { outString(i, 5); delay_ms(250); } /*-------------окончание примера-------------*/