LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

Obsługa graficznego wyświetlacza z telefonu Nokia 3310 za pomocą mikrokontrolerów STM32

Polecenia sterownika PCD8544

Sterownik akceptuje dwa zestawy komend: standardowy i rozszerzony, ich opisy zestawiono w tab. 1.

Tab. 1. Polecenia sterownika PCD8544 (zgodnie z dokumentacją firmy NXP)

Instrukcja D/C Bajt komendy Opis
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
H=0 lub H=1
NOP 0 0 0 0 0 0 0 0 0 Nic nie rób
Function Set 0 0 0 1 0 0 PD V H Tryb obniżonego poboru energii (PD), adresowania (V) i komendy rozszerzone (H)
Write Data 1 D7 D6 D5 D4 D3 D2 D1 D0 Zapisanie pamięci RAM
H=0 podstawowy zestaw komend
Reserved 0 0 0 0 0 1 X X Nie używać
Display Control 0 0 0 0 0 1 D 0 E Konfiguracja wyświetlacza
Reserved 0 0 0 0 1 x x X X Nie używać
0 0 1 0 0 0 Y2 Y1 Y0 Ustawienie licznika wierszy 0…5
Set X address 0 1 X6 X5 X4 X3 X2 X1 X0 Ustawienie licznika kolumn 0…83
H=1 Rozszerzony zestaw komend
Reserved 0 0 0 0 0 0 0 0 1 Nie używać
Reserved 0 0 0 0 0 0 0 1 X Nie używać
Temperature Control 0 0 0 0 0 0 1 TC1 TC0 Współczynnik temperaturowy
Reserved 0 0 0 0 0 1 x X X Nie używać
Bias System 0 0 0 0 1 0 BS2 BS1 BS0 Ustawienie BIAS
Reserved 0 0 1 X X X x X X Nie używać
Set Vop 0 1 Vop6 Vop5 Vop4 Vop3 Vop2 Vop1 Vop0 Napięcie zasilania matrycy (kontrast)

Opis parametrów z tab. 1.

Oznaczenie Gdy 0 Gdy 1
PD Układ aktywny Tryb obniżonego poboru mocy
V Adresowanie poziome Adresowanie pionowe
H Podstawowy zestaw instrukcji Rozszerzony zestaw instrukcji
D E
0 0
0 1
1 0
1 1
Wyświetlacz wygaszony
Tryb normalny
Wszystkie segmenty zapalone
Wyświetlanie w inwersji
TC1  TC0
0      0
0      1
1      0
1      1
VLCD współczynnik temperaturowy 0
VLCD współczynnik temperaturowy 1
VLCD współczynnik temperaturowy 2 (standardowy)
VLCD współczynnik temperaturowy 3

Komenda Function Set jest przeznaczona do programowego przełączania wyświetlacza w tryb obniżonego poboru energii, sposobu adresowania pamięci RAM i ustawiania zestawu komend (normalny lub rozszerzony).
Kontrast wyświetlacza zależy od napięcia zasilającego matrycę LCD i jest ustawiany komendą Set Vop. Można ustawić 128 wartości, ale użyteczny zakres regulacji to wartości od 30 do 90.
Komenda Temperature Control umożliwia ustalenie jednej z 4 predefiniowanych charakterystyk kompensacji temperaturowej kontrastu. Dla większości zastosowań można zastosować współczynnik 2 (TC1=1, TC0=0). Dla wyświetlacza od telefonu Nokia 3310 wartość parametru BIAS powinna wynosić 3.

Niezgodność sterownika ze standardem PCD8544

Do testowania procedur obsługi LCD zastosowano moduł KAmodLCD1 (fot. 7) i płytę ewaluacyjną STM32Butterfly z mikrokontrolerem STM32F107. Wyświetlacz dołączono do mikrokontrolera zgodnie ze schematem elektrycznym pokazanym na rys. 8.

Fot. 7. Wygląd modułu KAmodLCD1

Fot. 7. Wygląd modułu KAmodLCD1

 

Rys. 8. Schemat elektryczny ilustrujący sposób połączenia mikrokontrolera STM32F107 z modułem KAmodLCD1 (zastosowany w prezentowanym przykładzie)

Rys. 8. Schemat elektryczny ilustrujący sposób połączenia mikrokontrolera STM32F107 z modułem KAmodLCD1 (zastosowany w prezentowanym przykładzie)

Do obsługi linii portów GPIO najlepiej jest wykorzystać biblioteki producenta mikrokontrolerów. Na list. 1 przedstawiono definicje linii i konfigurację portu GPIOA używanego do sterowania wyświetlaczem.

List. 1. Definicja linii wykorzystywanych do transmisji danych i konfiguracja portów

//definicja portu 
#define PORT_DISP_NOKIA GPIOA 
#define RCC_APB2Periph_DISP_NOKIA RCC_APB2Periph_GPIOA 
//definicja linii portu 
#define CLK GPIO_Pin_0  //CLK PA0 
#define DATA GPIO_Pin_1 //DATA PA1 
#define DC GPIO_Pin_2   //D_nC PA2 
#define RES GPIO_Pin_3  //RESET PA3 
#define SCE GPIO_Pin_4  //SCE PA4 

RCC_APB2PeriphClockCmd(RCC_APB2Periph_DISP_NOKIA, ENABLE); 

GPIO_InitStructure.GPIO_Pin = CLK | DATA | DC | RES | SCE ; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
GPIO_Init(PORT_DISP_NOKIA, &GPIO_InitStructure);
Absolwent Wydziału Elektroniki Politechniki Wrocławskiej, współpracownik miesięcznika Elektronika Praktyczna, autor książek o mikrokontrolerach Microchip i wyświetlaczach graficznych, wydanych nakładem Wydawnictwa BTC. Zawodowo zajmuje się projektowaniem zaawansowanych systemów mikroprocesorowych.
Tagi: LCD, projekt, STM32