Pripojenie tlačítok a ošetrenie zákmitov: Rozdiel medzi revíziami
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__ | ||
| − | {{ | + | {{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 08: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
| 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
| Ošetrenie zákmitov pomocou RC člena |
- Ošetrenie zákmitov pomocou RS klopného obvodu
| 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