Pripojenie tlačítok a ošetrenie zákmitov: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
d
 
Riadok 2: Riadok 2:
 
[[Kategória:Všeobecne vstupy a výstupy PSoC]]
 
[[Kategória:Všeobecne vstupy a výstupy PSoC]]
 
__NOTOC__
 
__NOTOC__
{{Draft}}
+
{{sablona_mikroprocoserove_systemy|GPIO - Všeobecne vstupy a výstupy PSoC|Popis GPIO|Konfigurácia GPIO pomocou designera obvodu|Programová konfigurácia GPIO|Módy portov (M8C)|Pripojenie periférnych obvodov|Pripojenie tlačítok a ošetrenie zákmitov}}
  
 
Ako vstupy možno ku GPIO pripájať aj tlačítka a iné kontaktné el. komponenty. Problémom pripojenia takýchto komponentov je, že vytvárajú zákmity spôsobené pružnosťou kontaktov, znečistením kontaktných plôch atď. Riešenie potlačenia zákmitov môžu byť:
 
Ako vstupy možno ku GPIO pripájať aj tlačítka a iné kontaktné el. komponenty. Problémom pripojenia takýchto komponentov je, že vytvárajú zákmity spôsobené pružnosťou kontaktov, znečistením kontaktných plôch atď. Riešenie potlačenia zákmitov môžu byť:

Aktuálna revízia z 09:53, 21. marec 2013


Predmet

Konfigurovateľné mikroprocesorové systémy
Tématická časť:
GPIO - Všeobecne vstupy a výstupy PSoC

Ako vstupy možno ku GPIO pripájať aj tlačítka a iné kontaktné el. komponenty. Problémom pripojenia takýchto komponentov je, že vytvárajú zákmity spôsobené pružnosťou kontaktov, znečistením kontaktných plôch atď. Riešenie potlačenia zákmitov môžu byť:

  • Hardverové
  • Softverové

Príklad - Počítanie stlačení tlačitka

Pomocou tohto príkladu sa dá prakticky dokázať zakmitávanie tlačítka. Port1[3] je nastavený na Pull Down.

        ...
        mov reg[PRT1DR],0
        mov [COUNT],0
Loop_0: tst reg[PRT1DR],%00001000   ; wait for '1'
        jz Loop_0      
        inc [COUNT]
        ;[COUNT] -> LCD Display
Loop_1: tst reg[PRT1DR],%00001000   ; wait for '0'
        jnz Loop_1     
        jmp Loop_0
Zakmit.jpg
Zákmity tlačítka a skoky v programe

Hardverové potlačenie zákmitov

  • Ošetrenie zákmitov RC členom - vyžaduje presné stanovenie konštanty Cx*Rp
RC tlac.jpg
Ošetrenie zákmitov pomocou RC člena
  • Ošetrenie zákmitov pomocou RS klopného obvodu
RS KO.jpg
Ošetrenie zákmitov pomocou RS klopného obvodu

Softverové potlačenie zákmitov

Po každej zmene stavu pinu ignorujeme stav spínača po určitú dobu (napr. 25 msec - vyžaduje určenie vzhľadom k typu spínača a pod.)

        ...
        mov reg[PRT1DR],0
        mov [COUNT],0
Loop_0: tst reg[PRT1DR],%00001000   ; wait for '1'
        jz Loop_0      
        inc [COUNT]
        ;[COUNT] -> LCD Display
        call Delay25msec
Loop_1: tst reg[PRT1DR],%00001000   ; wait for '0'
        jnz Loop_1
        call Delay25msec     
        jmp Loop_0