problem z 89s8253

To forum jest dla wszystkich pasjonatów wiecznie młodych mikrokontrolerów '51. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
yoromv
-
Posty: 4
Rejestracja: 04 lis 2005, 16:30

problem z 89s8253

Post autor: yoromv » 25 maja 2006, 18:32

Witam!

Chcialem zaczac swoja przygode z mikrokontrolerami...niestety juz na samym poczatku natrafilem na problemy, przez ktore nie moge przebrnac...jak w temacie mam procek 89S8253...programuje go za pomoca ISP (programator pana A. Dybkowskiego)...programuje sie w porzadku.
Chcialem na poczatku wyzerowac wszystkie porty wiec napisalem taki prosty program

mov p0,#0
mov p1,#0
mov p2,#0
mov p3,#0
loop:
mov p0,#0
mov p1,#0
mov p2,#0
mov p3,#0
jmp loop
end
skompilowalem go w MCS-51 Family Macro Assembler ASEM-51 1.3. Niestety po wgraniu i tak nic sie nie dzieje - porty sa w stanie wysokim (sprawdzam woltomierzem). koncowka EA jest wpieta do VCC. Prosze pomozcie!

Pozdrawiam
Romek

skorpik
-
Posty: 9
Rejestracja: 21 sie 2005, 11:17
Lokalizacja: Warszawa

Post autor: skorpik » 06 lip 2006, 20:56

Na początek zawsze dołącz bibliotekę procesora, ale tu nie powinno to mieć znaczenia. Widzę nieprawidłową składnię komeny jmp. Prawidłowo powinno być:
JMP @A+DPTR
Procesor nie ma fizycznego końca programu i wykonuje nie wiadomo co. Użyj LJMP. Będzie bezpieczniej. Pozdrawiam.

ZbeeGin

Post autor: ZbeeGin » 08 lip 2006, 8:49

skorpik pisze:Widzę nieprawidłową składnię komeny jmp. Prawidłowo powinno być: JMP @A+DPTR
Niestety mylisz się. Można napisać JMP, dobry asembler po obliczeniu długości skoku zamieni ją potem na SJMP lub AJMP, lub LJMP. Jeśli byłby to fatalny asembler to raportowałby błąd w tym miejscu, a o tym kolega yoromv nie wspomina.

:arrow: yoromv
Do zaprezentowanego programu dodałbym na początku dyrektywę ORG 0 aby nie było niespodzianek z zaalokowaniem kodu w pamięci. Nie używałem tego asemblera - czy jest tam dyrektywa CSEG?
Po zaprogramowaniu procesora weryfikacja przebiega prawidłowo? Jak wygląda u Ciebie układ resetu?

ODPOWIEDZ