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. 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. 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
}





Technologie End of Life i bezpieczeństwo sieci – wyzwania Europy związane z tzw. długiem technologicznym
Najczęstsze błędy firm przy wyborze dostawcy energii i jak ich uniknąć
Fotorezystor, czyli czujnik światła dwojakiego działania. Przykład innowacji w automatyce i elektronice możliwej dzięki technologii fotooporników 



