Nestabilní (blikání) Sériový výstup AT 89C52

R

Rehan Yasin

Guest
Mám jednoduchý program, který čte data z portu 1 AT89C52 a zapíše jej do sériové TX pin. Datových bitů odpovídající Pin 1,2, 5 a 8 port 1 je stabilní, ale na piny 3,4,6 a 8 port 1 blikání nebo nestabilní datových bitů se blíží. Vyzkoušel jsem mnoho testů zabít problém, ve kterém jsem se změnil contollers, oscilátor a napájení, ale problém je stále tam. Plz může někdo tento problém vyřešit. Díky. yasinrehan@yahoo.com
 
Co všechno je spojeno s piny P1? Máte pullups, pulldowns, nebo něco jiného? Rgds, IanP: |
 
pro odběr vstup z zapne port 1, je používán IC 74LS245. tj. IC 74LS245 vezme vstup od spínačů a pošle tyto výstupy port 1 mikrokontroléru AT 89C52. Nic jiného (push up nebo pull up) je používán. hmmmmmmmm! Myslím, že bych měl používat vytáhnout odporů zabít blikání? Pokud ano, jaké hodnoty odporu by měla být použita. Je-li místo spínače se používají zpětná vazba relé, by měl v tomto případě stejné pull up odpory používá?? S pozdravem, Rehan [size = 2] [color = # 999999] Přidáno po 25 minutách: [/color] [/size] Hi IanP! Ať už blikání je způsobeno žádný tah UPS přítomen v obvodu. Mělo by být pull up rezistory k zabránění blikání. S pozdravem, Rehan
 
Řekněme, že je připojen k DIR "H" a / G je připojen k "L" -, který definuje přenos z A-to-B, ale to, co máš na sobě - boční, máte pull-up tam? Možná, že tam problém stanoví .. viz přiložený obrázek .. Pokud si nebudete léčit 74LS245 jako Tri-státní vyrovnávací paměti, ale mají kontrolu piny (/ G a DIR), spojené jak je uvedeno výše, situace je definováno státy na 74LS245 vstupy / přepínače stranu .. V každém případě by měl 10k pull-up do .. Rgds, IanP: |
 
Ano, mám problém identifikovat. Díky moc za Vaši pomoc!!
 
Zahrnul jsem vytáhnout odpor obvodu, jak jste poslal. Ale porblem ještě existující s některými blikání. Také při spínače ON / OFF náhodně bliká současnosti, ale bez blikání současné době, kdy spínače ON v pořadí od 1 do přepínače Switch 8 a naopak vypnutí v opačném pořadí Switch 8 přepnout 1. Jaké je řešení? Pokud někdo může vyřešit tento problém ...
 
Problém blikaly údaje TX PIN ne. 11 je stále ještě existující, i když pull up rezistor okruhu v Port P1 je připojen. Je to hardware nebo software poblem problém?? může mi někdo navrhnout řešení .......
 
Mám jednoduchý program, který čte data z portu 1 AT89C52 a zapíše jej do sériové TX PIN
Pokud je každý možný vstup je natažená, až Vcc, můžete zkusit přidat ≈ 100nF kondenzátory mezi jednotlivými PIN a GND - to v případě, že vstupní materiál, pick-up něco někde, ale rád bych se podívat na kód .. IanP: |
 
Kód je ukázat níže. Je tam nějaká chyba v kódu, dejte mi prosím vědět. # Include # include SP_ISR (void) {4 přerušit unsigned char p2_data = 0x01; p2_data = P1; SBUF = p2_data, while (TI!), TI = 0;} char bdata pcond = 0x00; sbit p = pcond ^ 7; neplatné main (void) {pcond = pcon, p = 1; pcon = pcond, TMOD = 0x20; IE = 0x90; SCON = 0x40; TH1 = 0xFD, TL1 = 0xFD, P0 = 0x00, 0xFF = P1, P2 = 0x00; REN = 0; P2_4 = 1; P2_5 = 1, TR1 = 1; TI = 1; while (1);}
 

Welcome to EDABoard.com

Sponsor

Back
Top