Kladný impulz na vstupe spôsobí zmenu stavu invertorov IO1 a na vstupe mikroprocesora sa
zmení úroveň na hodnotu H. Obvod možno "nulovať" uvedením PIN mikroprocesora na
úroveň L. Funkčná schopnosť obvodu sa obnoví uvedením PIN mikroprocesora do H, resp.
"vstup". Teda čítanie stavu obvodu a jeho "nulovanie" vyžaduje len jediný PIN
mikroprocesora.
Niekoľko poznámok k voľbe súčiastok: Na pozícii diódy D1 volíme typ s
krátkou zotavovacou dobou, pre rezistor R1 by mal vyhovovať rozsah hodnôt od 300 Ohm do 5k,
kondenzátor C1 by mal mať hodnotu od 1n8 do 5n. Vhodným typom IO je 74HC14 apod..
Kondenzátor C1 spomaľuje odozvu obvodu na vstupný signál, ale ak použijete PIN
mikroprocesora, ktorý nemá pull-up rezistor, tak kondenzátor možno vynechať. V mojom
prípade som nemal voľný takýto PIN a tak som musel kondenzátor C1 použiť, inak by pri
zápise "jednotky" na PIN došlo k nežiadúcej aktivácii obvodu vplyvom
prúdového impulzu (AT89S8252) *- viz poznámka -.
Väčšia hodnota R1 zvyšuje citlivosť obvodu, menšia hodnota R1 zvyšuje
prúdovú záťaž pre zdroj signálu a pre PIN mikroprocesora. Programové
riešenie spočíva v prečítaní stavu na vstupe procesora a následnom
nulovaní privedením PINu procesora do stavu L. Po zotavení (vybitie C1, pokiaľ je
použitý) je treba uviesť PIN procesora znova do stavu H, resp. "vstup".
Príklad pre assembler:
;definicia
vstup equ
Px,y ;priradenie PIN-u
;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
test: jnb vstup,nic
;samotne testovanie
setb ochrana ;alebo kod na
riesenie stavu
clr vstup
;nulovanie obvodu
nop
nop &n
bsp; ;cas na vybitie C1(pokial je pouzity)
setb vstup ;obnova
funkcnosti obvodu
nic:
ret &n
bsp; ;koniec rutiny
Standardní procesory x51 připojují na několik prvních taktů oscilátoru PULL UP (asi 2 takty) rezistor řádově nižší hodnoty (cca 5k) oproti pozdějšímu sepnutému stavu (cca 50 k). S tímto faktem je při návrhu C1 třeba počítat.