Символьные ЖКИ на основе HD44780-совместимого контроллера поддерживаются библиотекой внешних устройств, значит, работать с ними просто. MCU Java source работает с индикаторами с любым количеством символов, расположенных в 1, 2, 3 или 4 строки. Строки 3 и 4 считаются продолжениями строк 1 и 2 соответственно.
В ЖКИ можно только записывать информацию, вывод R/W индикатора подсоединён к "земле".
ЖКИ можно подключить к МК такими способами:
В каждом режиме, кроме режима внешней памяти, выводы RS и E индикатора можно подключить к любым линиям порта МК. В данном учебнике символьный ЖКИ подключен в режиме 1 (4-битный режим, выводы данных подсоединены к одному порту в правильном порядке: DB4 к PD4, DB5 к PD5, DB6 к PD6, DB7 к PD7).
Схема платы с символьным ЖКИ
Скачать схему платы с символьным ЖКИ в формате TinyCad (.dsn)
Эта простая тестовая программа показывает текст "Hello, LCD!" на первой строке и "This is line 2" - на второй. Строка "Hello, LCD!" загружается из Flash-памяти, а вторая хранится в оперативной памяти. Обратите внимание, что строки и номера символов (в качестве аргументов метода setPosition
) считаются, начиная с 0.
import mcujavasource.mcu.*;
import mcujavasource.mcu.external.lcd.CharacterLcd;
/** Tutorial 9: Character LCD.
*/
public class Main extends Microcontroller
{
public static final String MESSAGE = "Hello, LCD!";
private CharacterLcd lcd;
private Port lcdPort = getHardware().getPort("D");
private Port lcdControlPort = getHardware().getPort("C");
private Pin rsPin = lcdControlPort.getPin(5);
private Pin ePin = lcdControlPort.getPin(3);
public void init()
{ getHardware().setAllPortsDirection(Pin.IN);
getHardware().setAllPortsPullUp(true);
lcd = new CharacterLcd(16, 2, rsPin, ePin, lcdPort, 4);
}
public void start()
{ lcd.init();
lcd.setPosition(0, 0);
lcd.write(MESSAGE);
lcd.setPosition(1, 0);
lcd.write("This is line 2");
getHardware().setInterruptsEnabled(true);
}
}