Индикатор от Nokia 3310 - дешёвый графический ЖКИ, его обычно легче купить, чем остальные ЖКИ (так как он - комплектующая к мобильнику). Телефоны Nokia 3310, 3315, 3330, 3350, 3410 используют один и тот индикатор. Он основан на контроллере pcd8544. ЖКИ монохромный (черно-белый), без подсветки, с разрешением 84x48. Описание индикатора от Nokia 3310 есть в проекте SerialDisplayLib. В MP3-плеере a.lp-mp3 используется ЖКИ от Nokia 3310.
В отличие от символьных ЖКИ, в индикаторе от Nokia 3310 есть SPI (Serial Peripheral Interface). Возможно только записывать данные в ЖКИ, значит, используются выводы MOSI (Master Out - Slave In, мастер - выход, помощник - вход) и SCK, на индикаторе нет вывода MISO. Естественно, МК - мастер, а ЖКИ - помощник. Выводы D/C, CS и RESET можно подключить к любой линии порта. Номинал конденсатора C1 (с Vout на "землю") - от 0.1 μF до 2.2 μF.
Обратите внимание, что напряжение питания составляет 3.3 В (2.7-3.3 В), а не 5 В.
Схема платы с ЖКИ от Nokia 3310
Скачать схему платы с ЖКИ от Nokia 3310 в формате TinyCad (.dsn)
Программа показывает "шахматную доску" с размером ячейки 4x4 пикселя.
import mcujavasource.mcu.*;
import mcujavasource.mcu.external.lcd.Nokia3310Lcd;
/** Tutorial 10: Nokia 3310 LCD.
* Shows "chess board" on LCD, cell size 4x4 pixels.
*/
public class Main extends Microcontroller
{
public static final String MESSAGE = "Hello, LCD!";
private Nokia3310Lcd lcd;
private Port lcdControlPort = getHardware().getPort("B");
private Pin csPin = lcdControlPort.getPin(1);
private Pin dcPin = lcdControlPort.getPin(0);
private Pin resetPin = lcdControlPort.getPin(2);
public void init()
{ getHardware().setAllPortsDirection(Pin.IN);
getHardware().setAllPortsPullUp(true);
lcd = new Nokia3310Lcd(csPin, dcPin, resetPin);
}
public void start()
{ lcd.init();
lcd.setPosition(0, 0);
for(int row = 0; row < 6; row ++)
{ for(int col = 0; col < 84; col++)
{ byte data = 0x0F;
if((col & 4)==0) data = (byte)0xF0;
lcd.sendData(data);
}
}
getHardware().setInterruptsEnabled(true);
}
}