Použití vstupů jako výstupů u mikrokontrolérů PICAXE

Někdy se stane, že u mikrokontrolérů PICAXE řady M2 nebo X2 potřebujeme další výstup, ale máme k dispozici už jen vývod, který je výhradně vstupem. Co se v takovém případě dá dělat?

Mikrokontroléry 08M2, 14M2, 18M2, 20M2, 20X2, 28X2 a 40X2 znají příkaz „pullup“, kterým se podle následující masky připojí ke vstupu vnitřní pullup rezistory (tj. rezistory mezi vývodem a kladným napájením), čímž se ze vstupu s velkou impedancí stane vstup s impedancí malou, klesne možnost náhodného ovlivnění rušením, a je zajištěno, že v klidu je na něm logická úroveň H. Tato možnost je dostupná nejen pro vývody, u nichž lze funkci vstupu a výstupu přepínat, ale také pro vstupy, které výstupem být nemohou …. ale právě takto se výstupem stanou. Ukážeme si to naříkladu PICAXE 08M2 a jeho vstupu In3 (vývod 4).

I-O

Příkazem pullup %00001000 připojíme pullup rezistor k vývodu I3 (poloha jedničky v masce, nejnižší váha je vpravo). Od toho okamžiku můžeme tento vstup využít třeba tak, že jej spínačem spojíme přímo se zemí bez dalších součástek. Je zajištěno, že při rozepnutém spínači načteme úroveň H. Sepnutým spínačem teče proud kolem 0,15 mA, ten těžko rozsvítí přeba jen LED, ale můžeme tento proud zesílit tranzistorem.

Zapojení vlevo je co nejjednodušší, bázi tranzistoru spojíme přímo se vstupem PICAXE. Ochranný rezistor v bázi není nutný, vstup nemůže dát větší proud, který by tranzistor poškodil, a přepnout se neumí. Aktivací pullup rezistoru se dioda rozsvítí. Zhasne se příkazem pullup %00000000 nebo pullup off. Vpravo je stejné zapojení využité jako obecný TTL výstup, ovšem invertovaný (pullup %00001000 dodá na výstup stav L, pullup off stav H).