AT89S8252 Uostas "Projecting Būdvardis"

G

GrandAlf

Guest
Turiu programa iš pradžių buvo parašyta Baskomo už 89S8252.Kad būtų daugiau šiek tiek greičiau aš nutarė perrašyti "C" (K * E * I * L).Aš su uostu 1 problema, tai yra padalinta tarp įvesties ir išvesties įvairius kaiščių.Įvesties pusėje yra aktyvus Žemas per optiniu, su 4K7 pullups tiesiogiai kaiščių.Problema yra, kai įvesti PIN važiuoja maža, ji paprastai būna mažas, net kai padažu grįžta į aukštas.Pakeičiame CPU išvalo jį į aukštą kartą.Viskas veikia puikiai su Baskomo prog, kad įranga yra OK.8.052 serijos neatrodo, kad krypties valdymo, todėl tai negali būti priežastis.Greičiau trikdo tai.Aš naudoju AT898252.h, ir naudoti "jeigu (P1_7 == 0) (tt)" skaityti.Any help greatly appreciated.

 
Jūs turite būti labai atsargūs, kai naudojant 8.051 "splited" uosto (keli įėjimai, išėjimai keletą), nes kai keisdami patinka šis uostas:
uostas | = 0x1C;

Jeigu viena iš Jūsų įėjimai buvo žemas, o jūs tai galite perrašyti įvesties ir jis tampa mažai produkcijos, kuri yra ir lieka žemas

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />Norėdami išspręsti šią parašykite įėjimas "1", kuris reiškia anksčiau pateiktame pavyzdyje darant prielaidą, kad Bit7 ir 6 savo uostą, yra naudojami kaip žaliavos:
uostas | = 0xDC;

Tiek žaliavos yra parašyta "1", bet kaip 8.051 tik traukti Pins mažas jis neturi "Užrakinti" įėjimo jeigu jis per mažas jūsų parašyti operacijos.

Hope this helps

 
C-Man,

Tai tikrai padeda, aš patikrinti savo laiko.

Thank you for your input.

 

Welcome to EDABoard.com

Sponsor

Back
Top