LinkedIn YouTube Facebook
Szukaj

Wstecz
Artykuły

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

List. 5. Sposób wyzerowania pamięci obrazu

for(i=0;i<504;i++) 
   WriteData(0x00);//zerowanie pamięci obrazu

Takie postępowanie daje zawsze dobry skutek w przypadku sterowników PCD8544, niestety część modułów wyświetlaczy jest wyposażonych w sterowniki innego (niestety nieznanego) typu, w przypadku których tak przeprowadzone zerowanie nie zawsze dawało poprawny skutek (fot. 9).

 

Fot. 9. Moduły wyświetlaczy wyposażone w sterowniki inne niż PCD8544 nie dają się prawidłowo zainicjalizować – na zdjęciu widać niepoprawne wyzerowanie zawartości pamięci obrazu

Fot. 9. Moduły wyświetlaczy wyposażone w sterowniki inne niż PCD8544 nie dają się prawidłowo zainicjalizować – na zdjęciu widać niepoprawne wyzerowanie zawartości pamięci obrazu

 

Fot. 10. Moduły LCD wyposażone w sterowniki inne niż PCD8544 nieprawidłowo wyświetlają bitmapy wprowadzone do pamięci obrazu w sposób przewidziany dla PCD8544

Fot. 10. Moduły LCD wyposażone w sterowniki inne niż PCD8544 nieprawidłowo wyświetlają bitmapy wprowadzone do pamięci obrazu w sposób przewidziany dla PCD8544

 

Fot. 11. Przykład kłopotów z wyświetlaniem znaków alfanumerycznych na wyświetlaczu LCD z Nokii 3310 sterowanym przez sterownik innego typu niż PCD8544

Fot. 11. Przykład kłopotów z wyświetlaniem znaków alfanumerycznych na wyświetlaczu LCD z Nokii 3310 sterowanym przez sterownik innego typu niż PCD8544

 

Fot. 12. Po zastosowaniu procedury inicjalizacyjnej pokazanej na list. 6 sterownik wyświetlacza pracuje poprawnie

Fot. 12. Po zastosowaniu procedury inicjalizacyjnej pokazanej na list. 6 sterownik wyświetlacza pracuje poprawnie

 

Lekarstwem na przedstawione kłopoty jest zmodyfikowanie sposobu inicjalizacji sterownika po włączeniu zasilania – konieczne okazało się użycie komendy o kodzie 0x05.Ten kod w PCD8544 ustawia korekcję temperaturową, a w opisywanym sterowniku pozwala na prawidłowe wyświetlanie informacji. Oprócz kodu 0x05 trzeba w tym przypadku wysłac dodatkowy kod 0x06 ustawiający korekcję temperaturową. Na list. 6 pokazano zalecany sposób inicjalizowania modułów wyświetlaczy z telefonów Nokia 3310, dający gwarancję prawidłowego działania zastosowanych w nich sterowników. Skutek zastosowania tej procedury pokazano na fot. 12.

List. 6. Zalecana procedura inicjalizacji sterowników stosowanych w wyświetlaczach z Nokii 3310

//inicjalizacja 
sterownika 
void InitDisNok(void) 
{ 
   int i; 
   WriteCmd(0x21);//komendy rozszerzone 
   WriteCmd(0x05);//komenda „przelaczajaca” sterownik w tryb pracy zgodny PCD8544 
   WriteCmd(0xc8);//ustawienie Vop 
   WriteCmd(0x06);//korekcja temperatury dla PCD8544 
   WriteCmd(0x14);//wspólczynnik multipleksowania 
   WriteCmd(0x20);//komendy standardowe - adresowanie poziome 
   WriteCmd(0x01); 
   WriteCmd(0x0c);//tryb wyświetlania Standard Mode 
   WriteCmd(0x40);//zerowanie licznika wierszy 
   WriteCmd(0x80);//zerowanie licznika kolumn 

   ClrDisp();//zerowanie pamięci
   //for(i=0;i<612;i++)//612 
   //WriteData(0x00);//zerowanie pamieci RAM wyswietlacza 
}
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