AT89S8252 Port "Zakol"

G

GrandAlf

Guest
Imam program, prvotno napisan v Bascom za 89S8252. Če želite, da gre malo hitreje, sem se odločil na novo napisati v "C" (K * e * i * l). Imam problem z Port 1, je ta razdeljen med vhod in izhod na različnih nožice. Vhodni strani je aktivna Low preko opto, s 4k7 pullups neposredno na nožice. Problem je, ko gre vhod pin nizke, ponavadi ostane nizka, tudi če se vrne v omako visoko. Ponastavitev cpu ga počisti za visoko znova. Vse deluje v redu z Bascom prog, tako da je strojna oprema OK. 8052 series ni videti, da bi nadzor nad smeri, tako da to ne more biti vzrok. Namesto tega nerazumljiva. Jaz sem z uporabo AT898252.h, in z uporabo "if (P1_7 == 0) {} etc" za branje. Vsaka pomoč zelo cenjeno.
 
Moral bi biti zelo previdni pri uporabi pristanišče 8051 "splited" (nekaj vhodov, nekaj izhodi), ker ko spremenite vrata, kot je ta: vrat | = 0x1C; Če eden od vaših vložkov je bila nizka, medtem ko se je to vam prepisati vhod in postane izhod, ki je nizka in ostaja nizka :-( Da bi odpravili to napišite vhodov z "1", kar pomeni v zgornjem primeru, ob predpostavki, da so Bit7 in 6 vrata uporablja za vložke: vrata | = 0xDC;. Oba vhodi so napisana z "1", ampak kot 8051 lahko le potegnite zatiči nizke, da ne "lock" vhod, če je bila nizka v času vašega pisanja delovanjem upanje to pomoč
 
C-Man, to ne pomaga, bom preverite svoj čas. Zahvaljujemo se vam za vaš prispevek.
 

Welcome to EDABoard.com

Sponsor

Back
Top