Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

NOKIA 6100 PCF8833 i ATMEGA128

wieslem
-
-
Posty:3
Rejestracja:9 cze 2007, o 10:34
Lokalizacja:Bieruń
NOKIA 6100 PCF8833 i ATMEGA128

Postautor: wieslem » 2 mar 2009, o 07:52

Witam. Jestem zwolennikiem bascoma avr. Mój problem jest w poprawnym zainicjowaniu LCD od Noki 6100 (PCF8833) z Atmega128. Obecnie wyświetlam małe bitmapy (.BGC) i tu mam problem gdyż wyświetlany obrazek jest odwrócony ,tak samo jest z wyświetlanym tekstem lustrzane odbicie. Współrzędne piksela (Pset 1 , 1 , Red) znajdują się w górnym prawym ekranie. Dodam iż kolory mam wyświetlane prawidłowo. Proszę o pomoc w powyższej kwestii. Poniżej zamieściłem krótki program .

Kod: Zaznacz cały

' ------------------------------------------------------------------------------ ' TEST NOKIA6100 ' ------------------------------------------------------------------------------ $lib "lcd-pcf8833.lbx" $regfile = "m128def.dat" $crystal = 8000000 $hwstack = 128 $swstack = 128 $framesize = 128 Config Graphlcd = Color , Controlport = Portc , Cs = 0 , Rs = 3 , Scl = 1 , Sda = 2 Config Porta.0 = Output Ledy Alias Porta.0 Dim Z As Byte Dim Ya As Byte Set Ledy Const Blue = &B00000011 Const Yellow = &B11111100 Const Red = &B11100000 Const Green = &B00011100 Const Black = &B00000000 Const White = &B11111111 Const Brightgreen = &B00111110 Const Lightgreen = &B01111100 Const Darkgreen = &B00010100 Const Darkred = &B10100000 Const Darkblue = &B00000010 Const Brightblue = &B00011111 Const Orange = &B11111000 Glcdcmd &H21 'Display inversion on 'Glcdcmd &H20 'Display inversion off For Z = 1 To 5 Reset Ledy Waitms 255 Set Ledy Waitms 255 Next Cls Pocz: Ya = Ya + 1 If Ya > 20 Then Ya = 0 Setfont Color16x16 Lcdat 64 , 8 , Ya , Brightgreen , Darkblue Box(50 , 50) -(60 , 60) , Red Pset 1 , 1 , Red Wait 1 Goto Pocz End $include "color16x16.font"
Edit Pajączek: Po pierwsze zacznij używać znacznika

Kod: Zaznacz cały

do umieszczania listingów.[/color]
Ostatnio zmieniony 2 mar 2009, o 15:08 przez wieslem, łącznie zmieniany 1 raz.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 2 mar 2009, o 15:09

Po drugie, co to jest "Glcdcmd &H21"? Może spróbuj tej drugiej opcji (h20 -> off). Bo skoro kolory są poprawne przy "on", to raczej nie dotyczy to odwracania palety barw (negatywu).

wieslem
-
-
Posty:3
Rejestracja:9 cze 2007, o 10:34
Lokalizacja:Bieruń

NOKIA 6100 PCF8833 i ATMEGA128

Postautor: wieslem » 3 mar 2009, o 12:32

Witam. Dziękuję za zainteresowanie moim problemem z LCD.
Problem został rozwiązany , wystarczyło wpisać następujące polecenia:
Lcd_write 0 , &H36 'Mem_control
Lcd_write 1 , &H48 'My=0 Mx=0 V=1 Lao=1 Rbg=0 "00110000"
Lcd_write 0 , &H21 'Inversion_on

Slavek
-
-
Posty:2
Rejestracja:19 mar 2009, o 14:42
Lokalizacja:Iwonicz

Postautor: Slavek » 19 mar 2009, o 14:54

Wieslem - jakiej biblioteki używasz w Bascomie do instrukcji Lcd_write? Mi tej instrukcji BASCOM nie rozpoznaje. ( wersja Bascoma-AVR 1.11.9.0 ). Mam ten sam problem z odwróconym tekstem.
Dodam jeszcze, że do obsługi wyświetlacza korzystam z biblioteki: LCD-PCF8833.LBX

wieslem
-
-
Posty:3
Rejestracja:9 cze 2007, o 10:34
Lokalizacja:Bieruń

NOKIA 6100 PCF8833 i ATMEGA128

Postautor: wieslem » 19 mar 2009, o 19:45

Savek - używam tej samej biblioteki LCD-PCF8833.LBX i Bascom-AVR 1.11.9.0.

Kod: Zaznacz cały

Declare Sub Lcd_write(byval Flag As Byte , Byval Valor As Byte) Lcd_write 0 , &H36 Lcd_write 1 , &H48 Lcd_write 0 , &H21 Sub Lcd_write(flag As Byte , Valor As Byte) Local I As Byte Reset Cs Reset Sclk Sdata = Flag Set Sclk Reset Sclk For I = 0 To 7 Reset Sclk Rotate Valor , Left , 1 Sdata = Valor.0 Set Sclk Next I Set Cs I = 0 End Sub
A jak u ciebie z obsługą kart SD/MMC. Nie mogę zapisać na sformatowaną FAT16 kartę tekstu czy jakiejkolwiek danej do pustego pliku tekstowego.

Kod: Zaznacz cały

Open "test.txt" For Output As #1 Write #1 , "DANE" Close #1
Powoduje utworzenie pustego pliku tekstowego. Natomiast gdy otworze plik tekstowy pod windows w komputerze z jednym znakiem np. X wówczas mogę dopisywać prawie wszystko na SD poleceniem „APPEND”

Kod: Zaznacz cały

Open "test.txt" For Append As #1 Write #1 , "DANE" Close #1
Co robię nie tak jak powinienem lub o czym zapomniałem.
Ostatnio zmieniony 19 mar 2009, o 20:43 przez wieslem, łącznie zmieniany 1 raz.

Slavek
-
-
Posty:2
Rejestracja:19 mar 2009, o 14:42
Lokalizacja:Iwonicz

Postautor: Slavek » 20 mar 2009, o 15:02

Dzieki, wyświetlacz działa. Niestety w temacie obsługi kart SD sie nie orientuje.

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 69 gości