Ošetření tlačítka – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ošetření tlačítka – Mikrokontroléry – Fórum – Programujte.comOšetření tlačítka – Mikrokontroléry – Fórum – Programujte.com

 

Jirka
~ Anonymní uživatel
305 příspěvků
6. 11. 2012   #1
-
0
-

Ahojte.

Myslíte, že by se našel někdo, kdo by mi pomohl? Stavím si časovač, a připojil jsem si tlačítko na přerušení INT1. A mě by zajímalo, jestli by zde šlo ošetřit to tlačítko proti zákmitům. A jestli jo, jak to provedu?? Klidně přidám svůj kód, ale myslím si, že to není potřeba. Děkuji za jakoukoli radu

Nahlásit jako SPAM
IP: 89.102.182.–
6. 11. 2012   #2
-
0
-

při prvním vyvolání přerušení ho zakážeš. Po asi 0,1 sec už bude stav tlačítka ustálený. Na uvolnění bud použiješ zase přerušení nebo budeš pravidelně testovat stav tlačítka (např 8051 umí přerušení jen sestupnou hranou nebo úrovní).

hu

Nahlásit jako SPAM
IP: 188.95.60.–
yaqwsx+9
Posthunter
6. 11. 2012   #3
-
0
-

Anebo připojíš na tlačítko blokovací kondenzátor

Nahlásit jako SPAM
IP: 85.160.32.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jirka
~ Anonymní uživatel
305 příspěvků
6. 11. 2012   #4
-
0
-

Takže takto by to mohlo být?

ISR(INT1_vect)		//tlačitko
    {  
	cli();
		_ms_delay(1);
	pricti++;
	sei();
    }

neboli, pokaždé když stisknu tlačítko, tak se hodnota pricti strikně zvýší o 1.


Nahlásit jako SPAM
IP: 89.102.182.–
KIIV
~ Moderátor
+43
God of flame
7. 11. 2012   #5
-
0
-

ja osobne nikdy nedavam obsluhu tlacitek do ISR..

daleko lepsi je casovacem generovat preruseni jednou za par milisekund (podle toho co je zrovna potreba) a v hlavnim programu se da jen prejit do idle (ale zalezi jakej procesor) - nebo jen nastavit jeden, flag aby se tlacitka zpracovaly

pak uz jen staci po napocitani 3-10 spustit akci, po pusteni tlacitka pocitadlo hned vynulovat

a kdyz to nechas pretect tak mas i automaticky opakovani tlacitka :)

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
remmidemmi0
Věrný člen
7. 11. 2012   #6
-
0
-

měl by jsi to tlaěítko ošetřit hardwarově, RS obvodem a ne dělat takové čuňárny jako je připojování neošetřeného tlačítka. To dělaj soudruzi v Činčinstánu.

Nahlásit jako SPAM
IP: 194.228.20.–
Jirka
~ Anonymní uživatel
305 příspěvků
7. 11. 2012   #7
-
0
-

Ahojte.Tak jsem to zkoumal a je to opravdu pravda. Jenom číňani to zkouší jako já. :-D Takže jsem to trošku ošetřil HW (kondík) a jinak jsem použil časovač a ejhle už to šlape jak hodinky. Pro jistotu jsem tlačítko ošetřil i SW.

unsigned char 	tlac_prodleva,tlac_present;
ISR (TIMER1_OVF_vect){  	//tlacitko rotacniho enkoderu + osetreni zakmitu

TCNT1 = 64911;	//preteceni

	if((PIND & (1 << PD3))){
        if(tlac_prodleva<20) 
        	tlac_prodleva++;
        if(tlac_prodleva==19) 
            tlac_present=1;   
        }
        else{
        if(tlac_prodleva==20){
			flag++;
			encoder=0;
        	}        
        tlac_prodleva=0;
        }
}
Nahlásit jako SPAM
IP: 89.102.182.–
KIIV
~ Moderátor
+43
God of flame
7. 11. 2012   #8
-
0
-

no kondik neni reseni pokud nemas vstupy se smittovym ko.. coz jednocipy moc nemivaj...  a RS neni potreba (hlavne by byl nutnej prepinac aby to slo nejak snadno prepinat...)  pripadne z toho udela MKO (takze spis nejaky 74123) a tak dale

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
12. 11. 2012   #9
-
0
-

Některé jednočipy mají přímo na čipu "keyboard interface". Tady mívám pocit, že by bylo jednodušší si takový opatřit např. na farnell.com

hu

Nahlásit jako SPAM
IP: 195.178.67.–
remmidemmi0
Věrný člen
10. 12. 2012   #10
-
0
-

existuje SN74118, to je šestinásobný R-S klopák v DIL16. Nově se nyní dělají v SMD single R-S klopáky. Úplně nejjednodušší a nejlevnější jsou 2 odpory, dioda a kondík.

Nahlásit jako SPAM
IP: 194.228.20.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

Tlačítka — založil Muňka

Tlacitka — založil dragon124

Ošetření StrToInt — založil seberm

Ošetření vstupu — založil Caken

Ošetření vstupu — založil Troy585

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý