LinkedIn YouTube Facebook
Szukaj

Wstecz
Artykuły

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

Na list. 2 przedstawiono procedury manipulacji liniami portów i procedura programowej realizacji interfejsu SPI.

List. 2. Procedura programowej realizacji interfejsu SPI i manipulacji liniami portów

//programowa realizacja 
SPI 
void WriteSPI(unsigned char data){ 
   char i; 
   ClrBit(CLK); 
   Delay(10); 
   for(i=0;i<8;i++){ 
      if((data&0x80)==0x80) 
         SetBit(DATA); 
      else 
         ClrBit(DATA); 
      Delay(10); 
      SetBit(CLK); 
      Delay(10); 
      ClrBit(CLK); 
      data<<=1; 
   } 
} 

//ustawienie linii portu 
void SetBit(int bits){ 
   GPIO_SetBits(PORT_DISP_NOKIA, bits); 
} 

//wyzerowanie linii portu 
void ClrBit(int bits){ 
   GPIO_ResetBits(PORT_DISP_NOKIA, bits); 
}

Do sterowania wyświetlaczem będą niezbędne procedury zapisania danych do wyświetlacza (list. 3) i zapisania komendy do wyświetlacza (list. 4).

List. 3. Procedura zapisu danych do pamięci obrazu sterownika PCD8544

//zapisanie danej do sterownika 
void WriteData(unsigned char data){ 
   ClrBit(SCE); 
   SetBit(DC);//rejestr danych 
   WriteSPI(data); 
   SetBit(SCE); 
} 

List. 4. Zapisanie komendy do sterownika PCD8544

//zapisanie komendy do sterownika 
void WriteCmd(unsigned char cmd){ 
   ClrBit(SCE); 
   ClrBit(DC);//rejestr komend 
   WriteSPI(cmd); 
   SetBit(SCE); 
} 

Po włączeniu zasilania pamięć sterownika PCD8544 nie jest automatycznie zerowana, wymaga więc zerowania polegającego na wypełnieniu jej całej wartościami 0x00. Pamięć sterownika PCD8544 ma pojemność 504 B – trzeba więc wpisać do niej kolejno 504 bajty 0x00, żeby ekran wyświetlacza po inicjalizacji był „czysty” (list. 5).

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