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ę

KIT AVT3500

Mortan
-
-
Posty: 44
Rejestracja: 4 sie 2008, o 14:58
Lokalizacja: Kielce

Postautor: Mortan » 16 sie 2008, o 20:06

Odłącz LCD i wyciągnij wyświetlacze i spóbuj jeszcze raz nawiązać połączenie z procesorem, bo widzę, że one wiszą na pinach programujących
Wyjąłem dwa wyświetlacze LED, ale nadal to samo.
Miernik ma sprawdzanie ciągłości obwodu (brzęczy przy zwarciu)?
Niestety nie mam takiej funkcji.
Czy VCC w programatorze masz podłączone do +5V jak napisali w instrukcji programatora?
Tak.

Podłączenie sygnałów:
Licząc od różowego kabelka (1).
1 - MOSI - MOSI
2 - VCC - +5V
3 - GEN - do niczego nie podłączony
4 - GND - GND
5 - RST - RST
6 - GND - GND
7 - SCK - CLK
8 - GND - GND
9 - MISO - MISO
10 - GND - GND

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Postautor: Tomasz Gumny » 16 sie 2008, o 21:10

Podłączenie sygnałów:
Licząc od różowego kabelka (1).
1 - MOSI - MOSI
2 - VCC - +5V
3 - GEN - do niczego nie podłączony
4 - GND - GND
5 - RST - RST
6 - GND - GND
7 - SCK - CLK
8 - GND - GND
9 - MISO - MISO
10 - GND - GND
Wygląda poprawnie. Odłącz R1 od masy i dolutuj tam kawałek kabelka - będziesz miał sondę. LED świeci = stan niski. Przezwij dowolny 1..2kB plik na hex i próbuj go zapisać do procesora. Na czas programowania dołączaj "sondę" do kolejnych pinów. Na pinach SCK, MISO, MOSI powinna przygasać, na RST świecić.

Mortan
-
-
Posty: 44
Rejestracja: 4 sie 2008, o 14:58
Lokalizacja: Kielce

Postautor: Mortan » 16 sie 2008, o 21:40

Jeszcze raz...

Upewnie sie tylko, czy dobrze myślę.

Odlutowuje rezystor R1 (przy diodzie):
Obrazek

Następnie w lewy otwór wlutowuje kabelek, który podczas przysyłania programu łącze pokoleji z SCK, MISO, MOSI i RST.

Zgadza się?

Nie można zrobić tego za pomoca miernika?
Podczas przesyłu (mierzone na łączeniu programatora z płytką, a nie na procesorze):
RST - 0V (normalnie 1,83V)
SCK - 0V (normalnie 0,03V)
MISO - 4,79V (normalnie 4,78V)
MOSI - skacze 20,10, 0V (normalnie 0,08V)

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Postautor: Tomasz Gumny » 16 sie 2008, o 21:49

Odlutowuje rezystor R1 (przy diodzie):
Ma być tak: anoda LED połączona z +5V, katoda LED idzie do rezystora R1. Z drugiej strony R1 odłącz od masy i dolutuj kabelek.

Mortan
-
-
Posty: 44
Rejestracja: 4 sie 2008, o 14:58
Lokalizacja: Kielce

Postautor: Mortan » 16 sie 2008, o 22:00

odłącz od masy
masa jest po lewej czy po prawej stronie rezystora (widok z góry)?

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Postautor: Tomasz Gumny » 16 sie 2008, o 22:02

odłącz od masy
masa jest po lewej czy po prawej stronie rezystora (widok z góry)?
Litości! Skąd mam wiedzieć?! Może inaczej. Jeden pin rezystora R1 idzie do LEDa. Zatem do masy idzie ten drugi...

Mortan
-
-
Posty: 44
Rejestracja: 4 sie 2008, o 14:58
Lokalizacja: Kielce

Postautor: Mortan » 25 sie 2008, o 14:11

OK. Problem rozwiązany. Powodem były niedokładne luty.
Teraz układ się już pięknie programuje, bez żadnych problemów.

Mortan
-
-
Posty: 44
Rejestracja: 4 sie 2008, o 14:58
Lokalizacja: Kielce

Postautor: Mortan » 31 sie 2008, o 12:07

Mam kolejny problem, tym razem przy ćwiczeniu z eepromem.
Napisałem taki program:

Kod: Zaznacz cały

$eeprom Data 135 , 163 , 255 , 241 , 136 , 255 , 191 , 255 , 140 , 192 , 193 , 199 , 255 , 255 Dim R1 As Byte , R2 As Byte , R3 As Byte , R4 As Byte Dim Licznik As Byte Dim Ktorywysw As Byte Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111111 Portd = &B1111111 Config Timer0 = Timer , Prescale = 64 '16us, 64x0,25 = 16 Config Timer1 = Timer , Prescale = 64 '16us Enable Interrupts Enable Timer0 Enable Timer1 R4 = 255 : R3 = 255 : R2 = 255 : R1 = 255 'na początku wszystko wygaś On Timer0 4ms 'po wysłaniu przerywania przez timer 0 skocz do etykiety 4ms On Timer1 Skok 'po wysłaniu przerywania przez timer1 skocz do etykiety skok Do 'główna części programu Loop End Skok: 'etykieta timeru 1 Timer1 = 30000 'szybkość przewijania. Około 0,57s R4 = R3 'przypisywanie kolejnych znaków w lewo R3 = R2 R2 = R1 Readeeprom R1 , Licznik 'wpisanie do R1 wartości ze zmiennej licznik Incr Licznik 'oraz dodanie 1 do licznika (kolejna literka) If Licznik = 14 Then Licznik = 0 'po przepełnieniu wróć na początek Return 'powrót do głównego programu 4ms: 'etykieta timeru0 odpowiedzialnego za wyświetlanie tekstu na wyświetlaczach Ktorywysw = Ktorywysw + 1 'dodaj 1 do zmiennej który wyświetlacz If Ktorywysw = 4 Then Ktorywysw = 0 'od nowa odświerzanie Portd = &B1111111 'wyzeruj wyświetlacz Select Case Ktorywysw Case 0: Portb = R1 'do portu B wpisz wartość ze zmiennej R1 (pokaż literkę) Portd.3 = 0 'włącz T2 Case 1: Portb = R2 Portd.4 = 0 Case 2: Portb = R3 Portd.5 = 0 Case 3: Portb = R4 Portd.6 = 0 End Select Return
Który przewija napis zapisany w eepromie. Jednak po wgraniu programu do procesora na wyświetlaczu nic się nie pojawia. Wcześniej robiłem identyczny program, tylko że napis był zapisany we flashu i było wszysto ok.

Podejrzewam, że pamięć eeprom sie nie zapisuje...
Co może być tego przyczyną?

Mortan
-
-
Posty: 44
Rejestracja: 4 sie 2008, o 14:58
Lokalizacja: Kielce

Postautor: Mortan » 1 wrz 2008, o 22:53

Najpierw napisałem taki programik:

Kod: Zaznacz cały

Dim Test As Eram Byte Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111111 Portd = &B1110111 Test = &B11111001 Do Portb = Test Loop End
Wszystko było ok.

Następnie taki:

Kod: Zaznacz cały

$eeprom Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144 'liczby 0..9 Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111111 Portd = &B1110111 'właczony T2 Do Readeeprom Portb , 3 'odczytaj liczbę 2 z eepromu i wyświetl ją na ekranie Loop End
i tutaj już program nie działa... :(

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Postautor: Tomasz Gumny » 2 wrz 2008, o 11:28

i tutaj już program nie działa... :(
Co to znaczy "nie działa"? Nic nie wyświetla? Wyświetla coś innego?
Odczytałeś EEPROM programatorem po uruchomieniu programu? Czy jest tam coś?
BTW. Piszesz z przyszłości, przynajmniej u mnie

Mortan
-
-
Posty: 44
Rejestracja: 4 sie 2008, o 14:58
Lokalizacja: Kielce

Postautor: Mortan » 2 wrz 2008, o 16:38

Na wyświetlaczach nic się nie pojawia, pomimo tego, że powinno.

Mortan
-
-
Posty: 44
Rejestracja: 4 sie 2008, o 14:58
Lokalizacja: Kielce

Postautor: Mortan » 6 wrz 2008, o 08:52

Pod takim programem:

Kod: Zaznacz cały

Dim Zmienna As Byte Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111111 Portd = &B1110111 'właczony T2 Zmienna = 121 Writeeeprom Zmienna , 3 Do Readeeprom Zmienna , 3 'odczytaj liczbę 1 z eepromu i wyświetl ją na ekranie Portb = Zmienna Loop End
Na wyświetlaczu pojawia się 1. Eeprom jest sprawny, nie zapisuje się tylko przy wysyłaniu programu. Jak to mozna ustawić w bascomie?

Wróć do „Kity AVT”

Kto jest online

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