Testování portů

Mám takový problém. V mém programu nastavuju určité porty do jedničky nebo do nuly (rozsvěcím diody) . A mam problém s tím ,že když chci otestovat zda li je na portu např P3.4 jednička(před tím jsem ho nastavil pomocí setb P3.4), např použiju jb start, neskočí nikdy (prostě je tam záhadně nula a dioda svítí,zapojení je tak ,že diody svítí přivedu li nulu) . Čím je to bude to v reálu to samé ???
Je zajimavé že otestuji-li muj program v KEILU tak vše chodí jak má. Ale když ho otestuju PROTEUS tak to nefunguje. Hlavně mě zajímá jestli to bude chodit v realu.
Děkuji za odpověd

Jsem začátečník

:arrow_right: administrator: přejmenováno administrátorem z "pomoc"

8051 jsem dělal naposledy před mnoha lety, takže na někoho, kdo ti poradí, si budeš muset ještě chvíli počkat. Říkám si, že bys měl pro jistotu dopsat, jaký mikrokontrolér používáš (nebo chceš používat). 89C2051?

Porty teda předpokládám že nastavuje š pomocí setb XYZ a clr XYZ.
setb nastavuje do log. 1
clr nastavuje do logické 0
cpl - to možná neznáš, to je negace stavu. Takže třeba pokud na P0.0 bude log nula, dáš cpl P0.0 a objeví se tam 1. a obráceně. Prostě negace stavu.

a teď POZOR, možná si pleteš význam instrukcí jb a jnb
jb bit, adresa
jb skočína adresu “adresa”, pokud je bit nastaven v 1
jnb bit, adresa
jnb skočí, pokud je bit v log. 0

Jo a nyní jsem se trochu zamyslel, a už tuším v čem je problém.
Jednoduše tak jak to děláš ty to asi nelze.

Tady jde taky o to, jaký účel má plnit ten program…

KDyžtak písni na ICQ, vysvětlím ti to lépe. Jde taky o to, co používáš za ten kontrolér…
ICQ: 225-664-188
AHoy, Honza

V realu to chodit bude, jen si dej pozor, napr. u 80c2051, kde je na portu 1 komparator, tam nejsou pull-upy a neni tak jiste, jakou hodnotu prectes - napr. bila dioda ma ztratu necely 3V (pro temer nulovej proud to bude mene), takze napriklad 5V (napajeni) - 2,5V (dioda) = 2,5V a to uz je na rozhodovaci urovni log1 a muze to delat neplechu… To se da vyresit premostenim diody nejakym vetsim (10k) odporem.

Pokud by slo jen o blikani, bylo by jednodussi pouziti “cpl bit”.

Tak už tzo někdo napsal za mě :slight_smile:
Myslej jsem přesně to samé co ty, že na tom portě nejsou pullupy, a že ta LEDka tím svým úbytkem napětí může dělat neplechu… Radši jsem to sem nepsal abych nmu zamotal hlavu ještě víc :slight_smile: ALe nevadí

2 Tehel: Můžeš sem prosím hodit zdroják? A´t víme o co přesně jde… Díkes

Ahoj, Honza