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
problem z 89s8253
-
ZbeeGin
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.skorpik pisze:Widzę nieprawidłową składnię komeny jmp. Prawidłowo powinno być: JMP @A+DPTR
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?