PIC - TON, TOF - ošetření tlačítka

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
palol69
Příspěvky: 5
Registrován: 10 pro 2016, 01:00

PIC - TON, TOF - ošetření tlačítka

#1 Příspěvek od palol69 »

Zdravím, naprogramoval jsem si PIC v assembleru. Programem stopuji čas.
Při stopování času uložím daný čas do paměti pomocí tlačítka, na kterém mám nastaveno přerušení.

Bohužel nevím jak ošetřit tlačítko, aby reagovalo jen na jednu změnu, a to zmáčknutí.
Jelikož když tlačítko držím déle tak toto přerušení proběhne při zmáčknutí i puštění

Předem moc děkuji.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#2 Příspěvek od ZdenekHQ »

Použij nějaký flag/příznak stisknutého tlačítka, co se při stisku nastaví, a v hlavní smyčce programu ho smaž, až je tlačítko skutečně rozepnutý, t.j. po filtraci.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
forbidden
Příspěvky: 8808
Registrován: 14 úno 2005, 01:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#3 Příspěvek od forbidden »

Jednoduchej kus kódu na kontinuální test třech tlačítek.

Kód: Vybrat vše

TT1		BTFSC TL1			; test stisku tlacitka 1
		GOTO TT2
		CALL CEK15MS		; cekej 15 ms na dozneni zakmitu
		BTFSC TL1			; 2. test stisku tlacitka 1 kvuli zakmitum
		GOTO TT2
		GOTO T1				; skok na obsluhu tlacitka 1

TT2		BTFSC TL2			; test stisku tlacitka 2
		GOTO TT3
		CALL CEK15MS		; cekej 15 ms na dozneni zakmitu
		BTFSC TL2			; 2. test stisku tlacitka 2 kvuli zakmitum
		GOTO TT3
		GOTO T2				; skok na obsluhu tlacitka 2

TT3		BTFSC TL3			; test stisku tlacitka 3
		GOTO TT1
		CALL CEK15MS		; cekej 15 ms na dozneni zakmitu
		BTFSC TL3			; 2. test stisku tlacitka 3 kvuli zakmitum
		GOTO TT1
		GOTO T3				; skok na obsluhu tlacitka 3
V každé obsluze jednotlivýho tlačítka je ještě čekání na rozepnutí.

Kód: Vybrat vše

T1		BTFSS TL1
		GOTO $-1
Samotná akce ale může začít až po puštění, nebo něco udělat před puštěním a pak čekat. Záleží jak se to hodí.

Uživatelský avatar
mtajovsky
Příspěvky: 3694
Registrován: 19 zář 2007, 02:00
Bydliště: Praha

#4 Příspěvek od mtajovsky »

No dobrý, ale to znamená, že pokud podržím některé tlačítko, celý systém zablokuji.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“