Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:display:lcd_graphic [2009/12/22 14:52] mikk.leiniet:examples:display:lcd_graphic [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +<pagebreak>
 ====== Graafiline LCD ====== ====== Graafiline LCD ======
  
-//Vajalikud teadmised: [HW] [[et:hardware:lcd|LCD moodul]], [LIB] [[et:software:library:module:lcd_graphic|Graafilise LCD teek]], [LIB] [[et:software:library:delay|Viite teek]], [PRT] [[et:examples:display:lcd_alphanumeric|Alfabeetiline LCD]]//+//Vajalikud teadmised: [HW] [[et:hardware:homelab:digi]], [LIB] [[et:software:homelab:library:module:lcd_graphic]], [LIB] [[et:software:homelab:library:delay]], \\ [PRT] [[et:examples:display:lcd_graphic]]//
  
 ===== Teooria ===== ===== Teooria =====
  
-Graafiline LCD on vedelkristall-ekraan millega saab peale teksti ka kujundeid kuvada. Selle ehitus sarnaneb alfabeetilisele LCD-lepõhiline erinevus seisneb selles, et graafilisel ekraanil on kõik pikslid jaotatud üle ekraani ühe suure maatriksina. Kui tegu on monokromaatilise graafilise LCD ekraaniga, siis piksel on üks pisike ruudukujuline segment. Värvilistel ekraanidel moodustab üks piksel kolmest alampikslist millest igaüks laseb läbi värvifiltri kas punast, rohelist või sinist valgust. Kuna alampikslid on lähestikku paistavad need kui üks piksel.+Graafiline LCD on vedelkristall-ekraanmillega saab peale teksti ka kujundeid kuvada. Selle ehitus sarnaneb alfabeetilisele LCD-le ja põhiline erinevus seisneb selles, et graafilisel ekraanil on kõik pikslid jaotatud üle ekraani ühe suure maatriksina. Kui tegu on monokromaatilise graafilise LCD ekraaniga, siis piksel on üks pisike ruudukujuline segment. Värvilistel ekraanidel moodustab üks piksel kolmest alampikslistmillest igaüks laseb läbi värvifiltri kas punast, rohelist või sinist valgust. Kuna alampikslid on lähestikkupaistavad need kui üks piksel.
  
-[{{  :examples:display:lcd_graphic:lcd_graphic_abc.png?200|Graafilise LCD pikslitest moodustatud tekst}}]+[{{  :examples:display:lcd_graphic:lcd_graphic_smiley.png?200|Graafilise LCD pikslitest moodustatud pilt}}]
  
-Monokromaatilised graafilised ekraanid on tavaliselt passiivmaatriksiga, suured värvilised ekraanid, kaasaarvatud arvutiekraanid, on aktiivmaatriksiga. Kogu tausta- ja pikslite värvi puudutav info on graafilistel LCD-del sama mis alfabeetilistelgi - ehk siis leidub palju variante. Ning sarnaselt alfabeetiliste ekraanidega on ka graafilistel ekraanidel eraldi kontroller mis hoolitseb sideliidese kaudu info vastuvõtmise ja segmendite elektrivälja tekitamise eest. Kui alfabeetilisele LCD ekraanile piisab teksti kuvamiseks märkide indeksite saatmisest, siis graafilised ekraanid ise tähti ei moodusta - kõik tekstid ja pildid tuleb kasutajal ise pikselhaaval tekitada.+Monokromaatilised graafilised ekraanid on tavaliselt passiivmaatriksiga, suured värvilised ekraanid, kaasa arvatud arvutiekraanid, on aktiivmaatriksiga. Kogu tausta- ja pikslite värvi puudutav info on graafilistel LCD-del sarnane alfabeetiliste LCD omadustega ja sarnaselt alfabeetiliste ekraanidega on ka graafilistel ekraanidel eraldi kontrollermis hoolitseb sideliidese kaudu info vastuvõtmise ja segmentide elektrivälja tekitamise eest. Kui alfabeetilisele LCD ekraanile piisab teksti kuvamiseks märkide indeksite saatmisest, siis graafilised ekraanid ise tähti ei moodusta - kõik tekstid ja pildid tuleb kasutajal ise pikselhaaval tekitada. 
 + 
 +~~CL~~
  
 ===== Praktika ===== ===== Praktika =====
 +Kodulabori III seeria kasutajaliidesele on paigaldatud 128 x 160 piksliga 1.8" täisvärviline TFT LCD ekraan. Ekraani juhib Sitronixi ST7735 LCD kontroller, mida juhtakse üle SPI siini. Lisaks on juhitav ekraani taustavalgus, kuid ilma taustavalguseta ei ole võimalik ekraani kasutada. Ekraaniga suhtlemine pole kuigi keeruline, kuid funktsioonide suure arvu tõttu pole siinkohal seda lahti seletatud. Kodulabori teegis on olemas funktsioonid selle kasutamiseks.
  
-Kodulabori komplekti kuulub mõõtudega 84 x 48 pikslit monokromaatiline graafiline LCD ekraan. See ekraan on sama mida kasutatakse Nokia 3310 mobiiltelefonides. Ekraani küljes on Philipsi PCD8544 kontroller millega saab suhelda läbi SPI taolise järjestikliidese. Eraldi juhitav on veel ekraanimooduli taustvalgustus. Ekraaniga suhtlemine pole kuigi keeruline, kuid funktsioonide suure arvu tõttu pole siinkohal seda lahti seletatud. Kodulabori teegis on olemas funktsioonid selle kasutamiseks.+/* Kodulabor 2 info: 
 +Kodulabori komplekti kuulub mõõtudega 84 x 48 pikslit monokromaatiline graafiline LCD ekraan. See ekraan on samamida kasutatakse Nokia 3310 mobiiltelefonides. Ekraani küljes on Philipsi PCD8544 kontrollermillega saab suhelda läbi SPI-taolise järjestikliidese. Eraldi juhitav on veel ekraanimooduli taustvalgustus. Ekraaniga suhtlemine pole kuigi keeruline, kuid funktsioonide suure arvu tõttu pole siinkohal seda lahti seletatud. Kodulabori teegis on olemas funktsioonid selle kasutamiseks.*/
  
-Graafilise LCD teegi funktsioonid on sarnased alfabeetilise LCD omadele. Esmalt tuleb ekraan käivitada //lcd_gfx_init// funktsiooniga. Peale käivitust on soovitav ekraan, õigemini kontrolleri mälu, puhastada //lcd_gfx_clear// funktsiooniga. Teeki on sissekirjutatud tähekaart kogu ladina tähestiku, numbrite ja üldkasutatavate märkidega. Tähe kõrgus on 7 ja laius 5 pikslit. Iga tähe vahe on horisontaalselt 6 ja vertikaalselt 8 pikslit, ehk kokku mahub ekraanile 6 rida ja 14 tulpa tähti. Tähe või teksti kuvamiseks tuleb eelnevalt //lcd_gfx_goto_char_xy// funktsiooniga määrata selle asukoht. Tähe kuvamiseks on //lcd_gfx_write_char// ja teksti kuvamiseks //lcd_gfx_write_string// funktsioon.+Graafilise LCD teegi funktsioonid on sarnased alfabeetilise LCD omadele. Esmalt tuleb ekraan algväärtustada funktsiooniga //lcd_gfx_init//. Teeki on sisse kirjutatud tähekaart kogu ladina tähestiku, numbrite ja üldkasutatavate märkidega. Tähe kõrgus on 7 ja laius 5 pikslit. Iga tähe vahe on horisontaalselt 6 ja vertikaalselt 8 pikslit, ehk kokku mahub ekraanile 6 rida ja 14 tulpa tähti. Tähe või teksti kuvamiseks tuleb eelnevalt //lcd_gfx_goto_char_xy// funktsiooniga määrata selle asukoht. Tähe kuvamiseks on //lcd_gfx_write_char// ja teksti kuvamiseks //lcd_gfx_write_string// funktsioon.
  
 Järgnevalt on toodud näide aja loenduri kohta. Programm loendab sekundeid (ligikaudu), minuteid ja tunde. Aja tekstiks teisendamiseks on kasutusel //sprintf// funktsioon. Järgnevalt on toodud näide aja loenduri kohta. Programm loendab sekundeid (ligikaudu), minuteid ja tunde. Aja tekstiks teisendamiseks on kasutusel //sprintf// funktsioon.
 +
 +<pagebreak>
  
 <code c> <code c>
Line 36: Line 43:
  char text[16];  char text[16];
  
- // LCD ekraani seadistamine+ // LCD ekraani algseadistamine
  lcd_gfx_init();  lcd_gfx_init();
  
et/examples/display/lcd_graphic.1261493561.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0