mam problem z uruchomieniem ukladu z wykorzystaniem at89s8252. procek zostal
zaprogramowany (listingi ponizej), ale nie chce dzialac.
najpierw chcialem odpalic prosciutki programik z przepisywaniem stanow, tzn
nacisniecie przycisku podlaczonego do portu p1.0 powinno zapalac diode led
wiszaca na bicie p0.0 scalaka.
napisalem krociutenki programik:
ORG 100h
MOV P0, #0H ;profilaktycznie wustawilem wszystkie porty na stan niski
MOV p1, #0H
MOV p2, #0H
MOV p3, #0H
ET: JB P1.0, WLA
JMP ET
WLA: SETB P0.0
RET
END.
i nie reaguje na nacisniecie przycisku - dioda jest caly czas wlaczona.
oczywiscie po wlaczeniu wykjonywalem reset. pozniej, zeby wogule w
jakikolwiek sposob przekonac sie o slusznosci zaprogramowanego procka,
odpialem wszystko od portu p0.0 i p1.0 i napisalem kolejny programik:
ORG 100h
et: MOV P0, #0H
MOV p1, #0H
MOV p2, #0H
MOV p3, #0H
jmp et
end
zeby sprawdzic, czy wszedzie beda zera. mierze woltomierzem napiecia na
poszczegolnych pinach i okazuje sie, ze na niektorych jest 0, na niektorych
jakies 3,5v, na niektorych 5v. ale w wiekszosci po 0v.
jednak po podpieciu tranzystora z dioda (jak na rysunku) zaczynaja sie dziac
cuda - niektore piny przechodza w stan wysoki inne pozostaja zerami.
podobnie sie dzieje jak napisze programik, ktory wymusza na pinach stan
wysoki - niby jest stan wysoki, ale gdzieniegdzie jest stan niski.
procek jest dobrze zaprogramowany, bo po wylaczeniu zasilania mozna z niego
odczytac to, co zostalo zaprogramowane. generator na kwarcu chyba pracuje
dobrze, bo na nozkach xtal1 oraz xtal2 jest po ok. 2,5v.
co robie nie tak? czy problem tkwi w schemacie polaczen, w programie, czy
moze jeszcze w czyms innym?
z gory dzieki za sugestie
zaprogramowany (listingi ponizej), ale nie chce dzialac.
najpierw chcialem odpalic prosciutki programik z przepisywaniem stanow, tzn
nacisniecie przycisku podlaczonego do portu p1.0 powinno zapalac diode led
wiszaca na bicie p0.0 scalaka.
napisalem krociutenki programik:
ORG 100h
MOV P0, #0H ;profilaktycznie wustawilem wszystkie porty na stan niski
MOV p1, #0H
MOV p2, #0H
MOV p3, #0H
ET: JB P1.0, WLA
JMP ET
WLA: SETB P0.0
RET
END.
i nie reaguje na nacisniecie przycisku - dioda jest caly czas wlaczona.
oczywiscie po wlaczeniu wykjonywalem reset. pozniej, zeby wogule w
jakikolwiek sposob przekonac sie o slusznosci zaprogramowanego procka,
odpialem wszystko od portu p0.0 i p1.0 i napisalem kolejny programik:
ORG 100h
et: MOV P0, #0H
MOV p1, #0H
MOV p2, #0H
MOV p3, #0H
jmp et
end
zeby sprawdzic, czy wszedzie beda zera. mierze woltomierzem napiecia na
poszczegolnych pinach i okazuje sie, ze na niektorych jest 0, na niektorych
jakies 3,5v, na niektorych 5v. ale w wiekszosci po 0v.
jednak po podpieciu tranzystora z dioda (jak na rysunku) zaczynaja sie dziac
cuda - niektore piny przechodza w stan wysoki inne pozostaja zerami.
podobnie sie dzieje jak napisze programik, ktory wymusza na pinach stan
wysoki - niby jest stan wysoki, ale gdzieniegdzie jest stan niski.
procek jest dobrze zaprogramowany, bo po wylaczeniu zasilania mozna z niego
odczytac to, co zostalo zaprogramowane. generator na kwarcu chyba pracuje
dobrze, bo na nozkach xtal1 oraz xtal2 jest po ok. 2,5v.
co robie nie tak? czy problem tkwi w schemacie polaczen, w programie, czy
moze jeszcze w czyms innym?
z gory dzieki za sugestie